Lanczos kernel

Percentage Accurate: 97.9% → 97.9%
Time: 4.8s
Alternatives: 25
Speedup: 1.0×

Specification

?
\[\left(10^{-5} \leq x \land x \leq 1\right) \land \left(1 \leq tau \land tau \leq 5\right)\]
\[\begin{array}{l} t_1 := \left(x \cdot \pi\right) \cdot tau\\ \frac{\sin t\_1}{t\_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \end{array} \]
(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) {
	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)
	t_1 = Float32(Float32(x * 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)
	t_1 = (x * single(pi)) * tau;
	tmp = (sin(t_1) / t_1) * (sin((x * single(pi))) / (x * single(pi)));
end
\begin{array}{l}
t_1 := \left(x \cdot \pi\right) \cdot tau\\
\frac{\sin t\_1}{t\_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}
\end{array}

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 25 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: 97.9% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := \left(x \cdot \pi\right) \cdot tau\\ \frac{\sin t\_1}{t\_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \end{array} \]
(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) {
	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)
	t_1 = Float32(Float32(x * 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)
	t_1 = (x * single(pi)) * tau;
	tmp = (sin(t_1) / t_1) * (sin((x * single(pi))) / (x * single(pi)));
end
\begin{array}{l}
t_1 := \left(x \cdot \pi\right) \cdot tau\\
\frac{\sin t\_1}{t\_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}
\end{array}

Alternative 1: 97.9% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := \left(x \cdot \pi\right) \cdot tau\\ \frac{\sin t\_1}{t\_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \end{array} \]
(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) {
	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)
	t_1 = Float32(Float32(x * 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)
	t_1 = (x * single(pi)) * tau;
	tmp = (sin(t_1) / t_1) * (sin((x * single(pi))) / (x * single(pi)));
end
\begin{array}{l}
t_1 := \left(x \cdot \pi\right) \cdot tau\\
\frac{\sin t\_1}{t\_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Add Preprocessing

Alternative 2: 97.9% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := \left(tau \cdot x\right) \cdot \pi\\ \frac{\sin t\_1}{t\_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* (* tau x) PI)))
   (* (/ (sin t_1) t_1) (/ (sin (* x PI)) (* x PI)))))
float code(float x, float tau) {
	float t_1 = (tau * x) * ((float) M_PI);
	return (sinf(t_1) / t_1) * (sinf((x * ((float) M_PI))) / (x * ((float) M_PI)));
}
function code(x, tau)
	t_1 = Float32(Float32(tau * x) * Float32(pi))
	return Float32(Float32(sin(t_1) / t_1) * Float32(sin(Float32(x * Float32(pi))) / Float32(x * Float32(pi))))
end
function tmp = code(x, tau)
	t_1 = (tau * x) * single(pi);
	tmp = (sin(t_1) / t_1) * (sin((x * single(pi))) / (x * single(pi)));
end
\begin{array}{l}
t_1 := \left(tau \cdot x\right) \cdot \pi\\
\frac{\sin t\_1}{t\_1} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\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. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\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} \]
    3. associate-*l*N/A

      \[\leadsto \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} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(x \cdot \color{blue}{\left(tau \cdot \pi\right)}\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.3

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  3. Applied rewrites97.3%

    \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  4. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right)} \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{x \cdot \left(\pi \cdot tau\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{x \cdot \color{blue}{\left(tau \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.9

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  5. Applied rewrites97.9%

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  6. Add Preprocessing

Alternative 3: 97.7% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := tau \cdot \left(\pi \cdot x\right)\\ \frac{\sin \left(\pi \cdot x\right)}{t\_1} \cdot \frac{\sin t\_1}{\pi \cdot x} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* tau (* PI x))))
   (* (/ (sin (* PI x)) t_1) (/ (sin t_1) (* PI x)))))
float code(float x, float tau) {
	float t_1 = tau * (((float) M_PI) * x);
	return (sinf((((float) M_PI) * x)) / t_1) * (sinf(t_1) / (((float) M_PI) * x));
}
function code(x, tau)
	t_1 = Float32(tau * Float32(Float32(pi) * x))
	return Float32(Float32(sin(Float32(Float32(pi) * x)) / t_1) * Float32(sin(t_1) / Float32(Float32(pi) * x)))
end
function tmp = code(x, tau)
	t_1 = tau * (single(pi) * x);
	tmp = (sin((single(pi) * x)) / t_1) * (sin(t_1) / (single(pi) * x));
end
\begin{array}{l}
t_1 := tau \cdot \left(\pi \cdot x\right)\\
\frac{\sin \left(\pi \cdot x\right)}{t\_1} \cdot \frac{\sin t\_1}{\pi \cdot x}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    3. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \]
    4. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \color{blue}{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    5. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right) \cdot \sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot \left(\left(x \cdot \pi\right) \cdot tau\right)}} \]
    6. *-commutativeN/A

      \[\leadsto \frac{\color{blue}{\sin \left(\left(x \cdot \pi\right) \cdot tau\right) \cdot \sin \left(x \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot \left(\left(x \cdot \pi\right) \cdot tau\right)} \]
    7. times-fracN/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{x \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    8. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{x \cdot \pi}} \]
    9. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{x \cdot \pi}} \]
  3. Applied rewrites97.7%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot x\right)}{tau \cdot \left(\pi \cdot x\right)} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\pi \cdot x}} \]
  4. Add Preprocessing

Alternative 4: 97.4% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := tau \cdot \left(\pi \cdot x\right)\\ \frac{\sin \left(\pi \cdot x\right)}{\pi} \cdot \frac{\sin t\_1}{t\_1 \cdot x} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* tau (* PI x))))
   (* (/ (sin (* PI x)) PI) (/ (sin t_1) (* t_1 x)))))
float code(float x, float tau) {
	float t_1 = tau * (((float) M_PI) * x);
	return (sinf((((float) M_PI) * x)) / ((float) M_PI)) * (sinf(t_1) / (t_1 * x));
}
function code(x, tau)
	t_1 = Float32(tau * Float32(Float32(pi) * x))
	return Float32(Float32(sin(Float32(Float32(pi) * x)) / Float32(pi)) * Float32(sin(t_1) / Float32(t_1 * x)))
end
function tmp = code(x, tau)
	t_1 = tau * (single(pi) * x);
	tmp = (sin((single(pi) * x)) / single(pi)) * (sin(t_1) / (t_1 * x));
end
\begin{array}{l}
t_1 := tau \cdot \left(\pi \cdot x\right)\\
\frac{\sin \left(\pi \cdot x\right)}{\pi} \cdot \frac{\sin t\_1}{t\_1 \cdot x}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    3. associate-*r/N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    4. lift-*.f32N/A

      \[\leadsto \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \sin \left(x \cdot \pi\right)}{\color{blue}{x \cdot \pi}} \]
    5. times-fracN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{x} \cdot \frac{\sin \left(x \cdot \pi\right)}{\pi}} \]
    6. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{\pi} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{x}} \]
    7. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{\pi} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{x}} \]
    8. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{\pi}} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{x} \]
    9. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(x \cdot \pi\right)}}{\pi} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{x} \]
    10. *-commutativeN/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{\pi} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{x} \]
    11. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{\pi} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{x} \]
  3. Applied rewrites97.4%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot x\right)}{\pi} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot x}} \]
  4. Add Preprocessing

Alternative 5: 97.4% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := tau \cdot \left(\pi \cdot x\right)\\ \frac{\sin \left(\pi \cdot x\right)}{x} \cdot \frac{\sin t\_1}{t\_1 \cdot \pi} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* tau (* PI x))))
   (* (/ (sin (* PI x)) x) (/ (sin t_1) (* t_1 PI)))))
float code(float x, float tau) {
	float t_1 = tau * (((float) M_PI) * x);
	return (sinf((((float) M_PI) * x)) / x) * (sinf(t_1) / (t_1 * ((float) M_PI)));
}
function code(x, tau)
	t_1 = Float32(tau * Float32(Float32(pi) * x))
	return Float32(Float32(sin(Float32(Float32(pi) * x)) / x) * Float32(sin(t_1) / Float32(t_1 * Float32(pi))))
end
function tmp = code(x, tau)
	t_1 = tau * (single(pi) * x);
	tmp = (sin((single(pi) * x)) / x) * (sin(t_1) / (t_1 * single(pi)));
