Average Error: 38.6 → 23.1
Time: 5.0s
Precision: 64
\[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} - re\right)}\]
\[\begin{array}{l} \mathbf{if}\;re \le -8.95791604585242049 \cdot 10^{-50}:\\ \;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(-1 \cdot re - re\right)}\\ \mathbf{elif}\;re \le -8.12032175799812403 \cdot 10^{-235}:\\ \;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}{im}}\right)}\\ \mathbf{elif}\;re \le 7.222181096583517 \cdot 10^{-225}:\\ \;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{re + im}{im}}\right)}\\ \mathbf{elif}\;re \le 1.33865600224557405 \cdot 10^{154}:\\ \;\;\;\;0.5 \cdot \left(\sqrt{2 \cdot \left(1 \cdot \frac{1}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)} \cdot \left|im\right|\right)\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{re + re}{im}}\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 \le -8.95791604585242049 \cdot 10^{-50}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(-1 \cdot re - re\right)}\\

\mathbf{elif}\;re \le -8.12032175799812403 \cdot 10^{-235}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}{im}}\right)}\\

\mathbf{elif}\;re \le 7.222181096583517 \cdot 10^{-225}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{re + im}{im}}\right)}\\

\mathbf{elif}\;re \le 1.33865600224557405 \cdot 10^{154}:\\
\;\;\;\;0.5 \cdot \left(\sqrt{2 \cdot \left(1 \cdot \frac{1}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)} \cdot \left|im\right|\right)\\

\mathbf{else}:\\
\;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{re + re}{im}}\right)}\\

\end{array}
double code(double re, double im) {
	return ((double) (0.5 * ((double) sqrt(((double) (2.0 * ((double) (((double) sqrt(((double) (((double) (re * re)) + ((double) (im * im)))))) - re))))))));
}
double code(double re, double im) {
	double VAR;
	if ((re <= -8.95791604585242e-50)) {
		VAR = ((double) (0.5 * ((double) sqrt(((double) (2.0 * ((double) (((double) (-1.0 * re)) - re))))))));
	} else {
		double VAR_1;
		if ((re <= -8.120321757998124e-235)) {
			VAR_1 = ((double) (0.5 * ((double) sqrt(((double) (2.0 * ((double) (1.0 * ((double) (im / ((double) (((double) (((double) pow(((double) (((double) (re * re)) + ((double) (im * im)))), 0.5)) + re)) / im))))))))))));
		} else {
			double VAR_2;
			if ((re <= 7.222181096583517e-225)) {
				VAR_2 = ((double) (0.5 * ((double) sqrt(((double) (2.0 * ((double) (1.0 * ((double) (im / ((double) (((double) (re + im)) / im))))))))))));
			} else {
				double VAR_3;
				if ((re <= 1.338656002245574e+154)) {
					VAR_3 = ((double) (0.5 * ((double) (((double) sqrt(((double) (2.0 * ((double) (1.0 * ((double) (1.0 / ((double) (((double) pow(((double) (((double) (re * re)) + ((double) (im * im)))), 0.5)) + re)))))))))) * ((double) fabs(im))))));
				} else {
					VAR_3 = ((double) (0.5 * ((double) sqrt(((double) (2.0 * ((double) (1.0 * ((double) (im / ((double) (((double) (re + re)) / im))))))))))));
				}
				VAR_2 = VAR_3;
			}
			VAR_1 = VAR_2;
		}
		VAR = VAR_1;
	}
	return VAR;
}

Error

Bits error versus re

