



Bits error versus x
Results
| Original | 14.9 |
|---|---|
| Target | 0.1 |
| Herbie | 0.0 |
if x < -32889.63765713185 or 425.99930081705185 < x Initial program 30.0
rmApplied flip-+47.6
Applied associate-/r/47.7
Taylor expanded around inf 0.0
if -32889.63765713185 < x < 425.99930081705185Initial program 0.0
rmApplied flip-+0.0
Applied associate-/r/0.0
rmApplied pow10.0
Applied pow10.0
Applied pow-prod-down0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019004
(FPCore (x)
:name "x / (x^2 + 1)"
:herbie-target
(/ 1 (+ x (/ 1 x)))
(/ x (+ (* x x) 1)))
Time bar (total: 15.2s)Debug log
1 calls. Slowest were:
| 4.0ms | (/ x (+ (* x x) 1)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 17.8b
Found 1 expressions with local error:
| 17.8b | (/ x (+ (* x x) 1)) |
1 calls. Slowest were:
| 2.0ms | (/ x (+ (* x x) 1)) |
1 calls. Slowest were:
| 31.0ms | (/ x (+ (* x x) 1)) |
8 calls. Slowest were:
| 239.0ms | (+ (* (* x x) (* x x)) (- (* 1 1) (* (* x x) 1))) |
| 59.0ms | (- (+ (/ 1 (pow x 5)) (/ 1 x)) (/ 1 (pow x 3))) |
| 40.0ms | (- (+ (/ 1 (pow x 5)) (/ 1 x)) (/ 1 (pow x 3))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 23.2b | (* (/ x (- (* (* x x) (* x x)) (* 1 1))) (- (* x x) 1)) |
| 2.6b | (/ x (- (* (* x x) (* x x)) (* 1 1))) |
| 0.1b | (* (* x x) (* x x)) |
3 calls. Slowest were:
| 20.0ms | (* (/ x (- (* (* x x) (* x x)) (* 1 1))) (- (* x x) 1)) |
| 7.0ms | (/ x (- (* (* x x) (* x x)) (* 1 1))) |
| 7.0ms | (* (* x x) (* x x)) |
3 calls. Slowest were:
| 63.0ms | (/ x (- (* (* x x) (* x x)) (* 1 1))) |
| 31.0ms | (* (/ x (- (* (* x x) (* x x)) (* 1 1))) (- (* x x) 1)) |
| 19.0ms | (* (* x x) (* x x)) |
45 calls. Slowest were:
| 1.7s | (* (* (* (/ x (- (* (* x x) (* x x)) (* 1 1))) (/ x (- (* (* x x) (* x x)) (* 1 1)))) (/ x (- (* (* x x) (* x x)) (* 1 1)))) (* (* (- (* x x) 1) (- (* x x) 1)) (- (* x x) 1))) |
| 1.1s | (* (- 1) (/ x (- (* (* x x) (* x x)) (* 1 1)))) |
| 715.0ms | (* (- 1) (/ x (- (* (* x x) (* x x)) (* 1 1)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0b
Found 2 expressions with local error:
| 26.1b | (/ (+ (- x) (pow x 3)) (+ -1 (pow x 4))) |
| 0.0b | (+ (- x) (pow x 3)) |
2 calls. Slowest were:
| 24.0ms | (/ (+ (- x) (pow x 3)) (+ -1 (pow x 4))) |
| 7.0ms | (+ (- x) (pow x 3)) |
2 calls. Slowest were:
| 45.0ms | (/ (+ (- x) (pow x 3)) (+ -1 (pow x 4))) |
| 37.0ms | (+ (- x) (pow x 3)) |
51 calls. Slowest were:
| 165.0ms | (+ (* -1 -1) (- (* (pow x 4) (pow x 4)) (* -1 (pow x 4)))) |
| 161.0ms | (- (* (- x) (- x)) (* (pow x 3) (pow x 3))) |
| 94.0ms | (/ (* (* (+ (- x) (pow x 3)) (+ (- x) (pow x 3))) (+ (- x) (pow x 3))) (* (* (+ -1 (pow x 4)) (+ -1 (pow x 4))) (+ -1 (pow x 4)))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0b
Found 3 expressions with local error:
| 17.7b | (- (+ (/ 1 (pow x 5)) (/ 1 x)) (/ 1 (pow x 3))) |
| 0.4b | (/ 1 (pow x 3)) |
| 0.1b | (/ 1 (pow x 5)) |
3 calls. Slowest were:
| 24.0ms | (- (+ (/ 1 (pow x 5)) (/ 1 x)) (/ 1 (pow x 3))) |
| 1.0ms | (/ 1 (pow x 3)) |
| 1.0ms | (/ 1 (pow x 5)) |
3 calls. Slowest were:
| 28.0ms | (/ 1 (pow x 5)) |
| 22.0ms | (- (+ (/ 1 (pow x 5)) (/ 1 x)) (/ 1 (pow x 3))) |
| 13.0ms | (/ 1 (pow x 3)) |
39 calls. Slowest were:
| 351.0ms | (* (- (/ 1 (pow x 5)) (/ 1 x)) (pow x 3)) |
| 243.0ms | (- (* (+ (pow (/ 1 (pow x 5)) 3) (pow (/ 1 x) 3)) (pow x 3)) (* (+ (* (/ 1 (pow x 5)) (/ 1 (pow x 5))) (- (* (/ 1 x) (/ 1 x)) (* (/ 1 (pow x 5)) (/ 1 x)))) 1)) |
| 204.0ms | (- (* (+ (* 1 x) (* (pow x 5) 1)) (pow x 3)) (* (* (pow x 5) x) 1)) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0b
100% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 23.7b