?

Average Error: 26.1 → 7.4
Time: 15.9s
Precision: binary64
Cost: 1736

?

\[\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im} \]
\[\begin{array}{l} t_0 := y.re \cdot x.re + y.im \cdot x.im\\ t_1 := \frac{1}{\frac{y.im}{\frac{t_0}{y.im}} + y.re \cdot \frac{1}{x.re}}\\ \mathbf{if}\;x.re \leq -2.45 \cdot 10^{+73}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;x.re \leq 6 \cdot 10^{+78}:\\ \;\;\;\;\frac{1}{\frac{y.im}{x.im + y.re \cdot \frac{x.re}{y.im}} + y.re \cdot \frac{y.re}{t_0}}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \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
 (let* ((t_0 (+ (* y.re x.re) (* y.im x.im)))
        (t_1 (/ 1.0 (+ (/ y.im (/ t_0 y.im)) (* y.re (/ 1.0 x.re))))))
   (if (<= x.re -2.45e+73)
     t_1
     (if (<= x.re 6e+78)
       (/
        1.0
        (+ (/ y.im (+ x.im (* y.re (/ x.re y.im)))) (* y.re (/ y.re t_0))))
       t_1))))
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 t_0 = (y_46_re * x_46_re) + (y_46_im * x_46_im);
	double t_1 = 1.0 / ((y_46_im / (t_0 / y_46_im)) + (y_46_re * (1.0 / x_46_re)));
	double tmp;
	if (x_46_re <= -2.45e+73) {
		tmp = t_1;
	} else if (x_46_re <= 6e+78) {
		tmp = 1.0 / ((y_46_im / (x_46_im + (y_46_re * (x_46_re / y_46_im)))) + (y_46_re * (y_46_re / t_0)));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x_46re, x_46im, y_46re, y_46im)
    real(8), intent (in) :: x_46re
    real(8), intent (in) :: x_46im
    real(8), intent (in) :: y_46re
    real(8), intent (in) :: y_46im
    code = ((x_46re * y_46re) + (x_46im * y_46im)) / ((y_46re * y_46re) + (y_46im * y_46im))
end function
real(8) function code(x_46re, x_46im, y_46re, y_46im)
    real(8), intent (in) :: x_46re
    real(8), intent (in) :: x_46im
    real(8), intent (in) :: y_46re
    real(8), intent (in) :: y_46im
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = (y_46re * x_46re) + (y_46im * x_46im)
    t_1 = 1.0d0 / ((y_46im / (t_0 / y_46im)) + (y_46re * (1.0d0 / x_46re)))
    if (x_46re <= (-2.45d+73)) then
        tmp = t_1
    else if (x_46re <= 6d+78) then
        tmp = 1.0d0 / ((y_46im / (x_46im + (y_46re * (x_46re / y_46im)))) + (y_46re * (y_46re / t_0)))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static 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));
}
public static double code(double x_46_re, double x_46_im, double y_46_re, double y_46_im) {
	double t_0 = (y_46_re * x_46_re) + (y_46_im * x_46_im);
	double t_1 = 1.0 / ((y_46_im / (t_0 / y_46_im)) + (y_46_re * (1.0 / x_46_re)));
	double tmp;
	if (x_46_re <= -2.45e+73) {
		tmp = t_1;
	} else if (x_46_re <= 6e+78) {
		tmp = 1.0 / ((y_46_im / (x_46_im + (y_46_re * (x_46_re / y_46_im)))) + (y_46_re * (y_46_re / t_0)));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x_46_re, x_46_im, y_46_re, 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))
def code(x_46_re, x_46_im, y_46_re, y_46_im):
	t_0 = (y_46_re * x_46_re) + (y_46_im * x_46_im)
	t_1 = 1.0 / ((y_46_im / (t_0 / y_46_im)) + (y_46_re * (1.0 / x_46_re)))
	tmp = 0
	if x_46_re <= -2.45e+73:
		tmp = t_1
	elif x_46_re <= 6e+78:
		tmp = 1.0 / ((y_46_im / (x_46_im + (y_46_re * (x_46_re / y_46_im)))) + (y_46_re * (y_46_re / t_0)))
	else:
		tmp = t_1
	return tmp
