Average Error: 0.1 → 0.1
Time: 2.5s
Precision: binary64
\[\tan^{-1} \left(\sqrt{\tan \left(\frac{s}{2}\right)}\right)\]
\[\tan^{-1} \left(\sqrt{\tan \left(\frac{s}{2}\right)}\right)\]
\tan^{-1} \left(\sqrt{\tan \left(\frac{s}{2}\right)}\right)
\tan^{-1} \left(\sqrt{\tan \left(\frac{s}{2}\right)}\right)
double code(double s) {
	return ((double) atan(((double) sqrt(((double) tan(((double) (s / 2.0))))))));
}
double code(double s) {
	return ((double) atan(((double) sqrt(((double) tan(((double) (s / 2.0))))))));
}

Error

Bits error versus s

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\tan^{-1} \left(\sqrt{\tan \left(\frac{s}{2}\right)}\right)\]
  2. Final simplification0.1

    \[\leadsto \tan^{-1} \left(\sqrt{\tan \left(\frac{s}{2}\right)}\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (s)
  :name "(atan (sqrt (tan (/ s 2))))"
  :precision binary64
  (atan (sqrt (tan (/ s 2.0)))))