end
\begin{array}{l}
t_1 := tau \cdot \left(\pi \cdot x\right)\\
\frac{\sin \left(\pi \cdot x\right)}{x} \cdot \frac{\sin t\_1}{t\_1 \cdot \pi}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    3. lift-*.f32N/A

      \[\leadsto \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)}{\color{blue}{x \cdot \pi}} \]
    4. associate-/r*N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x}}{\pi}} \]
    5. associate-*r/N/A

      \[\leadsto \color{blue}{\frac{\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}}{\pi}} \]
    6. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x}} \]
    7. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    8. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    9. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x}} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(x \cdot \pi\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    11. *-commutativeN/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    12. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
  3. Applied rewrites97.4%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot x\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
  4. Add Preprocessing

Alternative 6: 97.3% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := \pi \cdot \left(x \cdot tau\right)\\ \frac{\sin t\_1 \cdot \sin \left(\pi \cdot x\right)}{\left(t\_1 \cdot \pi\right) \cdot x} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* PI (* x tau))))
   (/ (* (sin t_1) (sin (* PI x))) (* (* t_1 PI) x))))
float code(float x, float tau) {
	float t_1 = ((float) M_PI) * (x * tau);
	return (sinf(t_1) * sinf((((float) M_PI) * x))) / ((t_1 * ((float) M_PI)) * x);
}
function code(x, tau)
	t_1 = Float32(Float32(pi) * Float32(x * tau))
	return Float32(Float32(sin(t_1) * sin(Float32(Float32(pi) * x))) / Float32(Float32(t_1 * Float32(pi)) * x))
end
function tmp = code(x, tau)
	t_1 = single(pi) * (x * tau);
	tmp = (sin(t_1) * sin((single(pi) * x))) / ((t_1 * single(pi)) * x);
end
\begin{array}{l}
t_1 := \pi \cdot \left(x \cdot tau\right)\\
\frac{\sin t\_1 \cdot \sin \left(\pi \cdot x\right)}{\left(t\_1 \cdot \pi\right) \cdot x}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\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. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\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} \]
    3. associate-*l*N/A

      \[\leadsto \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} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(x \cdot \color{blue}{\left(tau \cdot \pi\right)}\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.3

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  3. Applied rewrites97.3%

    \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  4. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right)} \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{x \cdot \left(\pi \cdot tau\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{x \cdot \color{blue}{\left(tau \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.9

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  5. Applied rewrites97.9%

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  6. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    2. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    4. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    5. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    6. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    7. associate-*l*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(x \cdot \pi\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    8. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    9. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(\pi \cdot x\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    11. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(x \cdot \pi\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    12. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    13. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
  7. Applied rewrites97.3%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \sin \left(\pi \cdot x\right)}{\left(\left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \pi\right) \cdot x}} \]
  8. Add Preprocessing

Alternative 7: 97.3% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := tau \cdot \left(\pi \cdot x\right)\\ \frac{\sin t\_1}{\left(t\_1 \cdot x\right) \cdot \pi} \cdot \sin \left(\pi \cdot x\right) \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* tau (* PI x))))
   (* (/ (sin t_1) (* (* t_1 x) PI)) (sin (* PI x)))))
float code(float x, float tau) {
	float t_1 = tau * (((float) M_PI) * x);
	return (sinf(t_1) / ((t_1 * x) * ((float) M_PI))) * sinf((((float) M_PI) * x));
}
function code(x, tau)
	t_1 = Float32(tau * Float32(Float32(pi) * x))
	return Float32(Float32(sin(t_1) / Float32(Float32(t_1 * x) * Float32(pi))) * sin(Float32(Float32(pi) * x)))
end
function tmp = code(x, tau)
	t_1 = tau * (single(pi) * x);
	tmp = (sin(t_1) / ((t_1 * x) * single(pi))) * sin((single(pi) * x));
end
\begin{array}{l}
t_1 := tau \cdot \left(\pi \cdot x\right)\\
\frac{\sin t\_1}{\left(t\_1 \cdot x\right) \cdot \pi} \cdot \sin \left(\pi \cdot x\right)
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    3. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \]
    4. mult-flipN/A

      \[\leadsto \color{blue}{\left(\sin \left(x \cdot \pi\right) \cdot \frac{1}{x \cdot \pi}\right)} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \]
    5. associate-*l*N/A

      \[\leadsto \color{blue}{\sin \left(x \cdot \pi\right) \cdot \left(\frac{1}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}\right)} \]
    6. *-commutativeN/A

      \[\leadsto \color{blue}{\left(\frac{1}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}\right) \cdot \sin \left(x \cdot \pi\right)} \]
    7. lower-*.f32N/A

      \[\leadsto \color{blue}{\left(\frac{1}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}\right) \cdot \sin \left(x \cdot \pi\right)} \]
  3. Applied rewrites97.3%

    \[\leadsto \color{blue}{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot x\right) \cdot \pi} \cdot \sin \left(\pi \cdot x\right)} \]
  4. Add Preprocessing

Alternative 8: 97.3% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := \pi \cdot \left(x \cdot tau\right)\\ \sin t\_1 \cdot \frac{\sin \left(\pi \cdot x\right)}{\left(t\_1 \cdot \pi\right) \cdot x} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* PI (* x tau))))
   (* (sin t_1) (/ (sin (* PI x)) (* (* t_1 PI) x)))))
float code(float x, float tau) {
	float t_1 = ((float) M_PI) * (x * tau);
	return sinf(t_1) * (sinf((((float) M_PI) * x)) / ((t_1 * ((float) M_PI)) * x));
}
function code(x, tau)
	t_1 = Float32(Float32(pi) * Float32(x * tau))
	return Float32(sin(t_1) * Float32(sin(Float32(Float32(pi) * x)) / Float32(Float32(t_1 * Float32(pi)) * x)))
end
function tmp = code(x, tau)
	t_1 = single(pi) * (x * tau);
	tmp = sin(t_1) * (sin((single(pi) * x)) / ((t_1 * single(pi)) * x));
