



Bits error versus re




Bits error versus im
| Original | 37.2 |
|---|---|
| Target | 32.2 |
| Herbie | 15.7 |
if (* 2.0 (+ im re)) < -1.3118328708223794e+158 or -1.851808469169166e-142 < (* 2.0 (+ im re)) < -1.951320327065513e-252Initial program 61.0
rmApplied flip-+61.0
Applied associate-*r/61.0
Applied sqrt-div61.0
Applied simplify54.8
rmApplied sqrt-prod54.8
Applied simplify53.7
Taylor expanded around -inf 30.7
Applied simplify30.7
if -1.3118328708223794e+158 < (* 2.0 (+ im re)) < -1.851808469169166e-142Initial program 27.4
rmApplied flip-+27.4
Applied associate-*r/27.4
Applied sqrt-div27.6
Applied simplify12.0
rmApplied sqrt-prod12.1
Applied simplify1.2
rmApplied add-cube-cbrt1.6
if -1.951320327065513e-252 < (* 2.0 (+ im re)) < 3.9508566920778557e-153 or 2.1074591183689516e+152 < (* 2.0 (+ im re)) < 1.4355937120059698e+260Initial program 58.4
Taylor expanded around inf 31.0
if 3.9508566920778557e-153 < (* 2.0 (+ im re)) < 2.1074591183689516e+152Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied sqrt-prod0.1
if 1.4355937120059698e+260 < (* 2.0 (+ im re)) Initial program 61.1
Taylor expanded around 0 27.3
Time bar (total: 55.2s)Debug logProfile
herbie shell --seed '#(1071246582 2318319007 2683472949 3810440501 3233274817 2724848749)'
(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)))))