


Bits error versus x
Results
Initial program 0.0
rmApplied add-sqr-sqrt0.3
Applied distribute-lft-neg-in0.3
Applied exp-prod0.3
Final simplification0.3
herbie shell --seed 2019010
(FPCore (x)
:name "exp neg sub"
(exp (- (- 1 (* x x)))))
Time bar (total: 5.1s)Debug log
| 39.0ms | (exp (- (- 1 (* x x)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 0.0b | (exp (- (- 1 (* x x)))) |
| 10× | exp-prod |
| 4× | add-cube-cbrt |
| 4× | *-un-lft-identity |
| 4× | add-sqr-sqrt |
| 3× | add-log-exp |
| 3× | distribute-rgt-neg-in |
| 3× | distribute-lft-neg-in |
| 2× | rem-exp-log |
| 2× | exp-sum |
| 2× | distribute-neg-in |
| 1× | add-exp-log |
| 1× | neg-log |
| 1× | exp-diff |
| 1× | add-cbrt-cube |
| 1× | sub-neg |
| 1× | neg-mul-1 |
| 1× | pow1 |
| 1× | exp-neg |
| 1× | neg-sub0 |
| 3.0ms | (exp (- (- 1 (* x x)))) |
| 15.0ms | (exp (- (- 1 (* x x)))) |
| 67.0ms | (+ (exp -1) (+ (* (pow x 2) (exp -1)) (* 1/2 (* (pow x 4) (exp -1))))) |
| 18.0ms | (exp (sqrt (- (- 1 (* x x))))) |
| 18.0ms | (exp (* (cbrt (- (- 1 (* x x)))) (cbrt (- (- 1 (* x x)))))) |
| 14.0ms | (- (- 1 (* x x))) |
| 10.0ms | (exp (- (pow x 2) 1)) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.0b | (sqrt (- 1 (* x x))) |
| 0.0b | (sqrt (- 1 (* x x))) |
| 0.0b | (exp (- (sqrt (- 1 (* x x))))) |
| 0.0b | (pow (exp (- (sqrt (- 1 (* x x))))) (sqrt (- 1 (* x x)))) |
| 32× | exp-prod |
| 21× | sqrt-prod |
| 21× | add-sqr-sqrt |
| 19× | add-cube-cbrt |
| 19× | *-un-lft-identity |
| 17× | pow-pow |
| 12× | distribute-rgt-neg-in |
| 12× | distribute-lft-neg-in |
| 6× | add-log-exp |
| 6× | pow-unpow |
| 5× | pow1 |
| 4× | add-exp-log |
| 4× | sqrt-div |
| 4× | add-cbrt-cube |
| 3× | unpow-prod-down |
| 2× | rem-exp-log |
| 2× | flip-- |
| 2× | pow1/2 |
| 2× | flip3-- |
| 2× | neg-mul-1 |
| 2× | rem-sqrt-square |
| 1× | pow-exp |
| 1× | neg-log |
| 1× | exp-diff |
| 1× | pow-to-exp |
| 1× | exp-neg |
| 1× | neg-sub0 |
| 6.0ms | (pow (exp (- (sqrt (- 1 (* x x))))) (sqrt (- 1 (* x x)))) |
| 4.0ms | (exp (- (sqrt (- 1 (* x x))))) |
| 1.0ms | (sqrt (- 1 (* x x))) |
| 1.0ms | (sqrt (- 1 (* x x))) |
| 61.0ms | (pow (exp (- (sqrt (- 1 (* x x))))) (sqrt (- 1 (* x x)))) |
| 33.0ms | (sqrt (- 1 (* x x))) |
| 30.0ms | (exp (- (sqrt (- 1 (* x x))))) |
| 22.0ms | (sqrt (- 1 (* x x))) |
| 147.0ms | (- (+ (* x (sqrt -1)) (* 1/2 (/ 1 (* x (sqrt -1))))) (* 1/8 (/ 1 (* (pow x 3) (pow (sqrt -1) 3))))) |
| 145.0ms | (- (+ (* x (sqrt -1)) (* 1/2 (/ 1 (* x (sqrt -1))))) (* 1/8 (/ 1 (* (pow x 3) (pow (sqrt -1) 3))))) |
| 137.0ms | (- (* 1/8 (/ 1 (* (pow x 3) (pow (sqrt -1) 3)))) (+ (* x (sqrt -1)) (* 1/2 (/ 1 (* x (sqrt -1)))))) |
| 137.0ms | (- (* 1/8 (/ 1 (* (pow x 3) (pow (sqrt -1) 3)))) (+ (* x (sqrt -1)) (* 1/2 (/ 1 (* x (sqrt -1)))))) |
| 102.0ms | (+ (exp -1) (+ (* 1/2 (* (pow x 2) (exp -1))) (* 1/4 (* (pow x 4) (exp -1))))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0b
Found 3 expressions with local error:
| 0.0b | (* (+ (* 1/2 (pow x 4)) (+ (* x x) 1)) (exp -1)) |
| 0.0b | (+ (* 1/2 (pow x 4)) (+ (* x x) 1)) |
| 0.0b | (* 1/2 (pow x 4)) |
| 6× | add-cube-cbrt |
| 6× | associate-*r* |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 5× | add-log-exp |
| 5× | add-cbrt-cube |
| 5× | pow1 |
| 4× | add-exp-log |
| 3× | associate-*l* |
| 2× | flip-+ |
| 2× | *-commutative |
| 2× | associate-*l/ |
| 2× | flip3-+ |
| 1× | cbrt-unprod |
| 1× | prod-exp |
| 1× | pow-prod-down |
| 1× | sum-log |
| 1× | associate-+r+ |
| 1× | +-commutative |
| 10.0ms | (* (+ (* 1/2 (pow x 4)) (+ (* x x) 1)) (exp -1)) |
| 5.0ms | (+ (* 1/2 (pow x 4)) (+ (* x x) 1)) |
| 1.0ms | (* 1/2 (pow x 4)) |
| 50.0ms | (* (+ (* 1/2 (pow x 4)) (+ (* x x) 1)) (exp -1)) |
| 17.0ms | (+ (* 1/2 (pow x 4)) (+ (* x x) 1)) |
| 14.0ms | (* 1/2 (pow x 4)) |
| 191.0ms | (* (+ (* 1/2 (pow x 4)) (+ (* x x) 1)) (exp -1)) |
| 114.0ms | (* (* (* (+ (* 1/2 (pow x 4)) (+ (* x x) 1)) (+ (* 1/2 (pow x 4)) (+ (* x x) 1))) (+ (* 1/2 (pow x 4)) (+ (* x x) 1))) (* (* (exp -1) (exp -1)) (exp -1))) |
| 112.0ms | (* (- (* (* 1/2 (pow x 4)) (* 1/2 (pow x 4))) (* (+ (* x x) 1) (+ (* x x) 1))) (exp -1)) |
| 80.0ms | (* (+ (pow (* 1/2 (pow x 4)) 3) (pow (+ (* x x) 1) 3)) (exp -1)) |
| 67.0ms | (+ (exp -1) (+ (* (pow x 2) (exp -1)) (* 1/2 (* (pow x 4) (exp -1))))) |
3 alts after pruning (0 fresh and 3 done)
Merged error: 0b
0% (0.2b remaining)
Error of 0.3b against oracle of 0.0b and baseline of 0.3b