\frac{2 + \left(\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \left(\cos x - \cos y\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{3 - \sqrt{5}}{2} \cdot \cos y\right)}\frac{2 + \log \left(e^{\sqrt[3]{{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right)}^{3}} \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \left(\cos x - \cos y\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{3 - \sqrt{5}}{2} \cdot \cos y\right)}double f(double x, double y) {
double r159611 = 2.0;
double r159612 = sqrt(r159611);
double r159613 = x;
double r159614 = sin(r159613);
double r159615 = y;
double r159616 = sin(r159615);
double r159617 = 16.0;
double r159618 = r159616 / r159617;
double r159619 = r159614 - r159618;
double r159620 = r159612 * r159619;
double r159621 = r159614 / r159617;
double r159622 = r159616 - r159621;
double r159623 = r159620 * r159622;
double r159624 = cos(r159613);
double r159625 = cos(r159615);
double r159626 = r159624 - r159625;
double r159627 = r159623 * r159626;
double r159628 = r159611 + r159627;
double r159629 = 3.0;
double r159630 = 1.0;
double r159631 = 5.0;
double r159632 = sqrt(r159631);
double r159633 = r159632 - r159630;
double r159634 = r159633 / r159611;
double r159635 = r159634 * r159624;
double r159636 = r159630 + r159635;
double r159637 = r159629 - r159632;
double r159638 = r159637 / r159611;
double r159639 = r159638 * r159625;
double r159640 = r159636 + r159639;
double r159641 = r159629 * r159640;
double r159642 = r159628 / r159641;
return r159642;
}
double f(double x, double y) {
double r159643 = 2.0;
double r159644 = sqrt(r159643);
double r159645 = x;
double r159646 = sin(r159645);
double r159647 = y;
double r159648 = sin(r159647);
double r159649 = 16.0;
double r159650 = r159648 / r159649;
double r159651 = r159646 - r159650;
double r159652 = r159644 * r159651;
double r159653 = 3.0;
double r159654 = pow(r159652, r159653);
double r159655 = cbrt(r159654);
double r159656 = r159646 / r159649;
double r159657 = r159648 - r159656;
double r159658 = r159655 * r159657;
double r159659 = exp(r159658);
double r159660 = log(r159659);
double r159661 = cos(r159645);
double r159662 = cos(r159647);
double r159663 = r159661 - r159662;
double r159664 = r159660 * r159663;
double r159665 = r159643 + r159664;
double r159666 = 3.0;
double r159667 = 1.0;
double r159668 = 5.0;
double r159669 = sqrt(r159668);
double r159670 = r159669 - r159667;
double r159671 = r159670 / r159643;
double r159672 = r159671 * r159661;
double r159673 = r159667 + r159672;
double r159674 = r159666 - r159669;
double r159675 = r159674 / r159643;
double r159676 = r159675 * r159662;
double r159677 = r159673 + r159676;
double r159678 = r159666 * r159677;
double r159679 = r159665 / r159678;
return r159679;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-log-exp0.5
rmApplied add-cbrt-cube0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020001 +o rules:numerics
(FPCore (x y)
:name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
:precision binary64
(/ (+ 2 (* (* (* (sqrt 2) (- (sin x) (/ (sin y) 16))) (- (sin y) (/ (sin x) 16))) (- (cos x) (cos y)))) (* 3 (+ (+ 1 (* (/ (- (sqrt 5) 1) 2) (cos x))) (* (/ (- 3 (sqrt 5)) 2) (cos y))))))