end
\begin{array}{l}
t_1 := \pi \cdot \left(x \cdot tau\right)\\
\sin t\_1 \cdot \frac{\sin \left(\pi \cdot x\right)}{\left(t\_1 \cdot \pi\right) \cdot x}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\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. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\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} \]
    3. associate-*l*N/A

      \[\leadsto \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} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(x \cdot \color{blue}{\left(tau \cdot \pi\right)}\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.3

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  3. Applied rewrites97.3%

    \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  4. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right)} \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{x \cdot \left(\pi \cdot tau\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{x \cdot \color{blue}{\left(tau \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.9

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  5. Applied rewrites97.9%

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  6. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    2. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    4. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    5. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    6. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    7. associate-*l*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(x \cdot \pi\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    8. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    9. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(\pi \cdot x\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    11. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(x \cdot \pi\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    12. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    13. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
  7. Applied rewrites97.3%

    \[\leadsto \color{blue}{\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\sin \left(\pi \cdot x\right)}{\left(\left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \pi\right) \cdot x}} \]
  8. Add Preprocessing

Alternative 9: 97.3% accurate, 1.0× speedup?

\[\begin{array}{l} t_1 := x \cdot \left(tau \cdot \pi\right)\\ \sin t\_1 \cdot \frac{\sin \left(x \cdot \pi\right)}{\left(t\_1 \cdot \pi\right) \cdot x} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* x (* tau PI))))
   (* (sin t_1) (/ (sin (* x PI)) (* (* t_1 PI) x)))))
float code(float x, float tau) {
	float t_1 = x * (tau * ((float) M_PI));
	return sinf(t_1) * (sinf((x * ((float) M_PI))) / ((t_1 * ((float) M_PI)) * x));
}
function code(x, tau)
	t_1 = Float32(x * Float32(tau * Float32(pi)))
	return Float32(sin(t_1) * Float32(sin(Float32(x * Float32(pi))) / Float32(Float32(t_1 * Float32(pi)) * x)))
end
function tmp = code(x, tau)
	t_1 = x * (tau * single(pi));
	tmp = sin(t_1) * (sin((x * single(pi))) / ((t_1 * single(pi)) * x));
end
\begin{array}{l}
t_1 := x \cdot \left(tau \cdot \pi\right)\\
\sin t\_1 \cdot \frac{\sin \left(x \cdot \pi\right)}{\left(t\_1 \cdot \pi\right) \cdot x}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\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. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\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} \]
    3. associate-*l*N/A

      \[\leadsto \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} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(x \cdot \color{blue}{\left(tau \cdot \pi\right)}\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.3

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  3. Applied rewrites97.3%

    \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  4. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right)} \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{x \cdot \left(\pi \cdot tau\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{x \cdot \color{blue}{\left(tau \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.9

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  5. Applied rewrites97.9%

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  6. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)}}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(x \cdot \pi\right)\right)}}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot \pi\right) \cdot x\right)}}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot \pi\right) \cdot x\right)}}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(\pi \cdot tau\right)} \cdot x\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.3

      \[\leadsto \frac{\sin \left(\color{blue}{\left(\pi \cdot tau\right)} \cdot x\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  7. Applied rewrites97.3%

    \[\leadsto \frac{\sin \color{blue}{\left(\left(\pi \cdot tau\right) \cdot x\right)}}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  8. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(\pi \cdot tau\right) \cdot x\right)}{\color{blue}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(\pi \cdot tau\right) \cdot x\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \left(\left(\pi \cdot tau\right) \cdot x\right)}{\color{blue}{tau \cdot \left(x \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(\pi \cdot tau\right) \cdot x\right)}{tau \cdot \color{blue}{\left(\pi \cdot x\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \left(\left(\pi \cdot tau\right) \cdot x\right)}{\color{blue}{\left(tau \cdot \pi\right) \cdot x}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(\pi \cdot tau\right) \cdot x\right)}{\color{blue}{\left(tau \cdot \pi\right) \cdot x}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(\pi \cdot tau\right) \cdot x\right)}{\color{blue}{\left(\pi \cdot tau\right)} \cdot x} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.9

      \[\leadsto \frac{\sin \left(\left(\pi \cdot tau\right) \cdot x\right)}{\color{blue}{\left(\pi \cdot tau\right)} \cdot x} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  9. Applied rewrites97.9%

    \[\leadsto \frac{\sin \left(\left(\pi \cdot tau\right) \cdot x\right)}{\color{blue}{\left(\pi \cdot tau\right) \cdot x}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  10. Applied rewrites97.3%

    \[\leadsto \color{blue}{\sin \left(x \cdot \left(tau \cdot \pi\right)\right) \cdot \frac{\sin \left(x \cdot \pi\right)}{\left(\left(x \cdot \left(tau \cdot \pi\right)\right) \cdot \pi\right) \cdot x}} \]
  11. Add Preprocessing

Alternative 10: 96.8% accurate, 1.0× speedup?

\[\frac{\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau} \cdot \left(\sin \left(x \cdot \pi\right) \cdot 0.1013211866232874\right)}{x \cdot x} \]
(FPCore (x tau)
 :precision binary32
 (/
  (* (/ (sin (* x (* tau PI))) tau) (* (sin (* x PI)) 0.1013211866232874))
  (* x x)))
float code(float x, float tau) {
	return ((sinf((x * (tau * ((float) M_PI)))) / tau) * (sinf((x * ((float) M_PI))) * 0.1013211866232874f)) / (x * x);
}
function code(x, tau)
	return Float32(Float32(Float32(sin(Float32(x * Float32(tau * Float32(pi)))) / tau) * Float32(sin(Float32(x * Float32(pi))) * Float32(0.1013211866232874))) / Float32(x * x))
end
function tmp = code(x, tau)
	tmp = ((sin((x * (tau * single(pi)))) / tau) * (sin((x * single(pi))) * single(0.1013211866232874))) / (x * x);
end
\frac{\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau} \cdot \left(\sin \left(x \cdot \pi\right) \cdot 0.1013211866232874\right)}{x \cdot x}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \color{blue}{\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} \]
    3. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{tau \cdot \left(x \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-/r*N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lift-/.f32N/A

      \[\leadsto \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    7. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    8. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
  3. Applied rewrites96.8%

    \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \left(\pi \cdot \pi\right)}} \]
  4. Evaluated real constant96.1%

    \[\leadsto \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \color{blue}{\frac{5174515}{524288}}} \]
  5. Step-by-step derivation
    1. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\color{blue}{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}} \]
    3. lift-*.f32N/A

      \[\leadsto \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\color{blue}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    4. times-fracN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}{x \cdot x} \cdot \frac{\sin \left(\pi \cdot x\right)}{\frac{5174515}{524288}}} \]
    5. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \frac{\sin \left(\pi \cdot x\right)}{\frac{5174515}{524288}}}{x \cdot x}} \]
    6. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \frac{\sin \left(\pi \cdot x\right)}{\frac{5174515}{524288}}}{x \cdot x}} \]
  6. Applied rewrites96.7%

    \[\leadsto \color{blue}{\frac{\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau} \cdot \left(\sin \left(x \cdot \pi\right) \cdot 0.1013211866232874\right)}{x \cdot x}} \]
  7. Add Preprocessing

Alternative 11: 96.7% accurate, 1.0× speedup?

\[\sin \left(x \cdot \pi\right) \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right) \cdot \frac{0.1013211866232874}{x \cdot x}}{tau} \]
(FPCore (x tau)
 :precision binary32
 (*
  (sin (* x PI))
  (/ (* (sin (* (* x PI) tau)) (/ 0.1013211866232874 (* x x))) tau)))
float code(float x, float tau) {
	return sinf((x * ((float) M_PI))) * ((sinf(((x * ((float) M_PI)) * tau)) * (0.1013211866232874f / (x * x))) / tau);
}
function code(x, tau)
	return Float32(sin(Float32(x * Float32(pi))) * Float32(Float32(sin(Float32(Float32(x * Float32(pi)) * tau)) * Float32(Float32(0.1013211866232874) / Float32(x * x))) / tau))
end
function tmp = code(x, tau)
	tmp = sin((x * single(pi))) * ((sin(((x * single(pi)) * tau)) * (single(0.1013211866232874) / (x * x))) / tau);
end
\sin \left(x \cdot \pi\right) \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right) \cdot \frac{0.1013211866232874}{x \cdot x}}{tau}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \color{blue}{\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} \]
    3. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{tau \cdot \left(x \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-/r*N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lift-/.f32N/A

      \[\leadsto \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    7. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    8. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
  3. Applied rewrites96.8%

    \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \left(\pi \cdot \pi\right)}} \]
  4. Evaluated real constant96.1%

    \[\leadsto \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \color{blue}{\frac{5174515}{524288}}} \]
  5. Step-by-step derivation
    1. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\color{blue}{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}} \]
    3. *-commutativeN/A

      \[\leadsto \frac{\color{blue}{\sin \left(\pi \cdot x\right) \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}} \]
    4. associate-/l*N/A

      \[\leadsto \color{blue}{\sin \left(\pi \cdot x\right) \cdot \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    5. lower-*.f32N/A

      \[\leadsto \color{blue}{\sin \left(\pi \cdot x\right) \cdot \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    6. lift-*.f32N/A

      \[\leadsto \sin \color{blue}{\left(\pi \cdot x\right)} \cdot \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}} \]
    7. *-commutativeN/A

      \[\leadsto \sin \color{blue}{\left(x \cdot \pi\right)} \cdot \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}} \]
    8. lift-*.f32N/A

      \[\leadsto \sin \color{blue}{\left(x \cdot \pi\right)} \cdot \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}} \]
    9. lower-/.f3296.2

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}{\left(x \cdot x\right) \cdot 9.869604110717773}} \]
  6. Applied rewrites96.3%

    \[\leadsto \color{blue}{\sin \left(x \cdot \pi\right) \cdot \frac{\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau}}{9.869604110717773 \cdot \left(x \cdot x\right)}} \]
  7. Step-by-step derivation
    1. lift-/.f32N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \color{blue}{\frac{\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau}}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}} \]
    2. mult-flipN/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \color{blue}{\left(\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau} \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}\right)} \]
    3. lift-/.f32N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \left(\color{blue}{\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau}} \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}\right) \]
    4. lift-*.f32N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \left(\frac{\sin \color{blue}{\left(x \cdot \left(tau \cdot \pi\right)\right)}}{tau} \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}\right) \]
    5. lift-*.f32N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \left(\frac{\sin \left(x \cdot \color{blue}{\left(tau \cdot \pi\right)}\right)}{tau} \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}\right) \]
    6. associate-*r*N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \left(\frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{tau} \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}\right) \]
    7. lift-*.f32N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \left(\frac{\sin \left(\color{blue}{\left(x \cdot tau\right)} \cdot \pi\right)}{tau} \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}\right) \]
    8. *-commutativeN/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \left(\frac{\sin \color{blue}{\left(\pi \cdot \left(x \cdot tau\right)\right)}}{tau} \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}\right) \]
    9. lift-*.f32N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \left(\frac{\sin \color{blue}{\left(\pi \cdot \left(x \cdot tau\right)\right)}}{tau} \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}\right) \]
    10. associate-*l/N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \color{blue}{\frac{\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}}{tau}} \]
    11. lower-/.f32N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \color{blue}{\frac{\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{1}{\frac{5174515}{524288} \cdot \left(x \cdot x\right)}}{tau}} \]
  8. Applied rewrites96.6%

    \[\leadsto \sin \left(x \cdot \pi\right) \cdot \color{blue}{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right) \cdot \frac{0.1013211866232874}{x \cdot x}}{tau}} \]
  9. Add Preprocessing

Alternative 12: 96.7% accurate, 1.0× speedup?

\[\sin \left(x \cdot \pi\right) \cdot \left(\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau} \cdot \frac{0.1013211866232874}{x \cdot x}\right) \]
(FPCore (x tau)
 :precision binary32
 (*
  (sin (* x PI))
  (* (/ (sin (* x (* tau PI))) tau) (/ 0.1013211866232874 (* x x)))))
