Average Error: 47.3 → 1.5
Time: 29.1s
Precision: binary64
Cost: 20288
\[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
\[2 \cdot \left(\frac{\ell}{k} \cdot \frac{\frac{\frac{\ell}{k} \cdot \frac{\cos k}{t}}{\sin k}}{\sin k}\right) \]
(FPCore (t l k)
 :precision binary64
 (/
  2.0
  (*
   (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
   (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
(FPCore (t l k)
 :precision binary64
 (* 2.0 (* (/ l k) (/ (/ (* (/ l k) (/ (cos k) t)) (sin k)) (sin k)))))
double code(double t, double l, double k) {
	return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) - 1.0));
}
double code(double t, double l, double k) {
	return 2.0 * ((l / k) * ((((l / k) * (cos(k) / t)) / sin(k)) / sin(k)));
}
real(8) function code(t, l, k)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) - 1.0d0))
end function
real(8) function code(t, l, k)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    code = 2.0d0 * ((l / k) * ((((l / k) * (cos(k) / t)) / sin(k)) / sin(k)))
end function
public static double code(double t, double l, double k) {
	return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) - 1.0));
}
public static double code(double t, double l, double k) {
	return 2.0 * ((l / k) * ((((l / k) * (Math.cos(k) / t)) / Math.sin(k)) / Math.sin(k)));
}
def code(t, l, k):
	return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) - 1.0))
def code(t, l, k):
	return 2.0 * ((l / k) * ((((l / k) * (math.cos(k) / t)) / math.sin(k)) / math.sin(k)))
function code(t, l, k)
	return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) - 1.0)))
end
function code(t, l, k)
	return Float64(2.0 * Float64(Float64(l / k) * Float64(Float64(Float64(Float64(l / k) * Float64(cos(k) / t)) / sin(k)) / sin(k))))
end
function tmp = code(t, l, k)
	tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) - 1.0));
end
function tmp = code(t, l, k)
	tmp = 2.0 * ((l / k) * ((((l / k) * (cos(k) / t)) / sin(k)) / sin(k)));
