Average Error: 26.1 → 16.9
Time: 4.1min
Precision: binary64
Cost: 28290
\[\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 -6.139893937144628 \cdot 10^{+141}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -5711.206474923963:\\
\;\;\;\;\frac{y.im \cdot \left(x.im \cdot \frac{\frac{-y.re}{{y.im}^{2} + {y.re}^{2}}}{\frac{-1}{x.re}}\right)}{y.re \cdot x.re} - \frac{\frac{y.re}{{y.im}^{2} + {y.re}^{2}}}{\frac{-1}{x.re}}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{x.im \cdot {y.re}^{2}}{{y.im}^{2}}}{y.im + 0.5 \cdot \frac{{y.re}^{2}}{y.im}}\\
\mathbf{else}:\\
\;\;\;\;\frac{y.im \cdot x.im}{{y.im}^{2} + {y.re}^{2}} + \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 -6.139893937144628 \cdot 10^{+141}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -5711.206474923963:\\
\;\;\;\;\frac{y.im \cdot \left(x.im \cdot \frac{\frac{-y.re}{{y.im}^{2} + {y.re}^{2}}}{\frac{-1}{x.re}}\right)}{y.re \cdot x.re} - \frac{\frac{y.re}{{y.im}^{2} + {y.re}^{2}}}{\frac{-1}{x.re}}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{x.im \cdot {y.re}^{2}}{{y.im}^{2}}}{y.im + 0.5 \cdot \frac{{y.re}^{2}}{y.im}}\\
\mathbf{else}:\\
\;\;\;\;\frac{y.im \cdot x.im}{{y.im}^{2} + {y.re}^{2}} + \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 -6.139893937144628e+141)
(+
(* x.re (/ 1.0 y.re))
(/ (* y.im (* x.im (* x.re (/ 1.0 y.re)))) (* y.re x.re)))
(if (<= y.re -5711.206474923963)
(-
(/
(*
y.im
(*
x.im
(/ (/ (- y.re) (+ (pow y.im 2.0) (pow y.re 2.0))) (/ -1.0 x.re))))
(* y.re x.re))
(/ (/ y.re (+ (pow y.im 2.0) (pow y.re 2.0))) (/ -1.0 x.re)))
(if (<= y.re 1.0936641726299874e-89)
(/
(-
(+ x.im (/ (* y.re x.re) y.im))
(* 0.5 (/ (* x.im (pow y.re 2.0)) (pow y.im 2.0))))
(+ y.im (* 0.5 (/ (pow y.re 2.0) y.im))))
(+
(/ (* y.im x.im) (+ (pow y.im 2.0) (pow y.re 2.0)))
(/ 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 <= -6.139893937144628e+141) {
tmp = (x_46_re * (1.0 / y_46_re)) + ((y_46_im * (x_46_im * (x_46_re * (1.0 / y_46_re)))) / (y_46_re * x_46_re));
} else if (y_46_re <= -5711.206474923963) {
tmp = ((y_46_im * (x_46_im * ((-y_46_re / (pow(y_46_im, 2.0) + pow(y_46_re, 2.0))) / (-1.0 / x_46_re)))) / (y_46_re * x_46_re)) - ((y_46_re / (pow(y_46_im, 2.0) + pow(y_46_re, 2.0))) / (-1.0 / x_46_re));
} else if (y_46_re <= 1.0936641726299874e-89) {
tmp = ((x_46_im + ((y_46_re * x_46_re) / y_46_im)) - (0.5 * ((x_46_im * pow(y_46_re, 2.0)) / pow(y_46_im, 2.0)))) / (y_46_im + (0.5 * (pow(y_46_re, 2.0) / y_46_im)));
} else {
tmp = ((y_46_im * x_46_im) / (pow(y_46_im, 2.0) + pow(y_46_re, 2.0))) + (x_46_re / y_46_re);
}
return tmp;
}
Try it out
Enter valid numbers for all inputs
Alternatives
| Alternative 1 |
|---|
| Error | 16.4 |
|---|
| Cost | 27714 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -6.2850453642498544 \cdot 10^{+88}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -2.9987652470589066 \cdot 10^{-32}:\\
\;\;\;\;\frac{\left(y.re \cdot x.re + y.im \cdot x.im\right) \cdot \frac{1}{\sqrt{{y.im}^{2} + {y.re}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{x.im \cdot {y.re}^{2}}{{y.im}^{2}}}{y.im + 0.5 \cdot \frac{{y.re}^{2}}{y.im}}\\
\mathbf{else}:\\
\;\;\;\;\frac{y.im \cdot x.im}{{y.im}^{2} + {y.re}^{2}} + \frac{x.re}{y.re}\\
\end{array}\]
| Alternative 2 |
|---|
| Error | 17.0 |
|---|
| Cost | 21827 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -7.846666014758605 \cdot 10^{+141}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -5103.719554050937:\\
\;\;\;\;\frac{1}{\frac{\sqrt{{y.im}^{2} + {y.re}^{2}}}{\left(-x.re\right) - \frac{y.im \cdot x.im}{y.re}}}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{x.im \cdot {y.re}^{2}}{{y.im}^{2}}}{y.im + 0.5 \cdot \frac{{y.re}^{2}}{y.im}}\\
\mathbf{else}:\\
\;\;\;\;\frac{y.im \cdot x.im}{{y.im}^{2} + {y.re}^{2}} + \frac{x.re}{y.re}\\
\end{array}\]
| Alternative 3 |
|---|
| Error | 17.2 |
|---|
| Cost | 20866 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -5.7445877215510606 \cdot 10^{+138}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -2473.655553969881:\\
\;\;\;\;\frac{1}{\frac{\sqrt{{y.im}^{2} + {y.re}^{2}}}{\left(-x.re\right) - \frac{y.im \cdot x.im}{y.re}}}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{x.im \cdot {y.re}^{2}}{{y.im}^{2}}}{y.im}\\
\mathbf{else}:\\
\;\;\;\;\frac{y.im \cdot x.im}{{y.im}^{2} + {y.re}^{2}} + \frac{x.re}{y.re}\\
\end{array}\]
| Alternative 4 |
|---|
| Error | 17.1 |
|---|
| Cost | 14979 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -8.090490597274888 \cdot 10^{+141}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -3992.372856152444:\\
\;\;\;\;\frac{\left(-x.re\right) - \frac{y.im \cdot x.im}{y.re}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{x.im \cdot {y.re}^{2}}{{y.im}^{2}}}{y.im}\\
\mathbf{else}:\\
\;\;\;\;\frac{y.im \cdot x.im}{{y.im}^{2} + {y.re}^{2}} + \frac{x.re}{y.re}\\
\end{array}\]
| Alternative 5 |
|---|
| Error | 17.4 |
|---|
| Cost | 14595 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -2.0233979365331517 \cdot 10^{+141}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -4951.847823832681:\\
\;\;\;\;\frac{\left(-x.re\right) - \frac{y.im \cdot x.im}{y.re}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{y.re \cdot x.re}{{y.im}^{2}} + \frac{x.im}{y.im}\\
\mathbf{else}:\\
\;\;\;\;\frac{y.im \cdot x.im}{{y.im}^{2} + {y.re}^{2}} + \frac{x.re}{y.re}\\
\end{array}\]
| Alternative 6 |
|---|
| Error | 18.0 |
|---|
| Cost | 8066 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -8.090490597274888 \cdot 10^{+141}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -1957.084316548428:\\
\;\;\;\;\frac{\left(-x.re\right) - \frac{y.im \cdot x.im}{y.re}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{y.re \cdot x.re}{{y.im}^{2}} + \frac{x.im}{y.im}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.re}{y.re} + \frac{x.im}{\frac{{y.re}^{2}}{y.im}}\\
\end{array}\]
| Alternative 7 |
|---|
| Error | 17.9 |
|---|
| Cost | 8003 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -2.1551889227456226 \cdot 10^{+88}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -1957.084316548428:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{y.re \cdot x.re}{{y.im}^{2}} + \frac{x.im}{y.im}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.re}{y.re} + \frac{x.im}{\frac{{y.re}^{2}}{y.im}}\\
\end{array}\]
| Alternative 8 |
|---|
| Error | 18.0 |
|---|
| Cost | 8003 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -1.0996812048612831 \cdot 10^{+88}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -1957.084316548428:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{y.re \cdot x.re}{{y.im}^{2}} + \frac{x.im}{y.im}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.re}{y.re} + \frac{y.im \cdot x.im}{{y.re}^{2}}\\
\end{array}\]
| Alternative 9 |
|---|
| Error | 14.7 |
|---|
| Cost | 8003 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.im \leq -5.977462035739202 \cdot 10^{+38}:\\
\;\;\;\;x.im \cdot \frac{1}{y.im} + \frac{y.re \cdot \left(x.re \cdot \left(x.im \cdot \frac{1}{y.im}\right)\right)}{y.im \cdot x.im}\\
\mathbf{elif}\;y.im \leq -1.865044624534711 \cdot 10^{-126}:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{elif}\;y.im \leq 8.609066475272341 \cdot 10^{-156}:\\
\;\;\;\;\frac{x.re}{y.re} + \frac{y.im \cdot x.im}{{y.re}^{2}}\\
\mathbf{elif}\;y.im \leq 8.680010860334413 \cdot 10^{+95}:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{else}:\\
\;\;\;\;x.im \cdot \frac{1}{y.im} + \frac{y.re \cdot \left(x.re \cdot \left(x.im \cdot \frac{1}{y.im}\right)\right)}{y.im \cdot x.im}\\
\end{array}\]
| Alternative 10 |
|---|
| Error | 16.0 |
|---|
| Cost | 2500 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.im \leq -5.977462035739202 \cdot 10^{+38}:\\
\;\;\;\;x.im \cdot \frac{1}{y.im} + \frac{y.re \cdot \left(x.re \cdot \left(x.im \cdot \frac{1}{y.im}\right)\right)}{y.im \cdot x.im}\\
\mathbf{elif}\;y.im \leq -1.1335800448969252 \cdot 10^{-133}:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{elif}\;y.im \leq 2.516852061872786 \cdot 10^{-155}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.im \leq 3.8739115826785715 \cdot 10^{+95}:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{else}:\\
\;\;\;\;x.im \cdot \frac{1}{y.im} + \frac{y.re \cdot \left(x.re \cdot \left(x.im \cdot \frac{1}{y.im}\right)\right)}{y.im \cdot x.im}\\
\end{array}\]
| Alternative 11 |
|---|
| Error | 16.0 |
|---|
| Cost | 2244 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.im \leq -7.564022337473754 \cdot 10^{+128}:\\
\;\;\;\;\frac{x.im}{y.im}\\
\mathbf{elif}\;y.im \leq -5.3572811904925184 \cdot 10^{-132}:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{elif}\;y.im \leq 3.832868878772282 \cdot 10^{-156}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.im \leq 1.295224182584382 \cdot 10^{+96}:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.im}{y.im}\\
\end{array}\]
| Alternative 12 |
|---|
| Error | 15.9 |
|---|
| Cost | 2244 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.im \leq -3.9002421296373794 \cdot 10^{+123}:\\
\;\;\;\;\frac{x.im}{y.im}\\
\mathbf{elif}\;y.im \leq -1.3485016802441929 \cdot 10^{-133}:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{elif}\;y.im \leq 9.325647280634228 \cdot 10^{-157}:\\
\;\;\;\;\frac{x.re}{y.re}\\
\mathbf{elif}\;y.im \leq 8.941350663866893 \cdot 10^{+95}:\\
\;\;\;\;\frac{y.re \cdot x.re + y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.im}{y.im}\\
\end{array}\]
| Alternative 13 |
|---|
| Error | 22.4 |
|---|
| Cost | 1346 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.im \leq -2.2195710950727558 \cdot 10^{+38}:\\
\;\;\;\;\frac{x.im}{y.im}\\
\mathbf{elif}\;y.im \leq -5.311819209579214 \cdot 10^{-62}:\\
\;\;\;\;\frac{y.im \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\
\mathbf{elif}\;y.im \leq 40678255396950.66:\\
\;\;\;\;\frac{x.re}{y.re}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.im}{y.im}\\
\end{array}\]
| Alternative 14 |
|---|
| Error | 23.3 |
|---|
| Cost | 520 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq -33499306029128.684 \lor \neg \left(y.re \leq 9.070872177309683 \cdot 10^{-90}\right):\\
\;\;\;\;\frac{x.re}{y.re}\\
\mathbf{else}:\\
\;\;\;\;\frac{x.im}{y.im}\\
\end{array}\]
| Alternative 15 |
|---|
| Error | 35.7 |
|---|
| Cost | 513 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y.re \leq 2.3553215216684362 \cdot 10^{+216}:\\
\;\;\;\;\frac{x.im}{y.im}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}\]
| Alternative 16 |
|---|
| Error | 51.9 |
|---|
| Cost | 64 |
|---|
\[0\]
| Alternative 17 |
|---|
| Error | 61.7 |
|---|
| Cost | 64 |
|---|
\[1\]
Error

