


Bits error versus re



Bits error versus im
Results
if re < -1.150911151621305e+154Initial program 59.3
rmApplied add-exp-log59.3
Taylor expanded around -inf 8.0
Simplified8.0
if -1.150911151621305e+154 < re < 1.2497447225446502e+148Initial program 20.1
if 1.2497447225446502e+148 < re Initial program 58.0
Taylor expanded around inf 7.9
Final simplification17.1
herbie shell --seed 2019005
(FPCore (re im)
:name "math.abs on complex"
(sqrt (+ (* re re) (* im im))))
Time bar (total: 8.6s)Debug log
1 calls. Slowest were:
| 2.0ms | (sqrt (+ (* re re) (* im im))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 29.0b
Found 2 expressions with local error:
| 29.0b | (sqrt (+ (* re re) (* im im))) |
| 0.0b | (+ (* re re) (* im im)) |
2 calls. Slowest were:
| 2.0ms | (+ (* re re) (* im im)) |
| 2.0ms | (sqrt (+ (* re re) (* im im))) |
2 calls. Slowest were:
| 25.0ms | (sqrt (+ (* re re) (* im im))) |
| 25.0ms | (+ (* re re) (* im im)) |
13 calls. Slowest were:
| 131.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 40.0ms | (sqrt (+ (pow (* re re) 3) (pow (* im im) 3))) |
| 11.0ms | (* (exp (* re re)) (exp (* im im))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 7.9b
Found 3 expressions with local error:
| 29.0b | (sqrt (+ (* re re) (* im im))) |
| 5.7b | (exp (log (sqrt (+ (* re re) (* im im))))) |
| 0.0b | (+ (* re re) (* im im)) |
3 calls. Slowest were:
| 3.0ms | (exp (log (sqrt (+ (* re re) (* im im))))) |
| 2.0ms | (+ (* re re) (* im im)) |
| 2.0ms | (sqrt (+ (* re re) (* im im))) |
3 calls. Slowest were:
| 26.0ms | (sqrt (+ (* re re) (* im im))) |
| 21.0ms | (exp (log (sqrt (+ (* re re) (* im im))))) |
| 15.0ms | (+ (* re re) (* im im)) |
30 calls. Slowest were:
| 146.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 119.0ms | (exp (log (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))))) |
| 51.0ms | (sqrt (+ (pow (* re re) 3) (pow (* im im) 3))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 7.9b
Found 4 expressions with local error:
| 29.0b | (sqrt (+ (* re re) (* im im))) |
| 29.0b | (sqrt (+ (* re re) (* im im))) |
| 29.0b | (sqrt (+ (* re re) (* im im))) |
| 5.8b | (pow (exp (* (cbrt (log (sqrt (+ (* re re) (* im im))))) (cbrt (log (sqrt (+ (* re re) (* im im))))))) (cbrt (log (sqrt (+ (* re re) (* im im)))))) |
4 calls. Slowest were:
| 9.0ms | (pow (exp (* (cbrt (log (sqrt (+ (* re re) (* im im))))) (cbrt (log (sqrt (+ (* re re) (* im im))))))) (cbrt (log (sqrt (+ (* re re) (* im im)))))) |
| 4.0ms | (sqrt (+ (* re re) (* im im))) |
| 4.0ms | (sqrt (+ (* re re) (* im im))) |
4 calls. Slowest were:
| 329.0ms | (pow (exp (* (cbrt (log (sqrt (+ (* re re) (* im im))))) (cbrt (log (sqrt (+ (* re re) (* im im))))))) (cbrt (log (sqrt (+ (* re re) (* im im)))))) |
| 31.0ms | (sqrt (+ (* re re) (* im im))) |
| 30.0ms | (sqrt (+ (* re re) (* im im))) |
| 29.0ms | (sqrt (+ (* re re) (* im im))) |
45 calls. Slowest were:
| 120.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 108.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 102.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 7.9b
Found 4 expressions with local error:
| 30.3b | (log (+ (* re re) (* im im))) |
| 29.0b | (sqrt (+ (* re re) (* im im))) |
| 29.0b | (sqrt (+ (* re re) (* im im))) |
| 5.7b | (pow (pow (exp (* (cbrt (log (sqrt (+ (* re re) (* im im))))) (cbrt (log (sqrt (+ (* re re) (* im im))))))) (cbrt 1/2)) (cbrt (log (+ (* re re) (* im im))))) |
4 calls. Slowest were:
| 5.0ms | (pow (pow (exp (* (cbrt (log (sqrt (+ (* re re) (* im im))))) (cbrt (log (sqrt (+ (* re re) (* im im))))))) (cbrt 1/2)) (cbrt (log (+ (* re re) (* im im))))) |
| 4.0ms | (log (+ (* re re) (* im im))) |
| 2.0ms | (sqrt (+ (* re re) (* im im))) |
4 calls. Slowest were:
| 661.0ms | (pow (pow (exp (* (cbrt (log (sqrt (+ (* re re) (* im im))))) (cbrt (log (sqrt (+ (* re re) (* im im))))))) (cbrt 1/2)) (cbrt (log (+ (* re re) (* im im))))) |
| 41.0ms | (log (+ (* re re) (* im im))) |
| 25.0ms | (sqrt (+ (* re re) (* im im))) |
| 21.0ms | (sqrt (+ (* re re) (* im im))) |
47 calls. Slowest were:
| 267.0ms | (exp (* (* (cbrt 1/2) (log (/ -1 re))) (pow -2 1/3))) |
| 174.0ms | (log (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 169.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 7.9b
57.2% (9.4b remaining)
Error of 17.1b against oracle of 7.7b and baseline of 29.7b