\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\mathsf{fma}\left({\left(\frac{t}{\ell}\right)}^{2}, 2, 1\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r2639439 = 1.0;
double r2639440 = Om;
double r2639441 = Omc;
double r2639442 = r2639440 / r2639441;
double r2639443 = 2.0;
double r2639444 = pow(r2639442, r2639443);
double r2639445 = r2639439 - r2639444;
double r2639446 = t;
double r2639447 = l;
double r2639448 = r2639446 / r2639447;
double r2639449 = pow(r2639448, r2639443);
double r2639450 = r2639443 * r2639449;
double r2639451 = r2639439 + r2639450;
double r2639452 = r2639445 / r2639451;
double r2639453 = sqrt(r2639452);
double r2639454 = asin(r2639453);
return r2639454;
}
double f(double t, double l, double Om, double Omc) {
double r2639455 = 1.0;
double r2639456 = Om;
double r2639457 = Omc;
double r2639458 = r2639456 / r2639457;
double r2639459 = 2.0;
double r2639460 = pow(r2639458, r2639459);
double r2639461 = r2639455 - r2639460;
double r2639462 = t;
double r2639463 = l;
double r2639464 = r2639462 / r2639463;
double r2639465 = pow(r2639464, r2639459);
double r2639466 = fma(r2639465, r2639459, r2639455);
double r2639467 = r2639461 / r2639466;
double r2639468 = sqrt(r2639467);
double r2639469 = asin(r2639468);
return r2639469;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 9.8
Simplified9.8
Final simplification9.8
herbie shell --seed 2019172 +o rules:numerics
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1.0 (pow (/ Om Omc) 2.0)) (+ 1.0 (* 2.0 (pow (/ t l) 2.0)))))))