


Bits error versus re



Bits error versus im



Bits error versus base
Results
if re < -6.766300819866214e+134Initial program 57.0
Initial simplification57.0
rmApplied times-frac57.0
Simplified57.0
rmApplied div-inv57.0
Taylor expanded around -inf 7.9
Simplified7.9
if -6.766300819866214e+134 < re Initial program 20.1
Initial simplification20.1
rmApplied times-frac20.1
Simplified20.1
rmApplied pow1/220.1
Applied log-pow20.1
Applied associate-/l*20.1
rmApplied +-commutative20.1
Final simplification16.7
herbie shell --seed 2018362
(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: 15.4s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 27.3b
Found 4 expressions with local error:
| 26.0b | (sqrt (+ (* re re) (* im im))) |
| 0.5b | (* (log base) (log base)) |
| 0.3b | (* (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:
| 24.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 9.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 4.0ms | (* (log base) (log base)) |
4 calls. Slowest were:
| 155.0ms | (* (log base) (log base)) |
| 108.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 107.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 21.0ms | (sqrt (+ (* re re) (* im im))) |
49 calls. Slowest were:
| 472.0ms | (- (+ (log (log (sqrt (+ (* re re) (* im im))))) (log (log base))) (log (* (log base) (log base)))) |
| 429.0ms | (- (+ (log (log (sqrt (+ (* re re) (* im im))))) (log (log base))) (+ (log (log base)) (log (log base)))) |
| 427.0ms | (- (log (* (log (sqrt (+ (* re re) (* im im)))) (log base))) (log (* (log base) (log base)))) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 7.6b
Found 3 expressions with local error:
| 26.0b | (sqrt (+ (* re re) (* im im))) |
| 0.4b | (/ (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 0.0b | (+ (* re re) (* im im)) |
3 calls. Slowest were:
| 10.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 3.0ms | (sqrt (+ (* re re) (* im im))) |
| 2.0ms | (+ (* re re) (* im im)) |
3 calls. Slowest were:
| 114.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 21.0ms | (+ (* re re) (* im im)) |
| 21.0ms | (sqrt (+ (* re re) (* im im))) |
55 calls. Slowest were:
| 184.0ms | (* -1 (/ (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
| 173.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 162.0ms | (/ (log (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im))))) (log base)) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 7.6b
Found 4 expressions with local error:
| 26.0b | (sqrt (+ (* re re) (* im im))) |
| 0.4b | (* (log (sqrt (+ (* re re) (* im im)))) (/ 1 (log base))) |
| 0.3b | (/ 1 (log base)) |
| 0.0b | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 5.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (/ 1 (log base))) |
| 2.0ms | (sqrt (+ (* re re) (* im im))) |
| 2.0ms | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 165.0ms | (/ 1 (log base)) |
| 111.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (/ 1 (log base))) |
| 29.0ms | (sqrt (+ (* re re) (* im im))) |
| 24.0ms | (+ (* re re) (* im im)) |
35 calls. Slowest were:
| 440.0ms | (* (* (* (log (sqrt (+ (* re re) (* im im)))) (log (sqrt (+ (* re re) (* im im))))) (log (sqrt (+ (* re re) (* im im))))) (* (* (/ 1 (log base)) (/ 1 (log base))) (/ 1 (log base)))) |
| 139.0ms | (* -1 (/ (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
| 131.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
15 alts after pruning (14 fresh and 1 done)
Merged error: 7.6b
Found 4 expressions with local error:
| 27.0b | (log (+ (* re re) (* im im))) |
| 0.4b | (/ (log base) (log (+ (* re re) (* im im)))) |
| 0.3b | (/ 1/2 (/ (log base) (log (+ (* re re) (* im im))))) |
| 0.0b | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 4.0ms | (+ (* re re) (* im im)) |
| 4.0ms | (/ (log base) (log (+ (* re re) (* im im)))) |
| 2.0ms | (log (+ (* re re) (* im im))) |
4 calls. Slowest were:
| 143.0ms | (/ (log base) (log (+ (* re re) (* im im)))) |
| 117.0ms | (/ 1/2 (/ (log base) (log (+ (* re re) (* im im))))) |
| 45.0ms | (log (+ (* re re) (* im im))) |
| 20.0ms | (+ (* re re) (* im im)) |
68 calls. Slowest were:
| 274.0ms | (* -1/2 (/ (- (log -1) (log (/ -1 base))) (log (/ -1 re)))) |
| 153.0ms | (log (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 118.0ms | (* -1 (/ (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 7.5b
59% (9.4b remaining)
Error of 16.7b against oracle of 7.3b and baseline of 30.3b