Average Error: 0.2 → 0.2
Time: 914.0ms
Precision: binary64
\[{\left({a}^{2}\right)}^{2}\]
\[{\left({a}^{2}\right)}^{2}\]
{\left({a}^{2}\right)}^{2}
{\left({a}^{2}\right)}^{2}
double code(double a) {
	return ((double) pow(((double) pow(a, 2.0)), 2.0));
}
double code(double a) {
	return ((double) pow(((double) pow(a, 2.0)), 2.0));
}

Error

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[{\left({a}^{2}\right)}^{2}\]
  2. Final simplification0.2

    \[\leadsto {\left({a}^{2}\right)}^{2}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (a)
  :name "(pow (pow a 2) 2)"
  :precision binary64
  (pow (pow a 2.0) 2.0))