



Bits error versus re




Bits error versus im
| Original | 37.2 |
|---|---|
| Target | 32.7 |
| Herbie | 15.8 |
if (* 2.0 (+ im re)) < -4.749754881187922e+155 or -8.079506568931155e-156 < (* 2.0 (+ im re)) < 4.440520392420889e-202Initial program 61.3
rmApplied sqrt-prod61.3
rmApplied flip-+61.6
Applied sqrt-div61.7
Applied simplify56.0
Taylor expanded around -inf 31.5
if -4.749754881187922e+155 < (* 2.0 (+ im re)) < -8.079506568931155e-156Initial program 27.4
rmApplied sqrt-prod27.6
rmApplied flip-+27.6
Applied sqrt-div27.6
Applied associate-*r/27.6
Applied simplify0.9
rmApplied add-cube-cbrt1.3
if 4.440520392420889e-202 < (* 2.0 (+ im re)) < 1.722533200997452e+151Initial program 3.3
rmApplied add-sqr-sqrt3.3
Applied sqrt-prod3.4
if 1.722533200997452e+151 < (* 2.0 (+ im re)) < 1.533769950803469e+251Initial program 59.5
Taylor expanded around inf 29.7
if 1.533769950803469e+251 < (* 2.0 (+ im re)) Initial program 61.1
Taylor expanded around 0 26.2
Time bar (total: 48.3s)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)))))