Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, I

Percentage Accurate: 94.0% → 95.3%
Time: 21.7s
Alternatives: 17
Speedup: 0.7×

Specification

?
\[\begin{array}{l} \\ \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)}} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (/
  x
  (+
   x
   (*
    y
    (exp
     (*
      2.0
      (-
       (/ (* z (sqrt (+ t a))) t)
       (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	return x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    code = x / (x + (y * exp((2.0d0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0d0 / 6.0d0)) - (2.0d0 / (t * 3.0d0)))))))))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	return x / (x + (y * Math.exp((2.0 * (((z * Math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
def code(x, y, z, t, a, b, c):
	return x / (x + (y * math.exp((2.0 * (((z * math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))))
function code(x, y, z, t, a, b, c)
	return Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(z * sqrt(Float64(t + a))) / t) - Float64(Float64(b - c) * Float64(Float64(a + Float64(5.0 / 6.0)) - Float64(2.0 / Float64(t * 3.0))))))))))
end
function tmp = code(x, y, z, t, a, b, c)
	tmp = x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
end
code[x_, y_, z_, t_, a_, b_, c_] := N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(z * N[Sqrt[N[(t + a), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision] - N[(N[(b - c), $MachinePrecision] * N[(N[(a + N[(5.0 / 6.0), $MachinePrecision]), $MachinePrecision] - N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\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)}}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 17 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 94.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \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)}} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (/
  x
  (+
   x
   (*
    y
    (exp
     (*
      2.0
      (-
       (/ (* z (sqrt (+ t a))) t)
       (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	return x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    code = x / (x + (y * exp((2.0d0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0d0 / 6.0d0)) - (2.0d0 / (t * 3.0d0)))))))))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	return x / (x + (y * Math.exp((2.0 * (((z * Math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
}
def code(x, y, z, t, a, b, c):
	return x / (x + (y * math.exp((2.0 * (((z * math.sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))))
function code(x, y, z, t, a, b, c)
	return Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(z * sqrt(Float64(t + a))) / t) - Float64(Float64(b - c) * Float64(Float64(a + Float64(5.0 / 6.0)) - Float64(2.0 / Float64(t * 3.0))))))))))
end
function tmp = code(x, y, z, t, a, b, c)
	tmp = x / (x + (y * exp((2.0 * (((z * sqrt((t + a))) / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
end
code[x_, y_, z_, t_, a_, b_, c_] := N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(z * N[Sqrt[N[(t + a), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision] - N[(N[(b - c), $MachinePrecision] * N[(N[(a + N[(5.0 / 6.0), $MachinePrecision]), $MachinePrecision] - N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\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)}}
\end{array}

Alternative 1: 95.3% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq 10^{-273}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\sqrt{a} \cdot z + -0.6666666666666666 \cdot \left(c - b\right)}{t}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot {\left(e^{2}\right)}^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} + \left(b - c\right) \cdot \left(\left(\frac{\frac{2}{t}}{3} - 0.8333333333333334\right) - a\right)\right)}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= t 1e-273)
   (/
    x
    (+
     x
     (*
      y
      (exp (* 2.0 (/ (+ (* (sqrt a) z) (* -0.6666666666666666 (- c b))) t))))))
   (/
    x
    (+
     x
     (*
      y
      (pow
       (exp 2.0)
       (+
        (/ z (/ t (sqrt (+ t a))))
        (* (- b c) (- (- (/ (/ 2.0 t) 3.0) 0.8333333333333334) a)))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= 1e-273) {
		tmp = x / (x + (y * exp((2.0 * (((sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	} else {
		tmp = x / (x + (y * pow(exp(2.0), ((z / (t / sqrt((t + a)))) + ((b - c) * ((((2.0 / t) / 3.0) - 0.8333333333333334) - a))))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (t <= 1d-273) then
        tmp = x / (x + (y * exp((2.0d0 * (((sqrt(a) * z) + ((-0.6666666666666666d0) * (c - b))) / t)))))
    else
        tmp = x / (x + (y * (exp(2.0d0) ** ((z / (t / sqrt((t + a)))) + ((b - c) * ((((2.0d0 / t) / 3.0d0) - 0.8333333333333334d0) - a))))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= 1e-273) {
		tmp = x / (x + (y * Math.exp((2.0 * (((Math.sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	} else {
		tmp = x / (x + (y * Math.pow(Math.exp(2.0), ((z / (t / Math.sqrt((t + a)))) + ((b - c) * ((((2.0 / t) / 3.0) - 0.8333333333333334) - a))))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if t <= 1e-273:
		tmp = x / (x + (y * math.exp((2.0 * (((math.sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))))
	else:
		tmp = x / (x + (y * math.pow(math.exp(2.0), ((z / (t / math.sqrt((t + a)))) + ((b - c) * ((((2.0 / t) / 3.0) - 0.8333333333333334) - a))))))
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (t <= 1e-273)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(sqrt(a) * z) + Float64(-0.6666666666666666 * Float64(c - b))) / t))))));
	else
		tmp = Float64(x / Float64(x + Float64(y * (exp(2.0) ^ Float64(Float64(z / Float64(t / sqrt(Float64(t + a)))) + Float64(Float64(b - c) * Float64(Float64(Float64(Float64(2.0 / t) / 3.0) - 0.8333333333333334) - a)))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (t <= 1e-273)
		tmp = x / (x + (y * exp((2.0 * (((sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	else
		tmp = x / (x + (y * (exp(2.0) ^ ((z / (t / sqrt((t + a)))) + ((b - c) * ((((2.0 / t) / 3.0) - 0.8333333333333334) - a))))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, 1e-273], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(N[Sqrt[a], $MachinePrecision] * z), $MachinePrecision] + N[(-0.6666666666666666 * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Power[N[Exp[2.0], $MachinePrecision], N[(N[(z / N[(t / N[Sqrt[N[(t + a), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(b - c), $MachinePrecision] * N[(N[(N[(N[(2.0 / t), $MachinePrecision] / 3.0), $MachinePrecision] - 0.8333333333333334), $MachinePrecision] - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq 10^{-273}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\sqrt{a} \cdot z + -0.6666666666666666 \cdot \left(c - b\right)}{t}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot {\left(e^{2}\right)}^{\left(\frac{z}{\frac{t}{\sqrt{t + a}}} + \left(b - c\right) \cdot \left(\left(\frac{\frac{2}{t}}{3} - 0.8333333333333334\right) - a\right)\right)}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 2: 97.2% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{z \cdot \sqrt{t + a}}{t} + \left(b - c\right) \cdot \left(\frac{2}{t \cdot 3} - \left(a + 0.8333333333333334\right)\right)\\ \mathbf{if}\;t_1 \leq \infty:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot t_1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\sqrt{a} \cdot z + -0.6666666666666666 \cdot \left(c - b\right)}{t}}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (let* ((t_1
         (+
          (/ (* z (sqrt (+ t a))) t)
          (* (- b c) (- (/ 2.0 (* t 3.0)) (+ a 0.8333333333333334))))))
   (if (<= t_1 INFINITY)
     (/ x (+ x (* y (exp (* 2.0 t_1)))))
     (/
      x
      (+
       x
       (*
        y
        (exp
         (*
          2.0
          (/ (+ (* (sqrt a) z) (* -0.6666666666666666 (- c b))) t)))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double t_1 = ((z * sqrt((t + a))) / t) + ((b - c) * ((2.0 / (t * 3.0)) - (a + 0.8333333333333334)));
	double tmp;
	if (t_1 <= ((double) INFINITY)) {
		tmp = x / (x + (y * exp((2.0 * t_1))));
	} else {
		tmp = x / (x + (y * exp((2.0 * (((sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	}
	return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double t_1 = ((z * Math.sqrt((t + a))) / t) + ((b - c) * ((2.0 / (t * 3.0)) - (a + 0.8333333333333334)));
	double tmp;
	if (t_1 <= Double.POSITIVE_INFINITY) {
		tmp = x / (x + (y * Math.exp((2.0 * t_1))));
	} else {
		tmp = x / (x + (y * Math.exp((2.0 * (((Math.sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	t_1 = ((z * math.sqrt((t + a))) / t) + ((b - c) * ((2.0 / (t * 3.0)) - (a + 0.8333333333333334)))
	tmp = 0
	if t_1 <= math.inf:
		tmp = x / (x + (y * math.exp((2.0 * t_1))))
	else:
		tmp = x / (x + (y * math.exp((2.0 * (((math.sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))))
	return tmp
function code(x, y, z, t, a, b, c)
	t_1 = Float64(Float64(Float64(z * sqrt(Float64(t + a))) / t) + Float64(Float64(b - c) * Float64(Float64(2.0 / Float64(t * 3.0)) - Float64(a + 0.8333333333333334))))
	tmp = 0.0
	if (t_1 <= Inf)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * t_1)))));
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(sqrt(a) * z) + Float64(-0.6666666666666666 * Float64(c - b))) / t))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	t_1 = ((z * sqrt((t + a))) / t) + ((b - c) * ((2.0 / (t * 3.0)) - (a + 0.8333333333333334)));
	tmp = 0.0;
	if (t_1 <= Inf)
		tmp = x / (x + (y * exp((2.0 * t_1))));
	else
		tmp = x / (x + (y * exp((2.0 * (((sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(N[(N[(z * N[Sqrt[N[(t + a), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision] + N[(N[(b - c), $MachinePrecision] * N[(N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision] - N[(a + 0.8333333333333334), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * t$95$1), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(N[Sqrt[a], $MachinePrecision] * z), $MachinePrecision] + N[(-0.6666666666666666 * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{z \cdot \sqrt{t + a}}{t} + \left(b - c\right) \cdot \left(\frac{2}{t \cdot 3} - \left(a + 0.8333333333333334\right)\right)\\
\mathbf{if}\;t_1 \leq \infty:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot t_1}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\sqrt{a} \cdot z + -0.6666666666666666 \cdot \left(c - b\right)}{t}}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 3: 82.8% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{x}{x + y \cdot e^{2 \cdot \left(z \cdot \sqrt{\frac{1}{t}} + 0.8333333333333334 \cdot \left(c - b\right)\right)}}\\ \mathbf{if}\;t \leq 3 \cdot 10^{-200}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\sqrt{a} \cdot z + -0.6666666666666666 \cdot \left(c - b\right)}{t}}}\\ \mathbf{elif}\;t \leq 6.6 \cdot 10^{-122}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(c \cdot \left(a + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right)\right)\right)}}\\ \mathbf{elif}\;t \leq 2.05 \cdot 10^{-91}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;t \leq 2.8 \cdot 10^{-16}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(b \cdot \left(\frac{0.6666666666666666}{t} - \left(a + 0.8333333333333334\right)\right)\right)}}\\ \mathbf{elif}\;t \leq 6.6 \cdot 10^{+253}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a + 0.8333333333333334\right) \cdot \left(c - b\right)\right)}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (let* ((t_1
         (/
          x
          (+
           x
           (*
            y
            (exp
             (*
              2.0
              (+ (* z (sqrt (/ 1.0 t))) (* 0.8333333333333334 (- c b))))))))))
   (if (<= t 3e-200)
     (/
      x
      (+
       x
       (*
        y
        (exp
         (* 2.0 (/ (+ (* (sqrt a) z) (* -0.6666666666666666 (- c b))) t))))))
     (if (<= t 6.6e-122)
       (/
        x
        (+
         x
         (*
          y
          (exp
           (*
            2.0
            (* c (+ a (+ 0.8333333333333334 (/ -0.6666666666666666 t)))))))))
       (if (<= t 2.05e-91)
         t_1
         (if (<= t 2.8e-16)
           (/
            x
            (+
             x
             (*
              y
              (exp
               (*
                2.0
                (*
                 b
                 (- (/ 0.6666666666666666 t) (+ a 0.8333333333333334))))))))
           (if (<= t 6.6e+253)
             t_1
             (/
              x
              (+
               x
               (*
                y
                (exp (* 2.0 (* (+ a 0.8333333333333334) (- c b))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double t_1 = x / (x + (y * exp((2.0 * ((z * sqrt((1.0 / t))) + (0.8333333333333334 * (c - b)))))));
	double tmp;
	if (t <= 3e-200) {
		tmp = x / (x + (y * exp((2.0 * (((sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	} else if (t <= 6.6e-122) {
		tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
	} else if (t <= 2.05e-91) {
		tmp = t_1;
	} else if (t <= 2.8e-16) {
		tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))));
	} else if (t <= 6.6e+253) {
		tmp = t_1;
	} else {
		tmp = x / (x + (y * exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: t_1
    real(8) :: tmp
    t_1 = x / (x + (y * exp((2.0d0 * ((z * sqrt((1.0d0 / t))) + (0.8333333333333334d0 * (c - b)))))))
    if (t <= 3d-200) then
        tmp = x / (x + (y * exp((2.0d0 * (((sqrt(a) * z) + ((-0.6666666666666666d0) * (c - b))) / t)))))
    else if (t <= 6.6d-122) then
        tmp = x / (x + (y * exp((2.0d0 * (c * (a + (0.8333333333333334d0 + ((-0.6666666666666666d0) / t))))))))
    else if (t <= 2.05d-91) then
        tmp = t_1
    else if (t <= 2.8d-16) then
        tmp = x / (x + (y * exp((2.0d0 * (b * ((0.6666666666666666d0 / t) - (a + 0.8333333333333334d0)))))))
    else if (t <= 6.6d+253) then
        tmp = t_1
    else
        tmp = x / (x + (y * exp((2.0d0 * ((a + 0.8333333333333334d0) * (c - b))))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double t_1 = x / (x + (y * Math.exp((2.0 * ((z * Math.sqrt((1.0 / t))) + (0.8333333333333334 * (c - b)))))));
	double tmp;
	if (t <= 3e-200) {
		tmp = x / (x + (y * Math.exp((2.0 * (((Math.sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	} else if (t <= 6.6e-122) {
		tmp = x / (x + (y * Math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
	} else if (t <= 2.05e-91) {
		tmp = t_1;
	} else if (t <= 2.8e-16) {
		tmp = x / (x + (y * Math.exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))));
	} else if (t <= 6.6e+253) {
		tmp = t_1;
	} else {
		tmp = x / (x + (y * Math.exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	t_1 = x / (x + (y * math.exp((2.0 * ((z * math.sqrt((1.0 / t))) + (0.8333333333333334 * (c - b)))))))
	tmp = 0
	if t <= 3e-200:
		tmp = x / (x + (y * math.exp((2.0 * (((math.sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))))
	elif t <= 6.6e-122:
		tmp = x / (x + (y * math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))))
	elif t <= 2.05e-91:
		tmp = t_1
	elif t <= 2.8e-16:
		tmp = x / (x + (y * math.exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))))
	elif t <= 6.6e+253:
		tmp = t_1
	else:
		tmp = x / (x + (y * math.exp((2.0 * ((a + 0.8333333333333334) * (c - b))))))
	return tmp
function code(x, y, z, t, a, b, c)
	t_1 = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(z * sqrt(Float64(1.0 / t))) + Float64(0.8333333333333334 * Float64(c - b))))))))
	tmp = 0.0
	if (t <= 3e-200)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(sqrt(a) * z) + Float64(-0.6666666666666666 * Float64(c - b))) / t))))));
	elseif (t <= 6.6e-122)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(c * Float64(a + Float64(0.8333333333333334 + Float64(-0.6666666666666666 / t)))))))));
	elseif (t <= 2.05e-91)
		tmp = t_1;
	elseif (t <= 2.8e-16)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(b * Float64(Float64(0.6666666666666666 / t) - Float64(a + 0.8333333333333334))))))));
	elseif (t <= 6.6e+253)
		tmp = t_1;
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(a + 0.8333333333333334) * Float64(c - b)))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	t_1 = x / (x + (y * exp((2.0 * ((z * sqrt((1.0 / t))) + (0.8333333333333334 * (c - b)))))));
	tmp = 0.0;
	if (t <= 3e-200)
		tmp = x / (x + (y * exp((2.0 * (((sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	elseif (t <= 6.6e-122)
		tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
	elseif (t <= 2.05e-91)
		tmp = t_1;
	elseif (t <= 2.8e-16)
		tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))));
	elseif (t <= 6.6e+253)
		tmp = t_1;
	else
		tmp = x / (x + (y * exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(z * N[Sqrt[N[(1.0 / t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] + N[(0.8333333333333334 * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, 3e-200], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(N[Sqrt[a], $MachinePrecision] * z), $MachinePrecision] + N[(-0.6666666666666666 * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.6e-122], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(c * N[(a + N[(0.8333333333333334 + N[(-0.6666666666666666 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.05e-91], t$95$1, If[LessEqual[t, 2.8e-16], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(b * N[(N[(0.6666666666666666 / t), $MachinePrecision] - N[(a + 0.8333333333333334), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.6e+253], t$95$1, N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(a + 0.8333333333333334), $MachinePrecision] * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{x}{x + y \cdot e^{2 \cdot \left(z \cdot \sqrt{\frac{1}{t}} + 0.8333333333333334 \cdot \left(c - b\right)\right)}}\\
\mathbf{if}\;t \leq 3 \cdot 10^{-200}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\sqrt{a} \cdot z + -0.6666666666666666 \cdot \left(c - b\right)}{t}}}\\

\mathbf{elif}\;t \leq 6.6 \cdot 10^{-122}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(c \cdot \left(a + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right)\right)\right)}}\\

\mathbf{elif}\;t \leq 2.05 \cdot 10^{-91}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;t \leq 2.8 \cdot 10^{-16}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(b \cdot \left(\frac{0.6666666666666666}{t} - \left(a + 0.8333333333333334\right)\right)\right)}}\\

\mathbf{elif}\;t \leq 6.6 \cdot 10^{+253}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a + 0.8333333333333334\right) \cdot \left(c - b\right)\right)}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 4: 86.7% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq 5 \cdot 10^{-260}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\sqrt{a} \cdot z + -0.6666666666666666 \cdot \left(c - b\right)}{t}}}\\ \mathbf{elif}\;t \leq 7.5 \cdot 10^{+253}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(z \cdot \sqrt{\frac{1}{t}} + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right) \cdot \left(c - b\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a + 0.8333333333333334\right) \cdot \left(c - b\right)\right)}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= t 5e-260)
   (/
    x
    (+
     x
     (*
      y
      (exp (* 2.0 (/ (+ (* (sqrt a) z) (* -0.6666666666666666 (- c b))) t))))))
   (if (<= t 7.5e+253)
     (/
      x
      (+
       x
       (*
        y
        (exp
         (*
          2.0
          (+
           (* z (sqrt (/ 1.0 t)))
           (* (+ 0.8333333333333334 (/ -0.6666666666666666 t)) (- c b))))))))
     (/ x (+ x (* y (exp (* 2.0 (* (+ a 0.8333333333333334) (- c b))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= 5e-260) {
		tmp = x / (x + (y * exp((2.0 * (((sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	} else if (t <= 7.5e+253) {
		tmp = x / (x + (y * exp((2.0 * ((z * sqrt((1.0 / t))) + ((0.8333333333333334 + (-0.6666666666666666 / t)) * (c - b)))))));
	} else {
		tmp = x / (x + (y * exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (t <= 5d-260) then
        tmp = x / (x + (y * exp((2.0d0 * (((sqrt(a) * z) + ((-0.6666666666666666d0) * (c - b))) / t)))))
    else if (t <= 7.5d+253) then
        tmp = x / (x + (y * exp((2.0d0 * ((z * sqrt((1.0d0 / t))) + ((0.8333333333333334d0 + ((-0.6666666666666666d0) / t)) * (c - b)))))))
    else
        tmp = x / (x + (y * exp((2.0d0 * ((a + 0.8333333333333334d0) * (c - b))))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= 5e-260) {
		tmp = x / (x + (y * Math.exp((2.0 * (((Math.sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	} else if (t <= 7.5e+253) {
		tmp = x / (x + (y * Math.exp((2.0 * ((z * Math.sqrt((1.0 / t))) + ((0.8333333333333334 + (-0.6666666666666666 / t)) * (c - b)))))));
	} else {
		tmp = x / (x + (y * Math.exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if t <= 5e-260:
		tmp = x / (x + (y * math.exp((2.0 * (((math.sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))))
	elif t <= 7.5e+253:
		tmp = x / (x + (y * math.exp((2.0 * ((z * math.sqrt((1.0 / t))) + ((0.8333333333333334 + (-0.6666666666666666 / t)) * (c - b)))))))
	else:
		tmp = x / (x + (y * math.exp((2.0 * ((a + 0.8333333333333334) * (c - b))))))
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (t <= 5e-260)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(sqrt(a) * z) + Float64(-0.6666666666666666 * Float64(c - b))) / t))))));
	elseif (t <= 7.5e+253)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(z * sqrt(Float64(1.0 / t))) + Float64(Float64(0.8333333333333334 + Float64(-0.6666666666666666 / t)) * Float64(c - b))))))));
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(a + 0.8333333333333334) * Float64(c - b)))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (t <= 5e-260)
		tmp = x / (x + (y * exp((2.0 * (((sqrt(a) * z) + (-0.6666666666666666 * (c - b))) / t)))));
	elseif (t <= 7.5e+253)
		tmp = x / (x + (y * exp((2.0 * ((z * sqrt((1.0 / t))) + ((0.8333333333333334 + (-0.6666666666666666 / t)) * (c - b)))))));
	else
		tmp = x / (x + (y * exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, 5e-260], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(N[Sqrt[a], $MachinePrecision] * z), $MachinePrecision] + N[(-0.6666666666666666 * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 7.5e+253], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(z * N[Sqrt[N[(1.0 / t), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] + N[(N[(0.8333333333333334 + N[(-0.6666666666666666 / t), $MachinePrecision]), $MachinePrecision] * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(a + 0.8333333333333334), $MachinePrecision] * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq 5 \cdot 10^{-260}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\sqrt{a} \cdot z + -0.6666666666666666 \cdot \left(c - b\right)}{t}}}\\

\mathbf{elif}\;t \leq 7.5 \cdot 10^{+253}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(z \cdot \sqrt{\frac{1}{t}} + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right) \cdot \left(c - b\right)\right)}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a + 0.8333333333333334\right) \cdot \left(c - b\right)\right)}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 5: 79.1% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq -1.45 \cdot 10^{-193}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\ \mathbf{elif}\;t \leq 2.6 \cdot 10^{-134}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\ \mathbf{elif}\;t \leq 2.2 \cdot 10^{-12}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(b \cdot \left(\frac{0.6666666666666666}{t} - \left(a + 0.8333333333333334\right)\right)\right)}}\\ \mathbf{elif}\;t \leq 0.0072:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a + 0.8333333333333334\right) \cdot \left(c - b\right)\right)}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= t -1.45e-193)
   (/ x (+ x (* y (exp (* 2.0 (* a (- c b)))))))
   (if (<= t 2.6e-134)
     (/ x (+ x (* y (exp (* -1.3333333333333333 (/ c t))))))
     (if (<= t 2.2e-12)
       (/
        x
        (+
         x
         (*
          y
          (exp
           (*
            2.0
            (* b (- (/ 0.6666666666666666 t) (+ a 0.8333333333333334))))))))
       (if (<= t 0.0072)
         1.0
         (/
          x
          (+ x (* y (exp (* 2.0 (* (+ a 0.8333333333333334) (- c b))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= -1.45e-193) {
		tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
	} else if (t <= 2.6e-134) {
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	} else if (t <= 2.2e-12) {
		tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))));
	} else if (t <= 0.0072) {
		tmp = 1.0;
	} else {
		tmp = x / (x + (y * exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (t <= (-1.45d-193)) then
        tmp = x / (x + (y * exp((2.0d0 * (a * (c - b))))))
    else if (t <= 2.6d-134) then
        tmp = x / (x + (y * exp(((-1.3333333333333333d0) * (c / t)))))
    else if (t <= 2.2d-12) then
        tmp = x / (x + (y * exp((2.0d0 * (b * ((0.6666666666666666d0 / t) - (a + 0.8333333333333334d0)))))))
    else if (t <= 0.0072d0) then
        tmp = 1.0d0
    else
        tmp = x / (x + (y * exp((2.0d0 * ((a + 0.8333333333333334d0) * (c - b))))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= -1.45e-193) {
		tmp = x / (x + (y * Math.exp((2.0 * (a * (c - b))))));
	} else if (t <= 2.6e-134) {
		tmp = x / (x + (y * Math.exp((-1.3333333333333333 * (c / t)))));
	} else if (t <= 2.2e-12) {
		tmp = x / (x + (y * Math.exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))));
	} else if (t <= 0.0072) {
		tmp = 1.0;
	} else {
		tmp = x / (x + (y * Math.exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if t <= -1.45e-193:
		tmp = x / (x + (y * math.exp((2.0 * (a * (c - b))))))
	elif t <= 2.6e-134:
		tmp = x / (x + (y * math.exp((-1.3333333333333333 * (c / t)))))
	elif t <= 2.2e-12:
		tmp = x / (x + (y * math.exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))))
	elif t <= 0.0072:
		tmp = 1.0
	else:
		tmp = x / (x + (y * math.exp((2.0 * ((a + 0.8333333333333334) * (c - b))))))
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (t <= -1.45e-193)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(a * Float64(c - b)))))));
	elseif (t <= 2.6e-134)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(-1.3333333333333333 * Float64(c / t))))));
	elseif (t <= 2.2e-12)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(b * Float64(Float64(0.6666666666666666 / t) - Float64(a + 0.8333333333333334))))))));
	elseif (t <= 0.0072)
		tmp = 1.0;
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(a + 0.8333333333333334) * Float64(c - b)))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (t <= -1.45e-193)
		tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
	elseif (t <= 2.6e-134)
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	elseif (t <= 2.2e-12)
		tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))));
	elseif (t <= 0.0072)
		tmp = 1.0;
	else
		tmp = x / (x + (y * exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, -1.45e-193], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(a * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.6e-134], N[(x / N[(x + N[(y * N[Exp[N[(-1.3333333333333333 * N[(c / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.2e-12], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(b * N[(N[(0.6666666666666666 / t), $MachinePrecision] - N[(a + 0.8333333333333334), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 0.0072], 1.0, N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(a + 0.8333333333333334), $MachinePrecision] * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.45 \cdot 10^{-193}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\

\mathbf{elif}\;t \leq 2.6 \cdot 10^{-134}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\

\mathbf{elif}\;t \leq 2.2 \cdot 10^{-12}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(b \cdot \left(\frac{0.6666666666666666}{t} - \left(a + 0.8333333333333334\right)\right)\right)}}\\

\mathbf{elif}\;t \leq 0.0072:\\
\;\;\;\;1\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a + 0.8333333333333334\right) \cdot \left(c - b\right)\right)}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 6: 78.6% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;c \leq -1.15 \cdot 10^{+87} \lor \neg \left(c \leq 3.2 \cdot 10^{-86}\right):\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(c \cdot \left(a + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(b \cdot \left(\frac{0.6666666666666666}{t} - \left(a + 0.8333333333333334\right)\right)\right)}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (or (<= c -1.15e+87) (not (<= c 3.2e-86)))
   (/
    x
    (+
     x
     (*
      y
      (exp
       (* 2.0 (* c (+ a (+ 0.8333333333333334 (/ -0.6666666666666666 t)))))))))
   (/
    x
    (+
     x
     (*
      y
      (exp
       (*
        2.0
        (* b (- (/ 0.6666666666666666 t) (+ a 0.8333333333333334))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if ((c <= -1.15e+87) || !(c <= 3.2e-86)) {
		tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
	} else {
		tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if ((c <= (-1.15d+87)) .or. (.not. (c <= 3.2d-86))) then
        tmp = x / (x + (y * exp((2.0d0 * (c * (a + (0.8333333333333334d0 + ((-0.6666666666666666d0) / t))))))))
    else
        tmp = x / (x + (y * exp((2.0d0 * (b * ((0.6666666666666666d0 / t) - (a + 0.8333333333333334d0)))))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if ((c <= -1.15e+87) || !(c <= 3.2e-86)) {
		tmp = x / (x + (y * Math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
	} else {
		tmp = x / (x + (y * Math.exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if (c <= -1.15e+87) or not (c <= 3.2e-86):
		tmp = x / (x + (y * math.exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))))
	else:
		tmp = x / (x + (y * math.exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))))
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if ((c <= -1.15e+87) || !(c <= 3.2e-86))
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(c * Float64(a + Float64(0.8333333333333334 + Float64(-0.6666666666666666 / t)))))))));
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(b * Float64(Float64(0.6666666666666666 / t) - Float64(a + 0.8333333333333334))))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if ((c <= -1.15e+87) || ~((c <= 3.2e-86)))
		tmp = x / (x + (y * exp((2.0 * (c * (a + (0.8333333333333334 + (-0.6666666666666666 / t))))))));
	else
		tmp = x / (x + (y * exp((2.0 * (b * ((0.6666666666666666 / t) - (a + 0.8333333333333334)))))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[Or[LessEqual[c, -1.15e+87], N[Not[LessEqual[c, 3.2e-86]], $MachinePrecision]], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(c * N[(a + N[(0.8333333333333334 + N[(-0.6666666666666666 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(b * N[(N[(0.6666666666666666 / t), $MachinePrecision] - N[(a + 0.8333333333333334), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;c \leq -1.15 \cdot 10^{+87} \lor \neg \left(c \leq 3.2 \cdot 10^{-86}\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(c \cdot \left(a + \left(0.8333333333333334 + \frac{-0.6666666666666666}{t}\right)\right)\right)}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(b \cdot \left(\frac{0.6666666666666666}{t} - \left(a + 0.8333333333333334\right)\right)\right)}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 7: 77.4% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq -6.2 \cdot 10^{-198}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\ \mathbf{elif}\;t \leq 0.0022:\\ \;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a + 0.8333333333333334\right) \cdot \left(c - b\right)\right)}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= t -6.2e-198)
   (/ x (+ x (* y (exp (* 2.0 (* a (- c b)))))))
   (if (<= t 0.0022)
     (/ x (+ x (* y (exp (* -1.3333333333333333 (/ c t))))))
     (/ x (+ x (* y (exp (* 2.0 (* (+ a 0.8333333333333334) (- c b))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= -6.2e-198) {
		tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
	} else if (t <= 0.0022) {
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	} else {
		tmp = x / (x + (y * exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (t <= (-6.2d-198)) then
        tmp = x / (x + (y * exp((2.0d0 * (a * (c - b))))))
    else if (t <= 0.0022d0) then
        tmp = x / (x + (y * exp(((-1.3333333333333333d0) * (c / t)))))
    else
        tmp = x / (x + (y * exp((2.0d0 * ((a + 0.8333333333333334d0) * (c - b))))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= -6.2e-198) {
		tmp = x / (x + (y * Math.exp((2.0 * (a * (c - b))))));
	} else if (t <= 0.0022) {
		tmp = x / (x + (y * Math.exp((-1.3333333333333333 * (c / t)))));
	} else {
		tmp = x / (x + (y * Math.exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if t <= -6.2e-198:
		tmp = x / (x + (y * math.exp((2.0 * (a * (c - b))))))
	elif t <= 0.0022:
		tmp = x / (x + (y * math.exp((-1.3333333333333333 * (c / t)))))
	else:
		tmp = x / (x + (y * math.exp((2.0 * ((a + 0.8333333333333334) * (c - b))))))
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (t <= -6.2e-198)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(a * Float64(c - b)))))));
	elseif (t <= 0.0022)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(-1.3333333333333333 * Float64(c / t))))));
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(a + 0.8333333333333334) * Float64(c - b)))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (t <= -6.2e-198)
		tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
	elseif (t <= 0.0022)
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	else
		tmp = x / (x + (y * exp((2.0 * ((a + 0.8333333333333334) * (c - b))))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, -6.2e-198], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(a * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 0.0022], N[(x / N[(x + N[(y * N[Exp[N[(-1.3333333333333333 * N[(c / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(a + 0.8333333333333334), $MachinePrecision] * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq -6.2 \cdot 10^{-198}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\

\mathbf{elif}\;t \leq 0.0022:\\
\;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a + 0.8333333333333334\right) \cdot \left(c - b\right)\right)}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 8: 60.3% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq -5.8 \cdot 10^{-88} \lor \neg \left(t \leq 4.5 \cdot 10^{-28}\right):\\ \;\;\;\;\frac{x}{x + y \cdot e^{b \cdot -1.6666666666666667}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (or (<= t -5.8e-88) (not (<= t 4.5e-28)))
   (/ x (+ x (* y (exp (* b -1.6666666666666667)))))
   (/ x (+ x (* y (exp (* -1.3333333333333333 (/ c t))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if ((t <= -5.8e-88) || !(t <= 4.5e-28)) {
		tmp = x / (x + (y * exp((b * -1.6666666666666667))));
	} else {
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if ((t <= (-5.8d-88)) .or. (.not. (t <= 4.5d-28))) then
        tmp = x / (x + (y * exp((b * (-1.6666666666666667d0)))))
    else
        tmp = x / (x + (y * exp(((-1.3333333333333333d0) * (c / t)))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if ((t <= -5.8e-88) || !(t <= 4.5e-28)) {
		tmp = x / (x + (y * Math.exp((b * -1.6666666666666667))));
	} else {
		tmp = x / (x + (y * Math.exp((-1.3333333333333333 * (c / t)))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if (t <= -5.8e-88) or not (t <= 4.5e-28):
		tmp = x / (x + (y * math.exp((b * -1.6666666666666667))))
	else:
		tmp = x / (x + (y * math.exp((-1.3333333333333333 * (c / t)))))
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if ((t <= -5.8e-88) || !(t <= 4.5e-28))
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(b * -1.6666666666666667)))));
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(-1.3333333333333333 * Float64(c / t))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if ((t <= -5.8e-88) || ~((t <= 4.5e-28)))
		tmp = x / (x + (y * exp((b * -1.6666666666666667))));
	else
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[Or[LessEqual[t, -5.8e-88], N[Not[LessEqual[t, 4.5e-28]], $MachinePrecision]], N[(x / N[(x + N[(y * N[Exp[N[(b * -1.6666666666666667), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(-1.3333333333333333 * N[(c / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq -5.8 \cdot 10^{-88} \lor \neg \left(t \leq 4.5 \cdot 10^{-28}\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{b \cdot -1.6666666666666667}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 9: 69.8% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq -3.15 \cdot 10^{-193} \lor \neg \left(t \leq 0.0004\right):\\ \;\;\;\;\frac{x}{x + y \cdot e^{1.6666666666666667 \cdot \left(c - b\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (or (<= t -3.15e-193) (not (<= t 0.0004)))
   (/ x (+ x (* y (exp (* 1.6666666666666667 (- c b))))))
   (/ x (+ x (* y (exp (* -1.3333333333333333 (/ c t))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if ((t <= -3.15e-193) || !(t <= 0.0004)) {
		tmp = x / (x + (y * exp((1.6666666666666667 * (c - b)))));
	} else {
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if ((t <= (-3.15d-193)) .or. (.not. (t <= 0.0004d0))) then
        tmp = x / (x + (y * exp((1.6666666666666667d0 * (c - b)))))
    else
        tmp = x / (x + (y * exp(((-1.3333333333333333d0) * (c / t)))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if ((t <= -3.15e-193) || !(t <= 0.0004)) {
		tmp = x / (x + (y * Math.exp((1.6666666666666667 * (c - b)))));
	} else {
		tmp = x / (x + (y * Math.exp((-1.3333333333333333 * (c / t)))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if (t <= -3.15e-193) or not (t <= 0.0004):
		tmp = x / (x + (y * math.exp((1.6666666666666667 * (c - b)))))
	else:
		tmp = x / (x + (y * math.exp((-1.3333333333333333 * (c / t)))))
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if ((t <= -3.15e-193) || !(t <= 0.0004))
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(1.6666666666666667 * Float64(c - b))))));
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(-1.3333333333333333 * Float64(c / t))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if ((t <= -3.15e-193) || ~((t <= 0.0004)))
		tmp = x / (x + (y * exp((1.6666666666666667 * (c - b)))));
	else
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[Or[LessEqual[t, -3.15e-193], N[Not[LessEqual[t, 0.0004]], $MachinePrecision]], N[(x / N[(x + N[(y * N[Exp[N[(1.6666666666666667 * N[(c - b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(-1.3333333333333333 * N[(c / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.15 \cdot 10^{-193} \lor \neg \left(t \leq 0.0004\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{1.6666666666666667 \cdot \left(c - b\right)}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 10: 67.6% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq -1.05 \cdot 10^{-165}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{b \cdot \left(a \cdot -2\right)}}\\ \mathbf{elif}\;t \leq 0.0003:\\ \;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{1.6666666666666667 \cdot \left(c - b\right)}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= t -1.05e-165)
   (/ x (+ x (* y (exp (* b (* a -2.0))))))
   (if (<= t 0.0003)
     (/ x (+ x (* y (exp (* -1.3333333333333333 (/ c t))))))
     (/ x (+ x (* y (exp (* 1.6666666666666667 (- c b)))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= -1.05e-165) {
		tmp = x / (x + (y * exp((b * (a * -2.0)))));
	} else if (t <= 0.0003) {
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	} else {
		tmp = x / (x + (y * exp((1.6666666666666667 * (c - b)))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (t <= (-1.05d-165)) then
        tmp = x / (x + (y * exp((b * (a * (-2.0d0))))))
    else if (t <= 0.0003d0) then
        tmp = x / (x + (y * exp(((-1.3333333333333333d0) * (c / t)))))
    else
        tmp = x / (x + (y * exp((1.6666666666666667d0 * (c - b)))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= -1.05e-165) {
		tmp = x / (x + (y * Math.exp((b * (a * -2.0)))));
	} else if (t <= 0.0003) {
		tmp = x / (x + (y * Math.exp((-1.3333333333333333 * (c / t)))));
	} else {
		tmp = x / (x + (y * Math.exp((1.6666666666666667 * (c - b)))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if t <= -1.05e-165:
		tmp = x / (x + (y * math.exp((b * (a * -2.0)))))
	elif t <= 0.0003:
		tmp = x / (x + (y * math.exp((-1.3333333333333333 * (c / t)))))
	else:
		tmp = x / (x + (y * math.exp((1.6666666666666667 * (c - b)))))
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (t <= -1.05e-165)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(b * Float64(a * -2.0))))));
	elseif (t <= 0.0003)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(-1.3333333333333333 * Float64(c / t))))));
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(1.6666666666666667 * Float64(c - b))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (t <= -1.05e-165)
		tmp = x / (x + (y * exp((b * (a * -2.0)))));
	elseif (t <= 0.0003)
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	else
		tmp = x / (x + (y * exp((1.6666666666666667 * (c - b)))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, -1.05e-165], N[(x / N[(x + N[(y * N[Exp[N[(b * N[(a * -2.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 0.0003], N[(x / N[(x + N[(y * N[Exp[N[(-1.3333333333333333 * N[(c / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(1.6666666666666667 * N[(c - b), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.05 \cdot 10^{-165}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{b \cdot \left(a \cdot -2\right)}}\\

\mathbf{elif}\;t \leq 0.0003:\\
\;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{1.6666666666666667 \cdot \left(c - b\right)}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 11: 71.0% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq -9.6 \cdot 10^{-198}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\ \mathbf{elif}\;t \leq 0.003:\\ \;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{\left(c - b\right) \cdot 1.6666666666666667}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= t -9.6e-198)
   (/ x (+ x (* y (exp (* 2.0 (* a (- c b)))))))
   (if (<= t 0.003)
     (/ x (+ x (* y (exp (* -1.3333333333333333 (/ c t))))))
     (/ x (+ x (* y (exp (* (- c b) 1.6666666666666667))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= -9.6e-198) {
		tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
	} else if (t <= 0.003) {
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	} else {
		tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (t <= (-9.6d-198)) then
        tmp = x / (x + (y * exp((2.0d0 * (a * (c - b))))))
    else if (t <= 0.003d0) then
        tmp = x / (x + (y * exp(((-1.3333333333333333d0) * (c / t)))))
    else
        tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667d0))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (t <= -9.6e-198) {
		tmp = x / (x + (y * Math.exp((2.0 * (a * (c - b))))));
	} else if (t <= 0.003) {
		tmp = x / (x + (y * Math.exp((-1.3333333333333333 * (c / t)))));
	} else {
		tmp = x / (x + (y * Math.exp(((c - b) * 1.6666666666666667))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if t <= -9.6e-198:
		tmp = x / (x + (y * math.exp((2.0 * (a * (c - b))))))
	elif t <= 0.003:
		tmp = x / (x + (y * math.exp((-1.3333333333333333 * (c / t)))))
	else:
		tmp = x / (x + (y * math.exp(((c - b) * 1.6666666666666667))))
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (t <= -9.6e-198)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(a * Float64(c - b)))))));
	elseif (t <= 0.003)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(-1.3333333333333333 * Float64(c / t))))));
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(Float64(c - b) * 1.6666666666666667)))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (t <= -9.6e-198)
		tmp = x / (x + (y * exp((2.0 * (a * (c - b))))));
	elseif (t <= 0.003)
		tmp = x / (x + (y * exp((-1.3333333333333333 * (c / t)))));
	else
		tmp = x / (x + (y * exp(((c - b) * 1.6666666666666667))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[t, -9.6e-198], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(a * N[(c - b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 0.003], N[(x / N[(x + N[(y * N[Exp[N[(-1.3333333333333333 * N[(c / t), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(N[(c - b), $MachinePrecision] * 1.6666666666666667), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t \leq -9.6 \cdot 10^{-198}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(a \cdot \left(c - b\right)\right)}}\\

\mathbf{elif}\;t \leq 0.003:\\
\;\;\;\;\frac{x}{x + y \cdot e^{-1.3333333333333333 \cdot \frac{c}{t}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{\left(c - b\right) \cdot 1.6666666666666667}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 12: 57.1% accurate, 2.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq -5 \cdot 10^{+43}:\\ \;\;\;\;\frac{x}{y \cdot e^{b \cdot -1.6666666666666667}}\\ \mathbf{elif}\;b \leq -7.6 \cdot 10^{-99}:\\ \;\;\;\;1\\ \mathbf{elif}\;b \leq -6.5 \cdot 10^{-174}:\\ \;\;\;\;\frac{x}{x + \left(y + -1.3333333333333333 \cdot \frac{c}{\frac{t}{y}}\right)}\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= b -5e+43)
   (/ x (* y (exp (* b -1.6666666666666667))))
   (if (<= b -7.6e-99)
     1.0
     (if (<= b -6.5e-174)
       (/ x (+ x (+ y (* -1.3333333333333333 (/ c (/ t y))))))
       1.0))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (b <= -5e+43) {
		tmp = x / (y * exp((b * -1.6666666666666667)));
	} else if (b <= -7.6e-99) {
		tmp = 1.0;
	} else if (b <= -6.5e-174) {
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (b <= (-5d+43)) then
        tmp = x / (y * exp((b * (-1.6666666666666667d0))))
    else if (b <= (-7.6d-99)) then
        tmp = 1.0d0
    else if (b <= (-6.5d-174)) then
        tmp = x / (x + (y + ((-1.3333333333333333d0) * (c / (t / y)))))
    else
        tmp = 1.0d0
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (b <= -5e+43) {
		tmp = x / (y * Math.exp((b * -1.6666666666666667)));
	} else if (b <= -7.6e-99) {
		tmp = 1.0;
	} else if (b <= -6.5e-174) {
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if b <= -5e+43:
		tmp = x / (y * math.exp((b * -1.6666666666666667)))
	elif b <= -7.6e-99:
		tmp = 1.0
	elif b <= -6.5e-174:
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))))
	else:
		tmp = 1.0
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (b <= -5e+43)
		tmp = Float64(x / Float64(y * exp(Float64(b * -1.6666666666666667))));
	elseif (b <= -7.6e-99)
		tmp = 1.0;
	elseif (b <= -6.5e-174)
		tmp = Float64(x / Float64(x + Float64(y + Float64(-1.3333333333333333 * Float64(c / Float64(t / y))))));
	else
		tmp = 1.0;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (b <= -5e+43)
		tmp = x / (y * exp((b * -1.6666666666666667)));
	elseif (b <= -7.6e-99)
		tmp = 1.0;
	elseif (b <= -6.5e-174)
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))));
	else
		tmp = 1.0;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[b, -5e+43], N[(x / N[(y * N[Exp[N[(b * -1.6666666666666667), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -7.6e-99], 1.0, If[LessEqual[b, -6.5e-174], N[(x / N[(x + N[(y + N[(-1.3333333333333333 * N[(c / N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1.0]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;b \leq -5 \cdot 10^{+43}:\\
\;\;\;\;\frac{x}{y \cdot e^{b \cdot -1.6666666666666667}}\\

\mathbf{elif}\;b \leq -7.6 \cdot 10^{-99}:\\
\;\;\;\;1\\

\mathbf{elif}\;b \leq -6.5 \cdot 10^{-174}:\\
\;\;\;\;\frac{x}{x + \left(y + -1.3333333333333333 \cdot \frac{c}{\frac{t}{y}}\right)}\\

\mathbf{else}:\\
\;\;\;\;1\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 13: 54.3% accurate, 11.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq -2.2 \cdot 10^{+51}:\\ \;\;\;\;\frac{x}{x - y \cdot \left(-1 + 2 \cdot \left(b \cdot \left(a - \left(\frac{0.6666666666666666}{t} + -0.8333333333333334\right)\right)\right)\right)}\\ \mathbf{elif}\;b \leq -3.3 \cdot 10^{-99}:\\ \;\;\;\;1\\ \mathbf{elif}\;b \leq -7 \cdot 10^{-174}:\\ \;\;\;\;\frac{x}{x + \left(y + -1.3333333333333333 \cdot \frac{c}{\frac{t}{y}}\right)}\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= b -2.2e+51)
   (/
    x
    (-
     x
     (*
      y
      (+
       -1.0
       (* 2.0 (* b (- a (+ (/ 0.6666666666666666 t) -0.8333333333333334))))))))
   (if (<= b -3.3e-99)
     1.0
     (if (<= b -7e-174)
       (/ x (+ x (+ y (* -1.3333333333333333 (/ c (/ t y))))))
       1.0))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (b <= -2.2e+51) {
		tmp = x / (x - (y * (-1.0 + (2.0 * (b * (a - ((0.6666666666666666 / t) + -0.8333333333333334)))))));
	} else if (b <= -3.3e-99) {
		tmp = 1.0;
	} else if (b <= -7e-174) {
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (b <= (-2.2d+51)) then
        tmp = x / (x - (y * ((-1.0d0) + (2.0d0 * (b * (a - ((0.6666666666666666d0 / t) + (-0.8333333333333334d0))))))))
    else if (b <= (-3.3d-99)) then
        tmp = 1.0d0
    else if (b <= (-7d-174)) then
        tmp = x / (x + (y + ((-1.3333333333333333d0) * (c / (t / y)))))
    else
        tmp = 1.0d0
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (b <= -2.2e+51) {
		tmp = x / (x - (y * (-1.0 + (2.0 * (b * (a - ((0.6666666666666666 / t) + -0.8333333333333334)))))));
	} else if (b <= -3.3e-99) {
		tmp = 1.0;
	} else if (b <= -7e-174) {
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if b <= -2.2e+51:
		tmp = x / (x - (y * (-1.0 + (2.0 * (b * (a - ((0.6666666666666666 / t) + -0.8333333333333334)))))))
	elif b <= -3.3e-99:
		tmp = 1.0
	elif b <= -7e-174:
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))))
	else:
		tmp = 1.0
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (b <= -2.2e+51)
		tmp = Float64(x / Float64(x - Float64(y * Float64(-1.0 + Float64(2.0 * Float64(b * Float64(a - Float64(Float64(0.6666666666666666 / t) + -0.8333333333333334))))))));
	elseif (b <= -3.3e-99)
		tmp = 1.0;
	elseif (b <= -7e-174)
		tmp = Float64(x / Float64(x + Float64(y + Float64(-1.3333333333333333 * Float64(c / Float64(t / y))))));
	else
		tmp = 1.0;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (b <= -2.2e+51)
		tmp = x / (x - (y * (-1.0 + (2.0 * (b * (a - ((0.6666666666666666 / t) + -0.8333333333333334)))))));
	elseif (b <= -3.3e-99)
		tmp = 1.0;
	elseif (b <= -7e-174)
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))));
	else
		tmp = 1.0;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[b, -2.2e+51], N[(x / N[(x - N[(y * N[(-1.0 + N[(2.0 * N[(b * N[(a - N[(N[(0.6666666666666666 / t), $MachinePrecision] + -0.8333333333333334), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -3.3e-99], 1.0, If[LessEqual[b, -7e-174], N[(x / N[(x + N[(y + N[(-1.3333333333333333 * N[(c / N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1.0]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;b \leq -2.2 \cdot 10^{+51}:\\
\;\;\;\;\frac{x}{x - y \cdot \left(-1 + 2 \cdot \left(b \cdot \left(a - \left(\frac{0.6666666666666666}{t} + -0.8333333333333334\right)\right)\right)\right)}\\

\mathbf{elif}\;b \leq -3.3 \cdot 10^{-99}:\\
\;\;\;\;1\\

\mathbf{elif}\;b \leq -7 \cdot 10^{-174}:\\
\;\;\;\;\frac{x}{x + \left(y + -1.3333333333333333 \cdot \frac{c}{\frac{t}{y}}\right)}\\

\mathbf{else}:\\
\;\;\;\;1\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 14: 53.3% accurate, 12.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq -1 \cdot 10^{+48}:\\ \;\;\;\;\frac{x}{x + y \cdot \left(-2 \cdot \left(a \cdot b\right) + 1\right)}\\ \mathbf{elif}\;b \leq -2.2 \cdot 10^{-100}:\\ \;\;\;\;1\\ \mathbf{elif}\;b \leq -3.4 \cdot 10^{-174}:\\ \;\;\;\;\frac{x}{x + \left(y + -1.3333333333333333 \cdot \frac{c}{\frac{t}{y}}\right)}\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= b -1e+48)
   (/ x (+ x (* y (+ (* -2.0 (* a b)) 1.0))))
   (if (<= b -2.2e-100)
     1.0
     (if (<= b -3.4e-174)
       (/ x (+ x (+ y (* -1.3333333333333333 (/ c (/ t y))))))
       1.0))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (b <= -1e+48) {
		tmp = x / (x + (y * ((-2.0 * (a * b)) + 1.0)));
	} else if (b <= -2.2e-100) {
		tmp = 1.0;
	} else if (b <= -3.4e-174) {
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (b <= (-1d+48)) then
        tmp = x / (x + (y * (((-2.0d0) * (a * b)) + 1.0d0)))
    else if (b <= (-2.2d-100)) then
        tmp = 1.0d0
    else if (b <= (-3.4d-174)) then
        tmp = x / (x + (y + ((-1.3333333333333333d0) * (c / (t / y)))))
    else
        tmp = 1.0d0
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (b <= -1e+48) {
		tmp = x / (x + (y * ((-2.0 * (a * b)) + 1.0)));
	} else if (b <= -2.2e-100) {
		tmp = 1.0;
	} else if (b <= -3.4e-174) {
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if b <= -1e+48:
		tmp = x / (x + (y * ((-2.0 * (a * b)) + 1.0)))
	elif b <= -2.2e-100:
		tmp = 1.0
	elif b <= -3.4e-174:
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))))
	else:
		tmp = 1.0
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (b <= -1e+48)
		tmp = Float64(x / Float64(x + Float64(y * Float64(Float64(-2.0 * Float64(a * b)) + 1.0))));
	elseif (b <= -2.2e-100)
		tmp = 1.0;
	elseif (b <= -3.4e-174)
		tmp = Float64(x / Float64(x + Float64(y + Float64(-1.3333333333333333 * Float64(c / Float64(t / y))))));
	else
		tmp = 1.0;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (b <= -1e+48)
		tmp = x / (x + (y * ((-2.0 * (a * b)) + 1.0)));
	elseif (b <= -2.2e-100)
		tmp = 1.0;
	elseif (b <= -3.4e-174)
		tmp = x / (x + (y + (-1.3333333333333333 * (c / (t / y)))));
	else
		tmp = 1.0;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[b, -1e+48], N[(x / N[(x + N[(y * N[(N[(-2.0 * N[(a * b), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -2.2e-100], 1.0, If[LessEqual[b, -3.4e-174], N[(x / N[(x + N[(y + N[(-1.3333333333333333 * N[(c / N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1.0]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;b \leq -1 \cdot 10^{+48}:\\
\;\;\;\;\frac{x}{x + y \cdot \left(-2 \cdot \left(a \cdot b\right) + 1\right)}\\

\mathbf{elif}\;b \leq -2.2 \cdot 10^{-100}:\\
\;\;\;\;1\\

\mathbf{elif}\;b \leq -3.4 \cdot 10^{-174}:\\
\;\;\;\;\frac{x}{x + \left(y + -1.3333333333333333 \cdot \frac{c}{\frac{t}{y}}\right)}\\

\mathbf{else}:\\
\;\;\;\;1\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 15: 52.3% accurate, 13.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;b \leq -2.65 \cdot 10^{+39}:\\ \;\;\;\;\frac{x}{x + y \cdot \left(-2 \cdot \left(a \cdot b\right) + 1\right)}\\ \mathbf{elif}\;b \leq -5.8 \cdot 10^{-101}:\\ \;\;\;\;1\\ \mathbf{elif}\;b \leq -3.6 \cdot 10^{-170}:\\ \;\;\;\;\frac{x}{y + -1.3333333333333333 \cdot \frac{y \cdot c}{t}}\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= b -2.65e+39)
   (/ x (+ x (* y (+ (* -2.0 (* a b)) 1.0))))
   (if (<= b -5.8e-101)
     1.0
     (if (<= b -3.6e-170)
       (/ x (+ y (* -1.3333333333333333 (/ (* y c) t))))
       1.0))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (b <= -2.65e+39) {
		tmp = x / (x + (y * ((-2.0 * (a * b)) + 1.0)));
	} else if (b <= -5.8e-101) {
		tmp = 1.0;
	} else if (b <= -3.6e-170) {
		tmp = x / (y + (-1.3333333333333333 * ((y * c) / t)));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (b <= (-2.65d+39)) then
        tmp = x / (x + (y * (((-2.0d0) * (a * b)) + 1.0d0)))
    else if (b <= (-5.8d-101)) then
        tmp = 1.0d0
    else if (b <= (-3.6d-170)) then
        tmp = x / (y + ((-1.3333333333333333d0) * ((y * c) / t)))
    else
        tmp = 1.0d0
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (b <= -2.65e+39) {
		tmp = x / (x + (y * ((-2.0 * (a * b)) + 1.0)));
	} else if (b <= -5.8e-101) {
		tmp = 1.0;
	} else if (b <= -3.6e-170) {
		tmp = x / (y + (-1.3333333333333333 * ((y * c) / t)));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if b <= -2.65e+39:
		tmp = x / (x + (y * ((-2.0 * (a * b)) + 1.0)))
	elif b <= -5.8e-101:
		tmp = 1.0
	elif b <= -3.6e-170:
		tmp = x / (y + (-1.3333333333333333 * ((y * c) / t)))
	else:
		tmp = 1.0
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (b <= -2.65e+39)
		tmp = Float64(x / Float64(x + Float64(y * Float64(Float64(-2.0 * Float64(a * b)) + 1.0))));
	elseif (b <= -5.8e-101)
		tmp = 1.0;
	elseif (b <= -3.6e-170)
		tmp = Float64(x / Float64(y + Float64(-1.3333333333333333 * Float64(Float64(y * c) / t))));
	else
		tmp = 1.0;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (b <= -2.65e+39)
		tmp = x / (x + (y * ((-2.0 * (a * b)) + 1.0)));
	elseif (b <= -5.8e-101)
		tmp = 1.0;
	elseif (b <= -3.6e-170)
		tmp = x / (y + (-1.3333333333333333 * ((y * c) / t)));
	else
		tmp = 1.0;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[b, -2.65e+39], N[(x / N[(x + N[(y * N[(N[(-2.0 * N[(a * b), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -5.8e-101], 1.0, If[LessEqual[b, -3.6e-170], N[(x / N[(y + N[(-1.3333333333333333 * N[(N[(y * c), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1.0]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;b \leq -2.65 \cdot 10^{+39}:\\
\;\;\;\;\frac{x}{x + y \cdot \left(-2 \cdot \left(a \cdot b\right) + 1\right)}\\

\mathbf{elif}\;b \leq -5.8 \cdot 10^{-101}:\\
\;\;\;\;1\\

\mathbf{elif}\;b \leq -3.6 \cdot 10^{-170}:\\
\;\;\;\;\frac{x}{y + -1.3333333333333333 \cdot \frac{y \cdot c}{t}}\\

\mathbf{else}:\\
\;\;\;\;1\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 16: 51.3% accurate, 15.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;a \leq 5 \cdot 10^{-286}:\\ \;\;\;\;1\\ \mathbf{elif}\;a \leq 4.1 \cdot 10^{-214}:\\ \;\;\;\;\frac{x}{x - y \cdot \left(-1 - b \cdot -1.6666666666666667\right)}\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (if (<= a 5e-286)
   1.0
   (if (<= a 4.1e-214)
     (/ x (- x (* y (- -1.0 (* b -1.6666666666666667)))))
     1.0)))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (a <= 5e-286) {
		tmp = 1.0;
	} else if (a <= 4.1e-214) {
		tmp = x / (x - (y * (-1.0 - (b * -1.6666666666666667))));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: tmp
    if (a <= 5d-286) then
        tmp = 1.0d0
    else if (a <= 4.1d-214) then
        tmp = x / (x - (y * ((-1.0d0) - (b * (-1.6666666666666667d0)))))
    else
        tmp = 1.0d0
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double tmp;
	if (a <= 5e-286) {
		tmp = 1.0;
	} else if (a <= 4.1e-214) {
		tmp = x / (x - (y * (-1.0 - (b * -1.6666666666666667))));
	} else {
		tmp = 1.0;
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	tmp = 0
	if a <= 5e-286:
		tmp = 1.0
	elif a <= 4.1e-214:
		tmp = x / (x - (y * (-1.0 - (b * -1.6666666666666667))))
	else:
		tmp = 1.0
	return tmp
function code(x, y, z, t, a, b, c)
	tmp = 0.0
	if (a <= 5e-286)
		tmp = 1.0;
	elseif (a <= 4.1e-214)
		tmp = Float64(x / Float64(x - Float64(y * Float64(-1.0 - Float64(b * -1.6666666666666667)))));
	else
		tmp = 1.0;
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	tmp = 0.0;
	if (a <= 5e-286)
		tmp = 1.0;
	elseif (a <= 4.1e-214)
		tmp = x / (x - (y * (-1.0 - (b * -1.6666666666666667))));
	else
		tmp = 1.0;
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := If[LessEqual[a, 5e-286], 1.0, If[LessEqual[a, 4.1e-214], N[(x / N[(x - N[(y * N[(-1.0 - N[(b * -1.6666666666666667), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1.0]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;a \leq 5 \cdot 10^{-286}:\\
\;\;\;\;1\\

\mathbf{elif}\;a \leq 4.1 \cdot 10^{-214}:\\
\;\;\;\;\frac{x}{x - y \cdot \left(-1 - b \cdot -1.6666666666666667\right)}\\

\mathbf{else}:\\
\;\;\;\;1\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 17: 51.6% accurate, 231.0× speedup?

\[\begin{array}{l} \\ 1 \end{array} \]
(FPCore (x y z t a b c) :precision binary64 1.0)
double code(double x, double y, double z, double t, double a, double b, double c) {
	return 1.0;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    code = 1.0d0
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	return 1.0;
}
def code(x, y, z, t, a, b, c):
	return 1.0
function code(x, y, z, t, a, b, c)
	return 1.0
end
function tmp = code(x, y, z, t, a, b, c)
	tmp = 1.0;
end
code[x_, y_, z_, t_, a_, b_, c_] := 1.0
\begin{array}{l}

\\
1
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Developer target: 95.2% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := z \cdot \sqrt{t + a}\\ t_2 := a - \frac{5}{6}\\ \mathbf{if}\;t < -2.118326644891581 \cdot 10^{-50}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a \cdot c + 0.8333333333333334 \cdot c\right) - a \cdot b\right)}}\\ \mathbf{elif}\;t < 5.196588770651547 \cdot 10^{-123}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{t_1 \cdot \left(\left(3 \cdot t\right) \cdot t_2\right) - \left(\left(\frac{5}{6} + a\right) \cdot \left(3 \cdot t\right) - 2\right) \cdot \left(t_2 \cdot \left(\left(b - c\right) \cdot t\right)\right)}{\left(\left(t \cdot t\right) \cdot 3\right) \cdot t_2}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{t_1}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\\ \end{array} \end{array} \]
(FPCore (x y z t a b c)
 :precision binary64
 (let* ((t_1 (* z (sqrt (+ t a)))) (t_2 (- a (/ 5.0 6.0))))
   (if (< t -2.118326644891581e-50)
     (/
      x
      (+
       x
       (* y (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b)))))))
     (if (< t 5.196588770651547e-123)
       (/
        x
        (+
         x
         (*
          y
          (exp
           (*
            2.0
            (/
             (-
              (* t_1 (* (* 3.0 t) t_2))
              (*
               (- (* (+ (/ 5.0 6.0) a) (* 3.0 t)) 2.0)
               (* t_2 (* (- b c) t))))
             (* (* (* t t) 3.0) t_2)))))))
       (/
        x
        (+
         x
         (*
          y
          (exp
           (*
            2.0
            (-
             (/ t_1 t)
             (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c) {
	double t_1 = z * sqrt((t + a));
	double t_2 = a - (5.0 / 6.0);
	double tmp;
	if (t < -2.118326644891581e-50) {
		tmp = x / (x + (y * exp((2.0 * (((a * c) + (0.8333333333333334 * c)) - (a * b))))));
	} else if (t < 5.196588770651547e-123) {
		tmp = x / (x + (y * exp((2.0 * (((t_1 * ((3.0 * t) * t_2)) - (((((5.0 / 6.0) + a) * (3.0 * t)) - 2.0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0) * t_2))))));
	} else {
		tmp = x / (x + (y * exp((2.0 * ((t_1 / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
	}
	return tmp;
}
real(8) function code(x, y, z, t, a, b, c)
    real(8), intent (in) :: x
    real(8), intent (in) :: y
    real(8), intent (in) :: z
    real(8), intent (in) :: t
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    real(8), intent (in) :: c
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_1 = z * sqrt((t + a))
    t_2 = a - (5.0d0 / 6.0d0)
    if (t < (-2.118326644891581d-50)) then
        tmp = x / (x + (y * exp((2.0d0 * (((a * c) + (0.8333333333333334d0 * c)) - (a * b))))))
    else if (t < 5.196588770651547d-123) then
        tmp = x / (x + (y * exp((2.0d0 * (((t_1 * ((3.0d0 * t) * t_2)) - (((((5.0d0 / 6.0d0) + a) * (3.0d0 * t)) - 2.0d0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0d0) * t_2))))))
    else
        tmp = x / (x + (y * exp((2.0d0 * ((t_1 / t) - ((b - c) * ((a + (5.0d0 / 6.0d0)) - (2.0d0 / (t * 3.0d0)))))))))
    end if
    code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c) {
	double t_1 = z * Math.sqrt((t + a));
	double t_2 = a - (5.0 / 6.0);
	double tmp;
	if (t < -2.118326644891581e-50) {
		tmp = x / (x + (y * Math.exp((2.0 * (((a * c) + (0.8333333333333334 * c)) - (a * b))))));
	} else if (t < 5.196588770651547e-123) {
		tmp = x / (x + (y * Math.exp((2.0 * (((t_1 * ((3.0 * t) * t_2)) - (((((5.0 / 6.0) + a) * (3.0 * t)) - 2.0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0) * t_2))))));
	} else {
		tmp = x / (x + (y * Math.exp((2.0 * ((t_1 / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
	}
	return tmp;
}
def code(x, y, z, t, a, b, c):
	t_1 = z * math.sqrt((t + a))
	t_2 = a - (5.0 / 6.0)
	tmp = 0
	if t < -2.118326644891581e-50:
		tmp = x / (x + (y * math.exp((2.0 * (((a * c) + (0.8333333333333334 * c)) - (a * b))))))
	elif t < 5.196588770651547e-123:
		tmp = x / (x + (y * math.exp((2.0 * (((t_1 * ((3.0 * t) * t_2)) - (((((5.0 / 6.0) + a) * (3.0 * t)) - 2.0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0) * t_2))))))
	else:
		tmp = x / (x + (y * math.exp((2.0 * ((t_1 / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))))
	return tmp
function code(x, y, z, t, a, b, c)
	t_1 = Float64(z * sqrt(Float64(t + a)))
	t_2 = Float64(a - Float64(5.0 / 6.0))
	tmp = 0.0
	if (t < -2.118326644891581e-50)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(a * c) + Float64(0.8333333333333334 * c)) - Float64(a * b)))))));
	elseif (t < 5.196588770651547e-123)
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(Float64(t_1 * Float64(Float64(3.0 * t) * t_2)) - Float64(Float64(Float64(Float64(Float64(5.0 / 6.0) + a) * Float64(3.0 * t)) - 2.0) * Float64(t_2 * Float64(Float64(b - c) * t)))) / Float64(Float64(Float64(t * t) * 3.0) * t_2)))))));
	else
		tmp = Float64(x / Float64(x + Float64(y * exp(Float64(2.0 * Float64(Float64(t_1 / t) - Float64(Float64(b - c) * Float64(Float64(a + Float64(5.0 / 6.0)) - Float64(2.0 / Float64(t * 3.0))))))))));
	end
	return tmp
end
function tmp_2 = code(x, y, z, t, a, b, c)
	t_1 = z * sqrt((t + a));
	t_2 = a - (5.0 / 6.0);
	tmp = 0.0;
	if (t < -2.118326644891581e-50)
		tmp = x / (x + (y * exp((2.0 * (((a * c) + (0.8333333333333334 * c)) - (a * b))))));
	elseif (t < 5.196588770651547e-123)
		tmp = x / (x + (y * exp((2.0 * (((t_1 * ((3.0 * t) * t_2)) - (((((5.0 / 6.0) + a) * (3.0 * t)) - 2.0) * (t_2 * ((b - c) * t)))) / (((t * t) * 3.0) * t_2))))));
	else
		tmp = x / (x + (y * exp((2.0 * ((t_1 / t) - ((b - c) * ((a + (5.0 / 6.0)) - (2.0 / (t * 3.0)))))))));
	end
	tmp_2 = tmp;
end
code[x_, y_, z_, t_, a_, b_, c_] := Block[{t$95$1 = N[(z * N[Sqrt[N[(t + a), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a - N[(5.0 / 6.0), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -2.118326644891581e-50], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(a * c), $MachinePrecision] + N[(0.8333333333333334 * c), $MachinePrecision]), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Less[t, 5.196588770651547e-123], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(N[(t$95$1 * N[(N[(3.0 * t), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(N[(N[(5.0 / 6.0), $MachinePrecision] + a), $MachinePrecision] * N[(3.0 * t), $MachinePrecision]), $MachinePrecision] - 2.0), $MachinePrecision] * N[(t$95$2 * N[(N[(b - c), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(t * t), $MachinePrecision] * 3.0), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(x + N[(y * N[Exp[N[(2.0 * N[(N[(t$95$1 / t), $MachinePrecision] - N[(N[(b - c), $MachinePrecision] * N[(N[(a + N[(5.0 / 6.0), $MachinePrecision]), $MachinePrecision] - N[(2.0 / N[(t * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := z \cdot \sqrt{t + a}\\
t_2 := a - \frac{5}{6}\\
\mathbf{if}\;t < -2.118326644891581 \cdot 10^{-50}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a \cdot c + 0.8333333333333334 \cdot c\right) - a \cdot b\right)}}\\

\mathbf{elif}\;t < 5.196588770651547 \cdot 10^{-123}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{t_1 \cdot \left(\left(3 \cdot t\right) \cdot t_2\right) - \left(\left(\frac{5}{6} + a\right) \cdot \left(3 \cdot t\right) - 2\right) \cdot \left(t_2 \cdot \left(\left(b - c\right) \cdot t\right)\right)}{\left(\left(t \cdot t\right) \cdot 3\right) \cdot t_2}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{t_1}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\\


\end{array}
\end{array}

Reproduce

?
herbie shell --seed 2024008 
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, I"
  :precision binary64

  :herbie-target
  (if (< t -2.118326644891581e-50) (/ x (+ x (* y (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b))))))) (if (< t 5.196588770651547e-123) (/ x (+ x (* y (exp (* 2.0 (/ (- (* (* z (sqrt (+ t a))) (* (* 3.0 t) (- a (/ 5.0 6.0)))) (* (- (* (+ (/ 5.0 6.0) a) (* 3.0 t)) 2.0) (* (- a (/ 5.0 6.0)) (* (- b c) t)))) (* (* (* t t) 3.0) (- a (/ 5.0 6.0))))))))) (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))))

  (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))