end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] - 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[t_, l_, k_] := N[(2.0 * N[(N[(l / k), $MachinePrecision] * N[(N[(N[(N[(l / k), $MachinePrecision] * N[(N[Cos[k], $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}
2 \cdot \left(\frac{\ell}{k} \cdot \frac{\frac{\frac{\ell}{k} \cdot \frac{\cos k}{t}}{\sin k}}{\sin k}\right)

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 47.3

    \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
  2. Simplified40.0

    \[\leadsto \color{blue}{\frac{2}{\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \left(\tan k \cdot \left({\left(\frac{k}{t}\right)}^{2} + 0\right)\right)}} \]
    Proof
    (/.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (*.f64 (tan.f64 k) (+.f64 (pow.f64 (/.f64 k t) 2) 0)))): 0 points increase in error, 0 points decrease in error
    (/.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (*.f64 (tan.f64 k) (+.f64 (pow.f64 (/.f64 k t) 2) (Rewrite<= metadata-eval (-.f64 1 1)))))): 0 points increase in error, 0 points decrease in error
    (/.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (*.f64 (tan.f64 k) (Rewrite<= associate--l+_binary64 (-.f64 (+.f64 (pow.f64 (/.f64 k t) 2) 1) 1))))): 37 points increase in error, 0 points decrease in error
    (/.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (*.f64 (tan.f64 k) (-.f64 (Rewrite<= +-commutative_binary64 (+.f64 1 (pow.f64 (/.f64 k t) 2))) 1)))): 0 points increase in error, 0 points decrease in error
    (/.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (Rewrite<= +-rgt-identity_binary64 (+.f64 (*.f64 (tan.f64 k) (-.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) 0)))): 0 points increase in error, 0 points decrease in error
    (/.f64 2 (Rewrite=> distribute-lft-in_binary64 (+.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (*.f64 (tan.f64 k) (-.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) 0)))): 43 points increase in error, 0 points decrease in error
    (/.f64 2 (+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (-.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) 0))): 6 points increase in error, 2 points decrease in error
    (/.f64 2 (+.f64 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (-.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) (Rewrite=> mul0-rgt_binary64 0))): 0 points increase in error, 43 points decrease in error
    (/.f64 2 (Rewrite=> +-rgt-identity_binary64 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (-.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)))): 0 points increase in error, 0 points decrease in error
  3. Taylor expanded in t around 0 22.2

    \[\leadsto \color{blue}{2 \cdot \frac{\cos k \cdot {\ell}^{2}}{{k}^{2} \cdot \left({\sin k}^{2} \cdot t\right)}} \]
  4. Simplified9.3

    \[\leadsto \color{blue}{2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{\cos k}{{\sin k}^{2} \cdot t}\right)} \]
    Proof
    (*.f64 2 (*.f64 (*.f64 (/.f64 l k) (/.f64 l k)) (/.f64 (cos.f64 k) (*.f64 (pow.f64 (sin.f64 k) 2) t)))): 0 points increase in error, 0 points decrease in error
    (*.f64 2 (*.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 l l) (*.f64 k k))) (/.f64 (cos.f64 k) (*.f64 (pow.f64 (sin.f64 k) 2) t)))): 73 points increase in error, 17 points decrease in error
    (*.f64 2 (*.f64 (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 l 2)) (*.f64 k k)) (/.f64 (cos.f64 k) (*.f64 (pow.f64 (sin.f64 k) 2) t)))): 0 points increase in error, 0 points decrease in error
    (*.f64 2 (*.f64 (/.f64 (pow.f64 l 2) (Rewrite<= unpow2_binary64 (pow.f64 k 2))) (/.f64 (cos.f64 k) (*.f64 (pow.f64 (sin.f64 k) 2) t)))): 0 points increase in error, 1 points decrease in error
    (*.f64 2 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 (pow.f64 l 2) (cos.f64 k)) (*.f64 (pow.f64 k 2) (*.f64 (pow.f64 (sin.f64 k) 2) t))))): 21 points increase in error, 15 points decrease in error
    (*.f64 2 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (cos.f64 k) (pow.f64 l 2))) (*.f64 (pow.f64 k 2) (*.f64 (pow.f64 (sin.f64 k) 2) t)))): 0 points increase in error, 0 points decrease in error
  5. Applied egg-rr7.5

    \[\leadsto 2 \cdot \color{blue}{\frac{\left(-\ell\right) \cdot \left(\frac{\ell}{k} \cdot \frac{\cos k}{{\sin k}^{2} \cdot t}\right)}{-k}} \]
  6. Simplified7.4

    \[\leadsto 2 \cdot \color{blue}{\frac{-\ell}{\frac{-k}{\frac{\frac{\ell}{k} \cdot \cos k}{{\sin k}^{2} \cdot t}}}} \]
    Proof
    (/.f64 (neg.f64 l) (/.f64 (neg.f64 k) (/.f64 (*.f64 (/.f64 l k) (cos.f64 k)) (*.f64 (pow.f64 (sin.f64 k) 2) t)))): 0 points increase in error, 0 points decrease in error
    (/.f64 (neg.f64 l) (/.f64 (neg.f64 k) (Rewrite<= associate-*r/_binary64 (*.f64 (/.f64 l k) (/.f64 (cos.f64 k) (*.f64 (pow.f64 (sin.f64 k) 2) t)))))): 22 points increase in error, 11 points decrease in error
    (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (neg.f64 l) (*.f64 (/.f64 l k) (/.f64 (cos.f64 k) (*.f64 (pow.f64 (sin.f64 k) 2) t)))) (neg.f64 k))): 37 points increase in error, 33 points decrease in error
  7. Applied egg-rr3.0

    \[\leadsto 2 \cdot \color{blue}{\left(\frac{\ell}{k} \cdot \left(\frac{\frac{\ell}{k}}{{\sin k}^{2}} \cdot \frac{\cos k}{t}\right)\right)} \]
  8. Applied egg-rr1.5

    \[\leadsto 2 \cdot \left(\frac{\ell}{k} \cdot \color{blue}{\frac{\frac{\frac{\ell}{k} \cdot \frac{\cos k}{t}}{\sin k}}{\sin k}}\right) \]
  9. Final simplification1.5

    \[\leadsto 2 \cdot \left(\frac{\ell}{k} \cdot \frac{\frac{\frac{\ell}{k} \cdot \frac{\cos k}{t}}{\sin k}}{\sin k}\right) \]

Alternatives

