



Bits error versus re




Bits error versus im
Results
| Original | 37.5 |
|---|---|
| Target | 32.7 |
| Herbie | 15.5 |
if (* 2.0 (+ im re)) < -1.6749745729873233e+153Initial program 61.7
rmApplied flip-+61.7
Applied associate-*r/61.7
Applied sqrt-div61.7
Applied simplify54.9
rmApplied sqrt-prod54.9
Applied simplify55.5
Taylor expanded around -inf 31.2
Applied simplify31.2
if -1.6749745729873233e+153 < (* 2.0 (+ im re)) < -1.1738097192973345e-224Initial program 30.4
rmApplied flip-+30.4
Applied associate-*r/30.4
Applied sqrt-div30.5
Applied simplify16.6
rmApplied sqrt-prod16.7
Applied simplify4.7
rmApplied clear-num5.0
if -1.1738097192973345e-224 < (* 2.0 (+ im re)) < 1.456255969676528e-160 or 1.6292438373489724e+215 < (* 2.0 (+ im re)) < 1.1856033173819455e+250Initial program 59.3
Taylor expanded around inf 32.3
if 1.456255969676528e-160 < (* 2.0 (+ im re)) < 8.39657639451027e+155Initial program 0.4
rmApplied add-sqr-sqrt0.4
Applied sqrt-prod0.5
if 8.39657639451027e+155 < (* 2.0 (+ im re)) < 1.6292438373489724e+215 or 1.1856033173819455e+250 < (* 2.0 (+ im re)) Initial program 61.3
Taylor expanded around 0 25.2
Time bar (total: 1.5m)Debug logProfile
herbie shell --seed 2018178
(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)))))