\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(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r59427 = 1.0;
double r59428 = Om;
double r59429 = Omc;
double r59430 = r59428 / r59429;
double r59431 = 2.0;
double r59432 = pow(r59430, r59431);
double r59433 = r59427 - r59432;
double r59434 = t;
double r59435 = l;
double r59436 = r59434 / r59435;
double r59437 = pow(r59436, r59431);
double r59438 = r59431 * r59437;
double r59439 = r59427 + r59438;
double r59440 = r59433 / r59439;
double r59441 = sqrt(r59440);
double r59442 = asin(r59441);
return r59442;
}
double f(double t, double l, double Om, double Omc) {
double r59443 = 1.0;
double r59444 = Om;
double r59445 = Omc;
double r59446 = r59444 / r59445;
double r59447 = 2.0;
double r59448 = pow(r59446, r59447);
double r59449 = r59443 - r59448;
double r59450 = t;
double r59451 = l;
double r59452 = r59450 / r59451;
double r59453 = pow(r59452, r59447);
double r59454 = fma(r59447, r59453, r59443);
double r59455 = r59449 / r59454;
double r59456 = sqrt(r59455);
double r59457 = asin(r59456);
return r59457;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.6
Simplified10.6
rmApplied pow110.6
Final simplification10.6
herbie shell --seed 2019305 +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)))))))