


Bits error versus re



Bits error versus im



Bits error versus base
Results
if re < -1.2142195196570871e+89Initial program 48.2
Simplified48.2
Taylor expanded around -inf 62.8
Simplified9.3
rmApplied add-cube-cbrt9.3
Applied log-prod9.4
Applied distribute-lft-in9.4
rmApplied pow1/39.4
if -1.2142195196570871e+89 < re Initial program 21.2
Simplified21.2
rmApplied times-frac21.1
Simplified21.1
Final simplification16.8
herbie shell --seed 2019008
(FPCore (re im base)
:name "math.log/2 on complex, real part"
(/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))))
Time bar (total: 50.7s)Debug log
1 calls. Slowest were:
| 13.0ms | (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 29.4b
Found 4 expressions with local error:
| 28.0b | (sqrt (+ (* re re) (* im im))) |
| 0.6b | (* (log base) (log base)) |
| 0.4b | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 0.3b | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
4 calls. Slowest were:
| 19.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 9.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 7.0ms | (* (log base) (log base)) |
4 calls. Slowest were:
| 212.0ms | (* (log base) (log base)) |
| 95.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 77.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 33.0ms | (sqrt (+ (* re re) (* im im))) |
49 calls. Slowest were:
| 576.0ms | (/ (* (* (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) (log base))) (* (log (sqrt (+ (* re re) (* im im)))) (log base))) (* (* (* (log base) (log base)) (log base)) (* (* (log base) (log base)) (log base)))) |
| 362.0ms | (- (+ (log (log (sqrt (+ (* re re) (* im im))))) (log (log base))) (+ (log (log base)) (log (log base)))) |
| 358.0ms | (* -1 (* (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
17 alts after pruning (17 fresh and 0 done)
Merged error: 8.8b
Found 3 expressions with local error:
| 0.4b | (* (/ -1 (log base)) (log (/ -1 re))) |
| 0.3b | (/ -1 (log base)) |
| 0.0b | (log (/ -1 re)) |
3 calls. Slowest were:
| 8.0ms | (* (/ -1 (log base)) (log (/ -1 re))) |
| 1.0ms | (log (/ -1 re)) |
| 1.0ms | (/ -1 (log base)) |
3 calls. Slowest were:
| 184.0ms | (/ -1 (log base)) |
| 171.0ms | (log (/ -1 re)) |
| 120.0ms | (* (/ -1 (log base)) (log (/ -1 re))) |
36 calls. Slowest were:
| 422.0ms | (* (* (* (/ -1 (log base)) (/ -1 (log base))) (/ -1 (log base))) (* (* (log (/ -1 re)) (log (/ -1 re))) (log (/ -1 re)))) |
| 122.0ms | (* -1 (/ (- (log -1) (log re)) (log base))) |
| 117.0ms | (* -1 (/ (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
24 alts after pruning (24 fresh and 0 done)
Merged error: 8.7b
Found 4 expressions with local error:
| 0.6b | (cbrt (/ -1 re)) |
| 0.6b | (cbrt (/ -1 re)) |
| 0.6b | (cbrt (/ -1 re)) |
| 0.5b | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
4 calls. Slowest were:
| 4.0ms | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
| 0.0ms | (cbrt (/ -1 re)) |
| 0.0ms | (cbrt (/ -1 re)) |
4 calls. Slowest were:
| 332.0ms | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
| 310.0ms | (cbrt (/ -1 re)) |
| 283.0ms | (cbrt (/ -1 re)) |
| 282.0ms | (cbrt (/ -1 re)) |
53 calls. Slowest were:
| 26.0ms | (* (pow (/ 1 (pow re 2)) 1/3) (pow (cbrt -1) 2)) |
| 22.0ms | (* (pow (/ 1 (pow re 2)) 1/3) (pow (cbrt -1) 2)) |
| 8.0ms | (* (/ -1 re) (/ -1 re)) |
25 alts after pruning (25 fresh and 0 done)
Merged error: 8.7b
Found 4 expressions with local error:
| 5.0b | (pow (/ -1 re) 1/3) |
| 0.6b | (cbrt (/ -1 re)) |
| 0.6b | (cbrt (/ -1 re)) |
| 0.5b | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
4 calls. Slowest were:
| 8.0ms | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
| 2.0ms | (pow (/ -1 re) 1/3) |
| 1.0ms | (cbrt (/ -1 re)) |
4 calls. Slowest were:
| 350.0ms | (cbrt (/ -1 re)) |
| 324.0ms | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
| 294.0ms | (cbrt (/ -1 re)) |
| 254.0ms | (pow (/ -1 re) 1/3) |
54 calls. Slowest were:
| 81.0ms | (exp (* 1/3 (+ (log (/ 1 re)) (log -1)))) |
| 62.0ms | (exp (* 1/3 (- (log -1) (log re)))) |
| 24.0ms | (* (log (/ -1 re)) 1/3) |
25 alts after pruning (24 fresh and 1 done)
Merged error: 8.7b
55.1% (9.7b remaining)
Error of 16.8b against oracle of 7.2b and baseline of 28.7b