I am trying to create a double-lined arrow pointing to both sides like \Leftrightarrow with a squiggly line. The Comprehensive LaTeX Symbol List did not seem to contain any such symbol, nor did other (seemingly less comprehensive) lists of LaTeX symbols.
I thought I could adapt the solution from this answer to a similar question (about a double-lined squiggly arrow pointing into one direction. I tried using the information provided in this answer on how to obtain an arrow pointing to both directions.
As I did not want any text above the arrow, in my first attempt I made the text invisible and just used it to give the arrow its length:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathmorphing,shapes,arrows}
\newcommand\xlrsquigarrow{%
\mathrel{%
\begin{tikzpicture}[baseline= {( $ (current bounding box.south) + (0,-0.5ex) $ )}]
\node[inner sep=.5ex] (a) {\textcolor{white}{m}};
\path[draw,implies-implies,double distance between line centers=1.5pt,decorate,
decoration={zigzag,amplitude=0.7pt,segment length=1.2mm,pre=lineto,
pre length=4pt}]
(a.south east) -- (a.south west);
\end{tikzpicture}}%
}
\begin{document}
a $\xlrsquigarrow$ b
\end{document}
Unfortunately, this looks like this:

For some reason, the left arrowhead is rotated by 90° and pointing upward.
Therefore, I decided to remove the obsolte remainder of the original solution (i.e. the node with the text I didn't need) and use absolute coordinates:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathmorphing,shapes,arrows}
\newcommand\xlrsquigarrow{%
\mathrel{%
\begin{tikzpicture}[baseline= {( $ (current bounding box.south) + (0,-0.5ex) $ )}]
\path[draw,implies-implies,double distance between line centers=1.5pt,decorate,
decoration={zigzag,amplitude=0.7pt,segment length=1.2mm,pre=lineto,
pre length=4pt}]
(0,0) -- (0.5,0);
\end{tikzpicture}}%
}
\begin{document}
a $\xlrsquigarrow$ b
\end{document}
I would have expected that at worst, nothing would be changed (I've just exchanged two coordinates, right?), and at best, that it works now. However:

Now, the right arrowhead is rotated by 90° and pointing upward!
Why are those arrowheads rotated and how do I achieve the desired result?
(Non-Tikz solutions, if any, are welcome, too - I just chose Tikz because I couldn't find a ready-made symbol and this seemed like the most straightforward way. That notwithstanding, I would like to understand why the attempted Tikz solutions shown above behave the way they do.)


premeans, where the line starts, andpost, where the line ends. In case of your implicit coordinates goes from right to left, in the other case from left to right. – Heiko Oberdiek May 18 '15 at 13:25