



Bits error versus a




Bits error versus b




Bits error versus c




Bits error versus d
| Original | 25.7 |
|---|---|
| Target | 0.4 |
| Herbie | 14.0 |
if (* (/ 1 (hypot c d)) (/ (fma b d (* c a)) (hypot c d))) < -5.508858057345239e+291Initial program 61.0
rmApplied add-sqr-sqrt61.0
Applied *-un-lft-identity61.0
Applied times-frac61.0
Applied simplify61.0
Applied simplify59.8
Taylor expanded around 0 48.2
Applied simplify48.2
if -5.508858057345239e+291 < (* (/ 1 (hypot c d)) (/ (fma b d (* c a)) (hypot c d))) < 3.768562974861941e+300Initial program 13.2
rmApplied add-sqr-sqrt13.2
Applied *-un-lft-identity13.2
Applied times-frac13.2
Applied simplify13.2
Applied simplify1.6
if 3.768562974861941e+300 < (* (/ 1 (hypot c d)) (/ (fma b d (* c a)) (hypot c d))) Initial program 61.2
rmApplied add-sqr-sqrt61.2
Applied *-un-lft-identity61.2
Applied times-frac61.2
Applied simplify61.2
Applied simplify61.0
Taylor expanded around inf 49.4
Applied simplify49.3
Time bar (total: 56.2s)Debug logProfile
herbie shell --seed 2020178 +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))))