



Bits error versus re




Bits error versus im
| Original | 37.6 |
|---|---|
| Target | 32.9 |
| Herbie | 15.9 |
if (* 2.0 (+ im re)) < -2.6642283092802897e+158 or -9.222582900765895e-165 < (* 2.0 (+ im re)) < 4.8166379165092645e-219Initial program 61.6
rmApplied flip-+61.8
Applied associate-*r/61.8
Applied sqrt-div61.8
Applied simplify56.1
rmApplied sqrt-prod56.1
Applied simplify55.9
Taylor expanded around -inf 31.9
Applied simplify31.9
if -2.6642283092802897e+158 < (* 2.0 (+ im re)) < -9.222582900765895e-165Initial program 29.4
rmApplied flip-+29.4
Applied associate-*r/29.4
Applied sqrt-div29.6
Applied simplify15.3
rmApplied sqrt-prod15.4
Applied simplify2.6
rmApplied clear-num2.9
if 4.8166379165092645e-219 < (* 2.0 (+ im re)) < 7.817785233506602e+148Initial program 4.0
if 7.817785233506602e+148 < (* 2.0 (+ im re)) < 4.283800748789394e+271 or 3.3412613217440463e+294 < (* 2.0 (+ im re)) Initial program 58.8
Taylor expanded around 0 25.8
if 4.283800748789394e+271 < (* 2.0 (+ im re)) < 3.3412613217440463e+294Initial program 61.1
Taylor expanded around inf 29.2
Time bar (total: 1.3m)Debug logProfile
herbie shell --seed '#(1064300848 3212030778 2049303162 3567222883 2277747821 1384278011)'
(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)))))