Bits error versus im

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 5 regimes
  2. if re < -8.95791604585242e-50

    1. Initial program 35.6

      \[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} - re\right)}\]
    2. Using strategy rm
    3. Applied pow135.6

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\sqrt{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{1}}} - re\right)}\]
    4. Taylor expanded around -inf 17.8

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\color{blue}{-1 \cdot re} - re\right)}\]

    if -8.95791604585242e-50 < re < -8.120321757998124e-235

    1. Initial program 22.9

      \[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} - re\right)}\]
    2. Using strategy rm
    3. Applied pow122.9

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\sqrt{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{1}}} - re\right)}\]
    4. Using strategy rm
    5. Applied flip--36.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\frac{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} \cdot \sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} - re \cdot re}{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} + re}}}\]
    6. Simplified36.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{\color{blue}{{im}^{2} + 0}}{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} + re}}\]
    7. Simplified36.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{{im}^{2} + 0}{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}}}\]
    8. Using strategy rm
    9. Applied *-un-lft-identity36.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{{im}^{2} + 0}{\color{blue}{1 \cdot \left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right)}}}\]
    10. Applied *-un-lft-identity36.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{\color{blue}{1 \cdot \left({im}^{2} + 0\right)}}{1 \cdot \left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right)}}\]
    11. Applied times-frac36.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\left(\frac{1}{1} \cdot \frac{{im}^{2} + 0}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)}}\]
    12. Simplified36.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\color{blue}{1} \cdot \frac{{im}^{2} + 0}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)}\]
    13. Simplified35.8

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \color{blue}{\frac{im}{\frac{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}{im}}}\right)}\]

    if -8.120321757998124e-235 < re < 7.222181096583517e-225

    1. Initial program 31.2

      \[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} - re\right)}\]
    2. Using strategy rm
    3. Applied pow131.2

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\sqrt{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{1}}} - re\right)}\]
    4. Using strategy rm
    5. Applied flip--31.5

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\frac{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} \cdot \sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} - re \cdot re}{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} + re}}}\]
    6. Simplified31.5

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{\color{blue}{{im}^{2} + 0}}{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} + re}}\]
    7. Simplified31.5

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{{im}^{2} + 0}{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}}}\]
    8. Using strategy rm
    9. Applied *-un-lft-identity31.5

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{{im}^{2} + 0}{\color{blue}{1 \cdot \left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right)}}}\]
    10. Applied *-un-lft-identity31.5

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{\color{blue}{1 \cdot \left({im}^{2} + 0\right)}}{1 \cdot \left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right)}}\]
    11. Applied times-frac31.5

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\left(\frac{1}{1} \cdot \frac{{im}^{2} + 0}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)}}\]
    12. Simplified31.5

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\color{blue}{1} \cdot \frac{{im}^{2} + 0}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)}\]
    13. Simplified30.8

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \color{blue}{\frac{im}{\frac{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}{im}}}\right)}\]
    14. Taylor expanded around 0 33.9

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{\color{blue}{re + im}}{im}}\right)}\]

    if 7.222181096583517e-225 < re < 1.338656002245574e+154

    1. Initial program 41.4

      \[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} - re\right)}\]
    2. Using strategy rm
    3. Applied pow141.4

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\sqrt{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{1}}} - re\right)}\]
    4. Using strategy rm
    5. Applied flip--41.3

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\frac{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} \cdot \sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} - re \cdot re}{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} + re}}}\]
    6. Simplified30.1

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{\color{blue}{{im}^{2} + 0}}{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} + re}}\]
    7. Simplified30.1

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{{im}^{2} + 0}{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}}}\]
    8. Using strategy rm
    9. Applied *-un-lft-identity30.1

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{{im}^{2} + 0}{\color{blue}{1 \cdot \left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right)}}}\]
    10. Applied *-un-lft-identity30.1

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{\color{blue}{1 \cdot \left({im}^{2} + 0\right)}}{1 \cdot \left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right)}}\]
    11. Applied times-frac30.1

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\left(\frac{1}{1} \cdot \frac{{im}^{2} + 0}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)}}\]
    12. Simplified30.1

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\color{blue}{1} \cdot \frac{{im}^{2} + 0}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)}\]
    13. Simplified27.9

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \color{blue}{\frac{im}{\frac{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}{im}}}\right)}\]
    14. Using strategy rm
    15. Applied div-inv27.9

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\color{blue}{\left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right) \cdot \frac{1}{im}}}\right)}\]
    16. Applied *-un-lft-identity27.9

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{\color{blue}{1 \cdot im}}{\left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right) \cdot \frac{1}{im}}\right)}\]
    17. Applied times-frac30.1

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \color{blue}{\left(\frac{1}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re} \cdot \frac{im}{\frac{1}{im}}\right)}\right)}\]
    18. Applied associate-*r*30.1

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\left(\left(1 \cdot \frac{1}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right) \cdot \frac{im}{\frac{1}{im}}\right)}}\]
    19. Applied associate-*r*30.1

      \[\leadsto 0.5 \cdot \sqrt{\color{blue}{\left(2 \cdot \left(1 \cdot \frac{1}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)\right) \cdot \frac{im}{\frac{1}{im}}}}\]
    20. Applied sqrt-prod28.9

      \[\leadsto 0.5 \cdot \color{blue}{\left(\sqrt{2 \cdot \left(1 \cdot \frac{1}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)} \cdot \sqrt{\frac{im}{\frac{1}{im}}}\right)}\]
    21. Simplified17.6

      \[\leadsto 0.5 \cdot \left(\sqrt{2 \cdot \left(1 \cdot \frac{1}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)} \cdot \color{blue}{\left|im\right|}\right)\]

    if 1.338656002245574e+154 < re

    1. Initial program 64.0

      \[0.5 \cdot \sqrt{2 \cdot \left(\sqrt{re \cdot re + im \cdot im} - re\right)}\]
    2. Using strategy rm
    3. Applied pow164.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\sqrt{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{1}}} - re\right)}\]
    4. Using strategy rm
    5. Applied flip--64.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\frac{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} \cdot \sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} - re \cdot re}{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} + re}}}\]
    6. Simplified52.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{\color{blue}{{im}^{2} + 0}}{\sqrt{{\left(re \cdot re + im \cdot im\right)}^{1}} + re}}\]
    7. Simplified52.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{{im}^{2} + 0}{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}}}\]
    8. Using strategy rm
    9. Applied *-un-lft-identity52.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{{im}^{2} + 0}{\color{blue}{1 \cdot \left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right)}}}\]
    10. Applied *-un-lft-identity52.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \frac{\color{blue}{1 \cdot \left({im}^{2} + 0\right)}}{1 \cdot \left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re\right)}}\]
    11. Applied times-frac52.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \color{blue}{\left(\frac{1}{1} \cdot \frac{{im}^{2} + 0}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)}}\]
    12. Simplified52.0

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(\color{blue}{1} \cdot \frac{{im}^{2} + 0}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)}\]
    13. Simplified51.6

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \color{blue}{\frac{im}{\frac{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}{im}}}\right)}\]
    14. Taylor expanded around inf 23.7

      \[\leadsto 0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{\color{blue}{re} + re}{im}}\right)}\]
  3. Recombined 5 regimes into one program.
  4. Final simplification23.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -8.95791604585242049 \cdot 10^{-50}:\\ \;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(-1 \cdot re - re\right)}\\ \mathbf{elif}\;re \le -8.12032175799812403 \cdot 10^{-235}:\\ \;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}{im}}\right)}\\ \mathbf{elif}\;re \le 7.222181096583517 \cdot 10^{-225}:\\ \;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{re + im}{im}}\right)}\\ \mathbf{elif}\;re \le 1.33865600224557405 \cdot 10^{154}:\\ \;\;\;\;0.5 \cdot \left(\sqrt{2 \cdot \left(1 \cdot \frac{1}{{\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}} + re}\right)} \cdot \left|im\right|\right)\\ \mathbf{else}:\\ \;\;\;\;0.5 \cdot \sqrt{2 \cdot \left(1 \cdot \frac{im}{\frac{re + re}{im}}\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2020113 
(FPCore (re im)
  :name "math.sqrt on complex, imaginary part, im greater than 0 branch"
  :precision binary64
  (* 0.5 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))))