?

Average Error: 2.12% → 2.11%
Time: 15.8s
Precision: binary32
Cost: 19680

?

\[\left(10^{-5} \leq x \land x \leq 1\right) \land \left(1 \leq tau \land tau \leq 5\right)\]
\[\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
\[\begin{array}{l} t_1 := x \cdot \left(\pi \cdot tau\right)\\ \frac{\sin t_1}{t_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (* (/ (sin (* (* x PI) tau)) (* (* x PI) tau)) (/ (sin (* x PI)) (* x PI))))
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* x (* PI tau))))
   (* (/ (sin t_1) t_1) (/ (sin (* x PI)) (* x PI)))))
float code(float x, float tau) {
	return (sinf(((x * ((float) M_PI)) * tau)) / ((x * ((float) M_PI)) * tau)) * (sinf((x * ((float) M_PI))) / (x * ((float) M_PI)));
}
float code(float x, float tau) {
	float t_1 = x * (((float) M_PI) * tau);
	return (sinf(t_1) / t_1) * (sinf((x * ((float) M_PI))) / (x * ((float) M_PI)));
}
function code(x, tau)
	return Float32(Float32(sin(Float32(Float32(x * Float32(pi)) * tau)) / Float32(Float32(x * Float32(pi)) * tau)) * Float32(sin(Float32(x * Float32(pi))) / Float32(x * Float32(pi))))
end
function code(x, tau)
	t_1 = Float32(x * Float32(Float32(pi) * tau))
	return Float32(Float32(sin(t_1) / t_1) * Float32(sin(Float32(x * Float32(pi))) / Float32(x * Float32(pi))))
end
function tmp = code(x, tau)
	tmp = (sin(((x * single(pi)) * tau)) / ((x * single(pi)) * tau)) * (sin((x * single(pi))) / (x * single(pi)));
end
function tmp = code(x, tau)
	t_1 = x * (single(pi) * tau);
	tmp = (sin(t_1) / t_1) * (sin((x * single(pi))) / (x * single(pi)));
end
\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}
\begin{array}{l}
t_1 := x \cdot \left(\pi \cdot tau\right)\\
\frac{\sin t_1}{t_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}
\end{array}

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation?

  1. Initial program 2.12

    \[\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  2. Simplified2.11

    \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \left(\pi \cdot tau\right)\right)}{x \cdot \left(\pi \cdot tau\right)} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    Proof

    [Start]2.12

    \[ \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]

    associate-*l* [=>]2.73

    \[ \frac{\sin \color{blue}{\left(x \cdot \left(\pi \cdot tau\right)\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]

    associate-*l* [=>]2.11

    \[ \frac{\sin \left(x \cdot \left(\pi \cdot tau\right)\right)}{\color{blue}{x \cdot \left(\pi \cdot tau\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  3. Final simplification2.11

    \[\leadsto \frac{\sin \left(x \cdot \left(\pi \cdot tau\right)\right)}{x \cdot \left(\pi \cdot tau\right)} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]

Alternatives

Alternative 1
Error2.9%
Cost19616
\[\sin \left(x \cdot \pi\right) \cdot \left({\left(x \cdot \pi\right)}^{-2} \cdot \frac{\sin \left(\pi \cdot \left(x \cdot tau\right)\right)}{tau}\right) \]
Alternative 2
Error2.88%
Cost19616
\[\left(\sin \left(x \cdot \left(\pi \cdot tau\right)\right) \cdot {\left(x \cdot \pi\right)}^{-2}\right) \cdot \frac{\sin \left(x \cdot \pi\right)}{tau} \]
Alternative 3
Error2.89%
Cost19616
\[\frac{\sin \left(x \cdot \pi\right)}{\frac{tau}{\sin \left(x \cdot \left(\pi \cdot tau\right)\right) \cdot {\left(x \cdot \pi\right)}^{-2}}} \]
Alternative 4
Error2.52%
Cost19616
\[\frac{\sin \left(x \cdot \pi\right) \cdot \frac{\sin \left(tau \cdot \left(x \cdot \pi\right)\right)}{tau}}{{\left(x \cdot \pi\right)}^{2}} \]
Alternative 5
Error21.06%
Cost16608
\[\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \left(1 + -0.16666666666666666 \cdot \left(\left({\pi}^{2} \cdot \left(x \cdot x\right)\right) \cdot \left(tau \cdot tau\right)\right)\right) \]
Alternative 6
Error15.24%
Cost16608
\[\begin{array}{l} t_1 := x \cdot \left(\pi \cdot tau\right)\\ \frac{\sin t_1}{t_1} \cdot \left(1 + -0.16666666666666666 \cdot \left({\pi}^{2} \cdot \left(x \cdot x\right)\right)\right) \end{array} \]
Alternative 7
Error21.31%
Cost16480
\[\sin \left(x \cdot \pi\right) \cdot \left(\frac{1}{x \cdot \pi} + -0.16666666666666666 \cdot \left(\left(x \cdot \pi\right) \cdot {tau}^{2}\right)\right) \]
Alternative 8
Error21.6%
Cost16448
\[\sin \left(x \cdot \pi\right) \cdot \mathsf{fma}\left(-0.16666666666666666, x \cdot \left(\pi \cdot \left(tau \cdot tau\right)\right), \frac{\frac{1}{x}}{\pi}\right) \]
Alternative 9
Error21.87%
Cost10016
\[\mathsf{fma}\left(-0.16666666666666666 \cdot \left({\pi}^{2} \cdot \left(1 + tau \cdot tau\right)\right), x \cdot x, 1\right) \]
Alternative 10
Error21.87%
Cost6880
\[1 + \left({\pi}^{2} \cdot \left(1 + tau \cdot tau\right)\right) \cdot \left(-0.16666666666666666 \cdot \left(x \cdot x\right)\right) \]
Alternative 11
Error35.97%
Cost6624
\[1 + -0.16666666666666666 \cdot {\left(x \cdot \pi\right)}^{2} \]
Alternative 12
Error36.91%
Cost32
\[1 \]

Error

Reproduce?

herbie shell --seed 2023089 
(FPCore (x tau)
  :name "Lanczos kernel"
  :precision binary32
  :pre (and (and (<= 1e-5 x) (<= x 1.0)) (and (<= 1.0 tau) (<= tau 5.0)))
  (* (/ (sin (* (* x PI) tau)) (* (* x PI) tau)) (/ (sin (* x PI)) (* x PI))))