float code(float x, float tau) {
	return sinf((x * ((float) M_PI))) * ((sinf((x * (tau * ((float) M_PI)))) / tau) * (0.1013211866232874f / (x * x)));
}
function code(x, tau)
	return Float32(sin(Float32(x * Float32(pi))) * Float32(Float32(sin(Float32(x * Float32(tau * Float32(pi)))) / tau) * Float32(Float32(0.1013211866232874) / Float32(x * x))))
end
function tmp = code(x, tau)
	tmp = sin((x * single(pi))) * ((sin((x * (tau * single(pi)))) / tau) * (single(0.1013211866232874) / (x * x)));
end
\sin \left(x \cdot \pi\right) \cdot \left(\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau} \cdot \frac{0.1013211866232874}{x \cdot x}\right)
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \color{blue}{\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} \]
    3. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{tau \cdot \left(x \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-/r*N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lift-/.f32N/A

      \[\leadsto \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    7. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    8. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
  3. Applied rewrites96.8%

    \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \left(\pi \cdot \pi\right)}} \]
  4. Evaluated real constant96.1%

    \[\leadsto \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \color{blue}{\frac{5174515}{524288}}} \]
  5. Step-by-step derivation
    1. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    2. mult-flipN/A

      \[\leadsto \color{blue}{\left(\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)\right) \cdot \frac{1}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    3. lift-*.f32N/A

      \[\leadsto \color{blue}{\left(\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)\right)} \cdot \frac{1}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}} \]
    4. *-commutativeN/A

      \[\leadsto \color{blue}{\left(\sin \left(\pi \cdot x\right) \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}\right)} \cdot \frac{1}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}} \]
    5. associate-*l*N/A

      \[\leadsto \color{blue}{\sin \left(\pi \cdot x\right) \cdot \left(\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \frac{1}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}\right)} \]
    6. lower-*.f32N/A

      \[\leadsto \color{blue}{\sin \left(\pi \cdot x\right) \cdot \left(\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \frac{1}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}\right)} \]
    7. lift-*.f32N/A

      \[\leadsto \sin \color{blue}{\left(\pi \cdot x\right)} \cdot \left(\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \frac{1}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}\right) \]
    8. *-commutativeN/A

      \[\leadsto \sin \color{blue}{\left(x \cdot \pi\right)} \cdot \left(\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \frac{1}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}\right) \]
    9. lift-*.f32N/A

      \[\leadsto \sin \color{blue}{\left(x \cdot \pi\right)} \cdot \left(\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \frac{1}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}\right) \]
    10. lower-*.f32N/A

      \[\leadsto \sin \left(x \cdot \pi\right) \cdot \color{blue}{\left(\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \frac{1}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}\right)} \]
  6. Applied rewrites96.8%

    \[\leadsto \color{blue}{\sin \left(x \cdot \pi\right) \cdot \left(\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau} \cdot \frac{0.1013211866232874}{x \cdot x}\right)} \]
  7. Add Preprocessing

Alternative 13: 96.6% accurate, 1.0× speedup?

\[\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau \cdot \left(x \cdot x\right)} \cdot \left(\sin \left(x \cdot \pi\right) \cdot 0.1013211866232874\right) \]
(FPCore (x tau)
 :precision binary32
 (*
  (/ (sin (* x (* tau PI))) (* tau (* x x)))
  (* (sin (* x PI)) 0.1013211866232874)))
float code(float x, float tau) {
	return (sinf((x * (tau * ((float) M_PI)))) / (tau * (x * x))) * (sinf((x * ((float) M_PI))) * 0.1013211866232874f);
}
function code(x, tau)
	return Float32(Float32(sin(Float32(x * Float32(tau * Float32(pi)))) / Float32(tau * Float32(x * x))) * Float32(sin(Float32(x * Float32(pi))) * Float32(0.1013211866232874)))
end
function tmp = code(x, tau)
	tmp = (sin((x * (tau * single(pi)))) / (tau * (x * x))) * (sin((x * single(pi))) * single(0.1013211866232874));
end
\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau \cdot \left(x \cdot x\right)} \cdot \left(\sin \left(x \cdot \pi\right) \cdot 0.1013211866232874\right)
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \color{blue}{\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} \]
    3. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{tau \cdot \left(x \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-/r*N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lift-/.f32N/A

      \[\leadsto \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    7. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    8. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
  3. Applied rewrites96.8%

    \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \left(\pi \cdot \pi\right)}} \]
  4. Evaluated real constant96.1%

    \[\leadsto \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \color{blue}{\frac{5174515}{524288}}} \]
  5. Step-by-step derivation
    1. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\color{blue}{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}} \]
    3. lift-*.f32N/A

      \[\leadsto \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\color{blue}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    4. times-fracN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}{x \cdot x} \cdot \frac{\sin \left(\pi \cdot x\right)}{\frac{5174515}{524288}}} \]
    5. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}}{x \cdot x} \cdot \frac{\sin \left(\pi \cdot x\right)}{\frac{5174515}{524288}}} \]
  6. Applied rewrites96.7%

    \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau \cdot \left(x \cdot x\right)} \cdot \left(\sin \left(x \cdot \pi\right) \cdot 0.1013211866232874\right)} \]
  7. Add Preprocessing

Alternative 14: 96.6% accurate, 1.0× speedup?

\[\left(\sin \left(x \cdot \pi\right) \cdot \frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau \cdot \left(x \cdot x\right)}\right) \cdot 0.1013211866232874 \]
(FPCore (x tau)
 :precision binary32
 (*
  (* (sin (* x PI)) (/ (sin (* x (* tau PI))) (* tau (* x x))))
  0.1013211866232874))
float code(float x, float tau) {
	return (sinf((x * ((float) M_PI))) * (sinf((x * (tau * ((float) M_PI)))) / (tau * (x * x)))) * 0.1013211866232874f;
}
function code(x, tau)
	return Float32(Float32(sin(Float32(x * Float32(pi))) * Float32(sin(Float32(x * Float32(tau * Float32(pi)))) / Float32(tau * Float32(x * x)))) * Float32(0.1013211866232874))
end
function tmp = code(x, tau)
	tmp = (sin((x * single(pi))) * (sin((x * (tau * single(pi)))) / (tau * (x * x)))) * single(0.1013211866232874);
end
\left(\sin \left(x \cdot \pi\right) \cdot \frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau \cdot \left(x \cdot x\right)}\right) \cdot 0.1013211866232874
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \color{blue}{\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} \]
    3. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{tau \cdot \left(x \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-/r*N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lift-/.f32N/A

      \[\leadsto \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}}{x \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    7. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    8. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau} \cdot \sin \left(x \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
  3. Applied rewrites96.8%

    \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \left(\pi \cdot \pi\right)}} \]
  4. Evaluated real constant96.1%

    \[\leadsto \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \color{blue}{\frac{5174515}{524288}}} \]
  5. Step-by-step derivation
    1. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{\color{blue}{\left(x \cdot x\right) \cdot \frac{5174515}{524288}}} \]
    3. associate-/r*N/A

      \[\leadsto \color{blue}{\frac{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{x \cdot x}}{\frac{5174515}{524288}}} \]
    4. mult-flipN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{x \cdot x} \cdot \frac{1}{\frac{5174515}{524288}}} \]
    5. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \cdot \sin \left(\pi \cdot x\right)}{x \cdot x} \cdot \frac{1}{\frac{5174515}{524288}}} \]
  6. Applied rewrites96.6%

    \[\leadsto \color{blue}{\left(\sin \left(x \cdot \pi\right) \cdot \frac{\sin \left(x \cdot \left(tau \cdot \pi\right)\right)}{tau \cdot \left(x \cdot x\right)}\right) \cdot 0.1013211866232874} \]
  7. Add Preprocessing

Alternative 15: 84.3% accurate, 1.2× speedup?

\[\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(-0.16666666666666666, \frac{{x}^{2} \cdot \pi}{tau}, \frac{1}{tau \cdot \pi}\right)}{x} \]
(FPCore (x tau)
 :precision binary32
 (*
  (sin (* PI (* x tau)))
  (/
   (fma -0.16666666666666666 (/ (* (pow x 2.0) PI) tau) (/ 1.0 (* tau PI)))
   x)))
float code(float x, float tau) {
	return sinf((((float) M_PI) * (x * tau))) * (fmaf(-0.16666666666666666f, ((powf(x, 2.0f) * ((float) M_PI)) / tau), (1.0f / (tau * ((float) M_PI)))) / x);
}
function code(x, tau)
	return Float32(sin(Float32(Float32(pi) * Float32(x * tau))) * Float32(fma(Float32(-0.16666666666666666), Float32(Float32((x ^ Float32(2.0)) * Float32(pi)) / tau), Float32(Float32(1.0) / Float32(tau * Float32(pi)))) / x))
