


Bits error versus x



Bits error versus n
Results
if n < -8170750499256.65 or 28497336.429138504 < n Initial program 44.8
Initial simplification44.8
rmApplied add-log-exp44.8
Taylor expanded around -inf 63.0
Simplified31.8
if -8170750499256.65 < n < -3.2441857736692268e-304Initial program 1.6
Initial simplification1.6
rmApplied add-log-exp1.8
rmApplied add-cube-cbrt1.8
Applied exp-prod1.8
Applied log-pow1.8
rmApplied add-sqr-sqrt1.8
Applied add-sqr-sqrt1.8
Applied difference-of-squares1.8
rmApplied add-log-exp1.8
Applied exp-to-pow1.8
Applied log-pow1.7
if -3.2441857736692268e-304 < n < 28497336.429138504Initial program 23.2
Initial simplification23.2
rmApplied add-exp-log24.1
Applied pow-exp24.1
Simplified2.8
Final simplification18.8
herbie shell --seed 2018360 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 32.3s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 28.8b
Found 2 expressions with local error:
| 1.7b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 0.5b | (pow (+ 1 x) (/ 1 n)) |
2 calls. Slowest were:
| 25.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 3.0ms | (pow (+ 1 x) (/ 1 n)) |
2 calls. Slowest were:
| 196.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 73.0ms | (pow (+ 1 x) (/ 1 n)) |
62 calls. Slowest were:
| 512.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 269.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 183.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: 18.5b
Found 3 expressions with local error:
| 1.7b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.7b | (log (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))) |
| 0.5b | (pow (+ 1 x) (/ 1 n)) |
3 calls. Slowest were:
| 33.0ms | (log (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))) |
| 10.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 3.0ms | (pow (+ 1 x) (/ 1 n)) |
3 calls. Slowest were:
| 232.0ms | (log (exp (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))) |
| 198.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 79.0ms | (pow (+ 1 x) (/ 1 n)) |
96 calls. Slowest were:
| 592.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 394.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 326.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 18.5b
Found 4 expressions with local error:
| 1.7b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.7b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.7b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.4b | (log (exp (* (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))) (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))))) |
4 calls. Slowest were:
| 24.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 20.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 19.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
4 calls. Slowest were:
| 473.0ms | (log (exp (* (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))) (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))))) |
| 209.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 169.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 153.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
159 calls. Slowest were:
| 355.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 298.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 290.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 18.4b
Found 4 expressions with local error:
| 1.7b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.7b | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 1.5b | (- (sqrt (pow (+ 1 x) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 1.4b | (log (exp (* (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))) (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))))) |
4 calls. Slowest were:
| 15.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 13.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 12.0ms | (- (sqrt (pow (+ 1 x) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
4 calls. Slowest were:
| 462.0ms | (log (exp (* (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))) (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))))))) |
| 249.0ms | (- (sqrt (pow (+ 1 x) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 220.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
| 172.0ms | (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n))) |
244 calls. Slowest were:
| 732.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)))))) |
| 358.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 292.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 18.4b
88.1% (1.4b remaining)
Error of 18.8b against oracle of 17.4b and baseline of 29.0b