Average Error: 0.3 → 0.3
Time: 2.0s
Precision: binary64
\[{\left(\sin \left(\frac{theta}{2}\right)\right)}^{2}\]
\[{\left(\sin \left(\frac{theta}{2}\right)\right)}^{2}\]
{\left(\sin \left(\frac{theta}{2}\right)\right)}^{2}
{\left(\sin \left(\frac{theta}{2}\right)\right)}^{2}
double code(double theta) {
	return ((double) pow(((double) sin(((double) (theta / 2.0)))), 2.0));
}
double code(double theta) {
	return ((double) pow(((double) sin(((double) (theta / 2.0)))), 2.0));
}

Error

Bits error versus theta

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.3

    \[{\left(\sin \left(\frac{theta}{2}\right)\right)}^{2}\]
  2. Final simplification0.3

    \[\leadsto {\left(\sin \left(\frac{theta}{2}\right)\right)}^{2}\]

Reproduce

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