end
\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(-0.16666666666666666, \frac{{x}^{2} \cdot \pi}{tau}, \frac{1}{tau \cdot \pi}\right)}{x}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\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. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\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} \]
    3. associate-*l*N/A

      \[\leadsto \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} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(x \cdot \color{blue}{\left(tau \cdot \pi\right)}\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.3

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  3. Applied rewrites97.3%

    \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  4. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right)} \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{x \cdot \left(\pi \cdot tau\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{x \cdot \color{blue}{\left(tau \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.9

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  5. Applied rewrites97.9%

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  6. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    2. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    4. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    5. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    6. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    7. associate-*l*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(x \cdot \pi\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    8. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    9. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(\pi \cdot x\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    11. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(x \cdot \pi\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    12. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    13. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
  7. Applied rewrites97.3%

    \[\leadsto \color{blue}{\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\sin \left(\pi \cdot x\right)}{\left(\left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \pi\right) \cdot x}} \]
  8. Taylor expanded in x around 0

    \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \color{blue}{\frac{\frac{-1}{6} \cdot \frac{{x}^{2} \cdot \mathsf{PI}\left(\right)}{tau} + \frac{1}{tau \cdot \mathsf{PI}\left(\right)}}{x}} \]
  9. Step-by-step derivation
    1. lower-/.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\frac{-1}{6} \cdot \frac{{x}^{2} \cdot \mathsf{PI}\left(\right)}{tau} + \frac{1}{tau \cdot \mathsf{PI}\left(\right)}}{\color{blue}{x}} \]
    2. lower-fma.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(\frac{-1}{6}, \frac{{x}^{2} \cdot \mathsf{PI}\left(\right)}{tau}, \frac{1}{tau \cdot \mathsf{PI}\left(\right)}\right)}{x} \]
    3. lower-/.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(\frac{-1}{6}, \frac{{x}^{2} \cdot \mathsf{PI}\left(\right)}{tau}, \frac{1}{tau \cdot \mathsf{PI}\left(\right)}\right)}{x} \]
    4. lower-*.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(\frac{-1}{6}, \frac{{x}^{2} \cdot \mathsf{PI}\left(\right)}{tau}, \frac{1}{tau \cdot \mathsf{PI}\left(\right)}\right)}{x} \]
    5. lower-pow.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(\frac{-1}{6}, \frac{{x}^{2} \cdot \mathsf{PI}\left(\right)}{tau}, \frac{1}{tau \cdot \mathsf{PI}\left(\right)}\right)}{x} \]
    6. lower-PI.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(\frac{-1}{6}, \frac{{x}^{2} \cdot \pi}{tau}, \frac{1}{tau \cdot \mathsf{PI}\left(\right)}\right)}{x} \]
    7. lower-/.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(\frac{-1}{6}, \frac{{x}^{2} \cdot \pi}{tau}, \frac{1}{tau \cdot \mathsf{PI}\left(\right)}\right)}{x} \]
    8. lower-*.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(\frac{-1}{6}, \frac{{x}^{2} \cdot \pi}{tau}, \frac{1}{tau \cdot \mathsf{PI}\left(\right)}\right)}{x} \]
    9. lower-PI.f3284.2

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\mathsf{fma}\left(-0.16666666666666666, \frac{{x}^{2} \cdot \pi}{tau}, \frac{1}{tau \cdot \pi}\right)}{x} \]
  10. Applied rewrites84.2%

    \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \color{blue}{\frac{\mathsf{fma}\left(-0.16666666666666666, \frac{{x}^{2} \cdot \pi}{tau}, \frac{1}{tau \cdot \pi}\right)}{x}} \]
  11. Add Preprocessing

Alternative 16: 84.2% accurate, 1.2× speedup?

\[\frac{\mathsf{fma}\left(-0.16666666666666666, {x}^{2} \cdot \pi, \frac{1}{\pi}\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
(FPCore (x tau)
 :precision binary32
 (*
  (/ (fma -0.16666666666666666 (* (pow x 2.0) PI) (/ 1.0 PI)) x)
  (/ (sin (* tau (* PI x))) tau)))
float code(float x, float tau) {
	return (fmaf(-0.16666666666666666f, (powf(x, 2.0f) * ((float) M_PI)), (1.0f / ((float) M_PI))) / x) * (sinf((tau * (((float) M_PI) * x))) / tau);
}
function code(x, tau)
	return Float32(Float32(fma(Float32(-0.16666666666666666), Float32((x ^ Float32(2.0)) * Float32(pi)), Float32(Float32(1.0) / Float32(pi))) / x) * Float32(sin(Float32(tau * Float32(Float32(pi) * x))) / tau))
end
\frac{\mathsf{fma}\left(-0.16666666666666666, {x}^{2} \cdot \pi, \frac{1}{\pi}\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    3. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \color{blue}{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    4. associate-*r/N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    5. lift-*.f32N/A

      \[\leadsto \frac{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \]
    6. times-fracN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}} \]
    7. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}} \]
  3. Applied rewrites96.8%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \left(\pi \cdot \pi\right)} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}} \]
  4. Taylor expanded in x around 0

    \[\leadsto \color{blue}{\frac{\frac{-1}{6} \cdot \left({x}^{2} \cdot \mathsf{PI}\left(\right)\right) + \frac{1}{\mathsf{PI}\left(\right)}}{x}} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
  5. Step-by-step derivation
    1. lower-/.f32N/A

      \[\leadsto \frac{\frac{-1}{6} \cdot \left({x}^{2} \cdot \mathsf{PI}\left(\right)\right) + \frac{1}{\mathsf{PI}\left(\right)}}{\color{blue}{x}} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
    2. lower-fma.f32N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{-1}{6}, {x}^{2} \cdot \mathsf{PI}\left(\right), \frac{1}{\mathsf{PI}\left(\right)}\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
    3. lower-*.f32N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{-1}{6}, {x}^{2} \cdot \mathsf{PI}\left(\right), \frac{1}{\mathsf{PI}\left(\right)}\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
    4. lower-pow.f32N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{-1}{6}, {x}^{2} \cdot \mathsf{PI}\left(\right), \frac{1}{\mathsf{PI}\left(\right)}\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
    5. lower-PI.f32N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{-1}{6}, {x}^{2} \cdot \pi, \frac{1}{\mathsf{PI}\left(\right)}\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
    6. lower-/.f32N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{-1}{6}, {x}^{2} \cdot \pi, \frac{1}{\mathsf{PI}\left(\right)}\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
    7. lower-PI.f3284.3

      \[\leadsto \frac{\mathsf{fma}\left(-0.16666666666666666, {x}^{2} \cdot \pi, \frac{1}{\pi}\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
  6. Applied rewrites84.3%

    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(-0.16666666666666666, {x}^{2} \cdot \pi, \frac{1}{\pi}\right)}{x}} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
  7. Add Preprocessing

Alternative 17: 71.2% accurate, 1.5× speedup?

\[\begin{array}{l} t_1 := \left(tau \cdot x\right) \cdot \pi\\ \frac{\sin t\_1}{t\_1} \cdot \frac{x \cdot \pi}{x \cdot \pi} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* (* tau x) PI))) (* (/ (sin t_1) t_1) (/ (* x PI) (* x PI)))))
float code(float x, float tau) {
	float t_1 = (tau * x) * ((float) M_PI);
	return (sinf(t_1) / t_1) * ((x * ((float) M_PI)) / (x * ((float) M_PI)));
}
function code(x, tau)
	t_1 = Float32(Float32(tau * x) * Float32(pi))
	return Float32(Float32(sin(t_1) / t_1) * Float32(Float32(x * Float32(pi)) / Float32(x * Float32(pi))))
end
function tmp = code(x, tau)
	t_1 = (tau * x) * single(pi);
	tmp = (sin(t_1) / t_1) * ((x * single(pi)) / (x * single(pi)));
end
\begin{array}{l}
t_1 := \left(tau \cdot x\right) \cdot \pi\\
\frac{\sin t\_1}{t\_1} \cdot \frac{x \cdot \pi}{x \cdot \pi}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\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. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\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} \]
    3. associate-*l*N/A

      \[\leadsto \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} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(x \cdot \color{blue}{\left(tau \cdot \pi\right)}\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.3

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  3. Applied rewrites97.3%

    \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  4. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right)} \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{x \cdot \left(\pi \cdot tau\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{x \cdot \color{blue}{\left(tau \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.9

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  5. Applied rewrites97.9%

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  6. Taylor expanded in x around 0

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\color{blue}{x \cdot \mathsf{PI}\left(\right)}}{x \cdot \pi} \]
  7. Step-by-step derivation
    1. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{x \cdot \color{blue}{\mathsf{PI}\left(\right)}}{x \cdot \pi} \]
    2. lower-PI.f3271.2

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{x \cdot \pi}{x \cdot \pi} \]
  8. Applied rewrites71.2%

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\color{blue}{x \cdot \pi}}{x \cdot \pi} \]
  9. Add Preprocessing

Alternative 18: 71.2% accurate, 1.6× speedup?

