| Alternative 1 | |
|---|---|
| Accuracy | 75.8% |
| Cost | 7880 |
(FPCore (a b_2 c) :precision binary64 (/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))
(FPCore (a b_2 c)
:precision binary64
(if (<= b_2 -9e-122)
(* -0.5 (/ c b_2))
(if (<= b_2 6.8e+30)
(/ (- (- b_2) (sqrt (fma b_2 b_2 (* c (- a))))) a)
(fma
-2.0
(/ b_2 a)
(* (/ c b_2) (+ (* (/ c b_2) (* 0.125 (/ a b_2))) 0.5))))))double code(double a, double b_2, double c) {
return (-b_2 - sqrt(((b_2 * b_2) - (a * c)))) / a;
}
double code(double a, double b_2, double c) {
double tmp;
if (b_2 <= -9e-122) {
tmp = -0.5 * (c / b_2);
} else if (b_2 <= 6.8e+30) {
tmp = (-b_2 - sqrt(fma(b_2, b_2, (c * -a)))) / a;
} else {
tmp = fma(-2.0, (b_2 / a), ((c / b_2) * (((c / b_2) * (0.125 * (a / b_2))) + 0.5)));
}
return tmp;
}
function code(a, b_2, c) return Float64(Float64(Float64(-b_2) - sqrt(Float64(Float64(b_2 * b_2) - Float64(a * c)))) / a) end
function code(a, b_2, c) tmp = 0.0 if (b_2 <= -9e-122) tmp = Float64(-0.5 * Float64(c / b_2)); elseif (b_2 <= 6.8e+30) tmp = Float64(Float64(Float64(-b_2) - sqrt(fma(b_2, b_2, Float64(c * Float64(-a))))) / a); else tmp = fma(-2.0, Float64(b_2 / a), Float64(Float64(c / b_2) * Float64(Float64(Float64(c / b_2) * Float64(0.125 * Float64(a / b_2))) + 0.5))); end return tmp end
code[a_, b$95$2_, c_] := N[(N[((-b$95$2) - N[Sqrt[N[(N[(b$95$2 * b$95$2), $MachinePrecision] - N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]
code[a_, b$95$2_, c_] := If[LessEqual[b$95$2, -9e-122], N[(-0.5 * N[(c / b$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[b$95$2, 6.8e+30], N[(N[((-b$95$2) - N[Sqrt[N[(b$95$2 * b$95$2 + N[(c * (-a)), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], N[(-2.0 * N[(b$95$2 / a), $MachinePrecision] + N[(N[(c / b$95$2), $MachinePrecision] * N[(N[(N[(c / b$95$2), $MachinePrecision] * N[(0.125 * N[(a / b$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}
\begin{array}{l}
\mathbf{if}\;b_2 \leq -9 \cdot 10^{-122}:\\
\;\;\;\;-0.5 \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \leq 6.8 \cdot 10^{+30}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{\mathsf{fma}\left(b_2, b_2, c \cdot \left(-a\right)\right)}}{a}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(-2, \frac{b_2}{a}, \frac{c}{b_2} \cdot \left(\frac{c}{b_2} \cdot \left(0.125 \cdot \frac{a}{b_2}\right) + 0.5\right)\right)\\
\end{array}
if b_2 < -8.99999999999999959e-122Initial program 19.9%
Taylor expanded in b_2 around -inf 82.5%
if -8.99999999999999959e-122 < b_2 < 6.8000000000000005e30Initial program 79.4%
Applied egg-rr79.4%
[Start]79.4 | \[ \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}
\] |
|---|---|
fma-neg [=>]79.4 | \[ \frac{\left(-b_2\right) - \sqrt{\color{blue}{\mathsf{fma}\left(b_2, b_2, -a \cdot c\right)}}}{a}
\] |
*-commutative [=>]79.4 | \[ \frac{\left(-b_2\right) - \sqrt{\mathsf{fma}\left(b_2, b_2, -\color{blue}{c \cdot a}\right)}}{a}
\] |
distribute-rgt-neg-in [=>]79.4 | \[ \frac{\left(-b_2\right) - \sqrt{\mathsf{fma}\left(b_2, b_2, \color{blue}{c \cdot \left(-a\right)}\right)}}{a}
\] |
if 6.8000000000000005e30 < b_2 Initial program 31.5%
Taylor expanded in b_2 around inf 49.1%
Simplified50.5%
[Start]49.1 | \[ -2 \cdot \frac{b_2}{a} + \left(0.125 \cdot \frac{{c}^{2} \cdot a}{{b_2}^{3}} + 0.5 \cdot \frac{c}{b_2}\right)
\] |
|---|---|
fma-def [=>]49.1 | \[ \color{blue}{\mathsf{fma}\left(-2, \frac{b_2}{a}, 0.125 \cdot \frac{{c}^{2} \cdot a}{{b_2}^{3}} + 0.5 \cdot \frac{c}{b_2}\right)}
\] |
+-commutative [=>]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{0.5 \cdot \frac{c}{b_2} + 0.125 \cdot \frac{{c}^{2} \cdot a}{{b_2}^{3}}}\right)
\] |
fma-def [=>]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\mathsf{fma}\left(0.5, \frac{c}{b_2}, 0.125 \cdot \frac{{c}^{2} \cdot a}{{b_2}^{3}}\right)}\right)
\] |
associate-*r/ [=>]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(0.5, \frac{c}{b_2}, \color{blue}{\frac{0.125 \cdot \left({c}^{2} \cdot a\right)}{{b_2}^{3}}}\right)\right)
\] |
associate-/l* [=>]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(0.5, \frac{c}{b_2}, \color{blue}{\frac{0.125}{\frac{{b_2}^{3}}{{c}^{2} \cdot a}}}\right)\right)
\] |
unpow2 [=>]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(0.5, \frac{c}{b_2}, \frac{0.125}{\frac{{b_2}^{3}}{\color{blue}{\left(c \cdot c\right)} \cdot a}}\right)\right)
\] |
associate-*l* [=>]50.5 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(0.5, \frac{c}{b_2}, \frac{0.125}{\frac{{b_2}^{3}}{\color{blue}{c \cdot \left(c \cdot a\right)}}}\right)\right)
\] |
Applied egg-rr54.5%
[Start]50.5 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(0.5, \frac{c}{b_2}, \frac{0.125}{\frac{{b_2}^{3}}{c \cdot \left(c \cdot a\right)}}\right)\right)
\] |
|---|---|
fma-udef [=>]50.5 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{0.5 \cdot \frac{c}{b_2} + \frac{0.125}{\frac{{b_2}^{3}}{c \cdot \left(c \cdot a\right)}}}\right)
\] |
+-commutative [=>]50.5 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\frac{0.125}{\frac{{b_2}^{3}}{c \cdot \left(c \cdot a\right)}} + 0.5 \cdot \frac{c}{b_2}}\right)
\] |
add-log-exp [=>]49.8 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\log \left(e^{\frac{0.125}{\frac{{b_2}^{3}}{c \cdot \left(c \cdot a\right)}}}\right)} + 0.5 \cdot \frac{c}{b_2}\right)
\] |
add-log-exp [=>]46.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left(e^{\frac{0.125}{\frac{{b_2}^{3}}{c \cdot \left(c \cdot a\right)}}}\right) + \color{blue}{\log \left(e^{0.5 \cdot \frac{c}{b_2}}\right)}\right)
\] |
sum-log [=>]46.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\log \left(e^{\frac{0.125}{\frac{{b_2}^{3}}{c \cdot \left(c \cdot a\right)}}} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)}\right)
\] |
div-inv [=>]46.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left(e^{\color{blue}{0.125 \cdot \frac{1}{\frac{{b_2}^{3}}{c \cdot \left(c \cdot a\right)}}}} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
exp-prod [=>]46.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left(\color{blue}{{\left(e^{0.125}\right)}^{\left(\frac{1}{\frac{{b_2}^{3}}{c \cdot \left(c \cdot a\right)}}\right)}} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
clear-num [<=]46.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left({\left(e^{0.125}\right)}^{\color{blue}{\left(\frac{c \cdot \left(c \cdot a\right)}{{b_2}^{3}}\right)}} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
associate-*r* [=>]46.8 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left({\left(e^{0.125}\right)}^{\left(\frac{\color{blue}{\left(c \cdot c\right) \cdot a}}{{b_2}^{3}}\right)} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
unpow3 [=>]46.8 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left({\left(e^{0.125}\right)}^{\left(\frac{\left(c \cdot c\right) \cdot a}{\color{blue}{\left(b_2 \cdot b_2\right) \cdot b_2}}\right)} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
times-frac [=>]50.4 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left({\left(e^{0.125}\right)}^{\color{blue}{\left(\frac{c \cdot c}{b_2 \cdot b_2} \cdot \frac{a}{b_2}\right)}} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
frac-times [<=]54.5 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left({\left(e^{0.125}\right)}^{\left(\color{blue}{\left(\frac{c}{b_2} \cdot \frac{c}{b_2}\right)} \cdot \frac{a}{b_2}\right)} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
pow2 [=>]54.5 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left({\left(e^{0.125}\right)}^{\left(\color{blue}{{\left(\frac{c}{b_2}\right)}^{2}} \cdot \frac{a}{b_2}\right)} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
Simplified61.9%
[Start]54.5 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \log \left({\left(e^{0.125}\right)}^{\left({\left(\frac{c}{b_2}\right)}^{2} \cdot \frac{a}{b_2}\right)} \cdot e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
|---|---|
log-prod [=>]54.5 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\log \left({\left(e^{0.125}\right)}^{\left({\left(\frac{c}{b_2}\right)}^{2} \cdot \frac{a}{b_2}\right)}\right) + \log \left(e^{0.5 \cdot \frac{c}{b_2}}\right)}\right)
\] |
log-pow [=>]54.4 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\left({\left(\frac{c}{b_2}\right)}^{2} \cdot \frac{a}{b_2}\right) \cdot \log \left(e^{0.125}\right)} + \log \left(e^{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
fma-def [=>]54.4 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\mathsf{fma}\left({\left(\frac{c}{b_2}\right)}^{2} \cdot \frac{a}{b_2}, \log \left(e^{0.125}\right), \log \left(e^{0.5 \cdot \frac{c}{b_2}}\right)\right)}\right)
\] |
rem-log-exp [=>]54.4 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left({\left(\frac{c}{b_2}\right)}^{2} \cdot \frac{a}{b_2}, \color{blue}{0.125}, \log \left(e^{0.5 \cdot \frac{c}{b_2}}\right)\right)\right)
\] |
rem-log-exp [=>]61.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left({\left(\frac{c}{b_2}\right)}^{2} \cdot \frac{a}{b_2}, 0.125, \color{blue}{0.5 \cdot \frac{c}{b_2}}\right)\right)
\] |
Taylor expanded in c around 0 49.1%
Simplified62.3%
[Start]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, 0.125 \cdot \frac{{c}^{2} \cdot a}{{b_2}^{3}} + 0.5 \cdot \frac{c}{b_2}\right)
\] |
|---|---|
*-commutative [=>]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\frac{{c}^{2} \cdot a}{{b_2}^{3}} \cdot 0.125} + 0.5 \cdot \frac{c}{b_2}\right)
\] |
*-commutative [<=]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \frac{{c}^{2} \cdot a}{{b_2}^{3}} \cdot 0.125 + \color{blue}{\frac{c}{b_2} \cdot 0.5}\right)
\] |
fma-def [=>]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\mathsf{fma}\left(\frac{{c}^{2} \cdot a}{{b_2}^{3}}, 0.125, \frac{c}{b_2} \cdot 0.5\right)}\right)
\] |
unpow3 [=>]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\frac{{c}^{2} \cdot a}{\color{blue}{\left(b_2 \cdot b_2\right) \cdot b_2}}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
unpow2 [<=]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\frac{{c}^{2} \cdot a}{\color{blue}{{b_2}^{2}} \cdot b_2}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
unpow2 [=>]49.1 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\frac{\color{blue}{\left(c \cdot c\right)} \cdot a}{{b_2}^{2} \cdot b_2}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
times-frac [=>]52.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\color{blue}{\frac{c \cdot c}{{b_2}^{2}} \cdot \frac{a}{b_2}}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
associate-/l* [=>]61.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\color{blue}{\frac{c}{\frac{{b_2}^{2}}{c}}} \cdot \frac{a}{b_2}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
unpow2 [=>]61.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\frac{c}{\frac{\color{blue}{b_2 \cdot b_2}}{c}} \cdot \frac{a}{b_2}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
associate-*l/ [<=]61.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\frac{c}{\color{blue}{\frac{b_2}{c} \cdot b_2}} \cdot \frac{a}{b_2}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
associate-/l/ [<=]61.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\color{blue}{\frac{\frac{c}{b_2}}{\frac{b_2}{c}}} \cdot \frac{a}{b_2}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
associate-/l* [<=]59.7 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\color{blue}{\frac{\frac{c}{b_2} \cdot c}{b_2}} \cdot \frac{a}{b_2}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
associate-*r/ [<=]61.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\color{blue}{\left(\frac{c}{b_2} \cdot \frac{c}{b_2}\right)} \cdot \frac{a}{b_2}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
unpow2 [<=]61.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \mathsf{fma}\left(\color{blue}{{\left(\frac{c}{b_2}\right)}^{2}} \cdot \frac{a}{b_2}, 0.125, \frac{c}{b_2} \cdot 0.5\right)\right)
\] |
fma-def [<=]61.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{\left({\left(\frac{c}{b_2}\right)}^{2} \cdot \frac{a}{b_2}\right) \cdot 0.125 + \frac{c}{b_2} \cdot 0.5}\right)
\] |
associate-*r* [<=]61.9 | \[ \mathsf{fma}\left(-2, \frac{b_2}{a}, \color{blue}{{\left(\frac{c}{b_2}\right)}^{2} \cdot \left(\frac{a}{b_2} \cdot 0.125\right)} + \frac{c}{b_2} \cdot 0.5\right)
\] |
Final simplification75.8%
| Alternative 1 | |
|---|---|
| Accuracy | 75.8% |
| Cost | 7880 |
| Alternative 2 | |
|---|---|
| Accuracy | 75.9% |
| Cost | 7432 |
| Alternative 3 | |
|---|---|
| Accuracy | 72.1% |
| Cost | 7240 |
| Alternative 4 | |
|---|---|
| Accuracy | 59.2% |
| Cost | 836 |
| Alternative 5 | |
|---|---|
| Accuracy | 35.2% |
| Cost | 452 |
| Alternative 6 | |
|---|---|
| Accuracy | 59.1% |
| Cost | 452 |
| Alternative 7 | |
|---|---|
| Accuracy | 15.3% |
| Cost | 388 |
| Alternative 8 | |
|---|---|
| Accuracy | 11.1% |
| Cost | 192 |
herbie shell --seed 2023153
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))