function code(x_46_re, x_46_im, y_46_re, y_46_im)
	return Float64(Float64(Float64(x_46_re * y_46_re) + Float64(x_46_im * 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)
	t_0 = Float64(Float64(y_46_re * x_46_re) + Float64(y_46_im * x_46_im))
	t_1 = Float64(1.0 / Float64(Float64(y_46_im / Float64(t_0 / y_46_im)) + Float64(y_46_re * Float64(1.0 / x_46_re))))
	tmp = 0.0
	if (x_46_re <= -2.45e+73)
		tmp = t_1;
	elseif (x_46_re <= 6e+78)
		tmp = Float64(1.0 / Float64(Float64(y_46_im / Float64(x_46_im + Float64(y_46_re * Float64(x_46_re / y_46_im)))) + Float64(y_46_re * Float64(y_46_re / t_0))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp = code(x_46_re, x_46_im, y_46_re, y_46_im)
	tmp = ((x_46_re * y_46_re) + (x_46_im * y_46_im)) / ((y_46_re * y_46_re) + (y_46_im * y_46_im));
end
function tmp_2 = code(x_46_re, x_46_im, y_46_re, y_46_im)
	t_0 = (y_46_re * x_46_re) + (y_46_im * x_46_im);
	t_1 = 1.0 / ((y_46_im / (t_0 / y_46_im)) + (y_46_re * (1.0 / x_46_re)));
	tmp = 0.0;
	if (x_46_re <= -2.45e+73)
		tmp = t_1;
	elseif (x_46_re <= 6e+78)
		tmp = 1.0 / ((y_46_im / (x_46_im + (y_46_re * (x_46_re / y_46_im)))) + (y_46_re * (y_46_re / t_0)));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[x$46$re_, x$46$im_, y$46$re_, y$46$im_] := N[(N[(N[(x$46$re * y$46$re), $MachinePrecision] + N[(x$46$im * 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_] := Block[{t$95$0 = N[(N[(y$46$re * x$46$re), $MachinePrecision] + N[(y$46$im * x$46$im), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(1.0 / N[(N[(y$46$im / N[(t$95$0 / y$46$im), $MachinePrecision]), $MachinePrecision] + N[(y$46$re * N[(1.0 / x$46$re), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x$46$re, -2.45e+73], t$95$1, If[LessEqual[x$46$re, 6e+78], N[(1.0 / N[(N[(y$46$im / N[(x$46$im + N[(y$46$re * N[(x$46$re / y$46$im), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y$46$re * N[(y$46$re / t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}
\begin{array}{l}
t_0 := y.re \cdot x.re + y.im \cdot x.im\\
t_1 := \frac{1}{\frac{y.im}{\frac{t_0}{y.im}} + y.re \cdot \frac{1}{x.re}}\\
\mathbf{if}\;x.re \leq -2.45 \cdot 10^{+73}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;x.re \leq 6 \cdot 10^{+78}:\\
\;\;\;\;\frac{1}{\frac{y.im}{x.im + y.re \cdot \frac{x.re}{y.im}} + y.re \cdot \frac{y.re}{t_0}}\\

\mathbf{else}:\\
\;\;\;\;t_1\\


\end{array}

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation?

  1. Split input into 2 regimes
  2. if x.re < -2.45e73 or 5.99999999999999964e78 < x.re

    1. Initial program 34.0

      \[\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im} \]
    2. Applied egg-rr32.4

      \[\leadsto \color{blue}{\frac{x.re \cdot y.re}{y.re \cdot y.re + y.im \cdot y.im} + x.im \cdot \frac{y.im}{y.re \cdot y.re + y.im \cdot y.im}} \]
    3. Applied egg-rr34.1

      \[\leadsto \color{blue}{\frac{1}{\frac{y.re \cdot y.re + y.im \cdot y.im}{y.re \cdot x.re + y.im \cdot x.im}}} \]
    4. Applied egg-rr27.4

      \[\leadsto \frac{1}{\color{blue}{\frac{y.im}{\frac{y.re \cdot x.re + y.im \cdot x.im}{y.im}} + y.re \cdot \frac{y.re}{y.re \cdot x.re + y.im \cdot x.im}}} \]
    5. Taylor expanded in y.re around inf 12.1

      \[\leadsto \frac{1}{\frac{y.im}{\frac{y.re \cdot x.re + y.im \cdot x.im}{y.im}} + y.re \cdot \color{blue}{\frac{1}{x.re}}} \]

    if -2.45e73 < x.re < 5.99999999999999964e78

    1. Initial program 21.5

      \[\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im} \]
    2. Applied egg-rr19.8

      \[\leadsto \color{blue}{\frac{x.re \cdot y.re}{y.re \cdot y.re + y.im \cdot y.im} + x.im \cdot \frac{y.im}{y.re \cdot y.re + y.im \cdot y.im}} \]
    3. Applied egg-rr21.7

      \[\leadsto \color{blue}{\frac{1}{\frac{y.re \cdot y.re + y.im \cdot y.im}{y.re \cdot x.re + y.im \cdot x.im}}} \]
    4. Applied egg-rr11.9

      \[\leadsto \frac{1}{\color{blue}{\frac{y.im}{\frac{y.re \cdot x.re + y.im \cdot x.im}{y.im}} + y.re \cdot \frac{y.re}{y.re \cdot x.re + y.im \cdot x.im}}} \]
    5. Taylor expanded in y.re around 0 4.6

      \[\leadsto \frac{1}{\frac{y.im}{\color{blue}{\frac{x.re \cdot y.re}{y.im} + x.im}} + y.re \cdot \frac{y.re}{y.re \cdot x.re + y.im \cdot x.im}} \]
    6. Simplified4.7

      \[\leadsto \frac{1}{\frac{y.im}{\color{blue}{x.im + y.re \cdot \frac{x.re}{y.im}}} + y.re \cdot \frac{y.re}{y.re \cdot x.re + y.im \cdot x.im}} \]
      Proof

      [Start]4.6

      \[ \frac{1}{\frac{y.im}{\frac{x.re \cdot y.re}{y.im} + x.im} + y.re \cdot \frac{y.re}{y.re \cdot x.re + y.im \cdot x.im}} \]

      rational.json-simplify-41 [=>]4.6

      \[ \frac{1}{\frac{y.im}{\color{blue}{x.im + \frac{x.re \cdot y.re}{y.im}}} + y.re \cdot \frac{y.re}{y.re \cdot x.re + y.im \cdot x.im}} \]

      rational.json-simplify-19 [=>]4.7

      \[ \frac{1}{\frac{y.im}{x.im + \color{blue}{y.re \cdot \frac{x.re}{y.im}}} + y.re \cdot \frac{y.re}{y.re \cdot x.re + y.im \cdot x.im}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification7.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;x.re \leq -2.45 \cdot 10^{+73}:\\ \;\;\;\;\frac{1}{\frac{y.im}{\frac{y.re \cdot x.re + y.im \cdot x.im}{y.im}} + y.re \cdot \frac{1}{x.re}}\\ \mathbf{elif}\;x.re \leq 6 \cdot 10^{+78}:\\ \;\;\;\;\frac{1}{\frac{y.im}{x.im + y.re \cdot \frac{x.re}{y.im}} + y.re \cdot \frac{y.re}{y.re \cdot x.re + y.im \cdot x.im}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{y.im}{\frac{y.re \cdot x.re + y.im \cdot x.im}{y.im}} + y.re \cdot \frac{1}{x.re}}\\ \end{array} \]

Alternatives

Alternative 1
Error13.8
Cost5072
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ t_1 := \frac{x.re}{y.re} + x.im \cdot \frac{y.im}{t_0}\\ t_2 := \frac{x.re \cdot y.re + x.im \cdot y.im}{t_0}\\ \mathbf{if}\;t_2 \leq -\infty:\\ \;\;\;\;t_1\\ \mathbf{elif}\;t_2 \leq -1 \cdot 10^{-323}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;t_2 \leq 2 \cdot 10^{-93}:\\ \;\;\;\;\frac{1}{\frac{y.im}{x.im} + y.re \cdot \frac{y.re}{y.re \cdot x.re + y.im \cdot x.im}}\\ \mathbf{elif}\;t_2 \leq 2 \cdot 10^{+282}:\\ \;\;\;\;t_2\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 2
Error21.7
Cost1760
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ t_1 := \frac{y.im}{t_0} \cdot x.im\\ \mathbf{if}\;y.im \leq -2.15 \cdot 10^{+99}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \mathbf{elif}\;y.im \leq -3.4 \cdot 10^{-28}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq -5.5 \cdot 10^{-123}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{elif}\;y.im \leq -5 \cdot 10^{-152}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq 4.4 \cdot 10^{-96}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{elif}\;y.im \leq 8.2 \cdot 10^{-40}:\\ \;\;\;\;\frac{y.re}{t_0} \cdot x.re\\ \mathbf{elif}\;y.im \leq 0.0135:\\ \;\;\;\;\frac{x.re}{y.re} + x.im \cdot \frac{1}{y.im}\\ \mathbf{elif}\;y.im \leq 1.5 \cdot 10^{+145}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \end{array} \]
Alternative 3
Error21.5
Cost1760
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ t_1 := \frac{x.im}{\frac{t_0}{y.im}}\\ \mathbf{if}\;y.im \leq -1.2 \cdot 10^{+139}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \mathbf{elif}\;y.im \leq -4.5 \cdot 10^{-28}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq -1.06 \cdot 10^{-123}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{elif}\;y.im \leq -4.8 \cdot 10^{-152}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq 8 \cdot 10^{-95}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{elif}\;y.im \leq 3.9 \cdot 10^{-39}:\\ \;\;\;\;\frac{y.re}{t_0} \cdot x.re\\ \mathbf{elif}\;y.im \leq 0.013:\\ \;\;\;\;\frac{x.re}{y.re} + x.im \cdot \frac{1}{y.im}\\ \mathbf{elif}\;y.im \leq 1.1 \cdot 10^{+145}:\\ \;\;\;\;\frac{y.im}{t_0} \cdot x.im\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \end{array} \]
Alternative 4
Error21.4
Cost1628
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ t_1 := \frac{x.im}{\frac{t_0}{y.im}}\\ \mathbf{if}\;y.im \leq -3.9 \cdot 10^{+139}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \mathbf{elif}\;y.im \leq -4 \cdot 10^{-28}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq -5 \cdot 10^{-123}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{elif}\;y.im \leq -4.2 \cdot 10^{-152}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq 3.4 \cdot 10^{-147}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{elif}\;y.im \leq 4.2 \cdot 10^{-13}:\\ \;\;\;\;\frac{x.re}{\frac{t_0}{y.re}}\\ \mathbf{elif}\;y.im \leq 3 \cdot 10^{+153}:\\ \;\;\;\;\frac{y.im}{t_0} \cdot x.im\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \end{array} \]
Alternative 5
Error21.2
Cost1496
\[\begin{array}{l} t_0 := \frac{y.im}{y.re \cdot y.re + y.im \cdot y.im} \cdot x.im\\ \mathbf{if}\;y.im \leq -2.6 \cdot 10^{+98}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \mathbf{elif}\;y.im \leq -5.5 \cdot 10^{-28}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y.im \leq -7 \cdot 10^{-124}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{elif}\;y.im \leq -5 \cdot 10^{-152}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y.im \leq 6.6 \cdot 10^{-15}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{elif}\;y.im \leq 2.95 \cdot 10^{+141}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \end{array} \]
Alternative 6
Error19.3
Cost1488
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ t_1 := y.re \cdot \frac{x.re}{t_0} + \frac{x.im}{y.im}\\ \mathbf{if}\;y.im \leq -8.5 \cdot 10^{-28}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq -6.4 \cdot 10^{-124}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{elif}\;y.im \leq -3.5 \cdot 10^{-152}:\\ \;\;\;\;\frac{x.im}{\frac{t_0}{y.im}}\\ \mathbf{elif}\;y.im \leq 4.3 \cdot 10^{-69}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 7
Error17.0
Cost1488
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ t_1 := \frac{x.re}{y.re} + x.im \cdot \frac{y.im}{t_0}\\ t_2 := y.re \cdot \frac{x.re}{t_0} + \frac{x.im}{y.im}\\ \mathbf{if}\;y.im \leq -9.2 \cdot 10^{-28}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;y.im \leq 6 \cdot 10^{-69}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.im \leq 1.02 \cdot 10^{+89}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;y.im \leq 5.4 \cdot 10^{+139}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 8
Error16.4
Cost1488
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ t_1 := \frac{x.re \cdot y.re + x.im \cdot y.im}{t_0}\\ t_2 := \frac{x.re}{y.re} + x.im \cdot \frac{y.im}{t_0}\\ \mathbf{if}\;y.re \leq -3.7 \cdot 10^{+119}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;y.re \leq -6 \cdot 10^{-283}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.re \leq 3.3 \cdot 10^{-113}:\\ \;\;\;\;y.re \cdot \frac{x.re}{t_0} + \frac{x.im}{y.im}\\ \mathbf{elif}\;y.re \leq 3.6 \cdot 10^{+121}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 9
Error14.1
Cost1488
\[\begin{array}{l} t_0 := y.re \cdot y.re + y.im \cdot y.im\\ t_1 := \frac{x.re \cdot y.re + x.im \cdot y.im}{t_0}\\ t_2 := \frac{x.re}{y.re} + x.im \cdot \frac{y.im}{t_0}\\ \mathbf{if}\;y.re \leq -1.35 \cdot 10^{+120}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;y.re \leq -2.5 \cdot 10^{-129}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;y.re \leq 4.5 \cdot 10^{-89}:\\ \;\;\;\;\frac{x.re \cdot y.re}{t_0} + x.im \cdot \frac{1}{y.im}\\ \mathbf{elif}\;y.re \leq 2.8 \cdot 10^{+121}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 10
Error10.7
Cost1480
\[\begin{array}{l} t_0 := y.re \cdot x.re + y.im \cdot x.im\\ t_1 := \frac{1}{\frac{y.im}{\frac{t_0}{y.im}} + y.re \cdot \frac{1}{x.re}}\\ \mathbf{if}\;x.re \leq -8.2 \cdot 10^{+68}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;x.re \leq 6.6 \cdot 10^{+76}:\\ \;\;\;\;\frac{1}{\frac{y.im}{x.im} + y.re \cdot \frac{y.re}{t_0}}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 11
Error22.9
Cost456
\[\begin{array}{l} \mathbf{if}\;y.im \leq -9 \cdot 10^{-28}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \mathbf{elif}\;y.im \leq 1.2 \cdot 10^{-11}:\\ \;\;\;\;\frac{x.re}{y.re}\\ \mathbf{else}:\\ \;\;\;\;\frac{x.im}{y.im}\\ \end{array} \]
Alternative 12
Error36.9
Cost192
\[\frac{x.im}{y.im} \]

Error

Reproduce?

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