


Bits error versus re



Bits error versus im



Bits error versus base
Results
if im < -2.562518015156732e+119Initial program 53.3
Simplified53.3
Taylor expanded around -inf 62.7
Simplified49.3
rmApplied add-cube-cbrt49.3
Applied log-prod49.3
Applied distribute-rgt-in49.3
Taylor expanded around -inf 49.3
rmApplied add-cube-cbrt49.3
Applied associate-*l*49.3
if -2.562518015156732e+119 < im < -3.0031008952659085e+25 or 8.620660951623408e-151 < im < 8.608873861029687e-16Initial program 15.3
Simplified15.3
rmApplied times-frac15.2
Simplified15.2
if -3.0031008952659085e+25 < im < -3.503887784193748e-67Initial program 19.4
Simplified19.4
Taylor expanded around -inf 62.8
Simplified24.3
rmApplied add-cbrt-cube24.5
Applied add-cbrt-cube24.5
Applied cbrt-unprod24.5
Simplified24.5
if -3.503887784193748e-67 < im < -5.1953225150642786e-158Initial program 17.5
Simplified17.5
rmApplied add-cbrt-cube17.6
if -5.1953225150642786e-158 < im < 8.620660951623408e-151Initial program 29.4
Simplified29.4
Taylor expanded around -inf 62.8
Simplified6.9
rmApplied add-cube-cbrt6.9
Applied log-prod6.9
Applied distribute-rgt-in6.9
Taylor expanded around -inf 6.9
Taylor expanded around -inf 62.8
Simplified6.9
if 8.608873861029687e-16 < im < 2.4019107055312503e+32Initial program 14.2
Simplified14.2
Taylor expanded around -inf 62.8
Simplified31.1
rmApplied add-log-exp31.2
if 2.4019107055312503e+32 < im Initial program 42.0
Simplified42.0
Taylor expanded around 0 12.0
Final simplification19.4
herbie shell --seed 2019007
(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: 58.0s)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: 31.1b
Found 4 expressions with local error:
| 29.9b | (sqrt (+ (* re re) (* im im))) |
| 0.5b | (* (log base) (log base)) |
| 0.4b | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 0.3b | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
4 calls. Slowest were:
| 30.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 10.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 8.0ms | (* (log base) (log base)) |
4 calls. Slowest were:
| 188.0ms | (* (log base) (log base)) |
| 78.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 74.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 32.0ms | (sqrt (+ (* re re) (* im im))) |
49 calls. Slowest were:
| 398.0ms | (* -1 (* (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
| 364.0ms | (- (+ (log (log (sqrt (+ (* re re) (* im im))))) (log (log base))) (log (* (log base) (log base)))) |
| 363.0ms | (- (+ (log (log (sqrt (+ (* re re) (* im im))))) (log (log base))) (+ (log (log base)) (log (log base)))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 7.0b
Found 2 expressions with local error:
| 0.3b | (* (/ -1 (log base)) (log (/ -1 re))) |
| 0.3b | (/ -1 (log base)) |
2 calls. Slowest were:
| 9.0ms | (* (/ -1 (log base)) (log (/ -1 re))) |
| 1.0ms | (/ -1 (log base)) |
2 calls. Slowest were:
| 220.0ms | (/ -1 (log base)) |
| 148.0ms | (* (/ -1 (log base)) (log (/ -1 re))) |
27 calls. Slowest were:
| 504.0ms | (* (* (* (/ -1 (log base)) (/ -1 (log base))) (/ -1 (log base))) (* (* (log (/ -1 re)) (log (/ -1 re))) (log (/ -1 re)))) |
| 158.0ms | (* -1 (/ (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
| 84.0ms | (* -1 (/ (- (log -1) (log re)) (log base))) |
20 alts after pruning (20 fresh and 0 done)
Merged error: 6.9b
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))) |
| 1.0ms | (cbrt (/ -1 re)) |
| 0.0ms | (cbrt (/ -1 re)) |
4 calls. Slowest were:
| 333.0ms | (cbrt (/ -1 re)) |
| 330.0ms | (cbrt (/ -1 re)) |
| 323.0ms | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
| 297.0ms | (cbrt (/ -1 re)) |
53 calls. Slowest were:
| 22.0ms | (* (pow (/ 1 (pow re 2)) 1/3) (pow (cbrt -1) 2)) |
| 21.0ms | (* (pow (/ 1 (pow re 2)) 1/3) (pow (cbrt -1) 2)) |
| 13.0ms | (* (/ -1 re) (/ -1 re)) |
22 alts after pruning (21 fresh and 1 done)
Merged error: 6.9b
Found 4 expressions with local error:
| 5.9b | (pow (/ -1 re) 2/3) |
| 0.6b | (cbrt (/ -1 re)) |
| 0.3b | (* (log (cbrt (/ -1 re))) (/ -1 (log base))) |
| 0.3b | (* (log (pow (/ -1 re) 2/3)) (/ -1 (log base))) |
4 calls. Slowest were:
| 10.0ms | (* (log (cbrt (/ -1 re))) (/ -1 (log base))) |
| 8.0ms | (* (log (pow (/ -1 re) 2/3)) (/ -1 (log base))) |
| 1.0ms | (pow (/ -1 re) 2/3) |
4 calls. Slowest were:
| 317.0ms | (cbrt (/ -1 re)) |
| 267.0ms | (pow (/ -1 re) 2/3) |
| 202.0ms | (* (log (cbrt (/ -1 re))) (/ -1 (log base))) |
| 156.0ms | (* (log (pow (/ -1 re) 2/3)) (/ -1 (log base))) |
43 calls. Slowest were:
| 636.0ms | (* (* (* (log (pow (/ -1 re) 2/3)) (log (pow (/ -1 re) 2/3))) (log (pow (/ -1 re) 2/3))) (* (* (/ -1 (log base)) (/ -1 (log base))) (/ -1 (log base)))) |
| 314.0ms | (* -1 (/ (log (pow (/ -1 re) 2/3)) (- (log -1) (log (/ -1 base))))) |
| 254.0ms | (* -1 (/ (log (pow (/ -1 re) 1/3)) (- (log -1) (log (/ -1 base))))) |
22 alts after pruning (22 fresh and 0 done)
Merged error: 6.9b
45.2% (12.0b remaining)
Error of 19.4b against oracle of 7.4b and baseline of 29.3b