


Bits error versus a



Bits error versus b



Bits error versus c
if (/ (pow (exp (* (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b)))) (* 2 a)) < -5.0932387033100606e+302 or -2.4227732924595846e-268 < (/ (pow (exp (* (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b)))) (* 2 a)) < 4.245273862080994e-233 or 2.3461818191212974e+307 < (/ (pow (exp (* (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b)))) (* 2 a)) Initial program 58.6
Applied simplify58.6
rmApplied div-inv58.6
rmApplied flip--59.2
Applied associate-*l/59.2
Applied simplify38.2
Taylor expanded around 0 28.5
Applied simplify22.1
if -5.0932387033100606e+302 < (/ (pow (exp (* (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b)))) (* 2 a)) < -2.4227732924595846e-268 or 4.245273862080994e-233 < (/ (pow (exp (* (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b))))) (cbrt (log (- (sqrt (fma (* 4 a) (- c) (* b b))) b)))) (* 2 a)) < 2.3461818191212974e+307Initial program 2.5
Applied simplify2.5
Time bar (total: 2.2m)Debug logProfile
herbie shell --seed 2018208 +o rules:numerics
(FPCore (a b c)
:name "Quadratic roots, full range"
(/ (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)))