



Bits error versus re




Bits error versus im
| Original | 37.4 |
|---|---|
| Target | 32.4 |
| Herbie | 21.4 |
if (* 2.0 (+ im re)) < -4.1172878425673397e+172Initial program 61.9
rmApplied add-sqr-sqrt61.9
Applied sqrt-prod61.9
rmApplied sqrt-prod61.9
Applied simplify61.9
Taylor expanded around -inf 32.5
Applied simplify32.5
if -4.1172878425673397e+172 < (* 2.0 (+ im re)) < -7.41130487234293e-253Initial program 34.5
rmApplied add-sqr-sqrt34.5
Applied sqrt-prod35.3
rmApplied flip-+35.3
Applied associate-*r/35.3
Applied sqrt-div35.4
Applied simplify21.1
Applied simplify21.1
if -7.41130487234293e-253 < (* 2.0 (+ im re)) < 9.714616706842764e-126 or 5.3156145466634285e+166 < (* 2.0 (+ im re)) < 3.6901729893920858e+196 or 7.760725977184564e+227 < (* 2.0 (+ im re)) Initial program 55.8
Taylor expanded around inf 31.7
if 9.714616706842764e-126 < (* 2.0 (+ im re)) < 5.3156145466634285e+166Initial program 4.3
rmApplied add-sqr-sqrt4.3
Applied sqrt-prod4.4
if 3.6901729893920858e+196 < (* 2.0 (+ im re)) < 7.760725977184564e+227Initial program 61.4
Taylor expanded around 0 28.5
Time bar (total: 32.6s)Debug logProfile
herbie shell --seed '#(1070258749 1877548225 2229079127 1588002776 3179087814 1886870650)'
(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)))))