\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}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)double f(double t, double l, double Om, double Omc) {
double r81466 = 1.0;
double r81467 = Om;
double r81468 = Omc;
double r81469 = r81467 / r81468;
double r81470 = 2.0;
double r81471 = pow(r81469, r81470);
double r81472 = r81466 - r81471;
double r81473 = t;
double r81474 = l;
double r81475 = r81473 / r81474;
double r81476 = pow(r81475, r81470);
double r81477 = r81470 * r81476;
double r81478 = r81466 + r81477;
double r81479 = r81472 / r81478;
double r81480 = sqrt(r81479);
double r81481 = asin(r81480);
return r81481;
}
double f(double t, double l, double Om, double Omc) {
double r81482 = 1.0;
double r81483 = Om;
double r81484 = Omc;
double r81485 = r81483 / r81484;
double r81486 = 2.0;
double r81487 = pow(r81485, r81486);
double r81488 = r81482 - r81487;
double r81489 = t;
double r81490 = l;
double r81491 = r81489 / r81490;
double r81492 = pow(r81491, r81486);
double r81493 = r81486 * r81492;
double r81494 = r81482 + r81493;
double r81495 = r81488 / r81494;
double r81496 = sqrt(r81495);
double r81497 = asin(r81496);
return r81497;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.5
Final simplification10.5
herbie shell --seed 2020001 +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)))))))