?

Average Error: 58.31% → 0.56%
Time: 24.3s
Precision: binary64
Cost: 386184

?

\[\tan \left(x + \varepsilon\right) - \tan x \]
\[\begin{array}{l} t_0 := {\sin x}^{2}\\ t_1 := \tan \varepsilon \cdot \tan x\\ t_2 := {\cos x}^{2}\\ t_3 := \frac{t_0}{t_2}\\ t_4 := 1 + t_3\\ t_5 := -1 - t_3\\ t_6 := \frac{\sin x \cdot t_5}{\cos x}\\ t_7 := t_3 \cdot -0.16666666666666666 + \left(-0.16666666666666666 + \left(\frac{t_0 \cdot t_4}{t_2} + -0.5 \cdot t_5\right)\right)\\ \mathbf{if}\;\varepsilon \leq -0.00023:\\ \;\;\;\;\frac{\tan \varepsilon}{1 - \frac{\tan x \cdot \sin \varepsilon}{\cos \varepsilon}} + \left(\frac{\tan x}{1 - t_1} - \tan x\right)\\ \mathbf{elif}\;\varepsilon \leq 0.0003:\\ \;\;\;\;\varepsilon \cdot t_4 + \left(\frac{{\varepsilon}^{2} \cdot \left(\sin x \cdot t_4\right)}{\cos x} + \left({\varepsilon}^{4} \cdot \left(-0.5 \cdot t_6 + \left(\frac{\sin x \cdot t_7}{\cos x} + 0.16666666666666666 \cdot t_6\right)\right) + {\varepsilon}^{3} \cdot t_7\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\tan \varepsilon + \tan x\right) \cdot \left(1 + \left(1 + t_1\right) \cdot \log \left({\left(e^{\tan \varepsilon}\right)}^{\tan x}\right)\right)}{1 - {t_1}^{3}} - \tan x\\ \end{array} \]
(FPCore (x eps) :precision binary64 (- (tan (+ x eps)) (tan x)))
(FPCore (x eps)
 :precision binary64
 (let* ((t_0 (pow (sin x) 2.0))
        (t_1 (* (tan eps) (tan x)))
        (t_2 (pow (cos x) 2.0))
        (t_3 (/ t_0 t_2))
        (t_4 (+ 1.0 t_3))
        (t_5 (- -1.0 t_3))
        (t_6 (/ (* (sin x) t_5) (cos x)))
        (t_7
         (+
          (* t_3 -0.16666666666666666)
          (+ -0.16666666666666666 (+ (/ (* t_0 t_4) t_2) (* -0.5 t_5))))))
   (if (<= eps -0.00023)
     (+
      (/ (tan eps) (- 1.0 (/ (* (tan x) (sin eps)) (cos eps))))
      (- (/ (tan x) (- 1.0 t_1)) (tan x)))
     (if (<= eps 0.0003)
       (+
        (* eps t_4)
        (+
         (/ (* (pow eps 2.0) (* (sin x) t_4)) (cos x))
         (+
          (*
           (pow eps 4.0)
           (+
            (* -0.5 t_6)
            (+ (/ (* (sin x) t_7) (cos x)) (* 0.16666666666666666 t_6))))
          (* (pow eps 3.0) t_7))))
       (-
        (/
         (*
          (+ (tan eps) (tan x))
          (+ 1.0 (* (+ 1.0 t_1) (log (pow (exp (tan eps)) (tan x))))))
         (- 1.0 (pow t_1 3.0)))
        (tan x))))))
double code(double x, double eps) {
	return tan((x + eps)) - tan(x);
}
double code(double x, double eps) {
	double t_0 = pow(sin(x), 2.0);
	double t_1 = tan(eps) * tan(x);
	double t_2 = pow(cos(x), 2.0);
	double t_3 = t_0 / t_2;
	double t_4 = 1.0 + t_3;
	double t_5 = -1.0 - t_3;
	double t_6 = (sin(x) * t_5) / cos(x);
	double t_7 = (t_3 * -0.16666666666666666) + (-0.16666666666666666 + (((t_0 * t_4) / t_2) + (-0.5 * t_5)));
	double tmp;
	if (eps <= -0.00023) {
		tmp = (tan(eps) / (1.0 - ((tan(x) * sin(eps)) / cos(eps)))) + ((tan(x) / (1.0 - t_1)) - tan(x));
	} else if (eps <= 0.0003) {
		tmp = (eps * t_4) + (((pow(eps, 2.0) * (sin(x) * t_4)) / cos(x)) + ((pow(eps, 4.0) * ((-0.5 * t_6) + (((sin(x) * t_7) / cos(x)) + (0.16666666666666666 * t_6)))) + (pow(eps, 3.0) * t_7)));
	} else {
		tmp = (((tan(eps) + tan(x)) * (1.0 + ((1.0 + t_1) * log(pow(exp(tan(eps)), tan(x)))))) / (1.0 - pow(t_1, 3.0))) - tan(x);
	}
	return tmp;
}
real(8) function code(x, eps)
    real(8), intent (in) :: x
    real(8), intent (in) :: eps
    code = tan((x + eps)) - tan(x)
