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

Error

Bits error versus x

Derivation

  1. Initial program 0.0

    \[e^{-\left(1 - x \cdot x\right)}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity0.0

    \[\leadsto e^{-\color{blue}{1 \cdot \left(1 - x \cdot x\right)}}\]
  4. Applied distribute-lft-neg-in0.0

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

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

    \[\leadsto {\color{blue}{\left(\frac{1}{e}\right)}}^{\left(1 - x \cdot x\right)}\]
  7. Using strategy rm
  8. Applied sub-neg0.0

    \[\leadsto {\left(\frac{1}{e}\right)}^{\color{blue}{\left(1 + \left(-x \cdot x\right)\right)}}\]
  9. Applied unpow-prod-up0.0

    \[\leadsto \color{blue}{{\left(\frac{1}{e}\right)}^{1} \cdot {\left(\frac{1}{e}\right)}^{\left(-x \cdot x\right)}}\]
  10. Using strategy rm
  11. Applied distribute-rgt-neg-in0.0

    \[\leadsto {\left(\frac{1}{e}\right)}^{1} \cdot {\left(\frac{1}{e}\right)}^{\color{blue}{\left(x \cdot \left(-x\right)\right)}}\]
  12. Applied pow-unpow0.0

    \[\leadsto {\left(\frac{1}{e}\right)}^{1} \cdot \color{blue}{{\left({\left(\frac{1}{e}\right)}^{x}\right)}^{\left(-x\right)}}\]
  13. Using strategy rm
  14. Applied add-exp-log0.0

    \[\leadsto {\left(\frac{1}{e}\right)}^{1} \cdot {\left({\color{blue}{\left(e^{\log \left(\frac{1}{e}\right)}\right)}}^{x}\right)}^{\left(-x\right)}\]
  15. Applied pow-exp0.0

    \[\leadsto {\left(\frac{1}{e}\right)}^{1} \cdot {\color{blue}{\left(e^{\log \left(\frac{1}{e}\right) \cdot x}\right)}}^{\left(-x\right)}\]
  16. Simplified0.0

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

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

Reproduce

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