| Alternative 1 | |
|---|---|
| Accuracy | 86.1% |
| Cost | 33684 |

(FPCore (x.re x.im y.re y.im) :precision binary64 (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))))
(FPCore (x.re x.im y.re y.im)
:precision binary64
(if (<= y.im -4.5e+54)
(/ (- (* x.im (/ y.re y.im)) x.re) y.im)
(if (<= y.im 9.8e-281)
(*
(/ 1.0 (hypot y.re y.im))
(/ (- (* x.im y.re) (* y.im x.re)) (hypot y.re y.im)))
(fma
(/ y.re (hypot y.re y.im))
(/ x.im (hypot y.re y.im))
(/
(* (/ x.re (hypot y.re y.im)) (- (sqrt y.im)))
(/ (hypot y.re y.im) (sqrt y.im)))))))double code(double x_46_re, double x_46_im, double y_46_re, double y_46_im) {
return ((x_46_im * y_46_re) - (x_46_re * 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_im <= -4.5e+54) {
tmp = ((x_46_im * (y_46_re / y_46_im)) - x_46_re) / y_46_im;
} else if (y_46_im <= 9.8e-281) {
tmp = (1.0 / hypot(y_46_re, y_46_im)) * (((x_46_im * y_46_re) - (y_46_im * x_46_re)) / hypot(y_46_re, y_46_im));
} else {
tmp = fma((y_46_re / hypot(y_46_re, y_46_im)), (x_46_im / hypot(y_46_re, y_46_im)), (((x_46_re / hypot(y_46_re, y_46_im)) * -sqrt(y_46_im)) / (hypot(y_46_re, y_46_im) / sqrt(y_46_im))));
}
return tmp;
}
function code(x_46_re, x_46_im, y_46_re, y_46_im) return Float64(Float64(Float64(x_46_im * y_46_re) - Float64(x_46_re * y_46_im)) / Float64(Float64(y_46_re * y_46_re) + Float64(y_46_im * y_46_im))) end
function code(x_46_re, x_46_im, y_46_re, y_46_im) tmp = 0.0 if (y_46_im <= -4.5e+54) tmp = Float64(Float64(Float64(x_46_im * Float64(y_46_re / y_46_im)) - x_46_re) / y_46_im); elseif (y_46_im <= 9.8e-281) tmp = Float64(Float64(1.0 / hypot(y_46_re, y_46_im)) * Float64(Float64(Float64(x_46_im * y_46_re) - Float64(y_46_im * x_46_re)) / hypot(y_46_re, y_46_im))); else tmp = fma(Float64(y_46_re / hypot(y_46_re, y_46_im)), Float64(x_46_im / hypot(y_46_re, y_46_im)), Float64(Float64(Float64(x_46_re / hypot(y_46_re, y_46_im)) * Float64(-sqrt(y_46_im))) / Float64(hypot(y_46_re, y_46_im) / sqrt(y_46_im)))); end return tmp end
code[x$46$re_, x$46$im_, y$46$re_, y$46$im_] := N[(N[(N[(x$46$im * y$46$re), $MachinePrecision] - N[(x$46$re * y$46$im), $MachinePrecision]), $MachinePrecision] / N[(N[(y$46$re * y$46$re), $MachinePrecision] + N[(y$46$im * y$46$im), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x$46$re_, x$46$im_, y$46$re_, y$46$im_] := If[LessEqual[y$46$im, -4.5e+54], N[(N[(N[(x$46$im * N[(y$46$re / y$46$im), $MachinePrecision]), $MachinePrecision] - x$46$re), $MachinePrecision] / y$46$im), $MachinePrecision], If[LessEqual[y$46$im, 9.8e-281], N[(N[(1.0 / N[Sqrt[y$46$re ^ 2 + y$46$im ^ 2], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(x$46$im * y$46$re), $MachinePrecision] - N[(y$46$im * x$46$re), $MachinePrecision]), $MachinePrecision] / N[Sqrt[y$46$re ^ 2 + y$46$im ^ 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(y$46$re / N[Sqrt[y$46$re ^ 2 + y$46$im ^ 2], $MachinePrecision]), $MachinePrecision] * N[(x$46$im / N[Sqrt[y$46$re ^ 2 + y$46$im ^ 2], $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x$46$re / N[Sqrt[y$46$re ^ 2 + y$46$im ^ 2], $MachinePrecision]), $MachinePrecision] * (-N[Sqrt[y$46$im], $MachinePrecision])), $MachinePrecision] / N[(N[Sqrt[y$46$re ^ 2 + y$46$im ^ 2], $MachinePrecision] / N[Sqrt[y$46$im], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\frac{x.im \cdot y.re - x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}
\begin{array}{l}
\mathbf{if}\;y.im \leq -4.5 \cdot 10^{+54}:\\
\;\;\;\;\frac{x.im \cdot \frac{y.re}{y.im} - x.re}{y.im}\\
\mathbf{elif}\;y.im \leq 9.8 \cdot 10^{-281}:\\
\;\;\;\;\frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \frac{x.im \cdot y.re - y.im \cdot x.re}{\mathsf{hypot}\left(y.re, y.im\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{\frac{x.re}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \left(-\sqrt{y.im}\right)}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}}\right)\\
\end{array}
if y.im < -4.49999999999999984e54Initial program 48.6%
Taylor expanded in y.re around 0 80.7%
Simplified91.2%
[Start]80.7 | \[ -1 \cdot \frac{x.re}{y.im} + \frac{y.re \cdot x.im}{{y.im}^{2}}
\] |
|---|---|
+-commutative [=>]80.7 | \[ \color{blue}{\frac{y.re \cdot x.im}{{y.im}^{2}} + -1 \cdot \frac{x.re}{y.im}}
\] |
mul-1-neg [=>]80.7 | \[ \frac{y.re \cdot x.im}{{y.im}^{2}} + \color{blue}{\left(-\frac{x.re}{y.im}\right)}
\] |
unsub-neg [=>]80.7 | \[ \color{blue}{\frac{y.re \cdot x.im}{{y.im}^{2}} - \frac{x.re}{y.im}}
\] |
unpow2 [=>]80.7 | \[ \frac{y.re \cdot x.im}{\color{blue}{y.im \cdot y.im}} - \frac{x.re}{y.im}
\] |
times-frac [=>]91.2 | \[ \color{blue}{\frac{y.re}{y.im} \cdot \frac{x.im}{y.im}} - \frac{x.re}{y.im}
\] |
Taylor expanded in y.re around 0 80.7%
Simplified91.2%
[Start]80.7 | \[ -1 \cdot \frac{x.re}{y.im} + \frac{y.re \cdot x.im}{{y.im}^{2}}
\] |
|---|---|
mul-1-neg [=>]80.7 | \[ \color{blue}{\left(-\frac{x.re}{y.im}\right)} + \frac{y.re \cdot x.im}{{y.im}^{2}}
\] |
distribute-frac-neg [<=]80.7 | \[ \color{blue}{\frac{-x.re}{y.im}} + \frac{y.re \cdot x.im}{{y.im}^{2}}
\] |
+-commutative [=>]80.7 | \[ \color{blue}{\frac{y.re \cdot x.im}{{y.im}^{2}} + \frac{-x.re}{y.im}}
\] |
unpow2 [=>]80.7 | \[ \frac{y.re \cdot x.im}{\color{blue}{y.im \cdot y.im}} + \frac{-x.re}{y.im}
\] |
times-frac [=>]91.2 | \[ \color{blue}{\frac{y.re}{y.im} \cdot \frac{x.im}{y.im}} + \frac{-x.re}{y.im}
\] |
distribute-frac-neg [=>]91.2 | \[ \frac{y.re}{y.im} \cdot \frac{x.im}{y.im} + \color{blue}{\left(-\frac{x.re}{y.im}\right)}
\] |
sub-neg [<=]91.2 | \[ \color{blue}{\frac{y.re}{y.im} \cdot \frac{x.im}{y.im} - \frac{x.re}{y.im}}
\] |
associate-*l/ [=>]91.3 | \[ \color{blue}{\frac{y.re \cdot \frac{x.im}{y.im}}{y.im}} - \frac{x.re}{y.im}
\] |
div-sub [<=]91.2 | \[ \color{blue}{\frac{y.re \cdot \frac{x.im}{y.im} - x.re}{y.im}}
\] |
associate-*r/ [=>]81.0 | \[ \frac{\color{blue}{\frac{y.re \cdot x.im}{y.im}} - x.re}{y.im}
\] |
*-commutative [=>]81.0 | \[ \frac{\frac{\color{blue}{x.im \cdot y.re}}{y.im} - x.re}{y.im}
\] |
associate-*r/ [<=]91.2 | \[ \frac{\color{blue}{x.im \cdot \frac{y.re}{y.im}} - x.re}{y.im}
\] |
if -4.49999999999999984e54 < y.im < 9.7999999999999999e-281Initial program 80.0%
Applied egg-rr92.1%
[Start]80.0 | \[ \frac{x.im \cdot y.re - x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}
\] |
|---|---|
*-un-lft-identity [=>]80.0 | \[ \frac{\color{blue}{1 \cdot \left(x.im \cdot y.re - x.re \cdot y.im\right)}}{y.re \cdot y.re + y.im \cdot y.im}
\] |
add-sqr-sqrt [=>]80.0 | \[ \frac{1 \cdot \left(x.im \cdot y.re - x.re \cdot y.im\right)}{\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}}}
\] |
times-frac [=>]80.1 | \[ \color{blue}{\frac{1}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}} \cdot \frac{x.im \cdot y.re - x.re \cdot y.im}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}}
\] |
hypot-def [=>]80.1 | \[ \frac{1}{\color{blue}{\mathsf{hypot}\left(y.re, y.im\right)}} \cdot \frac{x.im \cdot y.re - x.re \cdot y.im}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}
\] |
hypot-def [=>]92.1 | \[ \frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \frac{x.im \cdot y.re - x.re \cdot y.im}{\color{blue}{\mathsf{hypot}\left(y.re, y.im\right)}}
\] |
if 9.7999999999999999e-281 < y.im Initial program 62.5%
Applied egg-rr79.2%
[Start]62.5 | \[ \frac{x.im \cdot y.re - x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}
\] |
|---|---|
div-sub [=>]60.7 | \[ \color{blue}{\frac{x.im \cdot y.re}{y.re \cdot y.re + y.im \cdot y.im} - \frac{x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}}
\] |
*-commutative [=>]60.7 | \[ \frac{\color{blue}{y.re \cdot x.im}}{y.re \cdot y.re + y.im \cdot y.im} - \frac{x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}
\] |
add-sqr-sqrt [=>]60.7 | \[ \frac{y.re \cdot x.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}}} - \frac{x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}
\] |
times-frac [=>]62.0 | \[ \color{blue}{\frac{y.re}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}} \cdot \frac{x.im}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}} - \frac{x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}
\] |
fma-neg [=>]62.0 | \[ \color{blue}{\mathsf{fma}\left(\frac{y.re}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}, \frac{x.im}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}, -\frac{x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\right)}
\] |
hypot-def [=>]62.0 | \[ \mathsf{fma}\left(\frac{y.re}{\color{blue}{\mathsf{hypot}\left(y.re, y.im\right)}}, \frac{x.im}{\sqrt{y.re \cdot y.re + y.im \cdot y.im}}, -\frac{x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\right)
\] |
hypot-def [=>]78.0 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\color{blue}{\mathsf{hypot}\left(y.re, y.im\right)}}, -\frac{x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}\right)
\] |
associate-/l* [=>]79.2 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\color{blue}{\frac{x.re}{\frac{y.re \cdot y.re + y.im \cdot y.im}{y.im}}}\right)
\] |
add-sqr-sqrt [=>]79.2 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{x.re}{\frac{\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}}}{y.im}}\right)
\] |
pow2 [=>]79.2 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{x.re}{\frac{\color{blue}{{\left(\sqrt{y.re \cdot y.re + y.im \cdot y.im}\right)}^{2}}}{y.im}}\right)
\] |
hypot-def [=>]79.2 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{x.re}{\frac{{\color{blue}{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}}^{2}}{y.im}}\right)
\] |
Applied egg-rr98.8%
[Start]79.2 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{x.re}{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}}\right)
\] |
|---|---|
*-un-lft-identity [=>]79.2 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{\color{blue}{1 \cdot x.re}}{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}}\right)
\] |
add-sqr-sqrt [=>]79.1 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1 \cdot x.re}{\color{blue}{\sqrt{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}} \cdot \sqrt{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}}}}\right)
\] |
times-frac [=>]79.1 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\color{blue}{\frac{1}{\sqrt{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}}} \cdot \frac{x.re}{\sqrt{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}}}}\right)
\] |
sqrt-div [=>]79.1 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1}{\color{blue}{\frac{\sqrt{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}}{\sqrt{y.im}}}} \cdot \frac{x.re}{\sqrt{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}}}\right)
\] |
unpow2 [=>]79.1 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1}{\frac{\sqrt{\color{blue}{\mathsf{hypot}\left(y.re, y.im\right) \cdot \mathsf{hypot}\left(y.re, y.im\right)}}}{\sqrt{y.im}}} \cdot \frac{x.re}{\sqrt{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}}}\right)
\] |
sqrt-prod [=>]79.1 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1}{\frac{\color{blue}{\sqrt{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \sqrt{\mathsf{hypot}\left(y.re, y.im\right)}}}{\sqrt{y.im}}} \cdot \frac{x.re}{\sqrt{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}}}\right)
\] |
add-sqr-sqrt [<=]79.1 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1}{\frac{\color{blue}{\mathsf{hypot}\left(y.re, y.im\right)}}{\sqrt{y.im}}} \cdot \frac{x.re}{\sqrt{\frac{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}{y.im}}}\right)
\] |
sqrt-div [=>]79.4 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}} \cdot \frac{x.re}{\color{blue}{\frac{\sqrt{{\left(\mathsf{hypot}\left(y.re, y.im\right)\right)}^{2}}}{\sqrt{y.im}}}}\right)
\] |
unpow2 [=>]79.4 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}} \cdot \frac{x.re}{\frac{\sqrt{\color{blue}{\mathsf{hypot}\left(y.re, y.im\right) \cdot \mathsf{hypot}\left(y.re, y.im\right)}}}{\sqrt{y.im}}}\right)
\] |
sqrt-prod [=>]98.9 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}} \cdot \frac{x.re}{\frac{\color{blue}{\sqrt{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \sqrt{\mathsf{hypot}\left(y.re, y.im\right)}}}{\sqrt{y.im}}}\right)
\] |
add-sqr-sqrt [<=]98.8 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}} \cdot \frac{x.re}{\frac{\color{blue}{\mathsf{hypot}\left(y.re, y.im\right)}}{\sqrt{y.im}}}\right)
\] |
Simplified98.2%
[Start]98.8 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{1}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}} \cdot \frac{x.re}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}}\right)
\] |
|---|---|
associate-*l/ [=>]98.8 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\color{blue}{\frac{1 \cdot \frac{x.re}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}}}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}}}\right)
\] |
*-lft-identity [=>]98.8 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{\color{blue}{\frac{x.re}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}}}}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}}\right)
\] |
associate-/r/ [=>]98.2 | \[ \mathsf{fma}\left(\frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}, \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)}, -\frac{\color{blue}{\frac{x.re}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \sqrt{y.im}}}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{\sqrt{y.im}}}\right)
\] |
Final simplification95.0%
| Alternative 1 | |
|---|---|
| Accuracy | 86.1% |
| Cost | 33684 |
| Alternative 2 | |
|---|---|
| Accuracy | 83.8% |
| Cost | 14288 |
| Alternative 3 | |
|---|---|
| Accuracy | 82.2% |
| Cost | 13904 |
| Alternative 4 | |
|---|---|
| Accuracy | 82.9% |
| Cost | 1488 |
| Alternative 5 | |
|---|---|
| Accuracy | 75.5% |
| Cost | 1233 |
| Alternative 6 | |
|---|---|
| Accuracy | 70.0% |
| Cost | 1106 |
| Alternative 7 | |
|---|---|
| Accuracy | 70.4% |
| Cost | 1105 |
| Alternative 8 | |
|---|---|
| Accuracy | 75.6% |
| Cost | 1105 |
| Alternative 9 | |
|---|---|
| Accuracy | 64.0% |
| Cost | 521 |
| Alternative 10 | |
|---|---|
| Accuracy | 41.9% |
| Cost | 324 |
| Alternative 11 | |
|---|---|
| Accuracy | 9.7% |
| Cost | 192 |
herbie shell --seed 2023160
(FPCore (x.re x.im y.re y.im)
:name "_divideComplex, imaginary part"
:precision binary64
(/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))))