



Bits error versus a




Bits error versus b




Bits error versus c
| Original | 33.7 |
|---|---|
| Target | 21.0 |
| Herbie | 13.7 |
if (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < -4.642350045119559e+305 or -2.1928611911715794e-262 < (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < 1.647971180806912e-274 or 7.249139874405658e+279 < (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) Initial program 58.4
Applied simplify58.4
rmApplied flip--59.3
Applied simplify39.8
rmApplied *-un-lft-identity39.8
Applied times-frac39.8
Applied simplify39.8
Taylor expanded around 0 32.3
Applied simplify22.6
if -4.642350045119559e+305 < (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < -2.1928611911715794e-262 or 1.647971180806912e-274 < (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < 7.249139874405658e+279Initial program 2.2
Applied simplify2.2
Time bar (total: 2.7m)Debug logProfile
herbie shell --seed 2018214 +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)))