



Bits error versus re




Bits error versus im
| Original | 37.2 |
|---|---|
| Target | 32.2 |
| Herbie | 15.7 |
if (* 2.0 (+ im re)) < -1.3992883374652233e+158 or -5.999800318926942e-140 < (* 2.0 (+ im re)) < -1.4634902452991348e-252Initial program 60.8
rmApplied flip-+60.8
Applied associate-*r/60.8
Applied sqrt-div60.9
Applied simplify54.6
rmApplied sqrt-prod54.6
Applied simplify53.5
Taylor expanded around -inf 30.8
Applied simplify30.8
if -1.3992883374652233e+158 < (* 2.0 (+ im re)) < -5.999800318926942e-140Initial program 27.4
rmApplied flip-+27.4
Applied associate-*r/27.4
Applied sqrt-div27.6
Applied simplify11.9
rmApplied sqrt-prod12.0
Applied simplify1.3
rmApplied add-cube-cbrt1.6
if -1.4634902452991348e-252 < (* 2.0 (+ im re)) < 2.3705140152467133e-152 or 2.2572779437917313e+152 < (* 2.0 (+ im re)) < 1.4355937120059698e+260Initial program 58.4
Taylor expanded around inf 31.0
if 2.3705140152467133e-152 < (* 2.0 (+ im re)) < 2.2572779437917313e+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: 52.7s)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)))))