


Bits error versus N
if N < 7836.516550508435Initial program 0.1
Simplified0.1
rmApplied log1p-udef0.1
Applied diff-log0.1
rmApplied div-inv0.1
if 7836.516550508435 < N Initial program 59.4
Simplified59.4
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2019004 +o rules:numerics
(FPCore (N)
:name "2log (problem 3.3.6)"
(- (log (+ N 1)) (log N)))
Time bar (total: 9.9s)Debug log
1 calls. Slowest were:
| 5.0ms | (- (log (+ N 1)) (log N)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 31.5b
Found 1 expressions with local error:
| 2.2b | (- (log1p N) (log N)) |
1 calls. Slowest were:
| 4.0ms | (- (log1p N) (log N)) |
1 calls. Slowest were:
| 63.0ms | (- (log1p N) (log N)) |
28 calls. Slowest were:
| 239.0ms | (- (+ (* 1/3 (/ 1 (pow N 3))) (/ 1 N)) (* 1/2 (/ 1 (pow N 2)))) |
| 164.0ms | (- (+ (* 1/3 (/ 1 (pow N 3))) (/ 1 N)) (* 1/2 (/ 1 (pow N 2)))) |
| 104.0ms | (- N (+ (log N) (* 1/2 (pow N 2)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.1b
Found 3 expressions with local error:
| 0.6b | (/ 1 (* N N)) |
| 0.4b | (/ 1/3 N) |
| 0.1b | (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N)) |
3 calls. Slowest were:
| 2.0ms | (/ 1 (* N N)) |
| 0.0ms | (/ 1/3 N) |
| 0.0ms | (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N)) |
3 calls. Slowest were:
| 20.0ms | (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N)) |
| 20.0ms | (/ 1 (* N N)) |
| 12.0ms | (/ 1/3 N) |
11 calls. Slowest were:
| 196.0ms | (- (+ (* 1/3 (/ 1 (pow N 3))) (/ 1 N)) (* 1/2 (/ 1 (pow N 2)))) |
| 178.0ms | (- (+ (/ 1 N) (* 1/3 (/ 1 (pow N 3)))) (* 1/2 (/ 1 (pow N 2)))) |
| 158.0ms | (- (+ (* 1/3 (/ 1 (pow N 3))) (/ 1 N)) (* 1/2 (/ 1 (pow N 2)))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 9.1b | (sqrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))) |
| 9.1b | (sqrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))) |
| 0.6b | (/ 1 (* N N)) |
| 0.6b | (/ 1 (* N N)) |
4 calls. Slowest were:
| 2.0ms | (sqrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))) |
| 2.0ms | (sqrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))) |
| 1.0ms | (/ 1 (* N N)) |
4 calls. Slowest were:
| 32.0ms | (sqrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))) |
| 32.0ms | (sqrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))) |
| 13.0ms | (/ 1 (* N N)) |
| 13.0ms | (/ 1 (* N N)) |
24 calls. Slowest were:
| 495.0ms | (sqrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))) |
| 411.0ms | (sqrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))) |
| 400.0ms | (sqrt (* (cbrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))) (cbrt (fma (/ 1 (* N N)) (- (/ 1/3 N) 1/2) (/ 1 N))))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0.0b
Found 2 expressions with local error:
| 3.2b | (log (/ (+ 1 N) N)) |
| 0.0b | (/ (+ 1 N) N) |
2 calls. Slowest were:
| 3.0ms | (/ (+ 1 N) N) |
| 1.0ms | (log (/ (+ 1 N) N)) |
2 calls. Slowest were:
| 62.0ms | (log (/ (+ 1 N) N)) |
| 27.0ms | (/ (+ 1 N) N) |
16 calls. Slowest were:
| 204.0ms | (- (+ (* 1/3 (/ 1 (pow N 3))) (/ 1 N)) (* 1/2 (/ 1 (pow N 2)))) |
| 154.0ms | (- (+ (* 1/3 (/ 1 (pow N 3))) (/ 1 N)) (* 1/2 (/ 1 (pow N 2)))) |
| 75.0ms | (- N (+ (log N) (* 1/2 (pow N 2)))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0.0b
100% (0.0b remaining)
Error of 0.1b against oracle of 0.1b and baseline of 31.1b