


Bits error versus re



Bits error versus im



Bits error versus base
Results
if im < -1.3909444433223192e+163Initial program 62.0
Simplified62.0
rmApplied times-frac62.0
Simplified62.0
Taylor expanded around -inf 51.7
Simplified51.7
rmApplied *-un-lft-identity51.7
Applied add-sqr-sqrt51.6
Applied times-frac51.6
Simplified51.6
if -1.3909444433223192e+163 < im < -2.897340525820373e-111Initial program 16.9
Simplified16.9
rmApplied times-frac16.8
Simplified16.8
rmApplied pow1/216.8
Applied log-pow16.8
Applied associate-/l*16.8
if -2.897340525820373e-111 < im < 1.505571081103404e-136 or 7.693766194139374e+18 < im < 1.511238324259529e+52Initial program 26.9
Simplified26.9
Taylor expanded around -inf 10.4
Simplified10.4
if 1.505571081103404e-136 < im < 7.693766194139374e+18Initial program 16.2
Simplified16.2
rmApplied times-frac16.1
Simplified16.1
rmApplied div-inv16.1
if 1.511238324259529e+52 < im Initial program 43.3
Simplified43.3
Taylor expanded around 0 11.1
Final simplification17.7
herbie shell --seed 2019002
(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: 52.0s)Debug log
1 calls. Slowest were:
| 6.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: 30.3b
Found 4 expressions with local error:
| 28.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.4b | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
4 calls. Slowest were:
| 16.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 4.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 4.0ms | (* (log base) (log base)) |
4 calls. Slowest were:
| 184.0ms | (* (log base) (log base)) |
| 124.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 98.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 19.0ms | (sqrt (+ (* re re) (* im im))) |
49 calls. Slowest were:
| 489.0ms | (- (+ (log (log (sqrt (+ (* re re) (* im im))))) (log (log base))) (+ (log (log base)) (log (log base)))) |
| 461.0ms | (- (+ (log (log (sqrt (+ (* re re) (* im im))))) (log (log base))) (log (* (log base) (log base)))) |
| 396.0ms | (* -1 (* (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
17 alts after pruning (17 fresh and 0 done)
Merged error: 7.0b
Found 3 expressions with local error:
| 28.9b | (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:
| 8.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 2.0ms | (+ (* re re) (* im im)) |
| 2.0ms | (sqrt (+ (* re re) (* im im))) |
3 calls. Slowest were:
| 90.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 32.0ms | (sqrt (+ (* re re) (* im im))) |
| 15.0ms | (+ (* re re) (* im im)) |
55 calls. Slowest were:
| 180.0ms | (* -1 (/ (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
| 176.0ms | (/ (* (* (log (sqrt (+ (* re re) (* im im)))) (log (sqrt (+ (* re re) (* im im))))) (log (sqrt (+ (* re re) (* im im))))) (* (* (log base) (log base)) (log base))) |
| 165.0ms | (/ (log (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im))))) (log base)) |
16 alts after pruning (16 fresh and 0 done)
Merged error: 7.0b
Found 1 expressions with local error:
| 0.3b | (/ (log (- re)) (log base)) |
1 calls. Slowest were:
| 5.0ms | (/ (log (- re)) (log base)) |
1 calls. Slowest were:
| 102.0ms | (/ (log (- re)) (log base)) |
34 calls. Slowest were:
| 192.0ms | (* -1 (/ (- (log -1) (log (/ 1 re))) (log (/ 1 base)))) |
| 147.0ms | (* -1 (/ (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
| 113.0ms | (/ (* (* (log (- re)) (log (- re))) (log (- re))) (* (* (log base) (log base)) (log base))) |
23 alts after pruning (23 fresh and 0 done)
Merged error: 6.9b
Found 1 expressions with local error:
| 0.3b | (/ (log (- re)) (log base)) |
1 calls. Slowest were:
| 4.0ms | (/ (log (- re)) (log base)) |
1 calls. Slowest were:
| 103.0ms | (/ (log (- re)) (log base)) |
34 calls. Slowest were:
| 174.0ms | (* -1 (/ (- (log -1) (log (/ 1 re))) (log (/ 1 base)))) |
| 123.0ms | (* -1 (/ (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
| 113.0ms | (/ (* (* (log (- re)) (log (- re))) (log (- re))) (* (* (log base) (log base)) (log base))) |
22 alts after pruning (22 fresh and 0 done)
Merged error: 6.9b
53.2% (10.3b remaining)
Error of 17.7b against oracle of 7.4b and baseline of 29.3b