?

Average Accuracy: 58.9% → 99.0%
Time: 20.1s
Precision: binary64
Cost: 20352

?

\[\frac{x.im \cdot y.re - x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im} \]
\[\frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \left(\frac{x.im}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{y.re}} - \frac{y.im}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot x.re\right) \]
(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
 (*
  (/ 1.0 (hypot y.re y.im))
  (- (/ x.im (/ (hypot y.re y.im) y.re)) (* (/ y.im (hypot y.re y.im)) x.re))))
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) {
	return (1.0 / hypot(y_46_re, y_46_im)) * ((x_46_im / (hypot(y_46_re, y_46_im) / y_46_re)) - ((y_46_im / hypot(y_46_re, y_46_im)) * x_46_re));
}
public static 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));
}
public static double code(double x_46_re, double x_46_im, double y_46_re, double y_46_im) {
	return (1.0 / Math.hypot(y_46_re, y_46_im)) * ((x_46_im / (Math.hypot(y_46_re, y_46_im) / y_46_re)) - ((y_46_im / Math.hypot(y_46_re, y_46_im)) * x_46_re));
}
def code(x_46_re, x_46_im, y_46_re, 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))
def code(x_46_re, x_46_im, y_46_re, y_46_im):
	return (1.0 / math.hypot(y_46_re, y_46_im)) * ((x_46_im / (math.hypot(y_46_re, y_46_im) / y_46_re)) - ((y_46_im / math.hypot(y_46_re, y_46_im)) * x_46_re))
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)
	return Float64(Float64(1.0 / hypot(y_46_re, y_46_im)) * Float64(Float64(x_46_im / Float64(hypot(y_46_re, y_46_im) / y_46_re)) - Float64(Float64(y_46_im / hypot(y_46_re, y_46_im)) * x_46_re)))
end
function tmp = code(x_46_re, x_46_im, y_46_re, y_46_im)
	tmp = ((x_46_im * y_46_re) - (x_46_re * y_46_im)) / ((y_46_re * y_46_re) + (y_46_im * y_46_im));
