



Bits error versus a




Bits error versus b




Bits error versus c
| Original | 33.7 |
|---|---|
| Target | 21.0 |
| Herbie | 13.5 |
if (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < -4.6198563120885677e+300 or -1.669199164394288e-308 < (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < 1.4583544321977194e-275 or 1.2661543501360125e+280 < (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) Initial program 58.6
Applied simplify58.6
rmApplied flip--59.6
Applied simplify40.0
rmApplied *-un-lft-identity40.0
Applied times-frac40.0
Applied simplify40.0
Taylor expanded around 0 32.2
Applied simplify22.5
if -4.6198563120885677e+300 < (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < -1.669199164394288e-308 or 1.4583544321977194e-275 < (/ (* (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b)) (sqrt (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (* 2 a)) < 1.2661543501360125e+280Initial program 2.2
Applied simplify2.2
Time bar (total: 2.4m)Debug logProfile
herbie shell --seed 2018214 +o rules:numerics
(FPCore (a b c)
:name "quadp (p42, positive)"
: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)))