\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\left(\sqrt{\sqrt[3]{U \cdot \sqrt[3]{n}} \cdot \sqrt[3]{U \cdot \sqrt[3]{n}}} \cdot \left(\sqrt{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right)\right) \cdot \sqrt[3]{\sqrt[3]{U \cdot \sqrt[3]{n}}}} \cdot \sqrt{\sqrt[3]{\sqrt[3]{U \cdot \sqrt[3]{n}} \cdot \sqrt[3]{U \cdot \sqrt[3]{n}}}}\right)\right) \cdot \sqrt{\left(\sqrt[3]{n} \cdot \sqrt[3]{n}\right) \cdot 2}double f(double n, double U, double t, double l, double Om, double U_) {
double r11191707 = 2.0;
double r11191708 = n;
double r11191709 = r11191707 * r11191708;
double r11191710 = U;
double r11191711 = r11191709 * r11191710;
double r11191712 = t;
double r11191713 = l;
double r11191714 = r11191713 * r11191713;
double r11191715 = Om;
double r11191716 = r11191714 / r11191715;
double r11191717 = r11191707 * r11191716;
double r11191718 = r11191712 - r11191717;
double r11191719 = r11191713 / r11191715;
double r11191720 = pow(r11191719, r11191707);
double r11191721 = r11191708 * r11191720;
double r11191722 = U_;
double r11191723 = r11191710 - r11191722;
double r11191724 = r11191721 * r11191723;
double r11191725 = r11191718 - r11191724;
double r11191726 = r11191711 * r11191725;
double r11191727 = sqrt(r11191726);
return r11191727;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r11191728 = U;
double r11191729 = n;
double r11191730 = cbrt(r11191729);
double r11191731 = r11191728 * r11191730;
double r11191732 = cbrt(r11191731);
double r11191733 = r11191732 * r11191732;
double r11191734 = sqrt(r11191733);
double r11191735 = t;
double r11191736 = 2.0;
double r11191737 = l;
double r11191738 = Om;
double r11191739 = r11191738 / r11191737;
double r11191740 = r11191737 / r11191739;
double r11191741 = r11191736 * r11191740;
double r11191742 = r11191735 - r11191741;
double r11191743 = U_;
double r11191744 = r11191728 - r11191743;
double r11191745 = r11191737 / r11191738;
double r11191746 = r11191745 * r11191745;
double r11191747 = r11191729 * r11191746;
double r11191748 = r11191744 * r11191747;
double r11191749 = r11191742 - r11191748;
double r11191750 = cbrt(r11191732);
double r11191751 = r11191749 * r11191750;
double r11191752 = sqrt(r11191751);
double r11191753 = cbrt(r11191733);
double r11191754 = sqrt(r11191753);
double r11191755 = r11191752 * r11191754;
double r11191756 = r11191734 * r11191755;
double r11191757 = r11191730 * r11191730;
double r11191758 = r11191757 * r11191736;
double r11191759 = sqrt(r11191758);
double r11191760 = r11191756 * r11191759;
return r11191760;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
Initial program 33.7
rmApplied add-cube-cbrt34.0
Applied associate-*r*34.0
Applied associate-*l*34.0
Applied associate-*l*32.8
Applied sqrt-prod28.3
Simplified28.3
rmApplied add-cube-cbrt28.4
Applied associate-*l*28.4
Applied sqrt-prod23.4
rmApplied associate-/l*20.4
rmApplied add-cube-cbrt20.4
Applied cbrt-prod20.4
Applied associate-*l*20.4
Applied sqrt-prod18.7
Final simplification18.7
herbie shell --seed 2019158 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))