\frac{\left(c \cdot d\right) \cdot u}{\sqrt{\left(\left(\left(c \cdot c\right) \cdot u\right) \cdot u + v \cdot v\right) - \left(\left(\left(2 \cdot c\right) \cdot u\right) \cdot v\right) \cdot \cos \left(\pi - \gamma\right)}}\frac{\left(c \cdot d\right) \cdot u}{\sqrt{\left(\left(\left(c \cdot c\right) \cdot u\right) \cdot u + v \cdot v\right) - \left(\left(\left(2 \cdot c\right) \cdot u\right) \cdot v\right) \cdot \cos \left(\pi - \gamma\right)}}double code(double c, double d, double u, double v, double gamma) {
return ((double) (((double) (((double) (c * d)) * u)) / ((double) sqrt(((double) (((double) (((double) (((double) (((double) (c * c)) * u)) * u)) + ((double) (v * v)))) - ((double) (((double) (((double) (((double) (2.0 * c)) * u)) * v)) * ((double) cos(((double) (((double) M_PI) - gamma))))))))))));
}
double code(double c, double d, double u, double v, double gamma) {
return ((double) (((double) (((double) (c * d)) * u)) / ((double) sqrt(((double) (((double) (((double) (((double) (((double) (c * c)) * u)) * u)) + ((double) (v * v)))) - ((double) (((double) (((double) (((double) (2.0 * c)) * u)) * v)) * ((double) cos(((double) (((double) M_PI) - gamma))))))))))));
}



Bits error versus c



Bits error versus d



Bits error versus u



Bits error versus v



Bits error versus gamma
Results
Initial program 37.0
Final simplification37.0
herbie shell --seed 2020153
(FPCore (c d u v gamma)
:name "(/ (* (* c d) u) (sqrt (- (+ (* (* (* c c) u) u) (* v v)) (* (* (* (* 2 c) u) v) (cos (- PI gamma))))))"
:precision binary64
(/ (* (* c d) u) (sqrt (- (+ (* (* (* c c) u) u) (* v v)) (* (* (* (* 2.0 c) u) v) (cos (- PI gamma)))))))