end function
real(8) function code(x, eps)
    real(8), intent (in) :: x
    real(8), intent (in) :: eps
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: t_6
    real(8) :: t_7
    real(8) :: tmp
    t_0 = sin(x) ** 2.0d0
    t_1 = tan(eps) * tan(x)
    t_2 = cos(x) ** 2.0d0
    t_3 = t_0 / t_2
    t_4 = 1.0d0 + t_3
    t_5 = (-1.0d0) - t_3
    t_6 = (sin(x) * t_5) / cos(x)
    t_7 = (t_3 * (-0.16666666666666666d0)) + ((-0.16666666666666666d0) + (((t_0 * t_4) / t_2) + ((-0.5d0) * t_5)))
    if (eps <= (-0.00023d0)) then
        tmp = (tan(eps) / (1.0d0 - ((tan(x) * sin(eps)) / cos(eps)))) + ((tan(x) / (1.0d0 - t_1)) - tan(x))
    else if (eps <= 0.0003d0) then
        tmp = (eps * t_4) + ((((eps ** 2.0d0) * (sin(x) * t_4)) / cos(x)) + (((eps ** 4.0d0) * (((-0.5d0) * t_6) + (((sin(x) * t_7) / cos(x)) + (0.16666666666666666d0 * t_6)))) + ((eps ** 3.0d0) * t_7)))
    else
        tmp = (((tan(eps) + tan(x)) * (1.0d0 + ((1.0d0 + t_1) * log((exp(tan(eps)) ** tan(x)))))) / (1.0d0 - (t_1 ** 3.0d0))) - tan(x)
    end if
    code = tmp
end function
public static double code(double x, double eps) {
	return Math.tan((x + eps)) - Math.tan(x);
}
public static double code(double x, double eps) {
	double t_0 = Math.pow(Math.sin(x), 2.0);
	double t_1 = Math.tan(eps) * Math.tan(x);
	double t_2 = Math.pow(Math.cos(x), 2.0);
	double t_3 = t_0 / t_2;
	double t_4 = 1.0 + t_3;
	double t_5 = -1.0 - t_3;
	double t_6 = (Math.sin(x) * t_5) / Math.cos(x);
	double t_7 = (t_3 * -0.16666666666666666) + (-0.16666666666666666 + (((t_0 * t_4) / t_2) + (-0.5 * t_5)));
	double tmp;
	if (eps <= -0.00023) {
		tmp = (Math.tan(eps) / (1.0 - ((Math.tan(x) * Math.sin(eps)) / Math.cos(eps)))) + ((Math.tan(x) / (1.0 - t_1)) - Math.tan(x));
	} else if (eps <= 0.0003) {
		tmp = (eps * t_4) + (((Math.pow(eps, 2.0) * (Math.sin(x) * t_4)) / Math.cos(x)) + ((Math.pow(eps, 4.0) * ((-0.5 * t_6) + (((Math.sin(x) * t_7) / Math.cos(x)) + (0.16666666666666666 * t_6)))) + (Math.pow(eps, 3.0) * t_7)));
	} else {
		tmp = (((Math.tan(eps) + Math.tan(x)) * (1.0 + ((1.0 + t_1) * Math.log(Math.pow(Math.exp(Math.tan(eps)), Math.tan(x)))))) / (1.0 - Math.pow(t_1, 3.0))) - Math.tan(x);
	}
	return tmp;
}
def code(x, eps):
	return math.tan((x + eps)) - math.tan(x)
