Average Error: 28.1 → 2.6
Time: 6.3s
Precision: binary64
\[\frac{\cos \left(2 \cdot x\right)}{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)}\]
\[\frac{\frac{1}{\sqrt{\left|s \cdot \left(c \cdot x\right)\right|}} \cdot \frac{\cos \left(x \cdot 2\right)}{\sqrt{\left|s \cdot \left(c \cdot x\right)\right|}}}{\left|s \cdot \left(c \cdot x\right)\right|}\]
\frac{\cos \left(2 \cdot x\right)}{{c}^{2} \cdot \left(\left(x \cdot {s}^{2}\right) \cdot x\right)}
\frac{\frac{1}{\sqrt{\left|s \cdot \left(c \cdot x\right)\right|}} \cdot \frac{\cos \left(x \cdot 2\right)}{\sqrt{\left|s \cdot \left(c \cdot x\right)\right|}}}{\left|s \cdot \left(c \cdot x\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
 (/
  (*
   (/ 1.0 (sqrt (fabs (* s (* c x)))))
   (/ (cos (* x 2.0)) (sqrt (fabs (* s (* c x))))))
  (fabs (* s (* c x)))))
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 ((1.0 / sqrt(fabs(s * (c * x)))) * (cos(x * 2.0) / sqrt(fabs(s * (c * x))))) / fabs(s * (c * x));
}

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.1

    \[\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_43528.1

    \[\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.1

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

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

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

    \[\leadsto \frac{\color{blue}{\frac{\cos \left(x \cdot 2\right)}{\left|s \cdot \left(c \cdot x\right)\right|}}}{\left|s \cdot \left(c \cdot x\right)\right|}\]
  9. Using strategy rm
  10. Applied add-sqr-sqrt_binary64_4352.6

    \[\leadsto \frac{\frac{\cos \left(x \cdot 2\right)}{\color{blue}{\sqrt{\left|s \cdot \left(c \cdot x\right)\right|} \cdot \sqrt{\left|s \cdot \left(c \cdot x\right)\right|}}}}{\left|s \cdot \left(c \cdot x\right)\right|}\]
  11. Applied *-un-lft-identity_binary64_4142.6

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

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

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

Reproduce

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