Average Error: 15.7 → 15.7
Time: 5.0s
Precision: binary64
\[\left(\left(\frac{1}{\sin x} - \frac{1}{\sin \left(x - 1\right)}\right) + \frac{1}{\sin y}\right) - \frac{1}{\sin \left(y - 1.00000000000000008 \cdot 10^{-5}\right)}\]
\[\left(\left(\frac{1}{\sin x} - \frac{1}{\sin \left(x - 1\right)}\right) + \frac{1}{\sin y}\right) - \frac{1}{\sin \left(y - 1.00000000000000008 \cdot 10^{-5}\right)}\]
\left(\left(\frac{1}{\sin x} - \frac{1}{\sin \left(x - 1\right)}\right) + \frac{1}{\sin y}\right) - \frac{1}{\sin \left(y - 1.00000000000000008 \cdot 10^{-5}\right)}
\left(\left(\frac{1}{\sin x} - \frac{1}{\sin \left(x - 1\right)}\right) + \frac{1}{\sin y}\right) - \frac{1}{\sin \left(y - 1.00000000000000008 \cdot 10^{-5}\right)}
double code(double x, double y) {
	return ((double) (((double) (((double) (((double) (1.0 / ((double) sin(x)))) - ((double) (1.0 / ((double) sin(((double) (x - 1.0)))))))) + ((double) (1.0 / ((double) sin(y)))))) - ((double) (1.0 / ((double) sin(((double) (y - 1e-05))))))));
}
double code(double x, double y) {
	return ((double) (((double) (((double) (((double) (1.0 / ((double) sin(x)))) - ((double) (1.0 / ((double) sin(((double) (x - 1.0)))))))) + ((double) (1.0 / ((double) sin(y)))))) - ((double) (1.0 / ((double) sin(((double) (y - 1e-05))))))));
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.7

    \[\left(\left(\frac{1}{\sin x} - \frac{1}{\sin \left(x - 1\right)}\right) + \frac{1}{\sin y}\right) - \frac{1}{\sin \left(y - 1.00000000000000008 \cdot 10^{-5}\right)}\]
  2. Final simplification15.7

    \[\leadsto \left(\left(\frac{1}{\sin x} - \frac{1}{\sin \left(x - 1\right)}\right) + \frac{1}{\sin y}\right) - \frac{1}{\sin \left(y - 1.00000000000000008 \cdot 10^{-5}\right)}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x y)
  :name "(- (+ (- (/ 1 (sin x)) (/ 1 (sin (- x 1)))) (/ 1 (sin y))) (/ 1 (sin (- y 1e-05))))"
  :precision binary64
  (- (+ (- (/ 1.0 (sin x)) (/ 1.0 (sin (- x 1.0)))) (/ 1.0 (sin y))) (/ 1.0 (sin (- y 1e-05)))))