


Bits error versus x



Bits error versus n
Results
if n < -9488381.159983333 or 57004.62942959996 < n Initial program 44.2
Taylor expanded around -inf 63.0
Simplified31.9
if -9488381.159983333 < n < -8.075163323171836e-307Initial program 0.7
rmApplied add-log-exp0.8
Applied add-log-exp0.8
Applied diff-log0.8
Simplified0.8
rmApplied add-sqr-sqrt0.8
Applied log-prod0.8
rmApplied exp-diff0.8
Applied sqrt-div0.8
Applied log-div0.8
rmApplied add-cube-cbrt0.8
Applied log-prod0.8
if -8.075163323171836e-307 < n < 57004.62942959996Initial program 23.9
rmApplied add-exp-log24.3
Applied pow-exp24.3
Simplified1.5
Final simplification19.0
herbie shell --seed 2019007 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 47.3s)Debug log
1 calls. Slowest were:
| 10.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 30.0b
Found 3 expressions with local error:
| 1.5b | (- (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:
| 19.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow x (/ 1 n)) |
3 calls. Slowest were:
| 507.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 94.0ms | (pow (+ x 1) (/ 1 n)) |
| 66.0ms | (pow x (/ 1 n)) |
69 calls. Slowest were:
| 562.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 422.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 335.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 16.7b
Found 4 expressions with local error:
| 1.5b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.5b | (log (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))) |
| 1.0b | (pow (+ 1 x) (/ 1 n)) |
| 0.3b | (pow x (/ 1 n)) |
4 calls. Slowest were:
| 19.0ms | (log (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))) |
| 11.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0ms | (pow (+ 1 x) (/ 1 n)) |
4 calls. Slowest were:
| 201.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 185.0ms | (log (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))) |
| 100.0ms | (pow (+ 1 x) (/ 1 n)) |
| 90.0ms | (pow x (/ 1 n)) |
103 calls. Slowest were:
| 572.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 449.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 345.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 16.7b
Found 4 expressions with local error:
| 1.5b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.5b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.5b | (log (sqrt (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))))) |
| 1.5b | (log (sqrt (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))))) |
4 calls. Slowest were:
| 22.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 20.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 9.0ms | (log (sqrt (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))))) |
4 calls. Slowest were:
| 294.0ms | (log (sqrt (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))))) |
| 292.0ms | (log (sqrt (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))))) |
| 243.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 186.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
162 calls. Slowest were:
| 489.0ms | (- (+ (* 1/2 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/2 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
| 458.0ms | (- (+ (* 1/2 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/2 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
| 416.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 16.7b
Found 4 expressions with local error:
| 1.5b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.5b | (- (log (sqrt (exp (pow (+ 1 x) (/ 1 n))))) (log (sqrt (exp (pow x (/ 1 n)))))) |
| 1.5b | (log (sqrt (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))))) |
| 1.0b | (pow (+ 1 x) (/ 1 n)) |
4 calls. Slowest were:
| 15.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 13.0ms | (log (sqrt (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))))) |
| 9.0ms | (- (log (sqrt (exp (pow (+ 1 x) (/ 1 n))))) (log (sqrt (exp (pow x (/ 1 n)))))) |
4 calls. Slowest were:
| 350.0ms | (- (log (sqrt (exp (pow (+ 1 x) (/ 1 n))))) (log (sqrt (exp (pow x (/ 1 n)))))) |
| 332.0ms | (log (sqrt (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))))) |
| 257.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 69.0ms | (pow (+ 1 x) (/ 1 n)) |
168 calls. Slowest were:
| 615.0ms | (- (+ (* 1/2 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/2 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
| 557.0ms | (- (+ (* 1/2 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/2 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
| 511.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 16.5b
87.1% (1.5b remaining)
Error of 19.0b against oracle of 17.5b and baseline of 29.3b