?

Average Error: 40.99% → 21.95%
Time: 15.1s
Precision: binary64
Cost: 20428

?

\[\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d} \]
\[\begin{array}{l} t_0 := \frac{a}{c} + \frac{d}{c \cdot \frac{c}{b} + d \cdot \frac{d}{b}}\\ \mathbf{if}\;d \leq -2.4 \cdot 10^{-47}:\\ \;\;\;\;\left(b + \frac{c}{\frac{d}{a}}\right) \cdot \frac{-1}{\mathsf{hypot}\left(c, d\right)}\\ \mathbf{elif}\;d \leq 2.7 \cdot 10^{-207}:\\ \;\;\;\;\frac{a}{c} + \frac{b \cdot \frac{d}{c}}{c}\\ \mathbf{elif}\;d \leq 5.9 \cdot 10^{-77}:\\ \;\;\;\;\frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \frac{\mathsf{fma}\left(a, c, d \cdot b\right)}{\mathsf{hypot}\left(c, d\right)}\\ \mathbf{elif}\;d \leq 2.85 \cdot 10^{-33}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;d \leq 4.2 \cdot 10^{+19}:\\ \;\;\;\;\frac{d \cdot b + c \cdot a}{c \cdot c + d \cdot d}\\ \mathbf{elif}\;d \leq 1.5 \cdot 10^{+113}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{b}{d} + \frac{a}{d} \cdot \frac{c}{d}\\ \end{array} \]
(FPCore (a b c d)
 :precision binary64
 (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))))
(FPCore (a b c d)
 :precision binary64
 (let* ((t_0 (+ (/ a c) (/ d (+ (* c (/ c b)) (* d (/ d b)))))))
   (if (<= d -2.4e-47)
     (* (+ b (/ c (/ d a))) (/ -1.0 (hypot c d)))
     (if (<= d 2.7e-207)
       (+ (/ a c) (/ (* b (/ d c)) c))
       (if (<= d 5.9e-77)
         (* (/ 1.0 (hypot c d)) (/ (fma a c (* d b)) (hypot c d)))
         (if (<= d 2.85e-33)
           t_0
           (if (<= d 4.2e+19)
             (/ (+ (* d b) (* c a)) (+ (* c c) (* d d)))
             (if (<= d 1.5e+113) t_0 (+ (/ b d) (* (/ a d) (/ c d)))))))))))
double code(double a, double b, double c, double d) {
	return ((a * c) + (b * d)) / ((c * c) + (d * d));
}
double code(double a, double b, double c, double d) {
	double t_0 = (a / c) + (d / ((c * (c / b)) + (d * (d / b))));
	double tmp;
	if (d <= -2.4e-47) {
		tmp = (b + (c / (d / a))) * (-1.0 / hypot(c, d));
	} else if (d <= 2.7e-207) {
		tmp = (a / c) + ((b * (d / c)) / c);
	} else if (d <= 5.9e-77) {
		tmp = (1.0 / hypot(c, d)) * (fma(a, c, (d * b)) / hypot(c, d));
	} else if (d <= 2.85e-33) {
		tmp = t_0;
	} else if (d <= 4.2e+19) {
		tmp = ((d * b) + (c * a)) / ((c * c) + (d * d));
	} else if (d <= 1.5e+113) {
		tmp = t_0;
	} else {
		tmp = (b / d) + ((a / d) * (c / d));
	}
	return tmp;
}
function code(a, b, c, d)
	return Float64(Float64(Float64(a * c) + Float64(b * d)) / Float64(Float64(c * c) + Float64(d * d)))
end
function code(a, b, c, d)
	t_0 = Float64(Float64(a / c) + Float64(d / Float64(Float64(c * Float64(c / b)) + Float64(d * Float64(d / b)))))
	tmp = 0.0
	if (d <= -2.4e-47)
		tmp = Float64(Float64(b + Float64(c / Float64(d / a))) * Float64(-1.0 / hypot(c, d)));
	elseif (d <= 2.7e-207)
		tmp = Float64(Float64(a / c) + Float64(Float64(b * Float64(d / c)) / c));
	elseif (d <= 5.9e-77)
		tmp = Float64(Float64(1.0 / hypot(c, d)) * Float64(fma(a, c, Float64(d * b)) / hypot(c, d)));
	elseif (d <= 2.85e-33)
		tmp = t_0;
	elseif (d <= 4.2e+19)
		tmp = Float64(Float64(Float64(d * b) + Float64(c * a)) / Float64(Float64(c * c) + Float64(d * d)));
	elseif (d <= 1.5e+113)
		tmp = t_0;
	else
		tmp = Float64(Float64(b / d) + Float64(Float64(a / d) * Float64(c / d)));
	end
	return tmp