def code(x, eps):
	t_0 = math.pow(math.sin(x), 2.0)
	t_1 = math.tan(eps) * math.tan(x)
	t_2 = math.pow(math.cos(x), 2.0)
	t_3 = t_0 / t_2
	t_4 = 1.0 + t_3
	t_5 = -1.0 - t_3
	t_6 = (math.sin(x) * t_5) / math.cos(x)
	t_7 = (t_3 * -0.16666666666666666) + (-0.16666666666666666 + (((t_0 * t_4) / t_2) + (-0.5 * t_5)))
	tmp = 0
	if eps <= -0.00023:
		tmp = (math.tan(eps) / (1.0 - ((math.tan(x) * math.sin(eps)) / math.cos(eps)))) + ((math.tan(x) / (1.0 - t_1)) - math.tan(x))
	elif eps <= 0.0003:
		tmp = (eps * t_4) + (((math.pow(eps, 2.0) * (math.sin(x) * t_4)) / math.cos(x)) + ((math.pow(eps, 4.0) * ((-0.5 * t_6) + (((math.sin(x) * t_7) / math.cos(x)) + (0.16666666666666666 * t_6)))) + (math.pow(eps, 3.0) * t_7)))
	else:
		tmp = (((math.tan(eps) + math.tan(x)) * (1.0 + ((1.0 + t_1) * math.log(math.pow(math.exp(math.tan(eps)), math.tan(x)))))) / (1.0 - math.pow(t_1, 3.0))) - math.tan(x)
	return tmp
function code(x, eps)
	return Float64(tan(Float64(x + eps)) - tan(x))
end
function code(x, eps)
	t_0 = sin(x) ^ 2.0
	t_1 = Float64(tan(eps) * tan(x))
	t_2 = cos(x) ^ 2.0
	t_3 = Float64(t_0 / t_2)
	t_4 = Float64(1.0 + t_3)
	t_5 = Float64(-1.0 - t_3)
	t_6 = Float64(Float64(sin(x) * t_5) / cos(x))
	t_7 = Float64(Float64(t_3 * -0.16666666666666666) + Float64(-0.16666666666666666 + Float64(Float64(Float64(t_0 * t_4) / t_2) + Float64(-0.5 * t_5))))
	tmp = 0.0
	if (eps <= -0.00023)
		tmp = Float64(Float64(tan(eps) / Float64(1.0 - Float64(Float64(tan(x) * sin(eps)) / cos(eps)))) + Float64(Float64(tan(x) / Float64(1.0 - t_1)) - tan(x)));
	elseif (eps <= 0.0003)
		tmp = Float64(Float64(eps * t_4) + Float64(Float64(Float64((eps ^ 2.0) * Float64(sin(x) * t_4)) / cos(x)) + Float64(Float64((eps ^ 4.0) * Float64(Float64(-0.5 * t_6) + Float64(Float64(Float64(sin(x) * t_7) / cos(x)) + Float64(0.16666666666666666 * t_6)))) + Float64((eps ^ 3.0) * t_7))));
	else
		tmp = Float64(Float64(Float64(Float64(tan(eps) + tan(x)) * Float64(1.0 + Float64(Float64(1.0 + t_1) * log((exp(tan(eps)) ^ tan(x)))))) / Float64(1.0 - (t_1 ^ 3.0))) - tan(x));
	end
	return tmp
end
function tmp = code(x, eps)
	tmp = tan((x + eps)) - tan(x);
end
function tmp_2 = code(x, eps)
	t_0 = sin(x) ^ 2.0;
	t_1 = tan(eps) * tan(x);
	t_2 = cos(x) ^ 2.0;
	t_3 = t_0 / t_2;
	t_4 = 1.0 + t_3;
	t_5 = -1.0 - t_3;
	t_6 = (sin(x) * t_5) / cos(x);
	t_7 = (t_3 * -0.16666666666666666) + (-0.16666666666666666 + (((t_0 * t_4) / t_2) + (-0.5 * t_5)));
	tmp = 0.0;
	if (eps <= -0.00023)
		tmp = (tan(eps) / (1.0 - ((tan(x) * sin(eps)) / cos(eps)))) + ((tan(x) / (1.0 - t_1)) - tan(x));
	elseif (eps <= 0.0003)
		tmp = (eps * t_4) + ((((eps ^ 2.0) * (sin(x) * t_4)) / cos(x)) + (((eps ^ 4.0) * ((-0.5 * t_6) + (((sin(x) * t_7) / cos(x)) + (0.16666666666666666 * t_6)))) + ((eps ^ 3.0) * t_7)));
	else
		tmp = (((tan(eps) + tan(x)) * (1.0 + ((1.0 + t_1) * log((exp(tan(eps)) ^ tan(x)))))) / (1.0 - (t_1 ^ 3.0))) - tan(x);
	end
	tmp_2 = tmp;
