| Alternative 1 | |
|---|---|
| Accuracy | 87.0% |
| Cost | 14092 |
(FPCore (a b c) :precision binary64 (/ (+ (- b) (sqrt (- (* b b) (* 4.0 (* a c))))) (* 2.0 a)))
(FPCore (a b c)
:precision binary64
(if (<= b -5e+117)
(- (/ c b) (/ b a))
(if (<= b -2.7e-266)
(/ (- (sqrt (+ (* b b) (* (* c a) -4.0))) b) (* a 2.0))
(if (<= b 0.14)
(* (/ c (/ a a)) (/ -2.0 (+ b (hypot (sqrt (* c (* a -4.0))) b))))
(- (/ (- c) b) (* c (/ a (/ (pow b 3.0) c))))))))double code(double a, double b, double c) {
return (-b + sqrt(((b * b) - (4.0 * (a * c))))) / (2.0 * a);
}
double code(double a, double b, double c) {
double tmp;
if (b <= -5e+117) {
tmp = (c / b) - (b / a);
} else if (b <= -2.7e-266) {
tmp = (sqrt(((b * b) + ((c * a) * -4.0))) - b) / (a * 2.0);
} else if (b <= 0.14) {
tmp = (c / (a / a)) * (-2.0 / (b + hypot(sqrt((c * (a * -4.0))), b)));
} else {
tmp = (-c / b) - (c * (a / (pow(b, 3.0) / c)));
}
return tmp;
}
public static double code(double a, double b, double c) {
return (-b + Math.sqrt(((b * b) - (4.0 * (a * c))))) / (2.0 * a);
}
public static double code(double a, double b, double c) {
double tmp;
if (b <= -5e+117) {
tmp = (c / b) - (b / a);
} else if (b <= -2.7e-266) {
tmp = (Math.sqrt(((b * b) + ((c * a) * -4.0))) - b) / (a * 2.0);
} else if (b <= 0.14) {
tmp = (c / (a / a)) * (-2.0 / (b + Math.hypot(Math.sqrt((c * (a * -4.0))), b)));
} else {
tmp = (-c / b) - (c * (a / (Math.pow(b, 3.0) / c)));
}
return tmp;
}
def code(a, b, c): return (-b + math.sqrt(((b * b) - (4.0 * (a * c))))) / (2.0 * a)
def code(a, b, c): tmp = 0 if b <= -5e+117: tmp = (c / b) - (b / a) elif b <= -2.7e-266: tmp = (math.sqrt(((b * b) + ((c * a) * -4.0))) - b) / (a * 2.0) elif b <= 0.14: tmp = (c / (a / a)) * (-2.0 / (b + math.hypot(math.sqrt((c * (a * -4.0))), b))) else: tmp = (-c / b) - (c * (a / (math.pow(b, 3.0) / c))) return tmp
function code(a, b, c) return Float64(Float64(Float64(-b) + sqrt(Float64(Float64(b * b) - Float64(4.0 * Float64(a * c))))) / Float64(2.0 * a)) end
function code(a, b, c) tmp = 0.0 if (b <= -5e+117) tmp = Float64(Float64(c / b) - Float64(b / a)); elseif (b <= -2.7e-266) tmp = Float64(Float64(sqrt(Float64(Float64(b * b) + Float64(Float64(c * a) * -4.0))) - b) / Float64(a * 2.0)); elseif (b <= 0.14) tmp = Float64(Float64(c / Float64(a / a)) * Float64(-2.0 / Float64(b + hypot(sqrt(Float64(c * Float64(a * -4.0))), b)))); else tmp = Float64(Float64(Float64(-c) / b) - Float64(c * Float64(a / Float64((b ^ 3.0) / c)))); end return tmp end
function tmp = code(a, b, c) tmp = (-b + sqrt(((b * b) - (4.0 * (a * c))))) / (2.0 * a); end
function tmp_2 = code(a, b, c) tmp = 0.0; if (b <= -5e+117) tmp = (c / b) - (b / a); elseif (b <= -2.7e-266) tmp = (sqrt(((b * b) + ((c * a) * -4.0))) - b) / (a * 2.0); elseif (b <= 0.14) tmp = (c / (a / a)) * (-2.0 / (b + hypot(sqrt((c * (a * -4.0))), b))); else tmp = (-c / b) - (c * (a / ((b ^ 3.0) / c))); end tmp_2 = tmp; end
code[a_, b_, c_] := N[(N[((-b) + N[Sqrt[N[(N[(b * b), $MachinePrecision] - N[(4.0 * N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(2.0 * a), $MachinePrecision]), $MachinePrecision]
code[a_, b_, c_] := If[LessEqual[b, -5e+117], N[(N[(c / b), $MachinePrecision] - N[(b / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -2.7e-266], N[(N[(N[Sqrt[N[(N[(b * b), $MachinePrecision] + N[(N[(c * a), $MachinePrecision] * -4.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - b), $MachinePrecision] / N[(a * 2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 0.14], N[(N[(c / N[(a / a), $MachinePrecision]), $MachinePrecision] * N[(-2.0 / N[(b + N[Sqrt[N[Sqrt[N[(c * N[(a * -4.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] ^ 2 + b ^ 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[((-c) / b), $MachinePrecision] - N[(c * N[(a / N[(N[Power[b, 3.0], $MachinePrecision] / c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\frac{\left(-b\right) + \sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)}}{2 \cdot a}
\begin{array}{l}
\mathbf{if}\;b \leq -5 \cdot 10^{+117}:\\
\;\;\;\;\frac{c}{b} - \frac{b}{a}\\
\mathbf{elif}\;b \leq -2.7 \cdot 10^{-266}:\\
\;\;\;\;\frac{\sqrt{b \cdot b + \left(c \cdot a\right) \cdot -4} - b}{a \cdot 2}\\
\mathbf{elif}\;b \leq 0.14:\\
\;\;\;\;\frac{c}{\frac{a}{a}} \cdot \frac{-2}{b + \mathsf{hypot}\left(\sqrt{c \cdot \left(a \cdot -4\right)}, b\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-c}{b} - c \cdot \frac{a}{\frac{{b}^{3}}{c}}\\
\end{array}
Results
| Original | 46.5% |
|---|---|
| Target | 66.9% |
| Herbie | 87.0% |
if b < -4.99999999999999983e117Initial program 19.4%
Taylor expanded in b around -inf 95.9%
Simplified95.9%
[Start]95.9 | \[ \frac{c}{b} + -1 \cdot \frac{b}{a}
\] |
|---|---|
mul-1-neg [=>]95.9 | \[ \frac{c}{b} + \color{blue}{\left(-\frac{b}{a}\right)}
\] |
unsub-neg [=>]95.9 | \[ \color{blue}{\frac{c}{b} - \frac{b}{a}}
\] |
if -4.99999999999999983e117 < b < -2.69999999999999996e-266Initial program 87.4%
if -2.69999999999999996e-266 < b < 0.14000000000000001Initial program 60.4%
Simplified60.3%
[Start]60.4 | \[ \frac{\left(-b\right) + \sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)}}{2 \cdot a}
\] |
|---|---|
/-rgt-identity [<=]60.4 | \[ \frac{\left(-b\right) + \sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)}}{\color{blue}{\frac{2 \cdot a}{1}}}
\] |
metadata-eval [<=]60.4 | \[ \frac{\left(-b\right) + \sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)}}{\frac{2 \cdot a}{\color{blue}{--1}}}
\] |
associate-/l* [<=]60.4 | \[ \color{blue}{\frac{\left(\left(-b\right) + \sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)}\right) \cdot \left(--1\right)}{2 \cdot a}}
\] |
associate-*r/ [<=]60.4 | \[ \color{blue}{\left(\left(-b\right) + \sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)}\right) \cdot \frac{--1}{2 \cdot a}}
\] |
+-commutative [=>]60.4 | \[ \color{blue}{\left(\sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)} + \left(-b\right)\right)} \cdot \frac{--1}{2 \cdot a}
\] |
unsub-neg [=>]60.4 | \[ \color{blue}{\left(\sqrt{b \cdot b - 4 \cdot \left(a \cdot c\right)} - b\right)} \cdot \frac{--1}{2 \cdot a}
\] |
fma-neg [=>]60.4 | \[ \left(\sqrt{\color{blue}{\mathsf{fma}\left(b, b, -4 \cdot \left(a \cdot c\right)\right)}} - b\right) \cdot \frac{--1}{2 \cdot a}
\] |
*-commutative [=>]60.4 | \[ \left(\sqrt{\mathsf{fma}\left(b, b, -\color{blue}{\left(a \cdot c\right) \cdot 4}\right)} - b\right) \cdot \frac{--1}{2 \cdot a}
\] |
distribute-rgt-neg-in [=>]60.4 | \[ \left(\sqrt{\mathsf{fma}\left(b, b, \color{blue}{\left(a \cdot c\right) \cdot \left(-4\right)}\right)} - b\right) \cdot \frac{--1}{2 \cdot a}
\] |
associate-*l* [=>]60.3 | \[ \left(\sqrt{\mathsf{fma}\left(b, b, \color{blue}{a \cdot \left(c \cdot \left(-4\right)\right)}\right)} - b\right) \cdot \frac{--1}{2 \cdot a}
\] |
metadata-eval [=>]60.3 | \[ \left(\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot \color{blue}{-4}\right)\right)} - b\right) \cdot \frac{--1}{2 \cdot a}
\] |
associate-/r* [=>]60.3 | \[ \left(\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} - b\right) \cdot \color{blue}{\frac{\frac{--1}{2}}{a}}
\] |
metadata-eval [=>]60.3 | \[ \left(\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} - b\right) \cdot \frac{\frac{\color{blue}{1}}{2}}{a}
\] |
metadata-eval [=>]60.3 | \[ \left(\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} - b\right) \cdot \frac{\color{blue}{0.5}}{a}
\] |
Applied egg-rr59.3%
[Start]60.3 | \[ \left(\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} - b\right) \cdot \frac{0.5}{a}
\] |
|---|---|
flip-- [=>]60.2 | \[ \color{blue}{\frac{\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} \cdot \sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} - b \cdot b}{\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} + b}} \cdot \frac{0.5}{a}
\] |
div-inv [=>]60.1 | \[ \color{blue}{\left(\left(\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} \cdot \sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} - b \cdot b\right) \cdot \frac{1}{\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} + b}\right)} \cdot \frac{0.5}{a}
\] |
add-sqr-sqrt [<=]60.2 | \[ \left(\left(\color{blue}{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} - b \cdot b\right) \cdot \frac{1}{\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} + b}\right) \cdot \frac{0.5}{a}
\] |
fma-udef [=>]60.2 | \[ \left(\left(\color{blue}{\left(b \cdot b + a \cdot \left(c \cdot -4\right)\right)} - b \cdot b\right) \cdot \frac{1}{\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} + b}\right) \cdot \frac{0.5}{a}
\] |
+-commutative [=>]60.2 | \[ \left(\left(\color{blue}{\left(a \cdot \left(c \cdot -4\right) + b \cdot b\right)} - b \cdot b\right) \cdot \frac{1}{\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} + b}\right) \cdot \frac{0.5}{a}
\] |
fma-def [=>]60.2 | \[ \left(\left(\color{blue}{\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right)} - b \cdot b\right) \cdot \frac{1}{\sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)} + b}\right) \cdot \frac{0.5}{a}
\] |
+-commutative [=>]60.2 | \[ \left(\left(\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right) - b \cdot b\right) \cdot \frac{1}{\color{blue}{b + \sqrt{\mathsf{fma}\left(b, b, a \cdot \left(c \cdot -4\right)\right)}}}\right) \cdot \frac{0.5}{a}
\] |
fma-udef [=>]60.2 | \[ \left(\left(\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right) - b \cdot b\right) \cdot \frac{1}{b + \sqrt{\color{blue}{b \cdot b + a \cdot \left(c \cdot -4\right)}}}\right) \cdot \frac{0.5}{a}
\] |
add-sqr-sqrt [=>]59.3 | \[ \left(\left(\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right) - b \cdot b\right) \cdot \frac{1}{b + \sqrt{b \cdot b + \color{blue}{\sqrt{a \cdot \left(c \cdot -4\right)} \cdot \sqrt{a \cdot \left(c \cdot -4\right)}}}}\right) \cdot \frac{0.5}{a}
\] |
hypot-def [=>]59.3 | \[ \left(\left(\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right) - b \cdot b\right) \cdot \frac{1}{b + \color{blue}{\mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)}}\right) \cdot \frac{0.5}{a}
\] |
Simplified65.3%
[Start]59.3 | \[ \left(\left(\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right) - b \cdot b\right) \cdot \frac{1}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)}\right) \cdot \frac{0.5}{a}
\] |
|---|---|
associate-*r/ [=>]59.3 | \[ \color{blue}{\frac{\left(\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right) - b \cdot b\right) \cdot 1}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)}} \cdot \frac{0.5}{a}
\] |
*-rgt-identity [=>]59.3 | \[ \frac{\color{blue}{\mathsf{fma}\left(a, c \cdot -4, b \cdot b\right) - b \cdot b}}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)} \cdot \frac{0.5}{a}
\] |
fma-def [<=]59.3 | \[ \frac{\color{blue}{\left(a \cdot \left(c \cdot -4\right) + b \cdot b\right)} - b \cdot b}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)} \cdot \frac{0.5}{a}
\] |
associate--l+ [=>]65.3 | \[ \frac{\color{blue}{a \cdot \left(c \cdot -4\right) + \left(b \cdot b - b \cdot b\right)}}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)} \cdot \frac{0.5}{a}
\] |
+-inverses [=>]65.3 | \[ \frac{a \cdot \left(c \cdot -4\right) + \color{blue}{0}}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)} \cdot \frac{0.5}{a}
\] |
+-rgt-identity [=>]65.3 | \[ \frac{\color{blue}{a \cdot \left(c \cdot -4\right)}}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)} \cdot \frac{0.5}{a}
\] |
associate-*r* [=>]65.3 | \[ \frac{\color{blue}{\left(a \cdot c\right) \cdot -4}}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)} \cdot \frac{0.5}{a}
\] |
*-commutative [<=]65.3 | \[ \frac{\color{blue}{\left(c \cdot a\right)} \cdot -4}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)} \cdot \frac{0.5}{a}
\] |
associate-*l* [=>]65.2 | \[ \frac{\color{blue}{c \cdot \left(a \cdot -4\right)}}{b + \mathsf{hypot}\left(b, \sqrt{a \cdot \left(c \cdot -4\right)}\right)} \cdot \frac{0.5}{a}
\] |
associate-*r* [=>]65.3 | \[ \frac{c \cdot \left(a \cdot -4\right)}{b + \mathsf{hypot}\left(b, \sqrt{\color{blue}{\left(a \cdot c\right) \cdot -4}}\right)} \cdot \frac{0.5}{a}
\] |
*-commutative [<=]65.3 | \[ \frac{c \cdot \left(a \cdot -4\right)}{b + \mathsf{hypot}\left(b, \sqrt{\color{blue}{\left(c \cdot a\right)} \cdot -4}\right)} \cdot \frac{0.5}{a}
\] |
associate-*l* [=>]65.3 | \[ \frac{c \cdot \left(a \cdot -4\right)}{b + \mathsf{hypot}\left(b, \sqrt{\color{blue}{c \cdot \left(a \cdot -4\right)}}\right)} \cdot \frac{0.5}{a}
\] |
Applied egg-rr56.2%
[Start]65.3 | \[ \frac{c \cdot \left(a \cdot -4\right)}{b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)} \cdot \frac{0.5}{a}
\] |
|---|---|
add-log-exp [=>]4.3 | \[ \color{blue}{\log \left(e^{\frac{c \cdot \left(a \cdot -4\right)}{b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)} \cdot \frac{0.5}{a}}\right)}
\] |
*-un-lft-identity [=>]4.3 | \[ \log \color{blue}{\left(1 \cdot e^{\frac{c \cdot \left(a \cdot -4\right)}{b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)} \cdot \frac{0.5}{a}}\right)}
\] |
log-prod [=>]4.3 | \[ \color{blue}{\log 1 + \log \left(e^{\frac{c \cdot \left(a \cdot -4\right)}{b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)} \cdot \frac{0.5}{a}}\right)}
\] |
metadata-eval [=>]4.3 | \[ \color{blue}{0} + \log \left(e^{\frac{c \cdot \left(a \cdot -4\right)}{b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)} \cdot \frac{0.5}{a}}\right)
\] |
add-log-exp [<=]65.3 | \[ 0 + \color{blue}{\frac{c \cdot \left(a \cdot -4\right)}{b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)} \cdot \frac{0.5}{a}}
\] |
frac-times [=>]56.2 | \[ 0 + \color{blue}{\frac{\left(c \cdot \left(a \cdot -4\right)\right) \cdot 0.5}{\left(b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)\right) \cdot a}}
\] |
associate-*r* [=>]56.2 | \[ 0 + \frac{\color{blue}{\left(\left(c \cdot a\right) \cdot -4\right)} \cdot 0.5}{\left(b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)\right) \cdot a}
\] |
associate-*l* [=>]56.2 | \[ 0 + \frac{\color{blue}{\left(c \cdot a\right) \cdot \left(-4 \cdot 0.5\right)}}{\left(b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)\right) \cdot a}
\] |
metadata-eval [=>]56.2 | \[ 0 + \frac{\left(c \cdot a\right) \cdot \color{blue}{-2}}{\left(b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)\right) \cdot a}
\] |
*-commutative [=>]56.2 | \[ 0 + \frac{\left(c \cdot a\right) \cdot -2}{\color{blue}{a \cdot \left(b + \mathsf{hypot}\left(b, \sqrt{c \cdot \left(a \cdot -4\right)}\right)\right)}}
\] |
hypot-udef [=>]56.2 | \[ 0 + \frac{\left(c \cdot a\right) \cdot -2}{a \cdot \left(b + \color{blue}{\sqrt{b \cdot b + \sqrt{c \cdot \left(a \cdot -4\right)} \cdot \sqrt{c \cdot \left(a \cdot -4\right)}}}\right)}
\] |
add-sqr-sqrt [<=]62.1 | \[ 0 + \frac{\left(c \cdot a\right) \cdot -2}{a \cdot \left(b + \sqrt{b \cdot b + \color{blue}{c \cdot \left(a \cdot -4\right)}}\right)}
\] |
+-commutative [=>]62.1 | \[ 0 + \frac{\left(c \cdot a\right) \cdot -2}{a \cdot \left(b + \sqrt{\color{blue}{c \cdot \left(a \cdot -4\right) + b \cdot b}}\right)}
\] |
Simplified76.9%
[Start]56.2 | \[ 0 + \frac{\left(c \cdot a\right) \cdot -2}{a \cdot \left(b + \mathsf{hypot}\left(\sqrt{c \cdot \left(a \cdot -4\right)}, b\right)\right)}
\] |
|---|---|
+-lft-identity [=>]56.2 | \[ \color{blue}{\frac{\left(c \cdot a\right) \cdot -2}{a \cdot \left(b + \mathsf{hypot}\left(\sqrt{c \cdot \left(a \cdot -4\right)}, b\right)\right)}}
\] |
times-frac [=>]65.4 | \[ \color{blue}{\frac{c \cdot a}{a} \cdot \frac{-2}{b + \mathsf{hypot}\left(\sqrt{c \cdot \left(a \cdot -4\right)}, b\right)}}
\] |
associate-/l* [=>]76.9 | \[ \color{blue}{\frac{c}{\frac{a}{a}}} \cdot \frac{-2}{b + \mathsf{hypot}\left(\sqrt{c \cdot \left(a \cdot -4\right)}, b\right)}
\] |
if 0.14000000000000001 < b Initial program 13.5%
Taylor expanded in b around inf 69.7%
Simplified73.2%
[Start]69.7 | \[ -1 \cdot \frac{{c}^{2} \cdot a}{{b}^{3}} + -1 \cdot \frac{c}{b}
\] |
|---|---|
+-commutative [=>]69.7 | \[ \color{blue}{-1 \cdot \frac{c}{b} + -1 \cdot \frac{{c}^{2} \cdot a}{{b}^{3}}}
\] |
mul-1-neg [=>]69.7 | \[ -1 \cdot \frac{c}{b} + \color{blue}{\left(-\frac{{c}^{2} \cdot a}{{b}^{3}}\right)}
\] |
unsub-neg [=>]69.7 | \[ \color{blue}{-1 \cdot \frac{c}{b} - \frac{{c}^{2} \cdot a}{{b}^{3}}}
\] |
associate-*r/ [=>]69.7 | \[ \color{blue}{\frac{-1 \cdot c}{b}} - \frac{{c}^{2} \cdot a}{{b}^{3}}
\] |
neg-mul-1 [<=]69.7 | \[ \frac{\color{blue}{-c}}{b} - \frac{{c}^{2} \cdot a}{{b}^{3}}
\] |
*-commutative [=>]69.7 | \[ \frac{-c}{b} - \frac{\color{blue}{a \cdot {c}^{2}}}{{b}^{3}}
\] |
associate-/l* [=>]73.2 | \[ \frac{-c}{b} - \color{blue}{\frac{a}{\frac{{b}^{3}}{{c}^{2}}}}
\] |
unpow2 [=>]73.2 | \[ \frac{-c}{b} - \frac{a}{\frac{{b}^{3}}{\color{blue}{c \cdot c}}}
\] |
Applied egg-rr90.0%
[Start]73.2 | \[ \frac{-c}{b} - \frac{a}{\frac{{b}^{3}}{c \cdot c}}
\] |
|---|---|
associate-/r* [=>]89.3 | \[ \frac{-c}{b} - \frac{a}{\color{blue}{\frac{\frac{{b}^{3}}{c}}{c}}}
\] |
associate-/r/ [=>]90.0 | \[ \frac{-c}{b} - \color{blue}{\frac{a}{\frac{{b}^{3}}{c}} \cdot c}
\] |
Final simplification87.0%
| Alternative 1 | |
|---|---|
| Accuracy | 87.0% |
| Cost | 14092 |
| Alternative 2 | |
|---|---|
| Accuracy | 87.0% |
| Cost | 13964 |
| Alternative 3 | |
|---|---|
| Accuracy | 83.7% |
| Cost | 7624 |
| Alternative 4 | |
|---|---|
| Accuracy | 84.0% |
| Cost | 7624 |
| Alternative 5 | |
|---|---|
| Accuracy | 78.7% |
| Cost | 7496 |
| Alternative 6 | |
|---|---|
| Accuracy | 78.9% |
| Cost | 7368 |
| Alternative 7 | |
|---|---|
| Accuracy | 79.1% |
| Cost | 7368 |
| Alternative 8 | |
|---|---|
| Accuracy | 64.4% |
| Cost | 580 |
| Alternative 9 | |
|---|---|
| Accuracy | 38.1% |
| Cost | 388 |
| Alternative 10 | |
|---|---|
| Accuracy | 64.4% |
| Cost | 388 |
| Alternative 11 | |
|---|---|
| Accuracy | 2.6% |
| Cost | 192 |
| Alternative 12 | |
|---|---|
| Accuracy | 11.5% |
| Cost | 192 |
herbie shell --seed 2023136
(FPCore (a b c)
:name "quadp (p42, positive)"
:precision binary64
:herbie-target
(if (< b 0.0) (/ (+ (- b) (sqrt (- (* b b) (* 4.0 (* a c))))) (* 2.0 a)) (/ c (* a (/ (- (- b) (sqrt (- (* b b) (* 4.0 (* a c))))) (* 2.0 a)))))
(/ (+ (- b) (sqrt (- (* b b) (* 4.0 (* a c))))) (* 2.0 a)))