end
code[a_, b_, c_, d_] := N[(N[(N[(a * c), $MachinePrecision] + N[(b * d), $MachinePrecision]), $MachinePrecision] / N[(N[(c * c), $MachinePrecision] + N[(d * d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[a_, b_, c_, d_] := Block[{t$95$0 = N[(N[(a / c), $MachinePrecision] + N[(d / N[(N[(c * N[(c / b), $MachinePrecision]), $MachinePrecision] + N[(d * N[(d / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[d, -2.4e-47], N[(N[(b + N[(c / N[(d / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(-1.0 / N[Sqrt[c ^ 2 + d ^ 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[d, 2.7e-207], N[(N[(a / c), $MachinePrecision] + N[(N[(b * N[(d / c), $MachinePrecision]), $MachinePrecision] / c), $MachinePrecision]), $MachinePrecision], If[LessEqual[d, 5.9e-77], N[(N[(1.0 / N[Sqrt[c ^ 2 + d ^ 2], $MachinePrecision]), $MachinePrecision] * N[(N[(a * c + N[(d * b), $MachinePrecision]), $MachinePrecision] / N[Sqrt[c ^ 2 + d ^ 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[d, 2.85e-33], t$95$0, If[LessEqual[d, 4.2e+19], N[(N[(N[(d * b), $MachinePrecision] + N[(c * a), $MachinePrecision]), $MachinePrecision] / N[(N[(c * c), $MachinePrecision] + N[(d * d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[d, 1.5e+113], t$95$0, N[(N[(b / d), $MachinePrecision] + N[(N[(a / d), $MachinePrecision] * N[(c / d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d}
\begin{array}{l}
t_0 := \frac{a}{c} + \frac{d}{c \cdot \frac{c}{b} + d \cdot \frac{d}{b}}\\
\mathbf{if}\;d \leq -2.4 \cdot 10^{-47}:\\
\;\;\;\;\left(b + \frac{c}{\frac{d}{a}}\right) \cdot \frac{-1}{\mathsf{hypot}\left(c, d\right)}\\

\mathbf{elif}\;d \leq 2.7 \cdot 10^{-207}:\\
\;\;\;\;\frac{a}{c} + \frac{b \cdot \frac{d}{c}}{c}\\

\mathbf{elif}\;d \leq 5.9 \cdot 10^{-77}:\\
\;\;\;\;\frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \frac{\mathsf{fma}\left(a, c, d \cdot b\right)}{\mathsf{hypot}\left(c, d\right)}\\

\mathbf{elif}\;d \leq 2.85 \cdot 10^{-33}:\\
\;\;\;\;t_0\\

\mathbf{elif}\;d \leq 4.2 \cdot 10^{+19}:\\
\;\;\;\;\frac{d \cdot b + c \cdot a}{c \cdot c + d \cdot d}\\

\mathbf{elif}\;d \leq 1.5 \cdot 10^{+113}:\\
\;\;\;\;t_0\\

\mathbf{else}:\\
\;\;\;\;\frac{b}{d} + \frac{a}{d} \cdot \frac{c}{d}\\


\end{array}

Error?

Target

Original40.99%
Target1.04%
Herbie21.95%
\[\begin{array}{l} \mathbf{if}\;\left|d\right| < \left|c\right|:\\ \;\;\;\;\frac{a + b \cdot \frac{d}{c}}{c + d \cdot \frac{d}{c}}\\ \mathbf{else}:\\ \;\;\;\;\frac{b + a \cdot \frac{c}{d}}{d + c \cdot \frac{c}{d}}\\ \end{array} \]

Derivation?

  1. Split input into 6 regimes
  2. if d < -2.3999999999999999e-47

    1. Initial program 48.17

      \[\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d} \]
    2. Applied egg-rr33.51

      \[\leadsto \color{blue}{\frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \frac{\mathsf{fma}\left(a, c, b \cdot d\right)}{\mathsf{hypot}\left(c, d\right)}} \]
    3. Taylor expanded in d around -inf 30.7

      \[\leadsto \frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \color{blue}{\left(-1 \cdot b + -1 \cdot \frac{c \cdot a}{d}\right)} \]
    4. Simplified27.04

      \[\leadsto \frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \color{blue}{\left(-1 \cdot \left(b + \frac{c}{\frac{d}{a}}\right)\right)} \]
      Proof

      [Start]30.7

      \[ \frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \left(-1 \cdot b + -1 \cdot \frac{c \cdot a}{d}\right) \]

      distribute-lft-out [=>]30.7

      \[ \frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \color{blue}{\left(-1 \cdot \left(b + \frac{c \cdot a}{d}\right)\right)} \]

      associate-/l* [=>]27.04

      \[ \frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \left(-1 \cdot \left(b + \color{blue}{\frac{c}{\frac{d}{a}}}\right)\right) \]

    if -2.3999999999999999e-47 < d < 2.7e-207

    1. Initial program 33.29

      \[\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d} \]
    2. Applied egg-rr19.42

      \[\leadsto \color{blue}{\frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \frac{\mathsf{fma}\left(a, c, b \cdot d\right)}{\mathsf{hypot}\left(c, d\right)}} \]
    3. Taylor expanded in c around inf 18.75

      \[\leadsto \color{blue}{\frac{a}{c} + \frac{d \cdot b}{{c}^{2}}} \]
    4. Simplified14.6

      \[\leadsto \color{blue}{\frac{a}{c} + \frac{\frac{d}{c} \cdot b}{c}} \]
      Proof

      [Start]18.75

      \[ \frac{a}{c} + \frac{d \cdot b}{{c}^{2}} \]

      *-commutative [<=]18.75

      \[ \frac{a}{c} + \frac{\color{blue}{b \cdot d}}{{c}^{2}} \]

      unpow2 [=>]18.75

      \[ \frac{a}{c} + \frac{b \cdot d}{\color{blue}{c \cdot c}} \]

      associate-/r* [=>]14.2

      \[ \frac{a}{c} + \color{blue}{\frac{\frac{b \cdot d}{c}}{c}} \]

      *-commutative [=>]14.2

      \[ \frac{a}{c} + \frac{\frac{\color{blue}{d \cdot b}}{c}}{c} \]

      associate-/l* [=>]15.62

      \[ \frac{a}{c} + \frac{\color{blue}{\frac{d}{\frac{c}{b}}}}{c} \]

      associate-/r/ [=>]14.6

      \[ \frac{a}{c} + \frac{\color{blue}{\frac{d}{c} \cdot b}}{c} \]

    if 2.7e-207 < d < 5.89999999999999965e-77

    1. Initial program 27.58

      \[\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d} \]
    2. Applied egg-rr16.31

      \[\leadsto \color{blue}{\frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \frac{\mathsf{fma}\left(a, c, b \cdot d\right)}{\mathsf{hypot}\left(c, d\right)}} \]

    if 5.89999999999999965e-77 < d < 2.85000000000000013e-33 or 4.2e19 < d < 1.5e113

    1. Initial program 27.6

      \[\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d} \]
    2. Taylor expanded in a around 0 27.6

      \[\leadsto \color{blue}{\frac{d \cdot b}{{d}^{2} + {c}^{2}} + \frac{c \cdot a}{{d}^{2} + {c}^{2}}} \]
    3. Simplified23.95

      \[\leadsto \color{blue}{\frac{d}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}}} \]
      Proof

      [Start]27.6

      \[ \frac{d \cdot b}{{d}^{2} + {c}^{2}} + \frac{c \cdot a}{{d}^{2} + {c}^{2}} \]

      associate-/l* [=>]24.75

      \[ \color{blue}{\frac{d}{\frac{{d}^{2} + {c}^{2}}{b}}} + \frac{c \cdot a}{{d}^{2} + {c}^{2}} \]

      unpow2 [=>]24.75

      \[ \frac{d}{\frac{\color{blue}{d \cdot d} + {c}^{2}}{b}} + \frac{c \cdot a}{{d}^{2} + {c}^{2}} \]

      unpow2 [=>]24.75

      \[ \frac{d}{\frac{d \cdot d + \color{blue}{c \cdot c}}{b}} + \frac{c \cdot a}{{d}^{2} + {c}^{2}} \]

      fma-udef [<=]24.75

      \[ \frac{d}{\frac{\color{blue}{\mathsf{fma}\left(d, d, c \cdot c\right)}}{b}} + \frac{c \cdot a}{{d}^{2} + {c}^{2}} \]

      associate-/l* [=>]23.95

      \[ \frac{d}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{b}} + \color{blue}{\frac{c}{\frac{{d}^{2} + {c}^{2}}{a}}} \]

      unpow2 [=>]23.95

      \[ \frac{d}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{b}} + \frac{c}{\frac{\color{blue}{d \cdot d} + {c}^{2}}{a}} \]

      unpow2 [=>]23.95

      \[ \frac{d}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{b}} + \frac{c}{\frac{d \cdot d + \color{blue}{c \cdot c}}{a}} \]

      fma-udef [<=]23.95

      \[ \frac{d}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{b}} + \frac{c}{\frac{\color{blue}{\mathsf{fma}\left(d, d, c \cdot c\right)}}{a}} \]
    4. Taylor expanded in d around 0 23.96

      \[\leadsto \frac{d}{\color{blue}{\frac{{c}^{2}}{b} + \frac{{d}^{2}}{b}}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]
    5. Simplified21.16

      \[\leadsto \frac{d}{\color{blue}{c \cdot \frac{c}{b} + d \cdot \frac{d}{b}}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]
      Proof

      [Start]23.96

      \[ \frac{d}{\frac{{c}^{2}}{b} + \frac{{d}^{2}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      unpow2 [=>]23.96

      \[ \frac{d}{\frac{\color{blue}{c \cdot c}}{b} + \frac{{d}^{2}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      /-rgt-identity [<=]23.96

      \[ \frac{d}{\frac{c \cdot c}{\color{blue}{\frac{b}{1}}} + \frac{{d}^{2}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      associate-/l* [<=]23.96

      \[ \frac{d}{\color{blue}{\frac{\left(c \cdot c\right) \cdot 1}{b}} + \frac{{d}^{2}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      associate-*r/ [<=]23.96

      \[ \frac{d}{\color{blue}{\left(c \cdot c\right) \cdot \frac{1}{b}} + \frac{{d}^{2}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      associate-*l* [=>]21.16

      \[ \frac{d}{\color{blue}{c \cdot \left(c \cdot \frac{1}{b}\right)} + \frac{{d}^{2}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      associate-*r/ [=>]21.15

      \[ \frac{d}{c \cdot \color{blue}{\frac{c \cdot 1}{b}} + \frac{{d}^{2}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      *-rgt-identity [=>]21.15

      \[ \frac{d}{c \cdot \frac{\color{blue}{c}}{b} + \frac{{d}^{2}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      unpow2 [=>]21.15

      \[ \frac{d}{c \cdot \frac{c}{b} + \frac{\color{blue}{d \cdot d}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      *-rgt-identity [<=]21.15

      \[ \frac{d}{c \cdot \frac{c}{b} + \frac{\color{blue}{\left(d \cdot d\right) \cdot 1}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      associate-*r/ [<=]21.21

      \[ \frac{d}{c \cdot \frac{c}{b} + \color{blue}{\left(d \cdot d\right) \cdot \frac{1}{b}}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      associate-*l* [=>]21.21

      \[ \frac{d}{c \cdot \frac{c}{b} + \color{blue}{d \cdot \left(d \cdot \frac{1}{b}\right)}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      associate-*r/ [=>]21.16

      \[ \frac{d}{c \cdot \frac{c}{b} + d \cdot \color{blue}{\frac{d \cdot 1}{b}}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]

      *-rgt-identity [=>]21.16

      \[ \frac{d}{c \cdot \frac{c}{b} + d \cdot \frac{\color{blue}{d}}{b}} + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}} \]
    6. Taylor expanded in c around inf 41.66

      \[\leadsto \frac{d}{c \cdot \frac{c}{b} + d \cdot \frac{d}{b}} + \color{blue}{\frac{a}{c}} \]

    if 2.85000000000000013e-33 < d < 4.2e19

    1. Initial program 22.2

      \[\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d} \]

    if 1.5e113 < d

    1. Initial program 63.64

      \[\frac{a \cdot c + b \cdot d}{c \cdot c + d \cdot d} \]
    2. Taylor expanded in c around 0 24.07

      \[\leadsto \color{blue}{\frac{b}{d} + \frac{c \cdot a}{{d}^{2}}} \]
    3. Simplified14.37

      \[\leadsto \color{blue}{\frac{b}{d} + \frac{a}{d} \cdot \frac{c}{d}} \]
      Proof

      [Start]24.07

      \[ \frac{b}{d} + \frac{c \cdot a}{{d}^{2}} \]

      *-commutative [<=]24.07

      \[ \frac{b}{d} + \frac{\color{blue}{a \cdot c}}{{d}^{2}} \]

      unpow2 [=>]24.07

      \[ \frac{b}{d} + \frac{a \cdot c}{\color{blue}{d \cdot d}} \]

      times-frac [=>]14.37

      \[ \frac{b}{d} + \color{blue}{\frac{a}{d} \cdot \frac{c}{d}} \]
  3. Recombined 6 regimes into one program.
  4. Final simplification21.95

    \[\leadsto \begin{array}{l} \mathbf{if}\;d \leq -2.4 \cdot 10^{-47}:\\ \;\;\;\;\left(b + \frac{c}{\frac{d}{a}}\right) \cdot \frac{-1}{\mathsf{hypot}\left(c, d\right)}\\ \mathbf{elif}\;d \leq 2.7 \cdot 10^{-207}:\\ \;\;\;\;\frac{a}{c} + \frac{b \cdot \frac{d}{c}}{c}\\ \mathbf{elif}\;d \leq 5.9 \cdot 10^{-77}:\\ \;\;\;\;\frac{1}{\mathsf{hypot}\left(c, d\right)} \cdot \frac{\mathsf{fma}\left(a, c, d \cdot b\right)}{\mathsf{hypot}\left(c, d\right)}\\ \mathbf{elif}\;d \leq 2.85 \cdot 10^{-33}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{c \cdot \frac{c}{b} + d \cdot \frac{d}{b}}\\ \mathbf{elif}\;d \leq 4.2 \cdot 10^{+19}:\\ \;\;\;\;\frac{d \cdot b + c \cdot a}{c \cdot c + d \cdot d}\\ \mathbf{elif}\;d \leq 1.5 \cdot 10^{+113}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{c \cdot \frac{c}{b} + d \cdot \frac{d}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{b}{d} + \frac{a}{d} \cdot \frac{c}{d}\\ \end{array} \]

Alternatives

Alternative 1
Error15.22%
Cost8400
\[\begin{array}{l} t_0 := \frac{d}{c \cdot \frac{c}{b} + d \cdot \frac{d}{b}}\\ t_1 := t_0 + \frac{c}{\frac{\mathsf{fma}\left(d, d, c \cdot c\right)}{a}}\\ \mathbf{if}\;c \leq -6.4 \cdot 10^{+88}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\ \mathbf{elif}\;c \leq -6.1 \cdot 10^{-105}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;c \leq 2.7 \cdot 10^{-100}:\\ \;\;\;\;\frac{b}{d} + \frac{a \cdot \frac{c}{d}}{d}\\ \mathbf{elif}\;c \leq 4 \cdot 10^{+116}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{a}{c} + t_0\\ \end{array} \]
Alternative 2
Error22.86%
Cost7300
\[\begin{array}{l} t_0 := c \cdot c + d \cdot d\\ t_1 := c \cdot \frac{c}{b}\\ \mathbf{if}\;d \leq -1.65 \cdot 10^{-46}:\\ \;\;\;\;\left(b + \frac{c}{\frac{d}{a}}\right) \cdot \frac{-1}{\mathsf{hypot}\left(c, d\right)}\\ \mathbf{elif}\;d \leq 1.15 \cdot 10^{-119}:\\ \;\;\;\;\frac{a}{c} + \frac{b \cdot \frac{d}{c}}{c}\\ \mathbf{elif}\;d \leq 2.5 \cdot 10^{-53}:\\ \;\;\;\;\frac{d \cdot b}{t_0} + \frac{c}{\frac{t_0}{a}}\\ \mathbf{elif}\;d \leq 1.2 \cdot 10^{-34}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{t_1}\\ \mathbf{elif}\;d \leq 112000000:\\ \;\;\;\;\frac{d \cdot b + c \cdot a}{t_0}\\ \mathbf{elif}\;d \leq 4.5 \cdot 10^{+113}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{t_1 + d \cdot \frac{d}{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{b}{d} + \frac{a}{d} \cdot \frac{c}{d}\\ \end{array} \]
Alternative 3
Error23.22%
Cost1880
\[\begin{array}{l} t_0 := c \cdot c + d \cdot d\\ t_1 := \frac{b}{d} + \frac{a}{d} \cdot \frac{c}{d}\\ t_2 := c \cdot \frac{c}{b}\\ \mathbf{if}\;d \leq -6.2 \cdot 10^{-50}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;d \leq 2.4 \cdot 10^{-118}:\\ \;\;\;\;\frac{a}{c} + \frac{b \cdot \frac{d}{c}}{c}\\ \mathbf{elif}\;d \leq 2 \cdot 10^{-53}:\\ \;\;\;\;\frac{d \cdot b}{t_0} + \frac{c}{\frac{t_0}{a}}\\ \mathbf{elif}\;d \leq 3.5 \cdot 10^{-38}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{t_2}\\ \mathbf{elif}\;d \leq 650000000000:\\ \;\;\;\;\frac{d \cdot b + c \cdot a}{t_0}\\ \mathbf{elif}\;d \leq 5.8 \cdot 10^{+113}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{t_2 + d \cdot \frac{d}{b}}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 4
Error23.42%
Cost1484
\[\begin{array}{l} t_0 := \frac{b}{d} + \frac{a}{d} \cdot \frac{c}{d}\\ \mathbf{if}\;d \leq -1.56 \cdot 10^{-46}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;d \leq 1.4 \cdot 10^{-128}:\\ \;\;\;\;\frac{a}{c} + \frac{b \cdot \frac{d}{c}}{c}\\ \mathbf{elif}\;d \leq 1.5 \cdot 10^{+113}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{c \cdot \frac{c}{b} + d \cdot \frac{d}{b}}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 5
Error24.63%
Cost1356
\[\begin{array}{l} t_0 := \frac{b}{d} + \frac{a}{d} \cdot \frac{c}{d}\\ \mathbf{if}\;d \leq -2.15 \cdot 10^{-47}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;d \leq 2.1 \cdot 10^{-35}:\\ \;\;\;\;\frac{a}{c} + \frac{b \cdot \frac{d}{c}}{c}\\ \mathbf{elif}\;d \leq 6.8 \cdot 10^{+22}:\\ \;\;\;\;\frac{d \cdot b + c \cdot a}{c \cdot c + d \cdot d}\\ \mathbf{elif}\;d \leq 1.5 \cdot 10^{+113}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 6
Error32.72%
Cost969
\[\begin{array}{l} \mathbf{if}\;d \leq -1.75 \cdot 10^{-46} \lor \neg \left(d \leq 1.5 \cdot 10^{+113}\right):\\ \;\;\;\;\frac{1}{d} \cdot \left(b + a \cdot \frac{c}{d}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{a}{c}\\ \end{array} \]
Alternative 7
Error26.81%
Cost969
\[\begin{array}{l} \mathbf{if}\;d \leq -2.4 \cdot 10^{-47} \lor \neg \left(d \leq 1.55 \cdot 10^{+113}\right):\\ \;\;\;\;\frac{1}{d} \cdot \left(b + a \cdot \frac{c}{d}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{a}{c} + \frac{d}{c} \cdot \frac{b}{c}\\ \end{array} \]
Alternative 8
Error25.9%
Cost969
\[\begin{array}{l} \mathbf{if}\;d \leq -1.75 \cdot 10^{-46} \lor \neg \left(d \leq 1.5 \cdot 10^{+113}\right):\\ \;\;\;\;\frac{1}{d} \cdot \left(b + a \cdot \frac{c}{d}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{a}{c} + \frac{b \cdot \frac{d}{c}}{c}\\ \end{array} \]
Alternative 9
Error25.71%
Cost969
\[\begin{array}{l} \mathbf{if}\;d \leq -1.75 \cdot 10^{-46} \lor \neg \left(d \leq 1.5 \cdot 10^{+113}\right):\\ \;\;\;\;\frac{b}{d} + \frac{a}{d} \cdot \frac{c}{d}\\ \mathbf{else}:\\ \;\;\;\;\frac{a}{c} + \frac{b \cdot \frac{d}{c}}{c}\\ \end{array} \]
Alternative 10
Error37.13%
Cost456
\[\begin{array}{l} \mathbf{if}\;d \leq -4.8 \cdot 10^{+14}:\\ \;\;\;\;\frac{b}{d}\\ \mathbf{elif}\;d \leq 1.5 \cdot 10^{+113}:\\ \;\;\;\;\frac{a}{c}\\ \mathbf{else}:\\ \;\;\;\;\frac{b}{d}\\ \end{array} \]
Alternative 11
Error58.42%
Cost192
\[\frac{a}{c} \]

Error

Reproduce?

herbie shell --seed 2023090 
(FPCore (a b c d)
  :name "Complex division, real part"
  :precision binary64

  :herbie-target
  (if (< (fabs d) (fabs c)) (/ (+ a (* b (/ d c))) (+ c (* d (/ d c)))) (/ (+ b (* a (/ c d))) (+ d (* c (/ c d)))))

  (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))))