Average Error: 26.2 → 15.3
Time: 11.7s
Precision: binary64
Cost: 40707
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\]
↓
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -1.266447775026859 \cdot 10^{+143}:\\
\;\;\;\;\frac{x.re}{y.re}\\
\mathbf{elif}\;y.re \leq -4.7218745403061054 \cdot 10^{+135}:\\
\;\;\;\;\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}\\
\mathbf{elif}\;y.re \leq -2.2148262768226444 \cdot 10^{+22}:\\
\;\;\;\;\frac{1}{\sqrt{{y.im}^{2} + {y.re}^{2}}} \cdot \frac{y.re \cdot x.re + x.im \cdot y.im}{\sqrt{{y.im}^{2} + {y.re}^{2}}}\\
\mathbf{elif}\;y.re \leq -3084.182004279282:\\
\;\;\;\;\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}\\
\mathbf{elif}\;y.re \leq -9.83945259871375 \cdot 10^{-91}:\\
\;\;\;\;\frac{\frac{y.re \cdot x.re + x.im \cdot y.im}{\sqrt{{y.im}^{2} + {y.re}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{elif}\;y.re \leq 1.9690354844540234 \cdot 10^{-126}:\\
\;\;\;\;\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}\\
\mathbf{elif}\;y.re \leq 1.4163550870851477 \cdot 10^{+142}:\\
\;\;\;\;\frac{\frac{y.re \cdot x.re + x.im \cdot y.im}{\sqrt{{y.im}^{2} + {y.re}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.re}{y.re}\\
\end{array}\]
\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}↓
\begin{array}{l}
\mathbf{if}\;y.re \leq -1.266447775026859 \cdot 10^{+143}:\\
\;\;\;\;\frac{x.re}{y.re}\\
\mathbf{elif}\;y.re \leq -4.7218745403061054 \cdot 10^{+135}:\\
\;\;\;\;\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}\\
\mathbf{elif}\;y.re \leq -2.2148262768226444 \cdot 10^{+22}:\\
\;\;\;\;\frac{1}{\sqrt{{y.im}^{2} + {y.re}^{2}}} \cdot \frac{y.re \cdot x.re + x.im \cdot y.im}{\sqrt{{y.im}^{2} + {y.re}^{2}}}\\
\mathbf{elif}\;y.re \leq -3084.182004279282:\\
\;\;\;\;\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}\\
\mathbf{elif}\;y.re \leq -9.83945259871375 \cdot 10^{-91}:\\
\;\;\;\;\frac{\frac{y.re \cdot x.re + x.im \cdot y.im}{\sqrt{{y.im}^{2} + {y.re}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{elif}\;y.re \leq 1.9690354844540234 \cdot 10^{-126}:\\
\;\;\;\;\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}\\
\mathbf{elif}\;y.re \leq 1.4163550870851477 \cdot 10^{+142}:\\
\;\;\;\;\frac{\frac{y.re \cdot x.re + x.im \cdot y.im}{\sqrt{{y.im}^{2} + {y.re}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.re}{y.re}\\
\end{array}(FPCore (x.re x.im y.re y.im)
:precision binary64
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))))
↓
(FPCore (x.re x.im y.re y.im)
:precision binary64
(if (<= y.re -1.266447775026859e+143)
(/ x.re y.re)
(if (<= y.re -4.7218745403061054e+135)
(+ (/ x.im y.im) (/ (* y.re x.re) (pow y.im 2.0)))
(if (<= y.re -2.2148262768226444e+22)
(*
(/ 1.0 (sqrt (+ (pow y.im 2.0) (pow y.re 2.0))))
(/
(+ (* y.re x.re) (* x.im y.im))
(sqrt (+ (pow y.im 2.0) (pow y.re 2.0)))))
(if (<= y.re -3084.182004279282)
(+ (/ x.im y.im) (/ (* y.re x.re) (pow y.im 2.0)))
(if (<= y.re -9.83945259871375e-91)
(/
(/
(+ (* y.re x.re) (* x.im y.im))
(sqrt (+ (pow y.im 2.0) (pow y.re 2.0))))
(sqrt (+ (* y.re y.re) (* y.im y.im))))
(if (<= y.re 1.9690354844540234e-126)
(+ (/ x.im y.im) (/ (* y.re x.re) (pow y.im 2.0)))
(if (<= y.re 1.4163550870851477e+142)
(/
(/
(+ (* y.re x.re) (* x.im y.im))
(sqrt (+ (pow y.im 2.0) (pow y.re 2.0))))
(sqrt (+ (* y.re y.re) (* y.im y.im))))
(/ x.re y.re)))))))))double code(double x_46_re, double x_46_im, double y_46_re, double y_46_im) {
return ((x_46_re * y_46_re) + (x_46_im * y_46_im)) / ((y_46_re * y_46_re) + (y_46_im * y_46_im));
}
↓
double code(double x_46_re, double x_46_im, double y_46_re, double y_46_im) {
double tmp;
if (y_46_re <= -1.266447775026859e+143) {
tmp = x_46_re / y_46_re;
} else if (y_46_re <= -4.7218745403061054e+135) {
tmp = (x_46_im / y_46_im) + ((y_46_re * x_46_re) / pow(y_46_im, 2.0));
} else if (y_46_re <= -2.2148262768226444e+22) {
tmp = (1.0 / sqrt(pow(y_46_im, 2.0) + pow(y_46_re, 2.0))) * (((y_46_re * x_46_re) + (x_46_im * y_46_im)) / sqrt(pow(y_46_im, 2.0) + pow(y_46_re, 2.0)));
} else if (y_46_re <= -3084.182004279282) {
tmp = (x_46_im / y_46_im) + ((y_46_re * x_46_re) / pow(y_46_im, 2.0));
} else if (y_46_re <= -9.83945259871375e-91) {
tmp = (((y_46_re * x_46_re) + (x_46_im * y_46_im)) / sqrt(pow(y_46_im, 2.0) + pow(y_46_re, 2.0))) / sqrt((y_46_re * y_46_re) + (y_46_im * y_46_im));
} else if (y_46_re <= 1.9690354844540234e-126) {
tmp = (x_46_im / y_46_im) + ((y_46_re * x_46_re) / pow(y_46_im, 2.0));
} else if (y_46_re <= 1.4163550870851477e+142) {
tmp = (((y_46_re * x_46_re) + (x_46_im * y_46_im)) / sqrt(pow(y_46_im, 2.0) + pow(y_46_re, 2.0))) / sqrt((y_46_re * y_46_re) + (y_46_im * y_46_im));
} else {
tmp = x_46_re / y_46_re;
}
return tmp;
}
Try it out
Enter valid numbers for all inputs
Alternatives
| Alternative 1 |
|---|
| Error | 26.8 |
|---|
| Cost | 79424 |
|---|
\[\frac{\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im} \cdot \sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}}{\sqrt[3]{{y.re}^{2} + {y.im}^{2}} \cdot \sqrt[3]{{y.re}^{2} + {y.im}^{2}}} \cdot \frac{\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}}{\sqrt[3]{{y.re}^{2} + {y.im}^{2}}}\]
| Alternative 2 |
|---|
| Error | 44.3 |
|---|
| Cost | 72512 |
|---|
\[\frac{\sqrt{x.re \cdot y.re + x.im \cdot y.im}}{\sqrt[3]{{y.re}^{2} + {y.im}^{2}} \cdot \sqrt[3]{{y.re}^{2} + {y.im}^{2}}} \cdot \frac{\sqrt{x.re \cdot y.re + x.im \cdot y.im}}{\sqrt[3]{{y.re}^{2} + {y.im}^{2}}}\]
| Alternative 3 |
|---|
| Error | 26.7 |
|---|
| Cost | 60224 |
|---|
\[\sqrt[3]{\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}} \cdot \left(\sqrt[3]{\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}} \cdot \sqrt[3]{\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}}\right)\]
| Alternative 4 |
|---|
| Error | 26.7 |
|---|
| Cost | 59840 |
|---|
\[\frac{\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im} \cdot \sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}}{\sqrt{{y.re}^{2} + {y.im}^{2}}} \cdot \frac{\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}}{\sqrt{{y.re}^{2} + {y.im}^{2}}}\]
| Alternative 5 |
|---|
| Error | 26.7 |
|---|
| Cost | 59328 |
|---|
\[\frac{1}{\sqrt[3]{{y.re}^{2} + {y.im}^{2}} \cdot \sqrt[3]{{y.re}^{2} + {y.im}^{2}}} \cdot \frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt[3]{{y.re}^{2} + {y.im}^{2}}}\]
| Alternative 6 |
|---|
| Error | 46.3 |
|---|
| Cost | 47232 |
|---|
\[\frac{\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im} \cdot \sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}}{\sqrt{{y.re}^{2} + {y.im}^{2}}} \cdot \frac{\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}}{y.im + 0.5 \cdot \frac{{y.re}^{2}}{y.im}}\]
| Alternative 7 |
|---|
| Error | 26.7 |
|---|
| Cost | 46528 |
|---|
\[\frac{\frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt[3]{{y.re}^{2} + {y.im}^{2}} \cdot \sqrt[3]{{y.re}^{2} + {y.im}^{2}}}}{\sqrt[3]{y.re \cdot y.re + y.im \cdot y.im}}\]
| Alternative 8 |
|---|
| Error | 39.4 |
|---|
| Cost | 40128 |
|---|
\[\sqrt{\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}} \cdot \sqrt{\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}}\]
| Alternative 9 |
|---|
| Error | 26.2 |
|---|
| Cost | 39744 |
|---|
\[\frac{1}{\sqrt{{y.re}^{2} + {y.im}^{2}}} \cdot \frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt{{y.re}^{2} + {y.im}^{2}}}\]
| Alternative 10 |
|---|
| Error | 53.0 |
|---|
| Cost | 34176 |
|---|
\[\frac{{\left(x.re \cdot y.re\right)}^{3} + {\left(x.im \cdot y.im\right)}^{3}}{\left({y.re}^{2} + {y.im}^{2}\right) \cdot \left({y.re}^{2} \cdot \left(x.re \cdot x.re\right) + x.im \cdot \left(y.im \cdot \left(x.im \cdot y.im - x.re \cdot y.re\right)\right)\right)}\]
| Alternative 11 |
|---|
| Error | 26.7 |
|---|
| Cost | 33856 |
|---|
\[\frac{\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im} \cdot \sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}}{\frac{{y.re}^{2} + {y.im}^{2}}{\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}}}\]
| Alternative 12 |
|---|
| Error | 26.7 |
|---|
| Cost | 33856 |
|---|
\[\left(\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im} \cdot \sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}\right) \cdot \frac{\sqrt[3]{x.re \cdot y.re + x.im \cdot y.im}}{{y.re}^{2} + {y.im}^{2}}\]
| Alternative 13 |
|---|
| Error | 44.2 |
|---|
| Cost | 26944 |
|---|
\[\frac{\sqrt{x.re \cdot y.re + x.im \cdot y.im}}{\frac{{y.re}^{2} + {y.im}^{2}}{\sqrt{x.re \cdot y.re + x.im \cdot y.im}}}\]
| Alternative 14 |
|---|
| Error | 44.2 |
|---|
| Cost | 26944 |
|---|
\[\sqrt{x.re \cdot y.re + x.im \cdot y.im} \cdot \frac{\sqrt{x.re \cdot y.re + x.im \cdot y.im}}{{y.re}^{2} + {y.im}^{2}}\]
| Alternative 15 |
|---|
| Error | 26.2 |
|---|
| Cost | 26944 |
|---|
\[\frac{\frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt{{y.re}^{2} + {y.im}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\]
| Alternative 16 |
|---|
| Error | 47.0 |
|---|
| Cost | 26816 |
|---|
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{\frac{{y.re}^{4} - {y.im}^{4}}{{y.re}^{2} - {y.im}^{2}}}\]
| Alternative 17 |
|---|
| Error | 26.2 |
|---|
| Cost | 26816 |
|---|
\[\frac{x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}} + \frac{x.re \cdot y.re}{{y.re}^{2} + {y.im}^{2}}\]
| Alternative 18 |
|---|
| Error | 41.8 |
|---|
| Cost | 26496 |
|---|
\[\sqrt[3]{{\left(\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}\right)}^{3}}\]
| Alternative 19 |
|---|
| Error | 40.4 |
|---|
| Cost | 26432 |
|---|
\[e^{\log \left(\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}\right)}\]
| Alternative 20 |
|---|
| Error | 28.5 |
|---|
| Cost | 26432 |
|---|
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{e^{\log \left({y.re}^{2} + {y.im}^{2}\right)}}\]
| Alternative 21 |
|---|
| Error | 51.2 |
|---|
| Cost | 21504 |
|---|
\[\frac{\frac{{\left(x.re \cdot y.re\right)}^{3} + {\left(x.im \cdot y.im\right)}^{3}}{{y.re}^{2} \cdot \left(x.re \cdot x.re\right) + x.im \cdot \left(y.im \cdot \left(x.im \cdot y.im - x.re \cdot y.re\right)\right)}}{y.re \cdot y.re + y.im \cdot y.im}\]
| Alternative 22 |
|---|
| Error | 55.0 |
|---|
| Cost | 15168 |
|---|
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{6} + {y.im}^{6}} \cdot \left(\left(y.re \cdot y.re\right) \cdot \left(y.re \cdot y.re\right) + \left(\left(y.im \cdot y.im\right) \cdot \left(y.im \cdot y.im\right) - \left(y.re \cdot y.re\right) \cdot \left(y.im \cdot y.im\right)\right)\right)\]
| Alternative 23 |
|---|
| Error | 41.1 |
|---|
| Cost | 14656 |
|---|
\[\frac{\left(x.re \cdot y.re\right) \cdot \left(x.re \cdot y.re\right) - \left(x.im \cdot y.im\right) \cdot \left(x.im \cdot y.im\right)}{\left({y.re}^{2} + {y.im}^{2}\right) \cdot \left(x.re \cdot y.re - x.im \cdot y.im\right)}\]
| Alternative 24 |
|---|
| Error | 51.8 |
|---|
| Cost | 14656 |
|---|
\[\frac{\frac{{y.re}^{2} \cdot \left(x.re \cdot x.re\right) - {y.im}^{2} \cdot \left(x.im \cdot x.im\right)}{x.re \cdot y.re - x.im \cdot y.im}}{y.re \cdot y.re + y.im \cdot y.im}\]
| Alternative 25 |
|---|
| Error | 49.1 |
|---|
| Cost | 14144 |
|---|
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{4} - {y.im}^{4}} \cdot \left(y.re \cdot y.re - y.im \cdot y.im\right)\]
| Alternative 26 |
|---|
| Error | 45.0 |
|---|
| Cost | 13824 |
|---|
\[\frac{\sqrt[3]{{\left(x.re \cdot y.re + x.im \cdot y.im\right)}^{3}}}{y.re \cdot y.re + y.im \cdot y.im}\]
| Alternative 27 |
|---|
| Error | 26.4 |
|---|
| Cost | 13760 |
|---|
\[\left(x.re \cdot y.re + x.im \cdot y.im\right) \cdot \frac{1}{{y.re}^{2} + {y.im}^{2}}\]
| Alternative 28 |
|---|
| Error | 26.3 |
|---|
| Cost | 13760 |
|---|
\[\frac{1}{\frac{{y.re}^{2} + {y.im}^{2}}{x.re \cdot y.re + x.im \cdot y.im}}\]
| Alternative 29 |
|---|
| Error | 45.2 |
|---|
| Cost | 13760 |
|---|
\[\frac{e^{\log \left(x.re \cdot y.re + x.im \cdot y.im\right)}}{y.re \cdot y.re + y.im \cdot y.im}\]
| Alternative 30 |
|---|
| Error | 39.5 |
|---|
| Cost | 13376 |
|---|
\[\frac{x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}\]
| Alternative 31 |
|---|
| Error | 39.2 |
|---|
| Cost | 13376 |
|---|
\[\frac{x.re \cdot y.re}{{y.re}^{2} + {y.im}^{2}}\]
| Alternative 32 |
|---|
| Error | 47.5 |
|---|
| Cost | 7552 |
|---|
\[\frac{\frac{x.re \cdot y.re + x.im \cdot y.im}{-y.re}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\]
| Alternative 33 |
|---|
| Error | 46.5 |
|---|
| Cost | 7424 |
|---|
\[\frac{\left(-x.re\right) - \frac{x.im \cdot y.im}{y.re}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\]
| Alternative 34 |
|---|
| Error | 43.9 |
|---|
| Cost | 7040 |
|---|
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2}}\]
| Alternative 35 |
|---|
| Error | 34.7 |
|---|
| Cost | 7040 |
|---|
\[\frac{x.re}{y.re} + \frac{x.im \cdot y.im}{{y.re}^{2}}\]
| Alternative 36 |
|---|
| Error | 34.8 |
|---|
| Cost | 7040 |
|---|
\[\frac{x.im}{y.im} + \frac{x.re \cdot y.re}{{y.im}^{2}}\]
| Alternative 37 |
|---|
| Error | 47.3 |
|---|
| Cost | 6976 |
|---|
\[\frac{x.re}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\]
| Alternative 38 |
|---|
| Error | 26.2 |
|---|
| Cost | 960 |
|---|
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\]
| Alternative 39 |
|---|
| Error | 39.2 |
|---|
| Cost | 704 |
|---|
\[\frac{x.re \cdot y.re}{y.re \cdot y.re + y.im \cdot y.im}\]
| Alternative 40 |
|---|
| Error | 39.5 |
|---|
| Cost | 704 |
|---|
\[\frac{x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\]
| Alternative 41 |
|---|
| Error | 37.6 |
|---|
| Cost | 192 |
|---|
\[\frac{x.re}{y.re}\]
| Alternative 42 |
|---|
| Error | 37.4 |
|---|
| Cost | 192 |
|---|
\[\frac{x.im}{y.im}\]
| Alternative 43 |
|---|
| Error | 61.6 |
|---|
| Cost | 64 |
|---|
\[1\]
| Alternative 44 |
|---|
| Error | 52.0 |
|---|
| Cost | 64 |
|---|
\[0\]
| Alternative 45 |
|---|
| Error | 61.7 |
|---|
| Cost | 64 |
|---|
\[-1\]
Error

Derivation
- Split input into 4 regimes
if y.re < -1.2664477750268591e143 or 1.41635508708514771e142 < y.re
Initial program 42.6
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\]
Taylor expanded around inf 14.5
\[\leadsto \color{blue}{\frac{x.re}{y.re}}\]
Simplified14.5
\[\leadsto \color{blue}{\frac{x.re}{y.re}}\]
if -1.2664477750268591e143 < y.re < -4.7218745403061054e135 or -2.2148262768226444e22 < y.re < -3084.18200427928195 or -9.8394525987137508e-91 < y.re < 1.9690354844540234e-126
Initial program 22.4
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\]
Taylor expanded around 0 12.9
\[\leadsto \color{blue}{\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}}\]
Simplified12.9
\[\leadsto \color{blue}{\frac{x.im}{y.im} + \frac{x.re \cdot y.re}{{y.im}^{2}}}\]
Simplified12.9
\[\leadsto \color{blue}{\frac{x.im}{y.im} + \frac{x.re \cdot y.re}{{y.im}^{2}}}\]
if -4.7218745403061054e135 < y.re < -2.2148262768226444e22
Initial program 22.1
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\]
- Using strategy
rm Applied add-sqr-sqrt_binary64_109222.1
\[\leadsto \frac{x.re \cdot y.re + x.im \cdot y.im}{\color{blue}{\sqrt{y.re \cdot y.re + y.im \cdot y.im} \cdot \sqrt{y.re \cdot y.re + y.im \cdot y.im}}}\]
Applied *-un-lft-identity_binary64_107022.1
\[\leadsto \frac{\color{blue}{1 \cdot \left(x.re \cdot y.re + x.im \cdot y.im\right)}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im} \cdot \sqrt{y.re \cdot y.re + y.im \cdot y.im}}\]
Applied times-frac_binary64_107622.1
\[\leadsto \color{blue}{\frac{1}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}} \cdot \frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}}\]
Simplified22.1
\[\leadsto \color{blue}{\frac{1}{\sqrt{{y.re}^{2} + {y.im}^{2}}}} \cdot \frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\]
Simplified22.1
\[\leadsto \frac{1}{\sqrt{{y.re}^{2} + {y.im}^{2}}} \cdot \color{blue}{\frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt{{y.re}^{2} + {y.im}^{2}}}}\]
Simplified22.1
\[\leadsto \color{blue}{\frac{1}{\sqrt{{y.re}^{2} + {y.im}^{2}}} \cdot \frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt{{y.re}^{2} + {y.im}^{2}}}}\]
if -3084.18200427928195 < y.re < -9.8394525987137508e-91 or 1.9690354844540234e-126 < y.re < 1.41635508708514771e142
Initial program 16.3
\[\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\]
- Using strategy
rm Applied add-sqr-sqrt_binary64_109216.3
\[\leadsto \frac{x.re \cdot y.re + x.im \cdot y.im}{\color{blue}{\sqrt{y.re \cdot y.re + y.im \cdot y.im} \cdot \sqrt{y.re \cdot y.re + y.im \cdot y.im}}}\]
Applied associate-/r*_binary64_101416.2
\[\leadsto \color{blue}{\frac{\frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}}\]
Simplified16.2
\[\leadsto \frac{\color{blue}{\frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt{{y.re}^{2} + {y.im}^{2}}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\]
Simplified16.2
\[\leadsto \color{blue}{\frac{\frac{x.re \cdot y.re + x.im \cdot y.im}{\sqrt{{y.re}^{2} + {y.im}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}}\]
- Recombined 4 regimes into one program.
Final simplification15.3
\[\leadsto \begin{array}{l}
\mathbf{if}\;y.re \leq -1.266447775026859 \cdot 10^{+143}:\\
\;\;\;\;\frac{x.re}{y.re}\\
\mathbf{elif}\;y.re \leq -4.7218745403061054 \cdot 10^{+135}:\\
\;\;\;\;\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}\\
\mathbf{elif}\;y.re \leq -2.2148262768226444 \cdot 10^{+22}:\\
\;\;\;\;\frac{1}{\sqrt{{y.im}^{2} + {y.re}^{2}}} \cdot \frac{y.re \cdot x.re + x.im \cdot y.im}{\sqrt{{y.im}^{2} + {y.re}^{2}}}\\
\mathbf{elif}\;y.re \leq -3084.182004279282:\\
\;\;\;\;\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}\\
\mathbf{elif}\;y.re \leq -9.83945259871375 \cdot 10^{-91}:\\
\;\;\;\;\frac{\frac{y.re \cdot x.re + x.im \cdot y.im}{\sqrt{{y.im}^{2} + {y.re}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{elif}\;y.re \leq 1.9690354844540234 \cdot 10^{-126}:\\
\;\;\;\;\frac{x.im}{y.im} + \frac{y.re \cdot x.re}{{y.im}^{2}}\\
\mathbf{elif}\;y.re \leq 1.4163550870851477 \cdot 10^{+142}:\\
\;\;\;\;\frac{\frac{y.re \cdot x.re + x.im \cdot y.im}{\sqrt{{y.im}^{2} + {y.re}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.re}{y.re}\\
\end{array}\]
Reproduce
herbie shell --seed 2021042
(FPCore (x.re x.im y.re y.im)
:name "_divideComplex, real part"
:precision binary64
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))))