end
code[x_, eps_] := N[(N[Tan[N[(x + eps), $MachinePrecision]], $MachinePrecision] - N[Tan[x], $MachinePrecision]), $MachinePrecision]
code[x_, eps_] := Block[{t$95$0 = N[Power[N[Sin[x], $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$1 = N[(N[Tan[eps], $MachinePrecision] * N[Tan[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[Power[N[Cos[x], $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$3 = N[(t$95$0 / t$95$2), $MachinePrecision]}, Block[{t$95$4 = N[(1.0 + t$95$3), $MachinePrecision]}, Block[{t$95$5 = N[(-1.0 - t$95$3), $MachinePrecision]}, Block[{t$95$6 = N[(N[(N[Sin[x], $MachinePrecision] * t$95$5), $MachinePrecision] / N[Cos[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(N[(t$95$3 * -0.16666666666666666), $MachinePrecision] + N[(-0.16666666666666666 + N[(N[(N[(t$95$0 * t$95$4), $MachinePrecision] / t$95$2), $MachinePrecision] + N[(-0.5 * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[eps, -0.00023], N[(N[(N[Tan[eps], $MachinePrecision] / N[(1.0 - N[(N[(N[Tan[x], $MachinePrecision] * N[Sin[eps], $MachinePrecision]), $MachinePrecision] / N[Cos[eps], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Tan[x], $MachinePrecision] / N[(1.0 - t$95$1), $MachinePrecision]), $MachinePrecision] - N[Tan[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[eps, 0.0003], N[(N[(eps * t$95$4), $MachinePrecision] + N[(N[(N[(N[Power[eps, 2.0], $MachinePrecision] * N[(N[Sin[x], $MachinePrecision] * t$95$4), $MachinePrecision]), $MachinePrecision] / N[Cos[x], $MachinePrecision]), $MachinePrecision] + N[(N[(N[Power[eps, 4.0], $MachinePrecision] * N[(N[(-0.5 * t$95$6), $MachinePrecision] + N[(N[(N[(N[Sin[x], $MachinePrecision] * t$95$7), $MachinePrecision] / N[Cos[x], $MachinePrecision]), $MachinePrecision] + N[(0.16666666666666666 * t$95$6), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[Power[eps, 3.0], $MachinePrecision] * t$95$7), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(N[Tan[eps], $MachinePrecision] + N[Tan[x], $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(N[(1.0 + t$95$1), $MachinePrecision] * N[Log[N[Power[N[Exp[N[Tan[eps], $MachinePrecision]], $MachinePrecision], N[Tan[x], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(1.0 - N[Power[t$95$1, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[Tan[x], $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\tan \left(x + \varepsilon\right) - \tan x
\begin{array}{l}
t_0 := {\sin x}^{2}\\
t_1 := \tan \varepsilon \cdot \tan x\\
t_2 := {\cos x}^{2}\\
t_3 := \frac{t_0}{t_2}\\
t_4 := 1 + t_3\\
t_5 := -1 - t_3\\
t_6 := \frac{\sin x \cdot t_5}{\cos x}\\
t_7 := t_3 \cdot -0.16666666666666666 + \left(-0.16666666666666666 + \left(\frac{t_0 \cdot t_4}{t_2} + -0.5 \cdot t_5\right)\right)\\
\mathbf{if}\;\varepsilon \leq -0.00023:\\
\;\;\;\;\frac{\tan \varepsilon}{1 - \frac{\tan x \cdot \sin \varepsilon}{\cos \varepsilon}} + \left(\frac{\tan x}{1 - t_1} - \tan x\right)\\

\mathbf{elif}\;\varepsilon \leq 0.0003:\\
\;\;\;\;\varepsilon \cdot t_4 + \left(\frac{{\varepsilon}^{2} \cdot \left(\sin x \cdot t_4\right)}{\cos x} + \left({\varepsilon}^{4} \cdot \left(-0.5 \cdot t_6 + \left(\frac{\sin x \cdot t_7}{\cos x} + 0.16666666666666666 \cdot t_6\right)\right) + {\varepsilon}^{3} \cdot t_7\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(\tan \varepsilon + \tan x\right) \cdot \left(1 + \left(1 + t_1\right) \cdot \log \left({\left(e^{\tan \varepsilon}\right)}^{\tan x}\right)\right)}{1 - {t_1}^{3}} - \tan x\\


\end{array}

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original58.31%
Target24.61%
Herbie0.56%
\[\frac{\sin \varepsilon}{\cos x \cdot \cos \left(x + \varepsilon\right)} \]

Derivation?

  1. Split input into 3 regimes
  2. if eps < -2.3000000000000001e-4

    1. Initial program 46.18

      \[\tan \left(x + \varepsilon\right) - \tan x \]
    2. Applied egg-rr0.59

      \[\leadsto \color{blue}{\frac{1}{1 - \tan x \cdot \tan \varepsilon} \cdot \left(\tan x + \tan \varepsilon\right)} - \tan x \]
    3. Applied egg-rr0.56

      \[\leadsto \color{blue}{\frac{\tan \varepsilon}{1 - \tan x \cdot \tan \varepsilon} + \left(\frac{\tan x}{1 - \tan x \cdot \tan \varepsilon} - \tan x\right)} \]
    4. Applied egg-rr0.56

      \[\leadsto \frac{\tan \varepsilon}{1 - \color{blue}{\frac{\tan x \cdot \sin \varepsilon}{\cos \varepsilon}}} + \left(\frac{\tan x}{1 - \tan x \cdot \tan \varepsilon} - \tan x\right) \]

    if -2.3000000000000001e-4 < eps < 2.99999999999999974e-4

    1. Initial program 69.39

      \[\tan \left(x + \varepsilon\right) - \tan x \]
    2. Taylor expanded in eps around 0 0.41

      \[\leadsto \color{blue}{\varepsilon \cdot \left(1 - -1 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\right) + \left(\frac{{\varepsilon}^{2} \cdot \left(\sin x \cdot \left(1 - -1 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)\right)}{\cos x} + \left(-1 \cdot \left(\left(-0.5 \cdot \frac{\sin x \cdot \left(1 - -1 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)}{\cos x} + \left(\frac{\left(0.16666666666666666 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}} + \left(0.16666666666666666 + \left(-1 \cdot \frac{{\sin x}^{2} \cdot \left(1 - -1 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)}{{\cos x}^{2}} + -0.5 \cdot \left(1 - -1 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)\right)\right)\right) \cdot \sin x}{\cos x} + 0.16666666666666666 \cdot \frac{\sin x \cdot \left(1 - -1 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)}{\cos x}\right)\right) \cdot {\varepsilon}^{4}\right) + -1 \cdot \left({\varepsilon}^{3} \cdot \left(0.16666666666666666 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}} + \left(0.16666666666666666 + \left(-1 \cdot \frac{{\sin x}^{2} \cdot \left(1 - -1 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)}{{\cos x}^{2}} + -0.5 \cdot \left(1 - -1 \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)\right)\right)\right)\right)\right)\right)} \]

    if 2.99999999999999974e-4 < eps

    1. Initial program 49.36

      \[\tan \left(x + \varepsilon\right) - \tan x \]
    2. Applied egg-rr0.62

      \[\leadsto \color{blue}{\frac{\tan x + \tan \varepsilon}{1 - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}} \cdot \left(1 + \left(\tan x \cdot \tan \varepsilon + \left(\tan x \cdot \tan \varepsilon\right) \cdot \left(\tan x \cdot \tan \varepsilon\right)\right)\right)} - \tan x \]
    3. Simplified0.63

      \[\leadsto \color{blue}{\frac{\left(\tan x + \tan \varepsilon\right) \cdot \left(1 + \left(1 + \tan x \cdot \tan \varepsilon\right) \cdot \left(\tan x \cdot \tan \varepsilon\right)\right)}{1 - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}}} - \tan x \]
      Proof

      [Start]0.62

      \[ \frac{\tan x + \tan \varepsilon}{1 - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}} \cdot \left(1 + \left(\tan x \cdot \tan \varepsilon + \left(\tan x \cdot \tan \varepsilon\right) \cdot \left(\tan x \cdot \tan \varepsilon\right)\right)\right) - \tan x \]

      associate-*l/ [=>]0.62

      \[ \color{blue}{\frac{\left(\tan x + \tan \varepsilon\right) \cdot \left(1 + \left(\tan x \cdot \tan \varepsilon + \left(\tan x \cdot \tan \varepsilon\right) \cdot \left(\tan x \cdot \tan \varepsilon\right)\right)\right)}{1 - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}}} - \tan x \]

      distribute-rgt1-in [=>]0.63

      \[ \frac{\left(\tan x + \tan \varepsilon\right) \cdot \left(1 + \color{blue}{\left(\tan x \cdot \tan \varepsilon + 1\right) \cdot \left(\tan x \cdot \tan \varepsilon\right)}\right)}{1 - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}} - \tan x \]

      +-commutative [<=]0.63

      \[ \frac{\left(\tan x + \tan \varepsilon\right) \cdot \left(1 + \color{blue}{\left(1 + \tan x \cdot \tan \varepsilon\right)} \cdot \left(\tan x \cdot \tan \varepsilon\right)\right)}{1 - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}} - \tan x \]
    4. Applied egg-rr0.84

      \[\leadsto \frac{\left(\tan x + \tan \varepsilon\right) \cdot \left(1 + \left(1 + \tan x \cdot \tan \varepsilon\right) \cdot \color{blue}{\log \left({\left(e^{\tan \varepsilon}\right)}^{\tan x}\right)}\right)}{1 - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}} - \tan x \]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.56

    \[\leadsto \begin{array}{l} \mathbf{if}\;\varepsilon \leq -0.00023:\\ \;\;\;\;\frac{\tan \varepsilon}{1 - \frac{\tan x \cdot \sin \varepsilon}{\cos \varepsilon}} + \left(\frac{\tan x}{1 - \tan \varepsilon \cdot \tan x} - \tan x\right)\\ \mathbf{elif}\;\varepsilon \leq 0.0003:\\ \;\;\;\;\varepsilon \cdot \left(1 + \frac{{\sin x}^{2}}{{\cos x}^{2}}\right) + \left(\frac{{\varepsilon}^{2} \cdot \left(\sin x \cdot \left(1 + \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)\right)}{\cos x} + \left({\varepsilon}^{4} \cdot \left(-0.5 \cdot \frac{\sin x \cdot \left(-1 - \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)}{\cos x} + \left(\frac{\sin x \cdot \left(\frac{{\sin x}^{2}}{{\cos x}^{2}} \cdot -0.16666666666666666 + \left(-0.16666666666666666 + \left(\frac{{\sin x}^{2} \cdot \left(1 + \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)}{{\cos x}^{2}} + -0.5 \cdot \left(-1 - \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)\right)\right)\right)}{\cos x} + 0.16666666666666666 \cdot \frac{\sin x \cdot \left(-1 - \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)}{\cos x}\right)\right) + {\varepsilon}^{3} \cdot \left(\frac{{\sin x}^{2}}{{\cos x}^{2}} \cdot -0.16666666666666666 + \left(-0.16666666666666666 + \left(\frac{{\sin x}^{2} \cdot \left(1 + \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)}{{\cos x}^{2}} + -0.5 \cdot \left(-1 - \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\tan \varepsilon + \tan x\right) \cdot \left(1 + \left(1 + \tan \varepsilon \cdot \tan x\right) \cdot \log \left({\left(e^{\tan \varepsilon}\right)}^{\tan x}\right)\right)}{1 - {\left(\tan \varepsilon \cdot \tan x\right)}^{3}} - \tan x\\ \end{array} \]

Alternatives

Alternative 1
Error0.57%
Cost85256
\[\begin{array}{l} t_0 := \tan \varepsilon \cdot \tan x\\ t_1 := 1 - t_0\\ t_2 := \frac{{\sin x}^{2}}{\cos x}\\ \mathbf{if}\;\varepsilon \leq -0.00034:\\ \;\;\;\;\frac{\tan \varepsilon}{1 - \frac{\tan x \cdot \sin \varepsilon}{\cos \varepsilon}} + \left(\frac{\tan x}{t_1} - \tan x\right)\\ \mathbf{elif}\;\varepsilon \leq 0.00038:\\ \;\;\;\;\frac{\mathsf{fma}\left(\cos x + t_2, \varepsilon, {\varepsilon}^{3} \cdot \left(\cos x \cdot 0.3333333333333333 + t_2 \cdot 0.3333333333333333\right)\right)}{t_1 \cdot \cos x}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\tan \varepsilon + \tan x\right) \cdot \left(1 + \left(1 + t_0\right) \cdot \log \left({\left(e^{\tan \varepsilon}\right)}^{\tan x}\right)\right)}{1 - {t_0}^{3}} - \tan x\\ \end{array} \]
Alternative 2
Error0.57%
Cost84936
\[\begin{array}{l} t_0 := \tan \varepsilon \cdot \tan x\\ t_1 := 1 - t_0\\ t_2 := \frac{{\sin x}^{2}}{\cos x}\\ \mathbf{if}\;\varepsilon \leq -0.00034:\\ \;\;\;\;\frac{\tan \varepsilon}{1 - \frac{\tan x \cdot \sin \varepsilon}{\cos \varepsilon}} + \left(\frac{\tan x}{t_1} - \tan x\right)\\ \mathbf{elif}\;\varepsilon \leq 0.00045:\\ \;\;\;\;\frac{\varepsilon \cdot \left(\cos x + t_2\right) + {\varepsilon}^{3} \cdot \left(\cos x \cdot 0.3333333333333333 + t_2 \cdot 0.3333333333333333\right)}{t_1 \cdot \cos x}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\tan \varepsilon + \tan x\right) \cdot \left(1 + \left(1 + t_0\right) \cdot \log \left({\left(e^{\tan \varepsilon}\right)}^{\tan x}\right)\right)}{1 - {t_0}^{3}} - \tan x\\ \end{array} \]
Alternative 3
Error0.5%
Cost78984
\[\begin{array}{l} t_0 := 1 - \tan \varepsilon \cdot \tan x\\ t_1 := \frac{{\sin x}^{2}}{\cos x}\\ \mathbf{if}\;\varepsilon \leq -0.00039:\\ \;\;\;\;\frac{\tan \varepsilon}{1 - \frac{\tan x \cdot \sin \varepsilon}{\cos \varepsilon}} + \left(\frac{\tan x}{t_0} - \tan x\right)\\ \mathbf{elif}\;\varepsilon \leq 0.00035:\\ \;\;\;\;\frac{\varepsilon \cdot \left(\cos x + t_1\right) + {\varepsilon}^{3} \cdot \left(\cos x \cdot 0.3333333333333333 + t_1 \cdot 0.3333333333333333\right)}{t_0 \cdot \cos x}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{1}{t_0}, \tan \varepsilon + \tan x, -\tan x\right)\\ \end{array} \]
Alternative 4
Error0.66%
Cost65800
\[\begin{array}{l} t_0 := \tan \varepsilon \cdot \tan x\\ t_1 := 1 - t_0\\ \mathbf{if}\;\varepsilon \leq -5.2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\tan \varepsilon}{1 - \frac{\tan x \cdot \sin \varepsilon}{\cos \varepsilon}} + \left(\frac{\tan x}{t_1} - \tan x\right)\\ \mathbf{elif}\;\varepsilon \leq 10^{-8}:\\ \;\;\;\;\frac{\tan \varepsilon}{t_1} + \frac{\varepsilon \cdot {\sin x}^{2}}{{\cos x}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\tan \varepsilon + \tan x\right) \cdot \left(1 + t_0 \cdot \left(1 + t_0\right)\right)}{1 - {t_0}^{3}} - \tan x\\ \end{array} \]
Alternative 5
Error0.53%
Cost52548
\[\begin{array}{l} t_0 := 1 - \tan \varepsilon \cdot \tan x\\ \mathbf{if}\;\varepsilon \leq -3.5 \cdot 10^{-7}:\\ \;\;\;\;\left(\frac{\tan x}{t_0} - \tan x\right) + \frac{\tan \varepsilon}{1 + \left(1 - \mathsf{fma}\left(\tan x, \tan \varepsilon, 1\right)\right)}\\ \mathbf{elif}\;\varepsilon \leq 7.5 \cdot 10^{-7}:\\ \;\;\;\;\frac{\cos x + \tan x \cdot \sin x}{t_0} \cdot \frac{\varepsilon}{\cos x}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{1}{t_0}, \tan \varepsilon + \tan x, -\tan x\right)\\ \end{array} \]
Alternative 6
Error0.53%
Cost52548
\[\begin{array}{l} t_0 := 1 - \tan \varepsilon \cdot \tan x\\ \mathbf{if}\;\varepsilon \leq -3.1 \cdot 10^{-7}:\\ \;\;\;\;\frac{\tan \varepsilon}{1 - \frac{\tan x \cdot \sin \varepsilon}{\cos \varepsilon}} + \left(\frac{\tan x}{t_0} - \tan x\right)\\ \mathbf{elif}\;\varepsilon \leq 8.6 \cdot 10^{-7}:\\ \;\;\;\;\frac{\cos x + \tan x \cdot \sin x}{t_0} \cdot \frac{\varepsilon}{\cos x}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{1}{t_0}, \tan \varepsilon + \tan x, -\tan x\right)\\ \end{array} \]
Alternative 7
Error0.53%
Cost46020
\[\begin{array}{l} t_0 := 1 - \tan \varepsilon \cdot \tan x\\ \mathbf{if}\;\varepsilon \leq -5 \cdot 10^{-7}:\\ \;\;\;\;\left(\frac{\tan x}{t_0} - \tan x\right) + \frac{\tan \varepsilon}{t_0}\\ \mathbf{elif}\;\varepsilon \leq 7.5 \cdot 10^{-7}:\\ \;\;\;\;\frac{\cos x + \tan x \cdot \sin x}{t_0} \cdot \frac{\varepsilon}{\cos x}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{1}{t_0}, \tan \varepsilon + \tan x, -\tan x\right)\\ \end{array} \]
Alternative 8
Error0.54%
Cost39624
\[\begin{array}{l} t_0 := \tan \varepsilon + \tan x\\ t_1 := 1 - \tan \varepsilon \cdot \tan x\\ t_2 := \frac{1}{t_1}\\ \mathbf{if}\;\varepsilon \leq -4.7 \cdot 10^{-7}:\\ \;\;\;\;t_0 \cdot t_2 - \tan x\\ \mathbf{elif}\;\varepsilon \leq 10^{-6}:\\ \;\;\;\;\frac{\cos x + \tan x \cdot \sin x}{t_1} \cdot \frac{\varepsilon}{\cos x}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(t_2, t_0, -\tan x\right)\\ \end{array} \]
Alternative 9
Error0.55%
Cost39624
\[\begin{array}{l} t_0 := \tan \varepsilon + \tan x\\ t_1 := 1 - \tan \varepsilon \cdot \tan x\\ \mathbf{if}\;\varepsilon \leq -3.7 \cdot 10^{-7}:\\ \;\;\;\;t_0 \cdot \frac{1}{1 + \left(1 - \mathsf{fma}\left(\tan x, \tan \varepsilon, 1\right)\right)} - \tan x\\ \mathbf{elif}\;\varepsilon \leq 8 \cdot 10^{-7}:\\ \;\;\;\;\frac{\cos x + \tan x \cdot \sin x}{t_1} \cdot \frac{\varepsilon}{\cos x}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{1}{t_1}, t_0, -\tan x\right)\\ \end{array} \]
Alternative 10
Error0.67%
Cost39432
\[\begin{array}{l} t_0 := \tan \varepsilon + \tan x\\ t_1 := \frac{1}{1 - \tan \varepsilon \cdot \tan x}\\ \mathbf{if}\;\varepsilon \leq -3.8 \cdot 10^{-9}:\\ \;\;\;\;t_0 \cdot t_1 - \tan x\\ \mathbf{elif}\;\varepsilon \leq 4 \cdot 10^{-9}:\\ \;\;\;\;\varepsilon + \varepsilon \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(t_1, t_0, -\tan x\right)\\ \end{array} \]
Alternative 11
Error0.66%
Cost32969
\[\begin{array}{l} \mathbf{if}\;\varepsilon \leq -3.45 \cdot 10^{-9} \lor \neg \left(\varepsilon \leq 3.2 \cdot 10^{-9}\right):\\ \;\;\;\;\frac{\tan \varepsilon + \tan x}{1 - \tan \varepsilon \cdot \tan x} - \tan x\\ \mathbf{else}:\\ \;\;\;\;\varepsilon + \varepsilon \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\\ \end{array} \]
Alternative 12
Error0.67%
Cost32968
\[\begin{array}{l} t_0 := \tan \varepsilon + \tan x\\ t_1 := 1 - \tan \varepsilon \cdot \tan x\\ \mathbf{if}\;\varepsilon \leq -4.5 \cdot 10^{-9}:\\ \;\;\;\;t_0 \cdot \frac{1}{t_1} - \tan x\\ \mathbf{elif}\;\varepsilon \leq 4.5 \cdot 10^{-9}:\\ \;\;\;\;\varepsilon + \varepsilon \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t_0}{t_1} - \tan x\\ \end{array} \]
Alternative 13
Error23.51%
Cost26440
\[\begin{array}{l} \mathbf{if}\;\varepsilon \leq -9 \cdot 10^{-6}:\\ \;\;\;\;\tan \varepsilon\\ \mathbf{elif}\;\varepsilon \leq 7.5 \cdot 10^{-5}:\\ \;\;\;\;\varepsilon \cdot \left(1 + \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)\\ \mathbf{else}:\\ \;\;\;\;\tan \varepsilon\\ \end{array} \]
Alternative 14
Error23.48%
Cost26440
\[\begin{array}{l} \mathbf{if}\;\varepsilon \leq -1.3 \cdot 10^{-5}:\\ \;\;\;\;\tan \varepsilon\\ \mathbf{elif}\;\varepsilon \leq 7.4 \cdot 10^{-6}:\\ \;\;\;\;\varepsilon + \varepsilon \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\tan \varepsilon\\ \end{array} \]
Alternative 15
Error23.51%
Cost26440
\[\begin{array}{l} \mathbf{if}\;\varepsilon \leq -1.18 \cdot 10^{-5}:\\ \;\;\;\;\tan \varepsilon\\ \mathbf{elif}\;\varepsilon \leq 0.00028:\\ \;\;\;\;\varepsilon + \varepsilon \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\tan \varepsilon + \tan x}{1 - \tan \varepsilon \cdot \tan x}\\ \end{array} \]
Alternative 16
Error42.56%
Cost6464
\[\tan \varepsilon \]
Alternative 17
Error69.16%
Cost64
\[\varepsilon \]

Error

Reproduce?

herbie shell --seed 2023125 
(FPCore (x eps)
  :name "2tan (problem 3.3.2)"
  :precision binary64

  :herbie-target
  (/ (sin eps) (* (cos x) (cos (+ x eps))))

  (- (tan (+ x eps)) (tan x)))