


Bits error versus x



Bits error versus n
Results
if (/ 1 n) < -0.0004894433671653746Initial program 0.4
rmApplied add-cube-cbrt0.4
if -0.0004894433671653746 < (/ 1 n) < 2.5145598140327372e-26Initial program 44.7
Taylor expanded around -inf 63.0
Simplified32.2
if 2.5145598140327372e-26 < (/ 1 n) Initial program 28.1
rmApplied add-exp-log28.1
Applied pow-exp28.2
Simplified7.6
Final simplification19.3
herbie shell --seed 2019005 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 1.1m)Debug log
1 calls. Slowest were:
| 5.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 29.3b
Found 3 expressions with local error:
| 0.9b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 0.7b | (pow (+ x 1) (/ 1 n)) |
| 0.5b | (pow x (/ 1 n)) |
3 calls. Slowest were:
| 22.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow x (/ 1 n)) |
3 calls. Slowest were:
| 210.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 90.0ms | (pow (+ x 1) (/ 1 n)) |
| 78.0ms | (pow x (/ 1 n)) |
69 calls. Slowest were:
| 502.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 453.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 315.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 16.7b
Found 4 expressions with local error:
| 0.9b | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 0.7b | (pow (+ x 1) (/ 1 n)) |
| 0.7b | (pow (+ x 1) (/ 1 n)) |
| 0.5b | (pow x (/ 1 n)) |
4 calls. Slowest were:
| 25.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
4 calls. Slowest were:
| 235.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 71.0ms | (pow (+ x 1) (/ 1 n)) |
| 66.0ms | (pow (+ x 1) (/ 1 n)) |
| 54.0ms | (pow x (/ 1 n)) |
166 calls. Slowest were:
| 578.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 560.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 429.0ms | (- (+ (* 1/4 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/4 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 16.6b
Found 4 expressions with local error:
| 0.9b | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 0.9b | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 0.9b | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 0.7b | (pow (+ x 1) (/ 1 n)) |
4 calls. Slowest were:
| 25.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 15.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 13.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
4 calls. Slowest were:
| 263.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 255.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 254.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 75.0ms | (pow (+ x 1) (/ 1 n)) |
417 calls. Slowest were:
| 557.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 541.0ms | (- (+ (* 1/4 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/4 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
| 434.0ms | (- (+ (* 1/4 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/4 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 16.6b
Found 4 expressions with local error:
| 0.9b | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 0.9b | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 0.9b | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 0.9b | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
4 calls. Slowest were:
| 29.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 25.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 24.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
4 calls. Slowest were:
| 275.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 252.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 241.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 239.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
540 calls. Slowest were:
| 432.0ms | (- (+ (* 1/4 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/4 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
| 389.0ms | (- (+ (* 1/4 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/4 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
| 387.0ms | (- (+ (* 1/4 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/4 (/ (log (/ -1 x)) (* x (pow n 2)))))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 16.6b
86.6% (1.6b remaining)
Error of 19.3b against oracle of 17.7b and baseline of 29.5b