Average Error: 28.2 → 2.5
Time: 12.2s
Precision: binary64
\[\frac{\cos \left(2 \cdot x\right)}{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)}\]
\[\cos \left(x \cdot 2\right) \cdot \frac{\frac{1}{\left|s \cdot \left(x \cdot c\right)\right|}}{\left|s \cdot \left(x \cdot c\right)\right|}\]
\frac{\cos \left(2 \cdot x\right)}{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)}
\cos \left(x \cdot 2\right) \cdot \frac{\frac{1}{\left|s \cdot \left(x \cdot c\right)\right|}}{\left|s \cdot \left(x \cdot c\right)\right|}
(FPCore (x c s)
 :precision binary64
 (/ (cos (* 2.0 x)) (* (pow c 2.0) (* (* x (pow s 2.0)) x))))
(FPCore (x c s)
 :precision binary64
 (* (cos (* x 2.0)) (/ (/ 1.0 (fabs (* s (* x c)))) (fabs (* s (* x c))))))
double code(double x, double c, double s) {
	return cos(2.0 * x) / (pow(c, 2.0) * ((x * pow(s, 2.0)) * x));
}
double code(double x, double c, double s) {
	return cos(x * 2.0) * ((1.0 / fabs(s * (x * c))) / fabs(s * (x * c)));
}

Error

Bits error versus x

Bits error versus c

Bits error versus s

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 28.2

    \[\frac{\cos \left(2 \cdot x\right)}{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)}\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt_binary64_44128.2

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{\color{blue}{\sqrt{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)} \cdot \sqrt{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)}}}\]
  4. Simplified28.2

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{\color{blue}{\left|s \cdot \left(x \cdot c\right)\right|} \cdot \sqrt{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)}}\]
  5. Simplified2.7

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{\left|s \cdot \left(x \cdot c\right)\right| \cdot \color{blue}{\left|s \cdot \left(x \cdot c\right)\right|}}\]
  6. Using strategy rm
  7. Applied associate-/r*_binary64_3632.5

    \[\leadsto \color{blue}{\frac{\frac{\cos \left(2 \cdot x\right)}{\left|s \cdot \left(x \cdot c\right)\right|}}{\left|s \cdot \left(x \cdot c\right)\right|}}\]
  8. Simplified2.5

    \[\leadsto \frac{\color{blue}{\frac{\cos \left(x \cdot 2\right)}{\left|s \cdot \left(x \cdot c\right)\right|}}}{\left|s \cdot \left(x \cdot c\right)\right|}\]
  9. Using strategy rm
  10. Applied *-un-lft-identity_binary64_4192.5

    \[\leadsto \frac{\frac{\cos \left(x \cdot 2\right)}{\left|s \cdot \left(x \cdot c\right)\right|}}{\color{blue}{1 \cdot \left|s \cdot \left(x \cdot c\right)\right|}}\]
  11. Applied div-inv_binary64_4162.5

    \[\leadsto \frac{\color{blue}{\cos \left(x \cdot 2\right) \cdot \frac{1}{\left|s \cdot \left(x \cdot c\right)\right|}}}{1 \cdot \left|s \cdot \left(x \cdot c\right)\right|}\]
  12. Applied times-frac_binary64_4252.5

    \[\leadsto \color{blue}{\frac{\cos \left(x \cdot 2\right)}{1} \cdot \frac{\frac{1}{\left|s \cdot \left(x \cdot c\right)\right|}}{\left|s \cdot \left(x \cdot c\right)\right|}}\]
  13. Final simplification2.5

    \[\leadsto \cos \left(x \cdot 2\right) \cdot \frac{\frac{1}{\left|s \cdot \left(x \cdot c\right)\right|}}{\left|s \cdot \left(x \cdot c\right)\right|}\]

Reproduce

herbie shell --seed 2021045 
(FPCore (x c s)
  :name "mixedcos"
  :precision binary64
  (/ (cos (* 2.0 x)) (* (pow c 2.0) (* (* x (pow s 2.0)) x))))