


Bits error versus x



Bits error versus n
Results
if n < -1803761.66460632Initial program 44.5
Taylor expanded around inf 32.6
Simplified32.6
rmApplied associate-/r*32.0
rmApplied div-inv32.1
Applied *-un-lft-identity32.1
Applied times-frac32.1
Applied distribute-lft-out32.1
rmApplied *-un-lft-identity32.1
Applied div-inv32.1
Applied distribute-rgt-out32.1
Applied associate-*r*32.1
if -1803761.66460632 < n < 132140925.11752047Initial program 8.9
if 132140925.11752047 < n Initial program 44.2
Taylor expanded around inf 32.1
Simplified32.1
rmApplied associate-/r*31.5
rmApplied add-log-exp31.5
Final simplification22.0
herbie shell --seed 2019008
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 25.1s)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.1b
Found 3 expressions with local error:
| 1.0b | (pow (+ x 1) (/ 1 n)) |
| 1.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 0.3b | (pow x (/ 1 n)) |
3 calls. Slowest were:
| 8.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:
| 181.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 106.0ms | (pow (+ x 1) (/ 1 n)) |
| 67.0ms | (pow x (/ 1 n)) |
28 calls. Slowest were:
| 597.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 291.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 278.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 20.3b
Found 4 expressions with local error:
| 2.5b | (+ (/ (/ -1/2 x) (* n x)) (/ 1 (* n x))) |
| 1.0b | (/ 1 (* n x)) |
| 0.6b | (/ (log x) (* n (* n x))) |
| 0.2b | (/ (/ -1/2 x) (* n x)) |
4 calls. Slowest were:
| 7.0ms | (+ (/ (/ -1/2 x) (* n x)) (/ 1 (* n x))) |
| 3.0ms | (/ (log x) (* n (* n x))) |
| 3.0ms | (/ (/ -1/2 x) (* n x)) |
4 calls. Slowest were:
| 63.0ms | (/ (log x) (* n (* n x))) |
| 37.0ms | (+ (/ (/ -1/2 x) (* n x)) (/ 1 (* n x))) |
| 12.0ms | (/ (/ -1/2 x) (* n x)) |
| 6.0ms | (/ 1 (* n x)) |
46 calls. Slowest were:
| 628.0ms | (* -1 (/ (log (/ 1 x)) (* x (pow n 2)))) |
| 151.0ms | (- (/ 1 (* x n)) (* 1/2 (/ 1 (* (pow x 2) n)))) |
| 149.0ms | (- (/ 1 (* x n)) (* 1/2 (/ 1 (* (pow x 2) n)))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 19.4b
Found 4 expressions with local error:
| 2.5b | (+ (/ (/ -1/2 x) (* n x)) (/ (/ 1 n) x)) |
| 0.6b | (/ (log x) (* n (* n x))) |
| 0.2b | (/ (/ -1/2 x) (* n x)) |
| 0.2b | (/ (/ 1 n) x) |
4 calls. Slowest were:
| 13.0ms | (+ (/ (/ -1/2 x) (* n x)) (/ (/ 1 n) x)) |
| 6.0ms | (/ (log x) (* n (* n x))) |
| 5.0ms | (/ (/ -1/2 x) (* n x)) |
4 calls. Slowest were:
| 98.0ms | (/ (log x) (* n (* n x))) |
| 32.0ms | (+ (/ (/ -1/2 x) (* n x)) (/ (/ 1 n) x)) |
| 11.0ms | (/ (/ -1/2 x) (* n x)) |
| 6.0ms | (/ (/ 1 n) x) |
43 calls. Slowest were:
| 560.0ms | (* -1 (/ (log (/ 1 x)) (* x (pow n 2)))) |
| 142.0ms | (* -1 (/ (- (log (/ -1 x)) (log -1)) (* x (pow n 2)))) |
| 129.0ms | (- (/ 1 (* x n)) (* 1/2 (/ 1 (* (pow x 2) n)))) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 19.4b
Found 4 expressions with local error:
| 4.0b | (* (/ 1 n) (+ (/ (/ -1/2 x) x) (/ 1 x))) |
| 0.6b | (/ (log x) (* n (* n x))) |
| 0.1b | (/ (/ -1/2 x) x) |
| 0.1b | (* n (* n x)) |
4 calls. Slowest were:
| 19.0ms | (* (/ 1 n) (+ (/ (/ -1/2 x) x) (/ 1 x))) |
| 6.0ms | (/ (log x) (* n (* n x))) |
| 5.0ms | (/ (/ -1/2 x) x) |
4 calls. Slowest were:
| 70.0ms | (/ (log x) (* n (* n x))) |
| 37.0ms | (* (/ 1 n) (+ (/ (/ -1/2 x) x) (/ 1 x))) |
| 11.0ms | (/ (/ -1/2 x) x) |
| 10.0ms | (* n (* n x)) |
50 calls. Slowest were:
| 621.0ms | (* -1 (/ (log (/ 1 x)) (* x (pow n 2)))) |
| 619.0ms | (+ (* (/ (/ -1/2 x) x) (/ (/ -1/2 x) x)) (- (* (/ 1 x) (/ 1 x)) (* (/ (/ -1/2 x) x) (/ 1 x)))) |
| 246.0ms | (* n (+ (* (/ (/ -1/2 x) x) (/ (/ -1/2 x) x)) (- (* (/ 1 x) (/ 1 x)) (* (/ (/ -1/2 x) x) (/ 1 x))))) |
13 alts after pruning (12 fresh and 1 done)
Merged error: 19.4b
85.2% (1.2b remaining)
Error of 22.0b against oracle of 20.7b and baseline of 29.2b