Average Error: 0.0 → 0.1
Time: 2.5s
Precision: binary64
\[x \cdot e^{y \cdot y}\]
\[\left(x \cdot \left({\left(\sqrt{e^{y}}\right)}^{y} \cdot \sqrt{{\left(\sqrt[3]{e^{y}} \cdot \sqrt[3]{e^{y}}\right)}^{y}}\right)\right) \cdot \sqrt{{\left(\sqrt[3]{e^{y}}\right)}^{y}}\]
x \cdot e^{y \cdot y}
\left(x \cdot \left({\left(\sqrt{e^{y}}\right)}^{y} \cdot \sqrt{{\left(\sqrt[3]{e^{y}} \cdot \sqrt[3]{e^{y}}\right)}^{y}}\right)\right) \cdot \sqrt{{\left(\sqrt[3]{e^{y}}\right)}^{y}}
(FPCore (x y) :precision binary64 (* x (exp (* y y))))
(FPCore (x y)
 :precision binary64
 (*
  (*
   x
   (* (pow (sqrt (exp y)) y) (sqrt (pow (* (cbrt (exp y)) (cbrt (exp y))) y))))
  (sqrt (pow (cbrt (exp y)) y))))
double code(double x, double y) {
	return ((double) (x * ((double) exp(((double) (y * y))))));
}
double code(double x, double y) {
	return ((double) (((double) (x * ((double) (((double) pow(((double) sqrt(((double) exp(y)))), y)) * ((double) sqrt(((double) pow(((double) (((double) cbrt(((double) exp(y)))) * ((double) cbrt(((double) exp(y)))))), y)))))))) * ((double) sqrt(((double) pow(((double) cbrt(((double) exp(y)))), y))))));
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.0
Target0.0
Herbie0.1
\[x \cdot {\left(e^{y}\right)}^{y}\]

Derivation

  1. Initial program Error: 0.0 bits

    \[x \cdot e^{y \cdot y}\]
  2. SimplifiedError: 0.0 bits

    \[\leadsto \color{blue}{x \cdot {\left(e^{y}\right)}^{y}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrtError: 0.0 bits

    \[\leadsto x \cdot \color{blue}{\left(\sqrt{{\left(e^{y}\right)}^{y}} \cdot \sqrt{{\left(e^{y}\right)}^{y}}\right)}\]
  5. Applied associate-*r*Error: 0.0 bits

    \[\leadsto \color{blue}{\left(x \cdot \sqrt{{\left(e^{y}\right)}^{y}}\right) \cdot \sqrt{{\left(e^{y}\right)}^{y}}}\]
  6. SimplifiedError: 0.0 bits

    \[\leadsto \color{blue}{\left(x \cdot {\left(\sqrt{e^{y}}\right)}^{y}\right)} \cdot \sqrt{{\left(e^{y}\right)}^{y}}\]
  7. Using strategy rm
  8. Applied add-cube-cbrtError: 0.0 bits

    \[\leadsto \left(x \cdot {\left(\sqrt{e^{y}}\right)}^{y}\right) \cdot \sqrt{{\color{blue}{\left(\left(\sqrt[3]{e^{y}} \cdot \sqrt[3]{e^{y}}\right) \cdot \sqrt[3]{e^{y}}\right)}}^{y}}\]
  9. Applied unpow-prod-downError: 0.0 bits

    \[\leadsto \left(x \cdot {\left(\sqrt{e^{y}}\right)}^{y}\right) \cdot \sqrt{\color{blue}{{\left(\sqrt[3]{e^{y}} \cdot \sqrt[3]{e^{y}}\right)}^{y} \cdot {\left(\sqrt[3]{e^{y}}\right)}^{y}}}\]
  10. Applied sqrt-prodError: 0.0 bits

    \[\leadsto \left(x \cdot {\left(\sqrt{e^{y}}\right)}^{y}\right) \cdot \color{blue}{\left(\sqrt{{\left(\sqrt[3]{e^{y}} \cdot \sqrt[3]{e^{y}}\right)}^{y}} \cdot \sqrt{{\left(\sqrt[3]{e^{y}}\right)}^{y}}\right)}\]
  11. Applied associate-*r*Error: 0.0 bits

    \[\leadsto \color{blue}{\left(\left(x \cdot {\left(\sqrt{e^{y}}\right)}^{y}\right) \cdot \sqrt{{\left(\sqrt[3]{e^{y}} \cdot \sqrt[3]{e^{y}}\right)}^{y}}\right) \cdot \sqrt{{\left(\sqrt[3]{e^{y}}\right)}^{y}}}\]
  12. SimplifiedError: 0.1 bits

    \[\leadsto \color{blue}{\left(x \cdot \left({\left(\sqrt{e^{y}}\right)}^{y} \cdot \sqrt{{\left(\sqrt[3]{e^{y}} \cdot \sqrt[3]{e^{y}}\right)}^{y}}\right)\right)} \cdot \sqrt{{\left(\sqrt[3]{e^{y}}\right)}^{y}}\]
  13. Final simplificationError: 0.1 bits

    \[\leadsto \left(x \cdot \left({\left(\sqrt{e^{y}}\right)}^{y} \cdot \sqrt{{\left(\sqrt[3]{e^{y}} \cdot \sqrt[3]{e^{y}}\right)}^{y}}\right)\right) \cdot \sqrt{{\left(\sqrt[3]{e^{y}}\right)}^{y}}\]

Reproduce

herbie shell --seed 2020204 
(FPCore (x y)
  :name "Data.Number.Erf:$dmerfcx from erf-2.0.0.0"
  :precision binary64

  :herbie-target
  (* x (pow (exp y) y))

  (* x (exp (* y y))))