\left(\frac{1}{6} \cdot {\left(-2 \cdot \log u1\right)}^{0.5}\right) \cdot \cos \left(\left(2 \cdot \pi\right) \cdot u2\right) + 0.5\cos \left(\left(2 \cdot \pi\right) \cdot u2\right) \cdot \frac{1}{{\left(\frac{1}{{-2}^{1} \cdot {\left(\log u1\right)}^{1}}\right)}^{0.5} \cdot 6} + 0.5double f(double u1, double u2) {
double r1902533 = 1.0;
double r1902534 = 6.0;
double r1902535 = r1902533 / r1902534;
double r1902536 = -2.0;
double r1902537 = u1;
double r1902538 = log(r1902537);
double r1902539 = r1902536 * r1902538;
double r1902540 = 0.5;
double r1902541 = pow(r1902539, r1902540);
double r1902542 = r1902535 * r1902541;
double r1902543 = 2.0;
double r1902544 = atan2(1.0, 0.0);
double r1902545 = r1902543 * r1902544;
double r1902546 = u2;
double r1902547 = r1902545 * r1902546;
double r1902548 = cos(r1902547);
double r1902549 = r1902542 * r1902548;
double r1902550 = r1902549 + r1902540;
return r1902550;
}
double f(double u1, double u2) {
double r1902551 = 2.0;
double r1902552 = atan2(1.0, 0.0);
double r1902553 = r1902551 * r1902552;
double r1902554 = u2;
double r1902555 = r1902553 * r1902554;
double r1902556 = cos(r1902555);
double r1902557 = 1.0;
double r1902558 = 1.0;
double r1902559 = -2.0;
double r1902560 = pow(r1902559, r1902557);
double r1902561 = u1;
double r1902562 = log(r1902561);
double r1902563 = pow(r1902562, r1902557);
double r1902564 = r1902560 * r1902563;
double r1902565 = r1902558 / r1902564;
double r1902566 = 0.5;
double r1902567 = pow(r1902565, r1902566);
double r1902568 = 6.0;
double r1902569 = r1902567 * r1902568;
double r1902570 = r1902557 / r1902569;
double r1902571 = r1902556 * r1902570;
double r1902572 = r1902571 + r1902566;
return r1902572;
}



Bits error versus u1



Bits error versus u2
Results
Initial program 0.4
rmApplied associate-*l/0.3
rmApplied associate-/l*0.4
Taylor expanded around 0 0.4
Final simplification0.4
herbie shell --seed 2019200
(FPCore (u1 u2)
:name "normal distribution"
:pre (and (<= 0.0 u1 1.0) (<= 0.0 u2 1.0))
(+ (* (* (/ 1.0 6.0) (pow (* -2.0 (log u1)) 0.5)) (cos (* (* 2.0 PI) u2))) 0.5))