\[\begin{array}{l} t_1 := \left(x \cdot \pi\right) \cdot tau\\ \frac{1}{\frac{t\_1 \cdot \pi}{\pi \cdot \sin t\_1}} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* (* x PI) tau))) (/ 1.0 (/ (* t_1 PI) (* PI (sin t_1))))))
float code(float x, float tau) {
	float t_1 = (x * ((float) M_PI)) * tau;
	return 1.0f / ((t_1 * ((float) M_PI)) / (((float) M_PI) * sinf(t_1)));
}
function code(x, tau)
	t_1 = Float32(Float32(x * Float32(pi)) * tau)
	return Float32(Float32(1.0) / Float32(Float32(t_1 * Float32(pi)) / Float32(Float32(pi) * sin(t_1))))
end
function tmp = code(x, tau)
	t_1 = (x * single(pi)) * tau;
	tmp = single(1.0) / ((t_1 * single(pi)) / (single(pi) * sin(t_1)));
end
\begin{array}{l}
t_1 := \left(x \cdot \pi\right) \cdot tau\\
\frac{1}{\frac{t\_1 \cdot \pi}{\pi \cdot \sin t\_1}}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    3. lift-*.f32N/A

      \[\leadsto \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)}{\color{blue}{x \cdot \pi}} \]
    4. associate-/r*N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x}}{\pi}} \]
    5. associate-*r/N/A

      \[\leadsto \color{blue}{\frac{\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}}{\pi}} \]
    6. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x}} \]
    7. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    8. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    9. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x}} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(x \cdot \pi\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    11. *-commutativeN/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    12. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
  3. Applied rewrites97.4%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot x\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
  4. Taylor expanded in x around 0

    \[\leadsto \color{blue}{\mathsf{PI}\left(\right)} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi} \]
  5. Step-by-step derivation
    1. lower-PI.f3271.2

      \[\leadsto \pi \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi} \]
  6. Applied rewrites71.2%

    \[\leadsto \color{blue}{\pi} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi} \]
  7. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\pi \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
    2. lift-/.f32N/A

      \[\leadsto \pi \cdot \color{blue}{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
    3. associate-*r/N/A

      \[\leadsto \color{blue}{\frac{\pi \cdot \sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
    4. div-flipN/A

      \[\leadsto \color{blue}{\frac{1}{\frac{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}{\pi \cdot \sin \left(tau \cdot \left(\pi \cdot x\right)\right)}}} \]
    5. lower-unsound-/.f32N/A

      \[\leadsto \color{blue}{\frac{1}{\frac{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}{\pi \cdot \sin \left(tau \cdot \left(\pi \cdot x\right)\right)}}} \]
    6. lower-unsound-/.f32N/A

      \[\leadsto \frac{1}{\color{blue}{\frac{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}{\pi \cdot \sin \left(tau \cdot \left(\pi \cdot x\right)\right)}}} \]
  8. Applied rewrites71.2%

    \[\leadsto \color{blue}{\frac{1}{\frac{\left(\left(x \cdot \pi\right) \cdot tau\right) \cdot \pi}{\pi \cdot \sin \left(\left(x \cdot \pi\right) \cdot tau\right)}}} \]
  9. Add Preprocessing

Alternative 19: 71.2% accurate, 1.7× speedup?

\[\begin{array}{l} t_1 := \left(x \cdot \pi\right) \cdot tau\\ \pi \cdot \frac{\frac{\sin t\_1}{t\_1}}{\pi} \end{array} \]
(FPCore (x tau)
 :precision binary32
 (let* ((t_1 (* (* x PI) tau))) (* PI (/ (/ (sin t_1) t_1) PI))))
float code(float x, float tau) {
	float t_1 = (x * ((float) M_PI)) * tau;
	return ((float) M_PI) * ((sinf(t_1) / t_1) / ((float) M_PI));
}
function code(x, tau)
	t_1 = Float32(Float32(x * Float32(pi)) * tau)
	return Float32(Float32(pi) * Float32(Float32(sin(t_1) / t_1) / Float32(pi)))
end
function tmp = code(x, tau)
	t_1 = (x * single(pi)) * tau;
	tmp = single(pi) * ((sin(t_1) / t_1) / single(pi));
end
\begin{array}{l}
t_1 := \left(x \cdot \pi\right) \cdot tau\\
\pi \cdot \frac{\frac{\sin t\_1}{t\_1}}{\pi}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    3. lift-*.f32N/A

      \[\leadsto \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)}{\color{blue}{x \cdot \pi}} \]
    4. associate-/r*N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x}}{\pi}} \]
    5. associate-*r/N/A

      \[\leadsto \color{blue}{\frac{\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}}{\pi}} \]
    6. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x}} \]
    7. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    8. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    9. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x}} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(x \cdot \pi\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    11. *-commutativeN/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    12. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
  3. Applied rewrites97.4%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot x\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
  4. Taylor expanded in x around 0

    \[\leadsto \color{blue}{\mathsf{PI}\left(\right)} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi} \]
  5. Step-by-step derivation
    1. lower-PI.f3271.2

      \[\leadsto \pi \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi} \]
  6. Applied rewrites71.2%

    \[\leadsto \color{blue}{\pi} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi} \]
  7. Step-by-step derivation
    1. lift-/.f32N/A

      \[\leadsto \pi \cdot \color{blue}{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
    2. lift-*.f32N/A

      \[\leadsto \pi \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\color{blue}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
    3. associate-/r*N/A

      \[\leadsto \pi \cdot \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau \cdot \left(\pi \cdot x\right)}}{\pi}} \]
    4. lower-/.f32N/A

      \[\leadsto \pi \cdot \color{blue}{\frac{\frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau \cdot \left(\pi \cdot x\right)}}{\pi}} \]
  8. Applied rewrites71.2%

    \[\leadsto \pi \cdot \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
  9. Add Preprocessing

Alternative 20: 71.1% accurate, 1.8× speedup?

\[\frac{1}{x \cdot \pi} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
(FPCore (x tau)
 :precision binary32
 (* (/ 1.0 (* x PI)) (/ (sin (* tau (* PI x))) tau)))
float code(float x, float tau) {
	return (1.0f / (x * ((float) M_PI))) * (sinf((tau * (((float) M_PI) * x))) / tau);
}
function code(x, tau)
	return Float32(Float32(Float32(1.0) / Float32(x * Float32(pi))) * Float32(sin(Float32(tau * Float32(Float32(pi) * x))) / tau))
end
function tmp = code(x, tau)
	tmp = (single(1.0) / (x * single(pi))) * (sin((tau * (single(pi) * x))) / tau);
end
\frac{1}{x \cdot \pi} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    3. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \color{blue}{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    4. associate-*r/N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}} \]
    5. lift-*.f32N/A

      \[\leadsto \frac{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \cdot \sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \]
    6. times-fracN/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}} \]
    7. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}}{x \cdot \pi} \cdot \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{tau}} \]
  3. Applied rewrites96.8%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot x\right)}{\left(x \cdot x\right) \cdot \left(\pi \cdot \pi\right)} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau}} \]
  4. Taylor expanded in x around 0

    \[\leadsto \color{blue}{\frac{1}{x \cdot \mathsf{PI}\left(\right)}} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
  5. Step-by-step derivation
    1. lower-/.f32N/A

      \[\leadsto \frac{1}{\color{blue}{x \cdot \mathsf{PI}\left(\right)}} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
    2. lower-*.f32N/A

      \[\leadsto \frac{1}{x \cdot \color{blue}{\mathsf{PI}\left(\right)}} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
    3. lower-PI.f3271.1

      \[\leadsto \frac{1}{x \cdot \pi} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
  6. Applied rewrites71.1%

    \[\leadsto \color{blue}{\frac{1}{x \cdot \pi}} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{tau} \]
  7. Add Preprocessing

Alternative 21: 71.0% accurate, 1.8× speedup?

\[\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{1}{tau \cdot \left(x \cdot \pi\right)} \]
(FPCore (x tau)
 :precision binary32
 (* (sin (* PI (* x tau))) (/ 1.0 (* tau (* x PI)))))
float code(float x, float tau) {
	return sinf((((float) M_PI) * (x * tau))) * (1.0f / (tau * (x * ((float) M_PI))));
}
function code(x, tau)
	return Float32(sin(Float32(Float32(pi) * Float32(x * tau))) * Float32(Float32(1.0) / Float32(tau * Float32(x * Float32(pi)))))
end
function tmp = code(x, tau)
	tmp = sin((single(pi) * (x * tau))) * (single(1.0) / (tau * (x * single(pi))));
end
\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{1}{tau \cdot \left(x \cdot \pi\right)}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\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. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\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} \]
    3. associate-*l*N/A

      \[\leadsto \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} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(x \cdot \color{blue}{\left(tau \cdot \pi\right)}\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.3

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  3. Applied rewrites97.3%

    \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  4. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right)} \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{x \cdot \left(\pi \cdot tau\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{x \cdot \color{blue}{\left(tau \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.9

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  5. Applied rewrites97.9%

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  6. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    2. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    4. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    5. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    6. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    7. associate-*l*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(x \cdot \pi\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    8. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    9. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(\pi \cdot x\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    11. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(x \cdot \pi\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    12. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    13. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
  7. Applied rewrites97.3%

    \[\leadsto \color{blue}{\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\sin \left(\pi \cdot x\right)}{\left(\left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \pi\right) \cdot x}} \]
  8. Taylor expanded in x around 0

    \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \color{blue}{\frac{1}{tau \cdot \left(x \cdot \mathsf{PI}\left(\right)\right)}} \]
  9. Step-by-step derivation
    1. lower-/.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{1}{\color{blue}{tau \cdot \left(x \cdot \mathsf{PI}\left(\right)\right)}} \]
    2. lower-*.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{1}{tau \cdot \color{blue}{\left(x \cdot \mathsf{PI}\left(\right)\right)}} \]
    3. lower-*.f32N/A

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{1}{tau \cdot \left(x \cdot \color{blue}{\mathsf{PI}\left(\right)}\right)} \]
    4. lower-PI.f3271.0

      \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{1}{tau \cdot \left(x \cdot \pi\right)} \]
  10. Applied rewrites71.0%

    \[\leadsto \sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \color{blue}{\frac{1}{tau \cdot \left(x \cdot \pi\right)}} \]
  11. Add Preprocessing

Alternative 22: 69.8% accurate, 1.8× speedup?

\[\pi \cdot \mathsf{fma}\left(-0.16666666666666666, {tau}^{2} \cdot \left({x}^{2} \cdot \pi\right), \frac{1}{\pi}\right) \]
(FPCore (x tau)
 :precision binary32
 (*
  PI
  (fma -0.16666666666666666 (* (pow tau 2.0) (* (pow x 2.0) PI)) (/ 1.0 PI))))
float code(float x, float tau) {
	return ((float) M_PI) * fmaf(-0.16666666666666666f, (powf(tau, 2.0f) * (powf(x, 2.0f) * ((float) M_PI))), (1.0f / ((float) M_PI)));
}
function code(x, tau)
	return Float32(Float32(pi) * fma(Float32(-0.16666666666666666), Float32((tau ^ Float32(2.0)) * Float32((x ^ Float32(2.0)) * Float32(pi))), Float32(Float32(1.0) / Float32(pi))))
end
\pi \cdot \mathsf{fma}\left(-0.16666666666666666, {tau}^{2} \cdot \left({x}^{2} \cdot \pi\right), \frac{1}{\pi}\right)
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    3. lift-*.f32N/A

      \[\leadsto \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)}{\color{blue}{x \cdot \pi}} \]
    4. associate-/r*N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x}}{\pi}} \]
    5. associate-*r/N/A

      \[\leadsto \color{blue}{\frac{\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}}{\pi}} \]
    6. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x}} \]
    7. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    8. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    9. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x}} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(x \cdot \pi\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    11. *-commutativeN/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    12. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
  3. Applied rewrites97.4%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot x\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
  4. Taylor expanded in x around 0

    \[\leadsto \color{blue}{\mathsf{PI}\left(\right)} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi} \]
  5. Step-by-step derivation
    1. lower-PI.f3271.2

      \[\leadsto \pi \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi} \]
  6. Applied rewrites71.2%

    \[\leadsto \color{blue}{\pi} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi} \]
  7. Taylor expanded in x around 0

    \[\leadsto \pi \cdot \color{blue}{\left(\frac{-1}{6} \cdot \left({tau}^{2} \cdot \left({x}^{2} \cdot \mathsf{PI}\left(\right)\right)\right) + \frac{1}{\mathsf{PI}\left(\right)}\right)} \]
  8. Step-by-step derivation
    1. lower-fma.f32N/A

      \[\leadsto \pi \cdot \mathsf{fma}\left(\frac{-1}{6}, \color{blue}{{tau}^{2} \cdot \left({x}^{2} \cdot \mathsf{PI}\left(\right)\right)}, \frac{1}{\mathsf{PI}\left(\right)}\right) \]
    2. lower-*.f32N/A

      \[\leadsto \pi \cdot \mathsf{fma}\left(\frac{-1}{6}, {tau}^{2} \cdot \color{blue}{\left({x}^{2} \cdot \mathsf{PI}\left(\right)\right)}, \frac{1}{\mathsf{PI}\left(\right)}\right) \]
    3. lower-pow.f32N/A

      \[\leadsto \pi \cdot \mathsf{fma}\left(\frac{-1}{6}, {tau}^{2} \cdot \left(\color{blue}{{x}^{2}} \cdot \mathsf{PI}\left(\right)\right), \frac{1}{\mathsf{PI}\left(\right)}\right) \]
    4. lower-*.f32N/A

      \[\leadsto \pi \cdot \mathsf{fma}\left(\frac{-1}{6}, {tau}^{2} \cdot \left({x}^{2} \cdot \color{blue}{\mathsf{PI}\left(\right)}\right), \frac{1}{\mathsf{PI}\left(\right)}\right) \]
    5. lower-pow.f32N/A

      \[\leadsto \pi \cdot \mathsf{fma}\left(\frac{-1}{6}, {tau}^{2} \cdot \left({x}^{2} \cdot \mathsf{PI}\left(\right)\right), \frac{1}{\mathsf{PI}\left(\right)}\right) \]
    6. lower-PI.f32N/A

      \[\leadsto \pi \cdot \mathsf{fma}\left(\frac{-1}{6}, {tau}^{2} \cdot \left({x}^{2} \cdot \pi\right), \frac{1}{\mathsf{PI}\left(\right)}\right) \]
    7. lower-/.f32N/A

      \[\leadsto \pi \cdot \mathsf{fma}\left(\frac{-1}{6}, {tau}^{2} \cdot \left({x}^{2} \cdot \pi\right), \frac{1}{\mathsf{PI}\left(\right)}\right) \]
    8. lower-PI.f3269.8

      \[\leadsto \pi \cdot \mathsf{fma}\left(-0.16666666666666666, {tau}^{2} \cdot \left({x}^{2} \cdot \pi\right), \frac{1}{\pi}\right) \]
  9. Applied rewrites69.8%

    \[\leadsto \pi \cdot \color{blue}{\mathsf{fma}\left(-0.16666666666666666, {tau}^{2} \cdot \left({x}^{2} \cdot \pi\right), \frac{1}{\pi}\right)} \]
  10. Add Preprocessing

