\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{\frac{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right)\right) + 2}{\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{3 - \sqrt{5}}{2} \cdot \cos y}}{3}double f(double x, double y) {
double r203101 = 2.0;
double r203102 = sqrt(r203101);
double r203103 = x;
double r203104 = sin(r203103);
double r203105 = y;
double r203106 = sin(r203105);
double r203107 = 16.0;
double r203108 = r203106 / r203107;
double r203109 = r203104 - r203108;
double r203110 = r203102 * r203109;
double r203111 = r203104 / r203107;
double r203112 = r203106 - r203111;
double r203113 = r203110 * r203112;
double r203114 = cos(r203103);
double r203115 = cos(r203105);
double r203116 = r203114 - r203115;
double r203117 = r203113 * r203116;
double r203118 = r203101 + r203117;
double r203119 = 3.0;
double r203120 = 1.0;
double r203121 = 5.0;
double r203122 = sqrt(r203121);
double r203123 = r203122 - r203120;
double r203124 = r203123 / r203101;
double r203125 = r203124 * r203114;
double r203126 = r203120 + r203125;
double r203127 = r203119 - r203122;
double r203128 = r203127 / r203101;
double r203129 = r203128 * r203115;
double r203130 = r203126 + r203129;
double r203131 = r203119 * r203130;
double r203132 = r203118 / r203131;
return r203132;
}
double f(double x, double y) {
double r203133 = 2.0;
double r203134 = sqrt(r203133);
double r203135 = x;
double r203136 = sin(r203135);
double r203137 = y;
double r203138 = sin(r203137);
double r203139 = 16.0;
double r203140 = r203138 / r203139;
double r203141 = r203136 - r203140;
double r203142 = r203134 * r203141;
double r203143 = r203136 / r203139;
double r203144 = r203138 - r203143;
double r203145 = cos(r203135);
double r203146 = cos(r203137);
double r203147 = r203145 - r203146;
double r203148 = r203144 * r203147;
double r203149 = r203142 * r203148;
double r203150 = r203149 + r203133;
double r203151 = 1.0;
double r203152 = 5.0;
double r203153 = sqrt(r203152);
double r203154 = r203153 - r203151;
double r203155 = r203154 / r203133;
double r203156 = r203155 * r203145;
double r203157 = r203151 + r203156;
double r203158 = 3.0;
double r203159 = r203158 - r203153;
double r203160 = r203159 / r203133;
double r203161 = r203160 * r203146;
double r203162 = r203157 + r203161;
double r203163 = r203150 / r203162;
double r203164 = r203163 / r203158;
return r203164;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.5
Applied associate-*l*0.5
rmApplied add-log-exp0.5
Applied add-log-exp0.5
Applied diff-log0.5
Simplified0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020034
(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))))))