\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{1}{\frac{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}{\frac{\mathsf{fma}\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right), \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{3}}}double f(double x, double y) {
double r232581 = 2.0;
double r232582 = sqrt(r232581);
double r232583 = x;
double r232584 = sin(r232583);
double r232585 = y;
double r232586 = sin(r232585);
double r232587 = 16.0;
double r232588 = r232586 / r232587;
double r232589 = r232584 - r232588;
double r232590 = r232582 * r232589;
double r232591 = r232584 / r232587;
double r232592 = r232586 - r232591;
double r232593 = r232590 * r232592;
double r232594 = cos(r232583);
double r232595 = cos(r232585);
double r232596 = r232594 - r232595;
double r232597 = r232593 * r232596;
double r232598 = r232581 + r232597;
double r232599 = 3.0;
double r232600 = 1.0;
double r232601 = 5.0;
double r232602 = sqrt(r232601);
double r232603 = r232602 - r232600;
double r232604 = r232603 / r232581;
double r232605 = r232604 * r232594;
double r232606 = r232600 + r232605;
double r232607 = r232599 - r232602;
double r232608 = r232607 / r232581;
double r232609 = r232608 * r232595;
double r232610 = r232606 + r232609;
double r232611 = r232599 * r232610;
double r232612 = r232598 / r232611;
return r232612;
}
double f(double x, double y) {
double r232613 = 1.0;
double r232614 = 3.0;
double r232615 = 5.0;
double r232616 = sqrt(r232615);
double r232617 = r232614 - r232616;
double r232618 = 2.0;
double r232619 = r232617 / r232618;
double r232620 = y;
double r232621 = cos(r232620);
double r232622 = 1.0;
double r232623 = r232616 - r232622;
double r232624 = r232623 / r232618;
double r232625 = x;
double r232626 = cos(r232625);
double r232627 = fma(r232624, r232626, r232622);
double r232628 = fma(r232619, r232621, r232627);
double r232629 = sqrt(r232618);
double r232630 = sin(r232625);
double r232631 = sin(r232620);
double r232632 = 16.0;
double r232633 = r232631 / r232632;
double r232634 = r232630 - r232633;
double r232635 = r232629 * r232634;
double r232636 = r232630 / r232632;
double r232637 = r232631 - r232636;
double r232638 = r232626 - r232621;
double r232639 = r232637 * r232638;
double r232640 = fma(r232635, r232639, r232618);
double r232641 = r232640 / r232614;
double r232642 = r232628 / r232641;
double r232643 = r232613 / r232642;
return r232643;
}



Bits error versus x



Bits error versus y
Initial program 0.5
Simplified0.5
rmApplied div-inv0.5
rmApplied associate-*l/0.5
Simplified0.5
rmApplied *-un-lft-identity0.5
Applied *-un-lft-identity0.5
Applied times-frac0.5
Applied associate-/l*0.5
Final simplification0.5
herbie shell --seed 2020064 +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))))))