Alternative 1
Error4.1
Cost20488
\[\begin{array}{l} t_1 := \frac{\cos k}{t}\\ t_2 := 2 \cdot \left(\frac{\ell}{k} \cdot \left(t_1 \cdot \frac{\frac{\ell}{k}}{0.5 - \frac{\cos \left(k + k\right)}{2}}\right)\right)\\ \mathbf{if}\;k \leq -0.0126:\\ \;\;\;\;t_2\\ \mathbf{elif}\;k \leq 1.8 \cdot 10^{-5}:\\ \;\;\;\;2 \cdot \left(t_1 \cdot \left(\frac{\ell}{k} \cdot \frac{\frac{\ell}{k}}{{\sin k}^{2}}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 2
Error3.0
Cost20224
\[2 \cdot \left(\frac{\ell}{k} \cdot \left(\frac{\cos k}{t} \cdot \frac{\frac{\ell}{k}}{{\sin k}^{2}}\right)\right) \]
Alternative 3
Error7.7
Cost14408
\[\begin{array}{l} t_1 := 2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{\cos k}{t \cdot \left(0.5 - \frac{\cos \left(k + k\right)}{2}\right)}\right)\\ \mathbf{if}\;k \leq -0.000465:\\ \;\;\;\;t_1\\ \mathbf{elif}\;k \leq 0.00165:\\ \;\;\;\;2 \cdot \frac{\frac{\ell}{k \cdot t} \cdot {k}^{-2}}{\frac{-k}{-\ell}}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 4
Error3.4
Cost14408
\[\begin{array}{l} t_1 := 2 \cdot \left(\frac{\ell}{k} \cdot \left(\frac{\cos k}{t} \cdot \frac{\frac{\ell}{k}}{0.5 - \frac{\cos \left(k + k\right)}{2}}\right)\right)\\ \mathbf{if}\;k \leq -9.6 \cdot 10^{-5}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;k \leq 9.5 \cdot 10^{-5}:\\ \;\;\;\;2 \cdot \frac{\frac{\ell}{k \cdot t} \cdot {k}^{-2}}{\frac{-k}{-\ell}}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 5
Error20.9
Cost14344
\[\begin{array}{l} t_1 := 2 \cdot \left(\frac{\ell}{k} \cdot \left(\frac{\cos k}{t} \cdot \left(\frac{\ell}{{k}^{3}} + \frac{\ell}{k} \cdot 0.3333333333333333\right)\right)\right)\\ \mathbf{if}\;k \leq -6.9 \cdot 10^{-105}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;k \leq 1.95 \cdot 10^{-104}:\\ \;\;\;\;2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{1}{k \cdot \left(k \cdot t\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 6
Error23.2
Cost7560
\[\begin{array}{l} t_1 := 2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \left(\frac{1}{k \cdot \left(k \cdot t\right)} + \frac{-0.16666666666666666}{t}\right)\right)\\ \mathbf{if}\;t \leq -1.45 \cdot 10^{-37}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;t \leq 3.4 \cdot 10^{-106}:\\ \;\;\;\;2 \cdot \left({k}^{-2} \cdot \left(\frac{\ell}{k} \cdot \frac{\frac{\ell}{t}}{k}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 7
Error23.2
Cost7560
\[\begin{array}{l} t_1 := 2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \left(\frac{1}{k \cdot \left(k \cdot t\right)} + \frac{-0.16666666666666666}{t}\right)\right)\\ \mathbf{if}\;t \leq -1.2 \cdot 10^{-36}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;t \leq 2.2 \cdot 10^{-102}:\\ \;\;\;\;2 \cdot \left({k}^{-2} \cdot \frac{\ell}{k \cdot \left(k \cdot \frac{t}{\ell}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 8
Error23.2
Cost1608
\[\begin{array}{l} t_1 := 2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \left(\frac{1}{k \cdot \left(k \cdot t\right)} + \frac{-0.16666666666666666}{t}\right)\right)\\ \mathbf{if}\;t \leq -3.2 \cdot 10^{-33}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;t \leq 6.8 \cdot 10^{-103}:\\ \;\;\;\;2 \cdot \frac{\frac{\ell}{k} \cdot \frac{\frac{\ell}{t}}{k}}{k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 9
Error24.7
Cost1220
\[\begin{array}{l} \mathbf{if}\;t \leq -4 \cdot 10^{+101}:\\ \;\;\;\;2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{1}{k \cdot \left(k \cdot t\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \frac{\frac{\ell}{k} \cdot \frac{\frac{\ell}{t}}{k}}{k \cdot k}\\ \end{array} \]
Alternative 10
Error25.8
Cost960
\[2 \cdot \frac{\frac{\ell}{k} \cdot \frac{\frac{\ell}{t}}{k}}{k \cdot k} \]
Alternative 11
Error31.5
Cost704
\[-0.3333333333333333 \cdot \left(\frac{\ell}{k} \cdot \frac{\frac{\ell}{k}}{t}\right) \]
Alternative 12
Error31.9
Cost704
\[\frac{\ell \cdot 0.3333333333333333}{\frac{t}{\ell} \cdot \left(k \cdot k\right)} \]

Error

Reproduce

herbie shell --seed 2022330 
(FPCore (t l k)
  :name "Toniolo and Linder, Equation (10-)"
  :precision binary64
  (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))