\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{\sqrt[3]{1 - {\left(\frac{Om}{Omc}\right)}^{2}} \cdot \sqrt[3]{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}} \cdot \frac{\sqrt[3]{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}}\right)double f(double t, double l, double Om, double Omc) {
double r64436 = 1.0;
double r64437 = Om;
double r64438 = Omc;
double r64439 = r64437 / r64438;
double r64440 = 2.0;
double r64441 = pow(r64439, r64440);
double r64442 = r64436 - r64441;
double r64443 = t;
double r64444 = l;
double r64445 = r64443 / r64444;
double r64446 = pow(r64445, r64440);
double r64447 = r64440 * r64446;
double r64448 = r64436 + r64447;
double r64449 = r64442 / r64448;
double r64450 = sqrt(r64449);
double r64451 = asin(r64450);
return r64451;
}
double f(double t, double l, double Om, double Omc) {
double r64452 = 1.0;
double r64453 = Om;
double r64454 = Omc;
double r64455 = r64453 / r64454;
double r64456 = 2.0;
double r64457 = pow(r64455, r64456);
double r64458 = r64452 - r64457;
double r64459 = cbrt(r64458);
double r64460 = r64459 * r64459;
double r64461 = t;
double r64462 = l;
double r64463 = r64461 / r64462;
double r64464 = pow(r64463, r64456);
double r64465 = fma(r64456, r64464, r64452);
double r64466 = sqrt(r64465);
double r64467 = r64460 / r64466;
double r64468 = r64459 / r64466;
double r64469 = r64467 * r64468;
double r64470 = sqrt(r64469);
double r64471 = asin(r64470);
return r64471;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.3
Simplified10.3
rmApplied add-sqr-sqrt10.3
Applied add-cube-cbrt10.3
Applied times-frac10.3
Final simplification10.3
herbie shell --seed 2019235 +o rules:numerics
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
:precision binary64
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))