\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\begin{array}{l}
\mathbf{if}\;t \le -8.1562973914214696 \cdot 10^{-111} \lor \neg \left(t \le 2.42372495958711142 \cdot 10^{-244}\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\mathsf{fma}\left(z, \frac{\sqrt{t + a}}{t}, -\left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right) + \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(\left(-\left(b - c\right)\right) + \left(b - c\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c) {
double r62793 = x;
double r62794 = y;
double r62795 = 2.0;
double r62796 = z;
double r62797 = t;
double r62798 = a;
double r62799 = r62797 + r62798;
double r62800 = sqrt(r62799);
double r62801 = r62796 * r62800;
double r62802 = r62801 / r62797;
double r62803 = b;
double r62804 = c;
double r62805 = r62803 - r62804;
double r62806 = 5.0;
double r62807 = 6.0;
double r62808 = r62806 / r62807;
double r62809 = r62798 + r62808;
double r62810 = 3.0;
double r62811 = r62797 * r62810;
double r62812 = r62795 / r62811;
double r62813 = r62809 - r62812;
double r62814 = r62805 * r62813;
double r62815 = r62802 - r62814;
double r62816 = r62795 * r62815;
double r62817 = exp(r62816);
double r62818 = r62794 * r62817;
double r62819 = r62793 + r62818;
double r62820 = r62793 / r62819;
return r62820;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r62821 = t;
double r62822 = -8.15629739142147e-111;
bool r62823 = r62821 <= r62822;
double r62824 = 2.4237249595871114e-244;
bool r62825 = r62821 <= r62824;
double r62826 = !r62825;
bool r62827 = r62823 || r62826;
double r62828 = x;
double r62829 = y;
double r62830 = 2.0;
double r62831 = z;
double r62832 = a;
double r62833 = r62821 + r62832;
double r62834 = sqrt(r62833);
double r62835 = r62834 / r62821;
double r62836 = b;
double r62837 = c;
double r62838 = r62836 - r62837;
double r62839 = 5.0;
double r62840 = 6.0;
double r62841 = r62839 / r62840;
double r62842 = r62832 + r62841;
double r62843 = 3.0;
double r62844 = r62821 * r62843;
double r62845 = r62830 / r62844;
double r62846 = r62842 - r62845;
double r62847 = r62838 * r62846;
double r62848 = -r62847;
double r62849 = fma(r62831, r62835, r62848);
double r62850 = -r62838;
double r62851 = r62850 + r62838;
double r62852 = r62846 * r62851;
double r62853 = r62849 + r62852;
double r62854 = r62830 * r62853;
double r62855 = exp(r62854);
double r62856 = r62829 * r62855;
double r62857 = r62828 + r62856;
double r62858 = r62828 / r62857;
double r62859 = r62831 * r62834;
double r62860 = r62832 - r62841;
double r62861 = r62860 * r62844;
double r62862 = r62859 * r62861;
double r62863 = r62832 * r62832;
double r62864 = r62841 * r62841;
double r62865 = r62863 - r62864;
double r62866 = r62865 * r62844;
double r62867 = r62860 * r62830;
double r62868 = r62866 - r62867;
double r62869 = r62838 * r62868;
double r62870 = r62821 * r62869;
double r62871 = r62862 - r62870;
double r62872 = r62821 * r62861;
double r62873 = r62871 / r62872;
double r62874 = r62830 * r62873;
double r62875 = exp(r62874);
double r62876 = r62829 * r62875;
double r62877 = r62828 + r62876;
double r62878 = r62828 / r62877;
double r62879 = r62827 ? r62858 : r62878;
return r62879;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c
if t < -8.15629739142147e-111 or 2.4237249595871114e-244 < t Initial program 2.9
rmApplied *-un-lft-identity2.9
Applied times-frac1.5
Applied prod-diff17.8
Simplified17.8
Simplified0.9
if -8.15629739142147e-111 < t < 2.4237249595871114e-244Initial program 8.6
rmApplied flip-+11.8
Applied frac-sub11.8
Applied associate-*r/11.8
Applied frac-sub8.3
Final simplification2.3
herbie shell --seed 2020003 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))