\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\mathsf{expm1}\left(\mathsf{log1p}\left(\sin^{-1} \left(\sqrt{\frac{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\sqrt{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}}{\sqrt{\mathsf{fma}\left({\left(\frac{t}{\ell}\right)}^{2}, 2, 1\right)}}}\right)\right)\right)double f(double t, double l, double Om, double Omc) {
double r57224 = 1.0;
double r57225 = Om;
double r57226 = Omc;
double r57227 = r57225 / r57226;
double r57228 = 2.0;
double r57229 = pow(r57227, r57228);
double r57230 = r57224 - r57229;
double r57231 = t;
double r57232 = l;
double r57233 = r57231 / r57232;
double r57234 = pow(r57233, r57228);
double r57235 = r57228 * r57234;
double r57236 = r57224 + r57235;
double r57237 = r57230 / r57236;
double r57238 = sqrt(r57237);
double r57239 = asin(r57238);
return r57239;
}
double f(double t, double l, double Om, double Omc) {
double r57240 = 1.0;
double r57241 = Om;
double r57242 = Omc;
double r57243 = r57241 / r57242;
double r57244 = 2.0;
double r57245 = pow(r57243, r57244);
double r57246 = r57240 - r57245;
double r57247 = t;
double r57248 = l;
double r57249 = r57247 / r57248;
double r57250 = pow(r57249, r57244);
double r57251 = fma(r57244, r57250, r57240);
double r57252 = sqrt(r57251);
double r57253 = r57246 / r57252;
double r57254 = fma(r57250, r57244, r57240);
double r57255 = sqrt(r57254);
double r57256 = r57253 / r57255;
double r57257 = sqrt(r57256);
double r57258 = asin(r57257);
double r57259 = log1p(r57258);
double r57260 = expm1(r57259);
return r57260;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.2
rmApplied expm1-log1p-u10.3
Simplified10.3
rmApplied add-sqr-sqrt10.3
Applied associate-/r*10.3
Simplified10.3
Final simplification10.3
herbie shell --seed 2019174 +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)))))))