Average Error: 38.4 → 17.7
Time: 10.6s
Precision: binary64
Cost: 59458
Math TeX FPCore C \[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} + re\right)}\]
↓
\[\begin{array}{l}
\mathbf{if}\;re \leq -2.818620757966959 \cdot 10^{+47}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq -1.7332866166362553 \cdot 10^{-302}:\\
\;\;\;\;0.5 \cdot \frac{\sqrt[3]{\sqrt{2}} \cdot \left(\left|im\right| \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right)}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{elif}\;re \leq 2.7178539826501374 \cdot 10^{+65}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + \sqrt{re \cdot re + im \cdot im}\right)}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\end{array}\]
0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} + re\right)} ↓
\begin{array}{l}
\mathbf{if}\;re \leq -2.818620757966959 \cdot 10^{+47}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq -1.7332866166362553 \cdot 10^{-302}:\\
\;\;\;\;0.5 \cdot \frac{\sqrt[3]{\sqrt{2}} \cdot \left(\left|im\right| \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right)}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{elif}\;re \leq 2.7178539826501374 \cdot 10^{+65}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + \sqrt{re \cdot re + im \cdot im}\right)}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\end{array} (FPCore (re im)
:precision binary64
(* 0.5 (sqrt (* 2.0 (+ (sqrt (+ (* re re) (* im im))) re))))) ↓
(FPCore (re im)
:precision binary64
(if (<= re -2.818620757966959e+47)
(* 0.5 (/ (* (fabs im) (sqrt 2.0)) (sqrt (* re -2.0))))
(if (<= re -1.7332866166362553e-302)
(*
0.5
(/
(*
(cbrt (sqrt 2.0))
(* (fabs im) (* (cbrt (sqrt 2.0)) (cbrt (sqrt 2.0)))))
(sqrt (- (sqrt (+ (* re re) (* im im))) re))))
(if (<= re 2.7178539826501374e+65)
(* 0.5 (sqrt (* 2.0 (+ re (sqrt (+ (* re re) (* im im)))))))
(* 0.5 (* 2.0 (sqrt re))))))) double code(double re, double im) {
return 0.5 * sqrt(2.0 * (sqrt((re * re) + (im * im)) + re));
}
↓
double code(double re, double im) {
double tmp;
if (re <= -2.818620757966959e+47) {
tmp = 0.5 * ((fabs(im) * sqrt(2.0)) / sqrt(re * -2.0));
} else if (re <= -1.7332866166362553e-302) {
tmp = 0.5 * ((cbrt(sqrt(2.0)) * (fabs(im) * (cbrt(sqrt(2.0)) * cbrt(sqrt(2.0))))) / sqrt(sqrt((re * re) + (im * im)) - re));
} else if (re <= 2.7178539826501374e+65) {
tmp = 0.5 * sqrt(2.0 * (re + sqrt((re * re) + (im * im))));
} else {
tmp = 0.5 * (2.0 * sqrt(re));
}
return tmp;
}
Try it out Enter valid numbers for all inputs
Target Original 38.4 Target 33.4 Herbie 17.7
\[\begin{array}{l}
\mathbf{if}\;re < 0:\\
\;\;\;\;0.5 \cdot \left(\sqrt{2} \cdot \sqrt{\frac{im \cdot im}{\sqrt{re \cdot re + im \cdot im} - re}}\right)\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} + re\right)}\\
\end{array}\]
Alternatives Alternative 1 Error 17.7 Cost 27202
\[\begin{array}{l}
\mathbf{if}\;re \leq -2.5691722588780707 \cdot 10^{+47}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq -1.7332866166362553 \cdot 10^{-302}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{elif}\;re \leq 1.611064564330678 \cdot 10^{+65}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + \sqrt{re \cdot re + im \cdot im}\right)}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\end{array}\]
Alternative 2 Error 22.0 Cost 21060
\[\begin{array}{l}
\mathbf{if}\;re \leq -1.03664592197631 \cdot 10^{+45}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq -4.516630140590625 \cdot 10^{-26}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \frac{im \cdot im}{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{elif}\;re \leq -1.331423839575629 \cdot 10^{-54}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq -3.232302911397631 \cdot 10^{-168}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{im - re}}\\
\mathbf{elif}\;re \leq -1.7181943383079424 \cdot 10^{-270}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \frac{im \cdot im}{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{elif}\;re \leq 4.4830367359115725 \cdot 10^{-132}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + im\right)}\\
\mathbf{elif}\;re \leq 3.251844211770113 \cdot 10^{+65}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + \sqrt{re \cdot re + im \cdot im}\right)}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\end{array}\]
Alternative 3 Error 21.2 Cost 20739
\[\begin{array}{l}
\mathbf{if}\;re \leq -2.919870635084863 \cdot 10^{+45}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq -8.274269364415511 \cdot 10^{-23}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \frac{im \cdot im}{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{elif}\;re \leq -6.586732134777266 \cdot 10^{-126}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq 4.8024276767462106 \cdot 10^{+63}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + \sqrt{re \cdot re + im \cdot im}\right)}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\end{array}\]
Alternative 4 Error 23.0 Cost 15299
\[\begin{array}{l}
\mathbf{if}\;im \leq -8.01563557220403 \cdot 10^{+80}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re - im\right)}\\
\mathbf{elif}\;im \leq -7.599226951224509 \cdot 10^{-157}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \frac{im \cdot im}{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{elif}\;im \leq 3.029296558034905 \cdot 10^{-131}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + \left(\left(re + 0.5 \cdot \frac{im \cdot im}{re}\right) - 0.125 \cdot \left(im \cdot {\left(\frac{im}{re}\right)}^{3}\right)\right)\right)}\\
\mathbf{elif}\;im \leq 6.696497640416062 \cdot 10^{+134}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \frac{im \cdot im}{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot 2}\\
\end{array}\]
Alternative 5 Error 23.0 Cost 15172
\[\begin{array}{l}
\mathbf{if}\;im \leq -4.31983200987354 \cdot 10^{+81}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re - im\right)}\\
\mathbf{elif}\;im \leq -1.097507583186112 \cdot 10^{-137}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \frac{im \cdot im}{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{elif}\;im \leq 4.0365108636343385 \cdot 10^{-131}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\mathbf{elif}\;im \leq 2.656552712178533 \cdot 10^{+139}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \frac{im \cdot im}{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot 2}\\
\end{array}\]
Alternative 6 Error 24.4 Cost 14274
\[\begin{array}{l}
\mathbf{if}\;re \leq -1.3582654369823187 \cdot 10^{-11}:\\
\;\;\;\;0.5 \cdot \frac{\sqrt{2 \cdot \left(im \cdot im\right)}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq 3.1850954331301157 \cdot 10^{+65}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + \sqrt{re \cdot re + im \cdot im}\right)}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\end{array}\]
Alternative 7 Error 30.7 Cost 13825
\[\begin{array}{l}
\mathbf{if}\;re \leq -1.7551297846328707 \cdot 10^{-15}:\\
\;\;\;\;0.5 \cdot \frac{\sqrt{2 \cdot \left(im \cdot im\right)}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq -5.935070592025071 \cdot 10^{-173}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot 2}\\
\mathbf{elif}\;re \leq -1.058764638628009 \cdot 10^{-217}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot -2}\\
\mathbf{elif}\;re \leq -4.720786288375031 \cdot 10^{-235}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot 2}\\
\mathbf{elif}\;re \leq -4.286637238636745 \cdot 10^{-267}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re - im\right)}\\
\mathbf{elif}\;re \leq 8.172033728895066 \cdot 10^{-115}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + im\right)}\\
\mathbf{elif}\;re \leq 6.8072912063405145 \cdot 10^{-84}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\mathbf{elif}\;re \leq 1.6181859523874043 \cdot 10^{-71}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot 2}\\
\mathbf{elif}\;re \leq 2.3684134334624174 \cdot 10^{+72}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re - im\right)}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\end{array}\]
Alternative 8 Error 26.6 Cost 8004
\[\begin{array}{l}
\mathbf{if}\;im \leq -3.8527588430306146 \cdot 10^{+39}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re - im\right)}\\
\mathbf{elif}\;im \leq -2.720031190523801 \cdot 10^{-24}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(\frac{im \cdot im}{re} \cdot -0.5\right)}\\
\mathbf{elif}\;im \leq -1.619755476660881 \cdot 10^{-151}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re - im\right)}\\
\mathbf{elif}\;im \leq 3.944945926761663 \cdot 10^{-131}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot 2}\\
\end{array}\]
Alternative 9 Error 25.6 Cost 7362
\[\begin{array}{l}
\mathbf{if}\;im \leq -1.1616798588497853 \cdot 10^{-152}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re - im\right)}\\
\mathbf{elif}\;im \leq 7.593588608950722 \cdot 10^{-131}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot 2}\\
\end{array}\]
Alternative 10 Error 25.9 Cost 7362
\[\begin{array}{l}
\mathbf{if}\;im \leq -3.78095167795907 \cdot 10^{-134}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot -2}\\
\mathbf{elif}\;im \leq 1.0931973253849203 \cdot 10^{-130}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot 2}\\
\end{array}\]
Alternative 11 Error 37.2 Cost 7041
\[\begin{array}{l}
\mathbf{if}\;re \leq 3.434852076289808 \cdot 10^{-138}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot -2}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\end{array}\]
Alternative 12 Error 45.7 Cost 7041
\[\begin{array}{l}
\mathbf{if}\;im \leq -2.0902661482474546 \cdot 10^{-303}:\\
\;\;\;\;0.5 \cdot \sqrt{im \cdot -2}\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}\]
Alternative 13 Error 59.8 Cost 64
\[1\]
Error Derivation Split input into 4 regimes if re < -2.8186207579669591e47 Initial program 59.2
\[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} + re\right)}\]
Using strategy rm Applied flip-+_binary64_4144 59.2
\[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\frac{\sqrt{re \cdot re + im \cdot im} \cdot \sqrt{re \cdot re + im \cdot im} - re \cdot re}{\sqrt{re \cdot re + im \cdot im} - re}}}\]
Applied associate-*r/_binary64_4112 59.2
\[\leadsto 0.5 \cdot \sqrt{\color{blue}{\frac{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} \cdot \sqrt{re \cdot re + im \cdot im} - re \cdot re\right)}{\sqrt{re \cdot re + im \cdot im} - re}}}\]
Applied sqrt-div_binary64_4187 59.3
\[\leadsto 0.5 \cdot \color{blue}{\frac{\sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} \cdot \sqrt{re \cdot re + im \cdot im} - re \cdot re\right)}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}}\]
Simplified40.5
\[\leadsto 0.5 \cdot \frac{\color{blue}{\sqrt{\left(im \cdot im\right) \cdot 2}}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\]
Using strategy rm Applied sqrt-prod_binary64_4186 40.5
\[\leadsto 0.5 \cdot \frac{\color{blue}{\sqrt{im \cdot im} \cdot \sqrt{2}}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\]
Simplified36.4
\[\leadsto 0.5 \cdot \frac{\color{blue}{\left|im\right|} \cdot \sqrt{2}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\]
Taylor expanded around -inf 12.8
\[\leadsto 0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{\color{blue}{-2 \cdot re}}}\]
Simplified12.8
\[\leadsto 0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{\color{blue}{re \cdot -2}}}\]
Simplified12.8
\[\leadsto \color{blue}{0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{re \cdot -2}}}\]
if -2.8186207579669591e47 < re < -1.73328661663625528e-302 Initial program 37.0
\[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} + re\right)}\]
Using strategy rm Applied flip-+_binary64_4144 36.7
\[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\frac{\sqrt{re \cdot re + im \cdot im} \cdot \sqrt{re \cdot re + im \cdot im} - re \cdot re}{\sqrt{re \cdot re + im \cdot im} - re}}}\]
Applied associate-*r/_binary64_4112 36.7
\[\leadsto 0.5 \cdot \sqrt{\color{blue}{\frac{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} \cdot \sqrt{re \cdot re + im \cdot im} - re \cdot re\right)}{\sqrt{re \cdot re + im \cdot im} - re}}}\]
Applied sqrt-div_binary64_4187 36.9
\[\leadsto 0.5 \cdot \color{blue}{\frac{\sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} \cdot \sqrt{re \cdot re + im \cdot im} - re \cdot re\right)}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}}\]
Simplified31.5
\[\leadsto 0.5 \cdot \frac{\color{blue}{\sqrt{\left(im \cdot im\right) \cdot 2}}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\]
Using strategy rm Applied sqrt-prod_binary64_4186 31.6
\[\leadsto 0.5 \cdot \frac{\color{blue}{\sqrt{im \cdot im} \cdot \sqrt{2}}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\]
Simplified21.8
\[\leadsto 0.5 \cdot \frac{\color{blue}{\left|im\right|} \cdot \sqrt{2}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\]
Using strategy rm Applied add-cube-cbrt_binary64_4205 21.8
\[\leadsto 0.5 \cdot \frac{\left|im\right| \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt[3]{\sqrt{2}}\right)}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\]
Applied associate-*r*_binary64_4110 21.7
\[\leadsto 0.5 \cdot \frac{\color{blue}{\left(\left|im\right| \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right) \cdot \sqrt[3]{\sqrt{2}}}}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\]
Simplified21.7
\[\leadsto \color{blue}{0.5 \cdot \frac{\sqrt[3]{\sqrt{2}} \cdot \left(\left|im\right| \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right)}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}}\]
if -1.73328661663625528e-302 < re < 2.71785398265013737e65 Initial program 21.0
\[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} + re\right)}\]
Simplified21.0
\[\leadsto \color{blue}{0.5 \cdot \sqrt{2 \cdot \left(re + \sqrt{re \cdot re + im \cdot im}\right)}}\]
if 2.71785398265013737e65 < re Initial program 46.0
\[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} + re\right)}\]
Taylor expanded around 0 13.0
\[\leadsto 0.5 \cdot \color{blue}{\left(\sqrt{re} \cdot {\left(\sqrt{2}\right)}^{2}\right)}\]
Simplified12.0
\[\leadsto 0.5 \cdot \color{blue}{\left(2 \cdot \sqrt{re}\right)}\]
Simplified12.0
\[\leadsto \color{blue}{0.5 \cdot \left(2 \cdot \sqrt{re}\right)}\]
Recombined 4 regimes into one program. Final simplification17.7
\[\leadsto \begin{array}{l}
\mathbf{if}\;re \leq -2.818620757966959 \cdot 10^{+47}:\\
\;\;\;\;0.5 \cdot \frac{\left|im\right| \cdot \sqrt{2}}{\sqrt{re \cdot -2}}\\
\mathbf{elif}\;re \leq -1.7332866166362553 \cdot 10^{-302}:\\
\;\;\;\;0.5 \cdot \frac{\sqrt[3]{\sqrt{2}} \cdot \left(\left|im\right| \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right)}{\sqrt{\sqrt{re \cdot re + im \cdot im} - re}}\\
\mathbf{elif}\;re \leq 2.7178539826501374 \cdot 10^{+65}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(re + \sqrt{re \cdot re + im \cdot im}\right)}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \left(2 \cdot \sqrt{re}\right)\\
\end{array}\]
Reproduce herbie shell --seed 2021044
(FPCore (re im)
:name "math.sqrt on complex, real part"
:precision binary64
:herbie-target
(if (< re 0.0) (* 0.5 (* (sqrt 2.0) (sqrt (/ (* im im) (- (sqrt (+ (* re re) (* im im))) re))))) (* 0.5 (sqrt (* 2.0 (+ (sqrt (+ (* re re) (* im im))) re)))))
(* 0.5 (sqrt (* 2.0 (+ (sqrt (+ (* re re) (* im im))) re)))))