Alternative 23: 64.9% accurate, 1.9× speedup?

\[\left(\pi + -0.16666666666666666 \cdot \left({x}^{2} \cdot {\pi}^{3}\right)\right) \cdot \frac{1}{\pi} \]
(FPCore (x tau)
 :precision binary32
 (* (+ PI (* -0.16666666666666666 (* (pow x 2.0) (pow PI 3.0)))) (/ 1.0 PI)))
float code(float x, float tau) {
	return (((float) M_PI) + (-0.16666666666666666f * (powf(x, 2.0f) * powf(((float) M_PI), 3.0f)))) * (1.0f / ((float) M_PI));
}
function code(x, tau)
	return Float32(Float32(Float32(pi) + Float32(Float32(-0.16666666666666666) * Float32((x ^ Float32(2.0)) * (Float32(pi) ^ Float32(3.0))))) * Float32(Float32(1.0) / Float32(pi)))
end
function tmp = code(x, tau)
	tmp = (single(pi) + (single(-0.16666666666666666) * ((x ^ single(2.0)) * (single(pi) ^ single(3.0))))) * (single(1.0) / single(pi));
end
\left(\pi + -0.16666666666666666 \cdot \left({x}^{2} \cdot {\pi}^{3}\right)\right) \cdot \frac{1}{\pi}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\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. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    3. lift-*.f32N/A

      \[\leadsto \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)}{\color{blue}{x \cdot \pi}} \]
    4. associate-/r*N/A

      \[\leadsto \frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \color{blue}{\frac{\frac{\sin \left(x \cdot \pi\right)}{x}}{\pi}} \]
    5. associate-*r/N/A

      \[\leadsto \color{blue}{\frac{\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}}{\pi}} \]
    6. associate-*l/N/A

      \[\leadsto \color{blue}{\frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x}} \]
    7. *-commutativeN/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    8. lower-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi}} \]
    9. lower-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x}} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(x \cdot \pi\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    11. *-commutativeN/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
    12. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\pi \cdot x\right)}}{x} \cdot \frac{\frac{\sin \left(\left(x \cdot \pi\right) \cdot tau\right)}{\left(x \cdot \pi\right) \cdot tau}}{\pi} \]
  3. Applied rewrites97.4%

    \[\leadsto \color{blue}{\frac{\sin \left(\pi \cdot x\right)}{x} \cdot \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right)}{\left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \pi}} \]
  4. Taylor expanded in x around 0

    \[\leadsto \frac{\sin \left(\pi \cdot x\right)}{x} \cdot \color{blue}{\frac{1}{\mathsf{PI}\left(\right)}} \]
  5. Step-by-step derivation
    1. lower-/.f32N/A

      \[\leadsto \frac{\sin \left(\pi \cdot x\right)}{x} \cdot \frac{1}{\color{blue}{\mathsf{PI}\left(\right)}} \]
    2. lower-PI.f3264.6

      \[\leadsto \frac{\sin \left(\pi \cdot x\right)}{x} \cdot \frac{1}{\pi} \]
  6. Applied rewrites64.6%

    \[\leadsto \frac{\sin \left(\pi \cdot x\right)}{x} \cdot \color{blue}{\frac{1}{\pi}} \]
  7. Taylor expanded in x around 0

    \[\leadsto \color{blue}{\left(\mathsf{PI}\left(\right) + \frac{-1}{6} \cdot \left({x}^{2} \cdot {\mathsf{PI}\left(\right)}^{3}\right)\right)} \cdot \frac{1}{\pi} \]
  8. Step-by-step derivation
    1. lower-+.f32N/A

      \[\leadsto \left(\mathsf{PI}\left(\right) + \color{blue}{\frac{-1}{6} \cdot \left({x}^{2} \cdot {\mathsf{PI}\left(\right)}^{3}\right)}\right) \cdot \frac{1}{\pi} \]
    2. lower-PI.f32N/A

      \[\leadsto \left(\pi + \color{blue}{\frac{-1}{6}} \cdot \left({x}^{2} \cdot {\mathsf{PI}\left(\right)}^{3}\right)\right) \cdot \frac{1}{\pi} \]
    3. lower-*.f32N/A

      \[\leadsto \left(\pi + \frac{-1}{6} \cdot \color{blue}{\left({x}^{2} \cdot {\mathsf{PI}\left(\right)}^{3}\right)}\right) \cdot \frac{1}{\pi} \]
    4. lower-*.f32N/A

      \[\leadsto \left(\pi + \frac{-1}{6} \cdot \left({x}^{2} \cdot \color{blue}{{\mathsf{PI}\left(\right)}^{3}}\right)\right) \cdot \frac{1}{\pi} \]
    5. lower-pow.f32N/A

      \[\leadsto \left(\pi + \frac{-1}{6} \cdot \left({x}^{2} \cdot {\color{blue}{\mathsf{PI}\left(\right)}}^{3}\right)\right) \cdot \frac{1}{\pi} \]
    6. lower-pow.f32N/A

      \[\leadsto \left(\pi + \frac{-1}{6} \cdot \left({x}^{2} \cdot {\mathsf{PI}\left(\right)}^{\color{blue}{3}}\right)\right) \cdot \frac{1}{\pi} \]
    7. lower-PI.f3264.9

      \[\leadsto \left(\pi + -0.16666666666666666 \cdot \left({x}^{2} \cdot {\pi}^{3}\right)\right) \cdot \frac{1}{\pi} \]
  9. Applied rewrites64.9%

    \[\leadsto \color{blue}{\left(\pi + -0.16666666666666666 \cdot \left({x}^{2} \cdot {\pi}^{3}\right)\right)} \cdot \frac{1}{\pi} \]
  10. Add Preprocessing

