\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(\frac{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)double f(double t, double l, double Om, double Omc) {
double r64479 = 1.0;
double r64480 = Om;
double r64481 = Omc;
double r64482 = r64480 / r64481;
double r64483 = 2.0;
double r64484 = pow(r64482, r64483);
double r64485 = r64479 - r64484;
double r64486 = t;
double r64487 = l;
double r64488 = r64486 / r64487;
double r64489 = pow(r64488, r64483);
double r64490 = r64483 * r64489;
double r64491 = r64479 + r64490;
double r64492 = r64485 / r64491;
double r64493 = sqrt(r64492);
double r64494 = asin(r64493);
return r64494;
}
double f(double t, double l, double Om, double Omc) {
double r64495 = 1.0;
double r64496 = Om;
double r64497 = Omc;
double r64498 = r64496 / r64497;
double r64499 = 2.0;
double r64500 = pow(r64498, r64499);
double r64501 = r64495 - r64500;
double r64502 = sqrt(r64501);
double r64503 = t;
double r64504 = l;
double r64505 = r64503 / r64504;
double r64506 = pow(r64505, r64499);
double r64507 = r64499 * r64506;
double r64508 = r64495 + r64507;
double r64509 = sqrt(r64508);
double r64510 = r64502 / r64509;
double r64511 = asin(r64510);
return r64511;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.3
rmApplied sqrt-div10.3
Final simplification10.3
herbie shell --seed 2019325
(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)))))))