



Bits error versus a




Bits error versus b




Bits error versus c
| Original | 33.2 |
|---|---|
| Target | 20.4 |
| Herbie | 12.6 |
if (/ (exp (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < -1.2642344543860131e+308 or -2.4502025789667366e-305 < (/ (exp (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < 5.3137066719745324e-303 or 8.888908555405332e+306 < (/ (exp (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) Initial program 59.1
Applied simplify59.0
rmApplied flip--59.4
Applied simplify39.2
rmApplied clear-num39.3
Taylor expanded around 0 21.8
Applied simplify21.3
if -1.2642344543860131e+308 < (/ (exp (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < -2.4502025789667366e-305 or 5.3137066719745324e-303 < (/ (exp (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < 8.888908555405332e+306Initial program 2.1
Applied simplify2.1
rmApplied clear-num2.2
Time bar (total: 3.1m)Debug logProfile
herbie shell --seed 2018199 +o rules:numerics
(FPCore (a b c)
:name "The quadratic formula (r1)"
:herbie-target
(if (< b 0) (/ (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ c (* a (/ (- (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)))))
(/ (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)))