



Bits error versus a




Bits error versus b




Bits error versus c




Bits error versus d
Results
| Original | 25.7 |
|---|---|
| Target | 0.5 |
| Herbie | 14.9 |
if (* (/ (/ 1 (cbrt (hypot c d))) (* (cbrt (hypot c d)) (hypot c d))) (/ (- (* c b) (* a d)) (cbrt (hypot c d)))) < -1.7826104530580957e+308Initial program 61.6
rmApplied add-sqr-sqrt61.6
Applied *-un-lft-identity61.6
Applied times-frac61.6
Applied simplify61.6
Applied simplify53.4
Taylor expanded around 0 50.5
Applied simplify50.4
if -1.7826104530580957e+308 < (* (/ (/ 1 (cbrt (hypot c d))) (* (cbrt (hypot c d)) (hypot c d))) (/ (- (* c b) (* a d)) (cbrt (hypot c d)))) < 2.4476161445265187e+228Initial program 12.7
rmApplied add-sqr-sqrt12.7
Applied *-un-lft-identity12.7
Applied times-frac12.7
Applied simplify12.7
Applied simplify1.2
if 2.4476161445265187e+228 < (* (/ (/ 1 (cbrt (hypot c d))) (* (cbrt (hypot c d)) (hypot c d))) (/ (- (* c b) (* a d)) (cbrt (hypot c d)))) Initial program 57.2
rmApplied add-sqr-sqrt57.2
Applied *-un-lft-identity57.2
Applied times-frac57.2
Applied simplify57.2
Applied simplify54.9
Taylor expanded around -inf 48.8
Applied simplify48.8
Time bar (total: 54.5s)Debug logProfile
herbie shell --seed 2018166 +o rules:numerics
(FPCore (a b c d)
:name "Complex division, imag part"
:herbie-target
(if (< (fabs d) (fabs c)) (/ (- b (* a (/ d c))) (+ c (* d (/ d c)))) (/ (+ (- a) (* b (/ c d))) (+ d (* c (/ c d)))))
(/ (- (* b c) (* a d)) (+ (* c c) (* d d))))