Time

Derivation
- Split input into 4 regimes
if y.re < -6.1398939371446278e141
Initial program 45.0
\[\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-exp-log_binary64_79845.2
\[\leadsto \frac{x.re \cdot y.re + x.im \cdot y.im}{\color{blue}{e^{\log \left(y.re \cdot y.re + y.im \cdot y.im\right)}}}\]
Applied add-exp-log_binary64_79854.6
\[\leadsto \frac{\color{blue}{e^{\log \left(x.re \cdot y.re + x.im \cdot y.im\right)}}}{e^{\log \left(y.re \cdot y.re + y.im \cdot y.im\right)}}\]
Applied div-exp_binary64_81154.6
\[\leadsto \color{blue}{e^{\log \left(x.re \cdot y.re + x.im \cdot y.im\right) - \log \left(y.re \cdot y.re + y.im \cdot y.im\right)}}\]
Simplified45.9
\[\leadsto e^{\color{blue}{\log \left(\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}\right)}}\]
Taylor expanded around -inf 40.7
\[\leadsto \color{blue}{\frac{y.im \cdot \left(x.im \cdot e^{\log \left(-1 \cdot x.re\right) + \log \left(\frac{-1}{y.re}\right)}\right)}{y.re \cdot x.re} + e^{\log \left(-1 \cdot x.re\right) + \log \left(\frac{-1}{y.re}\right)}}\]
Simplified14.4
\[\leadsto \color{blue}{\left(-x.re\right) \cdot \frac{-1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(\left(-x.re\right) \cdot \frac{-1}{y.re}\right)\right)}{x.re \cdot y.re}}\]
Simplified14.4
\[\leadsto \color{blue}{\frac{y.im \cdot \left(x.im \cdot \left(\left(-x.re\right) \cdot \frac{-1}{y.re}\right)\right)}{y.re \cdot x.re} - x.re \cdot \frac{-1}{y.re}}\]
if -6.1398939371446278e141 < y.re < -5711.20647492396256
Initial program 19.6
\[\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-exp-log_binary64_79822.8
\[\leadsto \frac{x.re \cdot y.re + x.im \cdot y.im}{\color{blue}{e^{\log \left(y.re \cdot y.re + y.im \cdot y.im\right)}}}\]
Applied add-exp-log_binary64_79844.0
\[\leadsto \frac{\color{blue}{e^{\log \left(x.re \cdot y.re + x.im \cdot y.im\right)}}}{e^{\log \left(y.re \cdot y.re + y.im \cdot y.im\right)}}\]
Applied div-exp_binary64_81144.1
\[\leadsto \color{blue}{e^{\log \left(x.re \cdot y.re + x.im \cdot y.im\right) - \log \left(y.re \cdot y.re + y.im \cdot y.im\right)}}\]
Simplified40.7
\[\leadsto e^{\color{blue}{\log \left(\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}\right)}}\]
Taylor expanded around -inf 44.2
\[\leadsto \color{blue}{\frac{y.im \cdot \left(x.im \cdot e^{\log \left(-1 \cdot \frac{y.re}{{y.im}^{2} + {y.re}^{2}}\right) - \log \left(\frac{-1}{x.re}\right)}\right)}{y.re \cdot x.re} + e^{\log \left(-1 \cdot \frac{y.re}{{y.im}^{2} + {y.re}^{2}}\right) - \log \left(\frac{-1}{x.re}\right)}}\]
Simplified19.7
\[\leadsto \color{blue}{\frac{-\frac{y.re}{{y.re}^{2} + {y.im}^{2}}}{\frac{-1}{x.re}} + \frac{y.im \cdot \left(x.im \cdot \frac{-\frac{y.re}{{y.re}^{2} + {y.im}^{2}}}{\frac{-1}{x.re}}\right)}{x.re \cdot y.re}}\]
Simplified19.7
\[\leadsto \color{blue}{\frac{y.im \cdot \left(x.im \cdot \frac{\frac{-y.re}{{y.im}^{2} + {y.re}^{2}}}{\frac{-1}{x.re}}\right)}{y.re \cdot x.re} - \frac{\frac{y.re}{{y.im}^{2} + {y.re}^{2}}}{\frac{-1}{x.re}}}\]
if -5711.20647492396256 < y.re < 1.09366417262998742e-89
Initial program 20.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_78220.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 associate-/r*_binary64_70420.0
\[\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}}}\]
Simplified20.0
\[\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}}\]
Taylor expanded around 0 40.4
\[\leadsto \frac{\color{blue}{\left(\frac{y.re \cdot x.re}{y.im} + x.im\right) - 0.5 \cdot \frac{{y.re}^{2} \cdot x.im}{{y.im}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\]
Simplified40.4
\[\leadsto \frac{\color{blue}{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{{y.re}^{2} \cdot x.im}{{y.im}^{2}}}}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}\]
Taylor expanded around 0 14.1
\[\leadsto \frac{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{{y.re}^{2} \cdot x.im}{{y.im}^{2}}}{\color{blue}{y.im + 0.5 \cdot \frac{{y.re}^{2}}{y.im}}}\]
Simplified14.1
\[\leadsto \color{blue}{\frac{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{x.im \cdot {y.re}^{2}}{{y.im}^{2}}}{y.im + 0.5 \cdot \frac{{y.re}^{2}}{y.im}}}\]
if 1.09366417262998742e-89 < y.re
Initial program 28.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-exp-log_binary64_79830.2
\[\leadsto \frac{x.re \cdot y.re + x.im \cdot y.im}{\color{blue}{e^{\log \left(y.re \cdot y.re + y.im \cdot y.im\right)}}}\]
Applied add-exp-log_binary64_79847.0
\[\leadsto \frac{\color{blue}{e^{\log \left(x.re \cdot y.re + x.im \cdot y.im\right)}}}{e^{\log \left(y.re \cdot y.re + y.im \cdot y.im\right)}}\]
Applied div-exp_binary64_81147.0
\[\leadsto \color{blue}{e^{\log \left(x.re \cdot y.re + x.im \cdot y.im\right) - \log \left(y.re \cdot y.re + y.im \cdot y.im\right)}}\]
Simplified41.1
\[\leadsto e^{\color{blue}{\log \left(\frac{x.re \cdot y.re + x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}\right)}}\]
Taylor expanded around 0 46.3
\[\leadsto \color{blue}{e^{\log \left(\frac{y.im \cdot x.im}{{y.re}^{2} + {y.im}^{2}}\right)} + \frac{e^{\log \left(\frac{y.im \cdot x.im}{{y.re}^{2} + {y.im}^{2}}\right)} \cdot \left(y.re \cdot x.re\right)}{x.im \cdot y.im}}\]
Simplified38.1
\[\leadsto \color{blue}{\frac{x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}} + \frac{\frac{x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}}}{\frac{x.im \cdot y.im}{x.re \cdot y.re}}}\]
Taylor expanded around 0 20.4
\[\leadsto \frac{x.im \cdot y.im}{{y.re}^{2} + {y.im}^{2}} + \color{blue}{\frac{x.re}{y.re}}\]
Simplified20.4
\[\leadsto \color{blue}{\frac{x.im \cdot y.im}{{y.im}^{2} + {y.re}^{2}} + \frac{x.re}{y.re}}\]
- Recombined 4 regimes into one program.
Final simplification16.9
\[\leadsto \begin{array}{l}
\mathbf{if}\;y.re \leq -6.139893937144628 \cdot 10^{+141}:\\
\;\;\;\;x.re \cdot \frac{1}{y.re} + \frac{y.im \cdot \left(x.im \cdot \left(x.re \cdot \frac{1}{y.re}\right)\right)}{y.re \cdot x.re}\\
\mathbf{elif}\;y.re \leq -5711.206474923963:\\
\;\;\;\;\frac{y.im \cdot \left(x.im \cdot \frac{\frac{-y.re}{{y.im}^{2} + {y.re}^{2}}}{\frac{-1}{x.re}}\right)}{y.re \cdot x.re} - \frac{\frac{y.re}{{y.im}^{2} + {y.re}^{2}}}{\frac{-1}{x.re}}\\
\mathbf{elif}\;y.re \leq 1.0936641726299874 \cdot 10^{-89}:\\
\;\;\;\;\frac{\left(x.im + \frac{y.re \cdot x.re}{y.im}\right) - 0.5 \cdot \frac{x.im \cdot {y.re}^{2}}{{y.im}^{2}}}{y.im + 0.5 \cdot \frac{{y.re}^{2}}{y.im}}\\
\mathbf{else}:\\
\;\;\;\;\frac{y.im \cdot x.im}{{y.im}^{2} + {y.re}^{2}} + \frac{x.re}{y.re}\\
\end{array}\]
Reproduce
herbie shell --seed 2021040
(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))))