



Bits error versus re




Bits error versus im
| Original | 37.7 |
|---|---|
| Target | 32.9 |
| Herbie | 15.5 |
if (+ im re) < -1.2612856906334137e+157 or -5.4707400485860105e-139 < (+ im re) < 3.697374298769537e-254Initial program 60.7
rmApplied sqrt-prod60.7
rmApplied flip-+60.8
Applied sqrt-div60.8
Applied associate-*r/60.8
Applied simplify53.6
Taylor expanded around -inf 30.6
Applied simplify30.6
if -1.2612856906334137e+157 < (+ im re) < -5.4707400485860105e-139Initial program 27.9
rmApplied sqrt-prod28.1
rmApplied flip-+28.1
Applied sqrt-div28.1
Applied simplify1.4
if 3.697374298769537e-254 < (+ im re) < 6.465253163292806e-190 or 6.137703348346741e+141 < (+ im re) < 1.1138279320716406e+286Initial program 57.0
Taylor expanded around 0 26.1
if 6.465253163292806e-190 < (+ im re) < 6.137703348346741e+141Initial program 2.7
rmApplied add-sqr-sqrt2.7
Applied sqrt-prod2.8
if 1.1138279320716406e+286 < (+ im re) < 1.1368564734353409e+297Initial program 61.1
Taylor expanded around inf 31.7
if 1.1368564734353409e+297 < (+ im re) Initial program 61.0
rmApplied sqrt-prod61.0
Taylor expanded around 0 24.0
Time bar (total: 55.3s)Debug logProfile
herbie shell --seed '#(1071501266 3581234924 1086666455 2685055582 1243441566 1802958749)'
(FPCore (re im)
:name "math.sqrt on complex, real part"
:herbie-target
(if (< re 0) (* 0.5 (* (sqrt 2) (sqrt (/ (* im im) (- (sqrt (+ (* re re) (* im im))) re))))) (* 0.5 (sqrt (* 2.0 (+ (sqrt (+ (* re re) (* im im))) re)))))
(* 0.5 (sqrt (* 2.0 (+ (sqrt (+ (* re re) (* im im))) re)))))