end
function tmp = code(x_46_re, x_46_im, y_46_re, y_46_im)
	tmp = (1.0 / hypot(y_46_re, y_46_im)) * ((x_46_im / (hypot(y_46_re, y_46_im) / y_46_re)) - ((y_46_im / hypot(y_46_re, y_46_im)) * x_46_re));
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_] := N[(N[(1.0 / N[Sqrt[y$46$re ^ 2 + y$46$im ^ 2], $MachinePrecision]), $MachinePrecision] * N[(N[(x$46$im / N[(N[Sqrt[y$46$re ^ 2 + y$46$im ^ 2], $MachinePrecision] / y$46$re), $MachinePrecision]), $MachinePrecision] - N[(N[(y$46$im / N[Sqrt[y$46$re ^ 2 + y$46$im ^ 2], $MachinePrecision]), $MachinePrecision] * x$46$re), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{x.im \cdot y.re - x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}
\frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \left(\frac{x.im}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{y.re}} - \frac{y.im}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot x.re\right)

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation?

  1. Initial program 58.9%

    \[\frac{x.im \cdot y.re - x.re \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im} \]
  2. Applied egg-rr73.6%

    \[\leadsto \color{blue}{\frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \frac{x.im \cdot y.re - x.re \cdot y.im}{\mathsf{hypot}\left(y.re, y.im\right)}} \]
  3. Applied egg-rr98.4%

    \[\leadsto \frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \color{blue}{\left(\frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot y.re - \frac{y.im}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot x.re\right)} \]
  4. Applied egg-rr99.0%

    \[\leadsto \frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \left(\color{blue}{\frac{x.im}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{y.re}}} - \frac{y.im}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot x.re\right) \]
  5. Final simplification99.0%

    \[\leadsto \frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \left(\frac{x.im}{\frac{\mathsf{hypot}\left(y.re, y.im\right)}{y.re}} - \frac{y.im}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot x.re\right) \]

Alternatives

Alternative 1
Accuracy98.4%
Cost20352
\[\frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \left(y.re \cdot \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)} - \frac{y.im}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot x.re\right) \]
Alternative 2
Accuracy79.0%
Cost17488
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ t_1 := \frac{y.re \cdot x.im - y.im \cdot x.re}{t_0}\\ \mathbf{if}\;t_1 \leq -\infty:\\ \;\;\;\;x.im \cdot \frac{y.re}{t_0} - \frac{y.im}{\frac{t_0}{x.re}}\\ \mathbf{elif}\;t_1 \leq -1 \cdot 10^{-219}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;t_1 \leq 0:\\ \;\;\;\;\frac{\frac{x.re}{\frac{\mathsf{hypot}\left(y.im, y.re\right)}{y.im}}}{-\mathsf{hypot}\left(y.im, y.re\right)}\\ \mathbf{elif}\;t_1 \leq 2 \cdot 10^{+301}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im \cdot \frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}}{\mathsf{hypot}\left(y.re, y.im\right)}\\ \end{array} \]
Alternative 3
Accuracy86.3%
Cost15816
\[\begin{array}{l} t_0 := y.re \cdot x.im - y.im \cdot x.re\\ t_1 := y.re \cdot y.re + y.im \cdot y.im\\ t_2 := \frac{t_0}{t_1}\\ \mathbf{if}\;t_2 \leq -\infty:\\ \;\;\;\;x.im \cdot \frac{y.re}{t_1} - \frac{y.im}{\frac{t_1}{x.re}}\\ \mathbf{elif}\;t_2 \leq 2 \cdot 10^{+304}:\\ \;\;\;\;\frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \frac{t_0}{\mathsf{hypot}\left(y.re, y.im\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im \cdot \frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}}{\mathsf{hypot}\left(y.re, y.im\right)}\\ \end{array} \]
Alternative 4
Accuracy84.4%
Cost14416
\[\begin{array}{l} t_0 := \frac{1}{\mathsf{hypot}\left(y.re, y.im\right)}\\ t_1 := t_0 \cdot \frac{y.re \cdot x.im - y.im \cdot x.re}{\mathsf{hypot}\left(y.re, y.im\right)}\\ \mathbf{if}\;y.re \leq -2.4 \cdot 10^{+119}:\\ \;\;\;\;\frac{x.im \cdot \frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}}{\mathsf{hypot}\left(y.re, y.im\right)}\\ \mathbf{elif}\;y.re \leq -4.6 \cdot 10^{-214}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.re \leq 1.4 \cdot 10^{-230}:\\ \;\;\;\;\frac{1}{y.im} \cdot \left(\frac{y.re}{\frac{y.im}{x.im}} - x.re\right)\\ \mathbf{elif}\;y.re \leq 3.3 \cdot 10^{+78}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;t_0 \cdot \left(y.re \cdot \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)} - \frac{y.im}{\frac{y.re}{x.re}}\right)\\ \end{array} \]
Alternative 5
Accuracy83.4%
Cost14028
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ \mathbf{if}\;y.im \leq -1.1 \cdot 10^{+138}:\\ \;\;\;\;\frac{x.im}{y.im} \cdot \frac{y.re}{y.im} - \frac{x.re}{y.im}\\ \mathbf{elif}\;y.im \leq -2.4 \cdot 10^{-81}:\\ \;\;\;\;x.im \cdot \frac{y.re}{t_0} - \frac{y.im}{\frac{t_0}{x.re}}\\ \mathbf{elif}\;y.im \leq 5.6 \cdot 10^{-16}:\\ \;\;\;\;\frac{x.im - x.re \cdot \frac{y.im}{y.re}}{y.re}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\mathsf{hypot}\left(y.re, y.im\right)} \cdot \left(y.re \cdot \frac{x.im}{\mathsf{hypot}\left(y.re, y.im\right)} - x.re\right)\\ \end{array} \]
Alternative 6
Accuracy80.1%
Cost13508
\[\begin{array}{l} t_0 := \frac{y.re \cdot x.im - y.im \cdot x.re}{y.re \cdot y.re + y.im \cdot y.im}\\ \mathbf{if}\;y.re \leq -1.38 \cdot 10^{+79}:\\ \;\;\;\;\frac{x.im \cdot \frac{y.re}{\mathsf{hypot}\left(y.re, y.im\right)}}{\mathsf{hypot}\left(y.re, y.im\right)}\\ \mathbf{elif}\;y.re \leq -4.2 \cdot 10^{-155}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y.re \leq 5.5 \cdot 10^{-147}:\\ \;\;\;\;\frac{1}{y.im} \cdot \left(\frac{y.re}{\frac{y.im}{x.im}} - x.re\right)\\ \mathbf{elif}\;y.re \leq 3.2 \cdot 10^{+74}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im - x.re \cdot \frac{y.im}{y.re}}{y.re}\\ \end{array} \]
Alternative 7
Accuracy74.9%
Cost1496
\[\begin{array}{l} t_0 := \frac{x.im - y.im \cdot \frac{x.re}{y.re}}{y.re}\\ t_1 := \frac{x.im}{y.im} \cdot \frac{y.re}{y.im} - \frac{x.re}{y.im}\\ \mathbf{if}\;y.im \leq -2.8 \cdot 10^{+133}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq -5 \cdot 10^{+113}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y.im \leq -3.5 \cdot 10^{+22}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq 1.55 \cdot 10^{+19}:\\ \;\;\;\;\frac{x.im - x.re \cdot \frac{y.im}{y.re}}{y.re}\\ \mathbf{elif}\;y.im \leq 1.75 \cdot 10^{+54}:\\ \;\;\;\;\frac{-x.re}{y.im + \frac{y.re}{\frac{y.im}{y.re}}}\\ \mathbf{elif}\;y.im \leq 2.3 \cdot 10^{+86}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 8
Accuracy80.9%
Cost1488
\[\begin{array}{l} t_0 := \frac{y.re \cdot x.im - y.im \cdot x.re}{y.re \cdot y.re + y.im \cdot y.im}\\ \mathbf{if}\;y.re \leq -5.5 \cdot 10^{+75}:\\ \;\;\;\;\frac{x.im}{y.re} - \frac{y.im}{y.re} \cdot \frac{x.re}{y.re}\\ \mathbf{elif}\;y.re \leq -1.4 \cdot 10^{-156}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y.re \leq 8.8 \cdot 10^{-144}:\\ \;\;\;\;\frac{1}{y.im} \cdot \left(\frac{y.re}{\frac{y.im}{x.im}} - x.re\right)\\ \mathbf{elif}\;y.re \leq 6.5 \cdot 10^{+72}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im - x.re \cdot \frac{y.im}{y.re}}{y.re}\\ \end{array} \]
Alternative 9
Accuracy74.0%
Cost1432
\[\begin{array}{l} t_0 := \frac{-x.re}{y.im + \frac{y.re}{\frac{y.im}{y.re}}}\\ \mathbf{if}\;y.re \leq -8.2 \cdot 10^{+34}:\\ \;\;\;\;\frac{x.im}{y.re} - \frac{y.im}{y.re} \cdot \frac{x.re}{y.re}\\ \mathbf{elif}\;y.re \leq -1.2 \cdot 10^{-10}:\\ \;\;\;\;\frac{x.im}{y.im} \cdot \frac{y.re}{y.im} - \frac{x.re}{y.im}\\ \mathbf{elif}\;y.re \leq -8.2 \cdot 10^{-33}:\\ \;\;\;\;\frac{y.re \cdot x.im}{y.re \cdot y.re + y.im \cdot y.im}\\ \mathbf{elif}\;y.re \leq -4.8 \cdot 10^{-140}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y.re \leq 2.9 \cdot 10^{-161}:\\ \;\;\;\;\frac{1}{y.im} \cdot \left(\frac{y.re}{\frac{y.im}{x.im}} - x.re\right)\\ \mathbf{elif}\;y.re \leq 7.5 \cdot 10^{+58}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im - x.re \cdot \frac{y.im}{y.re}}{y.re}\\ \end{array} \]
Alternative 10
Accuracy68.5%
Cost1106
\[\begin{array}{l} \mathbf{if}\;y.im \leq -3.1 \cdot 10^{+133} \lor \neg \left(y.im \leq 8 \cdot 10^{+18}\right) \land \left(y.im \leq 1.4 \cdot 10^{+55} \lor \neg \left(y.im \leq 6 \cdot 10^{+86}\right)\right):\\ \;\;\;\;-\frac{x.re}{y.im}\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im - y.im \cdot \frac{x.re}{y.re}}{y.re}\\ \end{array} \]
Alternative 11
Accuracy68.9%
Cost1105
\[\begin{array}{l} t_0 := -\frac{x.re}{y.im}\\ \mathbf{if}\;y.im \leq -3.4 \cdot 10^{+133}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y.im \leq 1.55 \cdot 10^{+19}:\\ \;\;\;\;\frac{x.im - x.re \cdot \frac{y.im}{y.re}}{y.re}\\ \mathbf{elif}\;y.im \leq 2.8 \cdot 10^{+53} \lor \neg \left(y.im \leq 2 \cdot 10^{+86}\right):\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im - y.im \cdot \frac{x.re}{y.re}}{y.re}\\ \end{array} \]
Alternative 12
Accuracy72.6%
Cost904
\[\begin{array}{l} \mathbf{if}\;y.re \leq -6.4 \cdot 10^{+38}:\\ \;\;\;\;\frac{x.im - y.im \cdot \frac{x.re}{y.re}}{y.re}\\ \mathbf{elif}\;y.re \leq 1.1 \cdot 10^{+59}:\\ \;\;\;\;\frac{-x.re}{y.im + \frac{y.re}{\frac{y.im}{y.re}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im - x.re \cdot \frac{y.im}{y.re}}{y.re}\\ \end{array} \]
Alternative 13
Accuracy63.7%
Cost520
\[\begin{array}{l} \mathbf{if}\;y.re \leq -8.2 \cdot 10^{+36}:\\ \;\;\;\;\frac{x.im}{y.re}\\ \mathbf{elif}\;y.re \leq 6.5 \cdot 10^{+58}:\\ \;\;\;\;-\frac{x.re}{y.im}\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im}{y.re}\\ \end{array} \]
Alternative 14
Accuracy45.6%
Cost456
\[\begin{array}{l} \mathbf{if}\;y.im \leq -2.9 \cdot 10^{+170}:\\ \;\;\;\;\frac{x.re}{y.im}\\ \mathbf{elif}\;y.im \leq 2 \cdot 10^{+111}:\\ \;\;\;\;\frac{x.im}{y.re}\\ \mathbf{else}:\\ \;\;\;\;\frac{x.re}{y.im}\\ \end{array} \]
Alternative 15
Accuracy41.7%
Cost324
\[\begin{array}{l} \mathbf{if}\;y.im \leq 5 \cdot 10^{+124}:\\ \;\;\;\;\frac{x.im}{y.re}\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \end{array} \]
Alternative 16
Accuracy7.9%
Cost192
\[\frac{x.im}{y.im} \]

Error

Reproduce?

herbie shell --seed 2023141 
(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))))