



Bits error versus re




Bits error versus im
| Original | 37.2 |
|---|---|
| Target | 32.7 |
| Herbie | 15.8 |
if (* 2.0 (+ im re)) < -6.318119228510091e+155 or -1.445806437893746e-155 < (* 2.0 (+ im re)) < 1.4801734641402963e-202Initial program 61.3
rmApplied sqrt-prod61.3
rmApplied flip-+61.6
Applied sqrt-div61.7
Applied simplify55.9
Taylor expanded around -inf 31.5
if -6.318119228510091e+155 < (* 2.0 (+ im re)) < -1.445806437893746e-155Initial program 27.4
rmApplied sqrt-prod27.6
rmApplied flip-+27.6
Applied sqrt-div27.7
Applied associate-*r/27.6
Applied simplify1.0
rmApplied add-cube-cbrt1.4
if 1.4801734641402963e-202 < (* 2.0 (+ im re)) < 2.829826030549979e+151Initial program 3.3
rmApplied add-sqr-sqrt3.3
Applied sqrt-prod3.4
if 2.829826030549979e+151 < (* 2.0 (+ im re)) < 1.533769950803469e+251Initial program 59.7
Taylor expanded around inf 29.6
if 1.533769950803469e+251 < (* 2.0 (+ im re)) Initial program 61.1
Taylor expanded around 0 26.2
Time bar (total: 33.4s)Debug logProfile
herbie shell --seed '#(1070355188 2193211668 3977393919 3454156579 3755371326 1656365382)'
(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)))))