


Bits error versus re



Bits error versus im
Results
if re < -1.8650551235017197e+148Initial program 59.3
Initial simplification59.3
Taylor expanded around -inf 6.9
if -1.8650551235017197e+148 < re < 7.121039085562552e-248Initial program 20.5
Initial simplification20.5
if 7.121039085562552e-248 < re < 2.2531080696251418e-125Initial program 30.8
Initial simplification30.8
Taylor expanded around 0 38.1
if 2.2531080696251418e-125 < re Initial program 50.8
Initial simplification50.8
rmApplied flip--50.8
Applied associate-*l/50.8
Applied sqrt-div50.8
Simplified35.9
Final simplification25.7
herbie shell --seed 2018362
(FPCore (re im)
:name "math.sqrt on complex, imaginary part, im greater than 0 branch"
(* 0.5 (sqrt (* 2.0 (- (sqrt (+ (* re re) (* im im))) re)))))
Time bar (total: 14.1s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 35.8b
Found 4 expressions with local error:
| 28.3b | (sqrt (+ (* re re) (* im im))) |
| 0.5b | (- (sqrt (+ (* re re) (* im im))) re) |
| 0.5b | (sqrt (* (- (sqrt (+ (* re re) (* im im))) re) 2.0)) |
| 0.0b | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 549.0ms | (sqrt (* (- (sqrt (+ (* re re) (* im im))) re) 2.0)) |
| 10.0ms | (- (sqrt (+ (* re re) (* im im))) re) |
| 5.0ms | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 105.0ms | (sqrt (* (- (sqrt (+ (* re re) (* im im))) re) 2.0)) |
| 38.0ms | (sqrt (+ (* re re) (* im im))) |
| 28.0ms | (- (sqrt (+ (* re re) (* im im))) re) |
| 15.0ms | (+ (* re re) (* im im)) |
22 calls. Slowest were:
| 283.0ms | (sqrt (* (- (* (sqrt (+ (* re re) (* im im))) (sqrt (+ (* re re) (* im im)))) (* re re)) 2.0)) |
| 235.0ms | (sqrt (* (- (pow (sqrt (+ (* re re) (* im im))) 3) (pow re 3)) 2.0)) |
| 148.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 15.3b
Found 4 expressions with local error:
| 28.3b | (sqrt (+ (* re re) (* im im))) |
| 28.3b | (sqrt (+ (* re re) (* im im))) |
| 28.3b | (sqrt (+ (* re re) (* im im))) |
| 0.5b | (- (sqrt (+ (* re re) (* im im))) re) |
4 calls. Slowest were:
| 15.0ms | (- (sqrt (+ (* re re) (* im im))) re) |
| 7.0ms | (sqrt (+ (* re re) (* im im))) |
| 3.0ms | (sqrt (+ (* re re) (* im im))) |
4 calls. Slowest were:
| 29.0ms | (sqrt (+ (* re re) (* im im))) |
| 27.0ms | (- (sqrt (+ (* re re) (* im im))) re) |
| 25.0ms | (sqrt (+ (* re re) (* im im))) |
| 20.0ms | (sqrt (+ (* re re) (* im im))) |
30 calls. Slowest were:
| 155.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 138.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 111.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
8 alts after pruning (6 fresh and 2 done)
Merged error: 15.3b
Found 4 expressions with local error:
| 29.3b | (cbrt (+ (* re re) (* im im))) |
| 29.3b | (cbrt (+ (* re re) (* im im))) |
| 29.3b | (cbrt (+ (* re re) (* im im))) |
| 28.3b | (sqrt (* (* (cbrt (+ (* re re) (* im im))) (cbrt (+ (* re re) (* im im)))) (cbrt (+ (* re re) (* im im))))) |
4 calls. Slowest were:
| 9.0ms | (sqrt (* (* (cbrt (+ (* re re) (* im im))) (cbrt (+ (* re re) (* im im)))) (cbrt (+ (* re re) (* im im))))) |
| 1.0ms | (cbrt (+ (* re re) (* im im))) |
| 1.0ms | (cbrt (+ (* re re) (* im im))) |
4 calls. Slowest were:
| 128.0ms | (cbrt (+ (* re re) (* im im))) |
| 117.0ms | (cbrt (+ (* re re) (* im im))) |
| 93.0ms | (cbrt (+ (* re re) (* im im))) |
| 33.0ms | (sqrt (* (* (cbrt (+ (* re re) (* im im))) (cbrt (+ (* re re) (* im im)))) (cbrt (+ (* re re) (* im im))))) |
54 calls. Slowest were:
| 202.0ms | (sqrt (* (* (cbrt (+ (pow (* re re) 3) (pow (* im im) 3))) (cbrt (+ (* re re) (* im im)))) (cbrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))))) |
| 184.0ms | (sqrt (* (* (cbrt (+ (* re re) (* im im))) (cbrt (+ (pow (* re re) 3) (pow (* im im) 3)))) (cbrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))))) |
| 183.0ms | (sqrt (* (* (cbrt (+ (* re re) (* im im))) (cbrt (- (* (* re re) (* re re)) (* (* im im) (* im im))))) (cbrt (+ (pow (* re re) 3) (pow (* im im) 3))))) |
8 alts after pruning (5 fresh and 3 done)
Merged error: 15.3b
Found 4 expressions with local error:
| 29.3b | (cbrt (+ (* re re) (* im im))) |
| 29.3b | (cbrt (+ (* re re) (* im im))) |
| 28.3b | (sqrt (+ (* re re) (* im im))) |
| 28.3b | (sqrt (+ (* re re) (* im im))) |
4 calls. Slowest were:
| 3.0ms | (sqrt (+ (* re re) (* im im))) |
| 2.0ms | (sqrt (+ (* re re) (* im im))) |
| 1.0ms | (cbrt (+ (* re re) (* im im))) |
4 calls. Slowest were:
| 98.0ms | (cbrt (+ (* re re) (* im im))) |
| 87.0ms | (cbrt (+ (* re re) (* im im))) |
| 25.0ms | (sqrt (+ (* re re) (* im im))) |
| 19.0ms | (sqrt (+ (* re re) (* im im))) |
34 calls. Slowest were:
| 203.0ms | (cbrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 185.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 185.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
8 alts after pruning (4 fresh and 4 done)
Merged error: 15.3b
56.3% (9.1b remaining)
Error of 25.7b against oracle of 16.6b and baseline of 37.5b