\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 + \left(\cos x - \cos y\right) \cdot \left(\log \left(e^{\sqrt[3]{\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}} \cdot \left(\sqrt[3]{\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}} \cdot \sqrt[3]{\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}}\right)}\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right)}{3 \cdot \left(\frac{\frac{3 \cdot 3 - 5}{\sqrt{5} + 3}}{2} \cdot \cos y + \left(\cos x \cdot \frac{\sqrt{5} - 1}{2} + 1\right)\right)}double f(double x, double y) {
double r10224059 = 2.0;
double r10224060 = sqrt(r10224059);
double r10224061 = x;
double r10224062 = sin(r10224061);
double r10224063 = y;
double r10224064 = sin(r10224063);
double r10224065 = 16.0;
double r10224066 = r10224064 / r10224065;
double r10224067 = r10224062 - r10224066;
double r10224068 = r10224060 * r10224067;
double r10224069 = r10224062 / r10224065;
double r10224070 = r10224064 - r10224069;
double r10224071 = r10224068 * r10224070;
double r10224072 = cos(r10224061);
double r10224073 = cos(r10224063);
double r10224074 = r10224072 - r10224073;
double r10224075 = r10224071 * r10224074;
double r10224076 = r10224059 + r10224075;
double r10224077 = 3.0;
double r10224078 = 1.0;
double r10224079 = 5.0;
double r10224080 = sqrt(r10224079);
double r10224081 = r10224080 - r10224078;
double r10224082 = r10224081 / r10224059;
double r10224083 = r10224082 * r10224072;
double r10224084 = r10224078 + r10224083;
double r10224085 = r10224077 - r10224080;
double r10224086 = r10224085 / r10224059;
double r10224087 = r10224086 * r10224073;
double r10224088 = r10224084 + r10224087;
double r10224089 = r10224077 * r10224088;
double r10224090 = r10224076 / r10224089;
return r10224090;
}
double f(double x, double y) {
double r10224091 = 2.0;
double r10224092 = x;
double r10224093 = cos(r10224092);
double r10224094 = y;
double r10224095 = cos(r10224094);
double r10224096 = r10224093 - r10224095;
double r10224097 = sin(r10224092);
double r10224098 = sin(r10224094);
double r10224099 = 16.0;
double r10224100 = r10224098 / r10224099;
double r10224101 = r10224097 - r10224100;
double r10224102 = sqrt(r10224091);
double r10224103 = r10224101 * r10224102;
double r10224104 = cbrt(r10224103);
double r10224105 = r10224104 * r10224104;
double r10224106 = r10224104 * r10224105;
double r10224107 = exp(r10224106);
double r10224108 = log(r10224107);
double r10224109 = r10224097 / r10224099;
double r10224110 = r10224098 - r10224109;
double r10224111 = r10224108 * r10224110;
double r10224112 = r10224096 * r10224111;
double r10224113 = r10224091 + r10224112;
double r10224114 = 3.0;
double r10224115 = r10224114 * r10224114;
double r10224116 = 5.0;
double r10224117 = r10224115 - r10224116;
double r10224118 = sqrt(r10224116);
double r10224119 = r10224118 + r10224114;
double r10224120 = r10224117 / r10224119;
double r10224121 = r10224120 / r10224091;
double r10224122 = r10224121 * r10224095;
double r10224123 = 1.0;
double r10224124 = r10224118 - r10224123;
double r10224125 = r10224124 / r10224091;
double r10224126 = r10224093 * r10224125;
double r10224127 = r10224126 + r10224123;
double r10224128 = r10224122 + r10224127;
double r10224129 = r10224114 * r10224128;
double r10224130 = r10224113 / r10224129;
return r10224130;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.5
rmApplied add-log-exp0.5
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2019168
(FPCore (x y)
:name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
(/ (+ 2.0 (* (* (* (sqrt 2.0) (- (sin x) (/ (sin y) 16.0))) (- (sin y) (/ (sin x) 16.0))) (- (cos x) (cos y)))) (* 3.0 (+ (+ 1.0 (* (/ (- (sqrt 5.0) 1.0) 2.0) (cos x))) (* (/ (- 3.0 (sqrt 5.0)) 2.0) (cos y))))))