Average Error: 0.0 → 0.0
Time: 32.2s
Precision: 64
Internal Precision: 128
\[e^{-\left(1 - x \cdot x\right)}\]
\[{\left(e^{-1}\right)}^{\left(1 - x \cdot x\right)}\]

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[e^{-\left(1 - x \cdot x\right)}\]
  2. Using strategy rm
  3. Applied neg-mul-10.0

    \[\leadsto e^{\color{blue}{-1 \cdot \left(1 - x \cdot x\right)}}\]
  4. Applied exp-prod0.0

    \[\leadsto \color{blue}{{\left(e^{-1}\right)}^{\left(1 - x \cdot x\right)}}\]
  5. Final simplification0.0

    \[\leadsto {\left(e^{-1}\right)}^{\left(1 - x \cdot x\right)}\]

Reproduce

herbie shell --seed 2018360 
(FPCore (x)
  :name "exp neg sub"
  (exp (- (- 1 (* x x)))))

Details

Time bar (total: 30.2s)Debug log

start36.0ms

Algorithm
intervals

setup43.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize16.0ms

Local error

Found 2 expressions with local error:

0.0b
(exp (- (- 1 (* x x))))
0.0b
(- 1 (* x x))

rewrite4.0ms

Algorithm
rewrite-expression-head
Counts
2 → 34
Calls

2 calls. Slowest were:

3.0ms
(exp (- (- 1 (* x x))))
1.0ms
(- 1 (* x x))

series34.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

18.0ms
(- 1 (* x x))
16.0ms
(exp (- (- 1 (* x x))))

simplify156.0ms

Counts
20 → 40
Calls

20 calls. Slowest were:

33.0ms
(+ (exp -1) (+ (* (pow x 2) (exp -1)) (* 1/2 (* (pow x 4) (exp -1)))))
18.0ms
(exp (* (cbrt (- (- 1 (* x x)))) (cbrt (- (- 1 (* x x))))))
16.0ms
(exp (sqrt (- (- 1 (* x x)))))

prune226.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize6.0ms

Local error

Found 2 expressions with local error:

0.0b
(pow (exp -1) (- 1 (* x x)))
0.0b
(- 1 (* x x))

rewrite2.0ms

Algorithm
rewrite-expression-head
Counts
2 → 30
Calls

2 calls. Slowest were:

2.0ms
(pow (exp -1) (- 1 (* x x)))
1.0ms
(- 1 (* x x))

series79.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

50.0ms
(pow (exp -1) (- 1 (* x x)))
29.0ms
(- 1 (* x x))

simplify220.0ms

Counts
17 → 36
Calls

17 calls. Slowest were:

55.0ms
(exp (* -1 (- 1 (pow x 2))))
54.0ms
(exp (* -1 (- 1 (pow x 2))))
34.0ms
(+ (exp -1) (+ (* (pow x 2) (exp -1)) (* 1/2 (* (pow x 4) (exp -1)))))

prune247.0ms

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize13.0ms

Local error

Found 4 expressions with local error:

0.0b
(cbrt (* (* (- 1 (* x x)) (- 1 (* x x))) (- 1 (* x x))))
0.0b
(* (* (- 1 (* x x)) (- 1 (* x x))) (- 1 (* x x)))
0.0b
(* (- 1 (* x x)) (- 1 (* x x)))
0.0b
(exp (- (cbrt (* (* (- 1 (* x x)) (- 1 (* x x))) (- 1 (* x x))))))

rewrite37.0ms

Algorithm
rewrite-expression-head
Counts
4 → 146
Calls

4 calls. Slowest were:

12.0ms
(exp (- (cbrt (* (* (- 1 (* x x)) (- 1 (* x x))) (- 1 (* x x))))))
11.0ms
(* (* (- 1 (* x x)) (- 1 (* x x))) (- 1 (* x x)))
7.0ms
(cbrt (* (* (- 1 (* x x)) (- 1 (* x x))) (- 1 (* x x))))

series61.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

18.0ms
(cbrt (* (* (- 1 (* x x)) (- 1 (* x x))) (- 1 (* x x))))
16.0ms
(exp (- (cbrt (* (* (- 1 (* x x)) (- 1 (* x x))) (- 1 (* x x))))))
15.0ms
(* (* (- 1 (* x x)) (- 1 (* x x))) (- 1 (* x x)))
13.0ms
(* (- 1 (* x x)) (- 1 (* x x)))

simplify27.0s

Counts
146 → 158
Calls

146 calls. Slowest were:

1.2s
(* (* (+ (* 1 1) (+ (* (* x x) (* x x)) (* 1 (* x x)))) (+ 1 (* x x))) (+ 1 (* x x)))
890.0ms
(* (* (- (* 1 1) (* (* x x) (* x x))) (- (* 1 1) (* (* x x) (* x x)))) (- 1 (* x x)))
795.0ms
(* (* (+ 1 (* x x)) (+ (* 1 1) (+ (* (* x x) (* x x)) (* 1 (* x x))))) (+ 1 (* x x)))

prune1.9s

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes81.0ms

Accuracy

0% (0.0b remaining)

Error of 0.0b against oracle of 0.0b and baseline of 0.0b

bsearch2.0ms