



Bits error versus a




Bits error versus b




Bits error versus c




Bits error versus d
| Original | 26.0 |
|---|---|
| Target | 0.5 |
| Herbie | 13.5 |
if (* (/ 1 (hypot c d)) (* (/ (* (cbrt (fma b d (* c a))) (cbrt (fma b d (* c a)))) (* (cbrt (hypot c d)) (cbrt (hypot c d)))) (/ (cbrt (fma b d (* c a))) (cbrt (hypot c d))))) < -inf.0 or 1.439579894583305e+302 < (* (/ 1 (hypot c d)) (* (/ (* (cbrt (fma b d (* c a))) (cbrt (fma b d (* c a)))) (* (cbrt (hypot c d)) (cbrt (hypot c d)))) (/ (cbrt (fma b d (* c a))) (cbrt (hypot c d))))) Initial program 62.1
rmApplied add-sqr-sqrt62.1
Applied *-un-lft-identity62.1
Applied times-frac62.1
Applied simplify62.1
Applied simplify61.5
Taylor expanded around 0 48.5
Applied simplify48.5
if -inf.0 < (* (/ 1 (hypot c d)) (* (/ (* (cbrt (fma b d (* c a))) (cbrt (fma b d (* c a)))) (* (cbrt (hypot c d)) (cbrt (hypot c d)))) (/ (cbrt (fma b d (* c a))) (cbrt (hypot c d))))) < 1.439579894583305e+302Initial program 13.5
rmApplied add-sqr-sqrt13.5
Applied *-un-lft-identity13.5
Applied times-frac13.5
Applied simplify13.5
Applied simplify1.5
rmApplied associate-*r/1.5
Applied simplify1.4
Time bar (total: 48.5s)Debug logProfile
herbie shell --seed '#(1072936661 1621281212 3440817831 3219514234 460296804 1258167384)' +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))))