



Bits error versus a




Bits error versus b




Bits error versus c




Bits error versus d
| Original | 25.4 |
|---|---|
| Target | 0.4 |
| Herbie | 12.9 |
if (* (/ 1 (hypot c d)) (* (* (cbrt (/ (fma b d (* c a)) (hypot c d))) (cbrt (/ (fma b d (* c a)) (hypot c d)))) (cbrt (/ (fma b d (* c a)) (hypot c d))))) < -inf.0Initial program 62.9
rmApplied add-sqr-sqrt62.9
Applied *-un-lft-identity62.9
Applied times-frac62.9
Applied simplify62.9
Applied simplify61.9
Taylor expanded around -inf 48.6
Applied simplify48.5
if -inf.0 < (* (/ 1 (hypot c d)) (* (* (cbrt (/ (fma b d (* c a)) (hypot c d))) (cbrt (/ (fma b d (* c a)) (hypot c d)))) (cbrt (/ (fma b d (* c a)) (hypot c d))))) < 1.7976931348623157e+308Initial program 13.2
rmApplied add-sqr-sqrt13.2
Applied *-un-lft-identity13.2
Applied times-frac13.2
Applied simplify13.2
Applied simplify1.3
rmApplied associate-*r/1.2
Applied simplify1.1
if 1.7976931348623157e+308 < (* (/ 1 (hypot c d)) (* (* (cbrt (/ (fma b d (* c a)) (hypot c d))) (cbrt (/ (fma b d (* c a)) (hypot c d)))) (cbrt (/ (fma b d (* c a)) (hypot c d))))) Initial program 62.0
rmApplied add-sqr-sqrt62.0
Applied *-un-lft-identity62.0
Applied times-frac62.0
Applied simplify62.0
Applied simplify62.0
Taylor expanded around 0 48.5
Applied simplify48.5
Time bar (total: 58.1s)Debug logProfile
herbie shell --seed '#(1072967564 1937075727 894099792 790700740 1036514779 1027793188)' +o rules:numerics
(FPCore (a b c d)
:name "Complex division, real part"
:herbie-target
(if (< (fabs d) (fabs c)) (/ (+ a (* b (/ d c))) (+ c (* d (/ d c)))) (/ (+ b (* a (/ c d))) (+ d (* c (/ c d)))))
(/ (+ (* a c) (* b d)) (+ (* c c) (* d d))))