


Bits error versus x



Bits error versus n
if (/ 1 n) < -1.1924281163064566e-07Initial program 0.9
rmApplied add-cube-cbrt0.9
Applied unpow-prod-down1.0
Applied fma-neg1.0
Taylor expanded around -inf 63.0
Simplified1.6
if -1.1924281163064566e-07 < (/ 1 n) < 9.66942257384201e-07Initial program 44.7
Taylor expanded around -inf 63.0
Simplified31.4
if 9.66942257384201e-07 < (/ 1 n) Initial program 25.6
rmApplied add-exp-log25.6
Applied pow-exp25.6
Simplified1.6
Final simplification18.4
herbie shell --seed 2019004 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 31.6s)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: 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:
| 10.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:
| 587.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 69.0ms | (pow (+ x 1) (/ 1 n)) |
| 60.0ms | (pow x (/ 1 n)) |
69 calls. Slowest were:
| 505.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 425.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
| 362.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 (7 fresh and 0 done)
Merged error: 14.4b
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))) |
| 14.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 11.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
4 calls. Slowest were:
| 253.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 210.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 206.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 85.0ms | (pow (+ x 1) (/ 1 n)) |
162 calls. Slowest were:
| 529.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 412.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 387.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: 14.4b
Found 4 expressions with local error:
| 3.1b | (fma (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) (pow (cbrt (+ x 1)) (/ 1 n)) (- (pow x (/ 1 n)))) |
| 1.0b | (pow (cbrt (+ x 1)) (/ 1 n)) |
| 0.7b | (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) |
| 0.3b | (cbrt (+ x 1)) |
4 calls. Slowest were:
| 9.0ms | (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) |
| 4.0ms | (pow (cbrt (+ x 1)) (/ 1 n)) |
| 1.0ms | (cbrt (+ x 1)) |
4 calls. Slowest were:
| 407.0ms | (fma (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) (pow (cbrt (+ x 1)) (/ 1 n)) (- (pow x (/ 1 n)))) |
| 131.0ms | (pow (cbrt (+ x 1)) (/ 1 n)) |
| 94.0ms | (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) |
| 44.0ms | (cbrt (+ x 1)) |
44 calls. Slowest were:
| 384.0ms | (- (+ (* 1/3 (/ (log -1) n)) (+ 1 (* 1/3 (/ 1 (* x n))))) (* 1/3 (/ (log (/ -1 x)) n))) |
| 330.0ms | (- (+ (/ 1 (* x n)) (+ (* 8/9 (/ (* (log (/ -1 x)) (log -1)) (pow n 2))) (+ (* 1/2 (/ (pow (log (pow (/ -1 x) -2/3)) 2) (pow n 2))) (+ (* 1/3 (/ (* (log -1) (log (pow (/ -1 x) -2/3))) (pow n 2))) (+ (* 2/3 (/ (log (/ -1 x)) n)) (/ (log (pow (/ -1 x) -2/3)) n)))))) (+ (* 4/9 (/ (pow (log (/ -1 x)) 2) (pow n 2))) (+ (* 2/3 (/ (log -1) n)) (+ (* 4/9 (/ (pow (log -1) 2) (pow n 2))) (* 1/3 (/ (* (log (/ -1 x)) (log (pow (/ -1 x) -2/3))) (pow n 2))))))) |
| 231.0ms | (- (+ (/ (log (pow (/ 1 x) -1/3)) n) (+ (/ (log (pow (/ 1 x) -2/3)) n) (+ (* 1/2 (/ (pow (log (pow (/ 1 x) -1/3)) 2) (pow n 2))) (+ (/ (log (/ 1 x)) n) (+ (/ (* (log (pow (/ 1 x) -1/3)) (log (pow (/ 1 x) -2/3))) (pow n 2)) (+ (/ 1 (* x n)) (* 1/2 (/ (pow (log (pow (/ 1 x) -2/3)) 2) (pow n 2))))))))) (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2)))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 14.3b
Found 4 expressions with local error:
| 3.1b | (fma (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) (pow (cbrt (+ x 1)) (/ 1 n)) (- (pow x (/ 1 n)))) |
| 1.0b | (pow (cbrt (+ x 1)) (/ 1 n)) |
| 0.7b | (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) |
| 0.3b | (cbrt (+ x 1)) |
4 calls. Slowest were:
| 5.0ms | (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) |
| 2.0ms | (pow (cbrt (+ x 1)) (/ 1 n)) |
| 1.0ms | (cbrt (+ x 1)) |
4 calls. Slowest were:
| 383.0ms | (fma (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) (pow (cbrt (+ x 1)) (/ 1 n)) (- (pow x (/ 1 n)))) |
| 121.0ms | (pow (* (cbrt (+ x 1)) (cbrt (+ x 1))) (/ 1 n)) |
| 100.0ms | (pow (cbrt (+ x 1)) (/ 1 n)) |
| 56.0ms | (cbrt (+ x 1)) |
44 calls. Slowest were:
| 477.0ms | (- (+ (* 1/3 (/ (log -1) n)) (+ 1 (* 1/3 (/ 1 (* x n))))) (* 1/3 (/ (log (/ -1 x)) n))) |
| 362.0ms | (- (+ (/ 1 (* x n)) (+ (* 8/9 (/ (* (log (/ -1 x)) (log -1)) (pow n 2))) (+ (* 1/2 (/ (pow (log (pow (/ -1 x) -2/3)) 2) (pow n 2))) (+ (* 1/3 (/ (* (log -1) (log (pow (/ -1 x) -2/3))) (pow n 2))) (+ (* 2/3 (/ (log (/ -1 x)) n)) (/ (log (pow (/ -1 x) -2/3)) n)))))) (+ (* 4/9 (/ (pow (log (/ -1 x)) 2) (pow n 2))) (+ (* 2/3 (/ (log -1) n)) (+ (* 4/9 (/ (pow (log -1) 2) (pow n 2))) (* 1/3 (/ (* (log (/ -1 x)) (log (pow (/ -1 x) -2/3))) (pow n 2))))))) |
| 230.0ms | (- (+ (/ (log (pow (/ 1 x) -1/3)) n) (+ (/ (log (pow (/ 1 x) -2/3)) n) (+ (* 1/2 (/ (pow (log (pow (/ 1 x) -1/3)) 2) (pow n 2))) (+ (/ (log (/ 1 x)) n) (+ (/ (* (log (pow (/ 1 x) -1/3)) (log (pow (/ 1 x) -2/3))) (pow n 2)) (+ (/ 1 (* x n)) (* 1/2 (/ (pow (log (pow (/ 1 x) -2/3)) 2) (pow n 2))))))))) (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2)))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 14.3b
91.8% (1.5b remaining)
Error of 18.4b against oracle of 17.0b and baseline of 35.0b