


Bits error versus x



Bits error versus n
Results
if n < -323077932.98342127 or 1020579.3726728838 < n Initial program 44.7
Taylor expanded around inf 32.0
Simplified32.0
if -323077932.98342127 < n < 1020579.3726728838Initial program 8.7
rmApplied add-sqr-sqrt8.7
Final simplification21.8
herbie shell --seed 2019004
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 26.3s)Debug log
1 calls. Slowest were:
| 11.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 28.3b
Found 3 expressions with local error:
| 1.9b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.0b | (pow (+ x 1) (/ 1 n)) |
| 0.3b | (pow x (/ 1 n)) |
3 calls. Slowest were:
| 16.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow x (/ 1 n)) |
3 calls. Slowest were:
| 208.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 96.0ms | (pow (+ x 1) (/ 1 n)) |
| 86.0ms | (pow x (/ 1 n)) |
28 calls. Slowest were:
| 526.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 303.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 264.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 19.7b
Found 4 expressions with local error:
| 1.9b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.9b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.9b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.0b | (pow (+ x 1) (/ 1 n)) |
4 calls. Slowest were:
| 20.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 15.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 10.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
4 calls. Slowest were:
| 186.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 181.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 176.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 73.0ms | (pow (+ x 1) (/ 1 n)) |
39 calls. Slowest were:
| 462.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 384.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 286.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 19.7b
Found 4 expressions with local error:
| 3.1b | (- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n))) |
| 1.0b | (pow (+ x 1) (/ 1 n)) |
| 1.0b | (pow (+ x 1) (/ 1 n)) |
| 0.3b | (pow x (/ 1 n)) |
4 calls. Slowest were:
| 21.0ms | (- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n))) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
4 calls. Slowest were:
| 236.0ms | (- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n))) |
| 82.0ms | (pow (+ x 1) (/ 1 n)) |
| 76.0ms | (pow x (/ 1 n)) |
| 59.0ms | (pow (+ x 1) (/ 1 n)) |
37 calls. Slowest were:
| 584.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 554.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 311.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 19.7b
Found 4 expressions with local error:
| 3.1b | (- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n))) |
| 1.0b | (pow (+ x 1) (/ 1 n)) |
| 1.0b | (pow (+ x 1) (/ 1 n)) |
| 0.3b | (pow x (/ 1 n)) |
4 calls. Slowest were:
| 11.0ms | (- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n))) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
4 calls. Slowest were:
| 191.0ms | (- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n))) |
| 95.0ms | (pow (+ x 1) (/ 1 n)) |
| 64.0ms | (pow x (/ 1 n)) |
| 63.0ms | (pow (+ x 1) (/ 1 n)) |
37 calls. Slowest were:
| 611.0ms | (- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n)) |
| 607.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 528.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
9 alts after pruning (7 fresh and 2 done)
Merged error: 19.7b
86.7% (1.1b remaining)
Error of 21.8b against oracle of 20.7b and baseline of 29.0b