Alternative 24: 64.7% accurate, 2.2× speedup?

\[\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
(FPCore (x tau) :precision binary32 (/ (sin (* x PI)) (* x PI)))
float code(float x, float tau) {
	return sinf((x * ((float) M_PI))) / (x * ((float) M_PI));
}
function code(x, tau)
	return Float32(sin(Float32(x * Float32(pi))) / Float32(x * Float32(pi)))
end
function tmp = code(x, tau)
	tmp = sin((x * single(pi))) / (x * single(pi));
end
\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}
Derivation
  1. Initial program 97.9%

    \[\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. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\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. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\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} \]
    3. associate-*l*N/A

      \[\leadsto \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} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(x \cdot \color{blue}{\left(tau \cdot \pi\right)}\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(x \cdot tau\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.3

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right)}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  3. Applied rewrites97.3%

    \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)}}{\left(x \cdot \pi\right) \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  4. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right) \cdot tau}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    2. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot \pi\right)} \cdot tau} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. associate-*l*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{x \cdot \left(\pi \cdot tau\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    4. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{x \cdot \color{blue}{\left(tau \cdot \pi\right)}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    5. associate-*r*N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    6. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(x \cdot tau\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    8. lower-*.f3297.9

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right)} \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  5. Applied rewrites97.9%

    \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\color{blue}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  6. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    2. lift-/.f32N/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi}} \cdot \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
    3. lift-/.f32N/A

      \[\leadsto \frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right)}{\left(tau \cdot x\right) \cdot \pi} \cdot \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
    4. frac-timesN/A

      \[\leadsto \color{blue}{\frac{\sin \left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)}} \]
    5. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(\left(tau \cdot x\right) \cdot \pi\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    6. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(\color{blue}{\left(tau \cdot x\right)} \cdot \pi\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    7. associate-*l*N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(x \cdot \pi\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    8. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    9. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \color{blue}{\left(\pi \cdot x\right)}\right) \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    10. lift-*.f32N/A

      \[\leadsto \frac{\sin \color{blue}{\left(tau \cdot \left(\pi \cdot x\right)\right)} \cdot \sin \left(x \cdot \pi\right)}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    11. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(x \cdot \pi\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    12. *-commutativeN/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
    13. lift-*.f32N/A

      \[\leadsto \frac{\sin \left(tau \cdot \left(\pi \cdot x\right)\right) \cdot \sin \color{blue}{\left(\pi \cdot x\right)}}{\left(\left(tau \cdot x\right) \cdot \pi\right) \cdot \left(x \cdot \pi\right)} \]
  7. Applied rewrites97.3%

    \[\leadsto \color{blue}{\sin \left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \frac{\sin \left(\pi \cdot x\right)}{\left(\left(\pi \cdot \left(x \cdot tau\right)\right) \cdot \pi\right) \cdot x}} \]
  8. Taylor expanded in tau around 0

    \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \mathsf{PI}\left(\right)\right)}{x \cdot \mathsf{PI}\left(\right)}} \]
  9. Step-by-step derivation
    1. lower-/.f32N/A

      \[\leadsto \frac{\sin \left(x \cdot \mathsf{PI}\left(\right)\right)}{\color{blue}{x \cdot \mathsf{PI}\left(\right)}} \]
    2. lower-sin.f32N/A

      \[\leadsto \frac{\sin \left(x \cdot \mathsf{PI}\left(\right)\right)}{\color{blue}{x} \cdot \mathsf{PI}\left(\right)} \]
    3. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(x \cdot \mathsf{PI}\left(\right)\right)}{x \cdot \mathsf{PI}\left(\right)} \]
    4. lower-PI.f32N/A

      \[\leadsto \frac{\sin \left(x \cdot \pi\right)}{x \cdot \mathsf{PI}\left(\right)} \]
    5. lower-*.f32N/A

      \[\leadsto \frac{\sin \left(x \cdot \pi\right)}{x \cdot \color{blue}{\mathsf{PI}\left(\right)}} \]
    6. lower-PI.f3264.7

      \[\leadsto \frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi} \]
  10. Applied rewrites64.7%

    \[\leadsto \color{blue}{\frac{\sin \left(x \cdot \pi\right)}{x \cdot \pi}} \]
  11. Add Preprocessing

Alternative 25: 63.9% accurate, 94.3× speedup?

\[1 \]
(FPCore (x tau) :precision binary32 1.0)
float code(float x, float tau) {
	return 1.0f;
}
module fmin_fmax_functions
    implicit none
    private
    public fmax
    public fmin

    interface fmax
        module procedure fmax88
        module procedure fmax44
        module procedure fmax84
        module procedure fmax48
    end interface
    interface fmin
        module procedure fmin88
        module procedure fmin44
        module procedure fmin84
        module procedure fmin48
    end interface
contains
    real(8) function fmax88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(4) function fmax44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(8) function fmax84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmax48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
    end function
    real(8) function fmin88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(4) function fmin44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(8) function fmin84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmin48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
    end function
end module

real(4) function code(x, tau)
use fmin_fmax_functions
    real(4), intent (in) :: x
    real(4), intent (in) :: tau
    code = 1.0e0
end function
function code(x, tau)
	return Float32(1.0)
end
function tmp = code(x, tau)
	tmp = single(1.0);
end
1
Derivation
  1. Initial program 97.9%

    \[\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. Taylor expanded in x around 0

    \[\leadsto \color{blue}{1} \]
  3. Step-by-step derivation
    1. Applied rewrites63.9%

      \[\leadsto \color{blue}{1} \]
    2. Add Preprocessing

    Reproduce

    ?
    herbie shell --seed 2025170 
    (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))))