Sample trimmed logistic on [-pi, pi]

Percentage Accurate: 99.0% → 99.0%
Time: 17.4s
Alternatives: 20
Speedup: 1.0×

Specification

?
\[\left(2.328306437 \cdot 10^{-10} \leq u \land u \leq 1\right) \land \left(0 \leq s \land s \leq 1.0651631\right)\]
\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{1}{1 + e^{\frac{\pi}{s}}}\\ \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - t\_0\right) + t\_0} - 1\right) \end{array} \end{array} \]
(FPCore (u s)
 :precision binary32
 (let* ((t_0 (/ 1.0 (+ 1.0 (exp (/ PI s))))))
   (*
    (- s)
    (log
     (-
      (/ 1.0 (+ (* u (- (/ 1.0 (+ 1.0 (exp (/ (- PI) s)))) t_0)) t_0))
      1.0)))))
float code(float u, float s) {
	float t_0 = 1.0f / (1.0f + expf((((float) M_PI) / s)));
	return -s * logf(((1.0f / ((u * ((1.0f / (1.0f + expf((-((float) M_PI) / s)))) - t_0)) + t_0)) - 1.0f));
}
function code(u, s)
	t_0 = Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) / s))))
	return Float32(Float32(-s) * log(Float32(Float32(Float32(1.0) / Float32(Float32(u * Float32(Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(-Float32(pi)) / s)))) - t_0)) + t_0)) - Float32(1.0))))
end
function tmp = code(u, s)
	t_0 = single(1.0) / (single(1.0) + exp((single(pi) / s)));
	tmp = -s * log(((single(1.0) / ((u * ((single(1.0) / (single(1.0) + exp((-single(pi) / s)))) - t_0)) + t_0)) - single(1.0)));
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{1}{1 + e^{\frac{\pi}{s}}}\\
\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - t\_0\right) + t\_0} - 1\right)
\end{array}
\end{array}

Sampling outcomes in binary32 precision:

Local Percentage Accuracy vs ?

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

Accuracy vs Speed?

Herbie found 20 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: 99.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{1}{1 + e^{\frac{\pi}{s}}}\\ \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - t\_0\right) + t\_0} - 1\right) \end{array} \end{array} \]
(FPCore (u s)
 :precision binary32
 (let* ((t_0 (/ 1.0 (+ 1.0 (exp (/ PI s))))))
   (*
    (- s)
    (log
     (-
      (/ 1.0 (+ (* u (- (/ 1.0 (+ 1.0 (exp (/ (- PI) s)))) t_0)) t_0))
      1.0)))))
float code(float u, float s) {
	float t_0 = 1.0f / (1.0f + expf((((float) M_PI) / s)));
	return -s * logf(((1.0f / ((u * ((1.0f / (1.0f + expf((-((float) M_PI) / s)))) - t_0)) + t_0)) - 1.0f));
}
function code(u, s)
	t_0 = Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) / s))))
	return Float32(Float32(-s) * log(Float32(Float32(Float32(1.0) / Float32(Float32(u * Float32(Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(-Float32(pi)) / s)))) - t_0)) + t_0)) - Float32(1.0))))
end
function tmp = code(u, s)
	t_0 = single(1.0) / (single(1.0) + exp((single(pi) / s)));
	tmp = -s * log(((single(1.0) / ((u * ((single(1.0) / (single(1.0) + exp((-single(pi) / s)))) - t_0)) + t_0)) - single(1.0)));
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{1}{1 + e^{\frac{\pi}{s}}}\\
\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - t\_0\right) + t\_0} - 1\right)
\end{array}
\end{array}

Alternative 1: 99.0% accurate, 0.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := e^{\frac{\pi}{s}}\\ t_1 := -1 - t\_0\\ t_2 := 1 + t\_0\\ t_3 := \frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{t\_1}\\ s \cdot \log \left(\frac{\mathsf{fma}\left(\frac{1}{{t\_3}^{2} - {t\_2}^{-2}}, t\_3 + \frac{1}{t\_1}, 1\right)}{-1 + {\left(t\_3 + \frac{1}{t\_2}\right)}^{-2}}\right) \end{array} \end{array} \]
(FPCore (u s)
 :precision binary32
 (let* ((t_0 (exp (/ PI s)))
        (t_1 (- -1.0 t_0))
        (t_2 (+ 1.0 t_0))
        (t_3 (+ (/ u (+ 1.0 (exp (/ PI (- s))))) (/ u t_1))))
   (*
    s
    (log
     (/
      (fma (/ 1.0 (- (pow t_3 2.0) (pow t_2 -2.0))) (+ t_3 (/ 1.0 t_1)) 1.0)
      (+ -1.0 (pow (+ t_3 (/ 1.0 t_2)) -2.0)))))))
float code(float u, float s) {
	float t_0 = expf((((float) M_PI) / s));
	float t_1 = -1.0f - t_0;
	float t_2 = 1.0f + t_0;
	float t_3 = (u / (1.0f + expf((((float) M_PI) / -s)))) + (u / t_1);
	return s * logf((fmaf((1.0f / (powf(t_3, 2.0f) - powf(t_2, -2.0f))), (t_3 + (1.0f / t_1)), 1.0f) / (-1.0f + powf((t_3 + (1.0f / t_2)), -2.0f))));
}
function code(u, s)
	t_0 = exp(Float32(Float32(pi) / s))
	t_1 = Float32(Float32(-1.0) - t_0)
	t_2 = Float32(Float32(1.0) + t_0)
	t_3 = Float32(Float32(u / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(u / t_1))
	return Float32(s * log(Float32(fma(Float32(Float32(1.0) / Float32((t_3 ^ Float32(2.0)) - (t_2 ^ Float32(-2.0)))), Float32(t_3 + Float32(Float32(1.0) / t_1)), Float32(1.0)) / Float32(Float32(-1.0) + (Float32(t_3 + Float32(Float32(1.0) / t_2)) ^ Float32(-2.0))))))
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := e^{\frac{\pi}{s}}\\
t_1 := -1 - t\_0\\
t_2 := 1 + t\_0\\
t_3 := \frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{t\_1}\\
s \cdot \log \left(\frac{\mathsf{fma}\left(\frac{1}{{t\_3}^{2} - {t\_2}^{-2}}, t\_3 + \frac{1}{t\_1}, 1\right)}{-1 + {\left(t\_3 + \frac{1}{t\_2}\right)}^{-2}}\right)
\end{array}
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) \cdot u} + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
    2. accelerator-lowering-fma.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right)}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}} - 1\right) \]
  5. Applied egg-rr99.1%

    \[\leadsto \left(-s\right) \cdot \color{blue}{\left(-\log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)\right)}^{-2} + -1}\right)\right)} \]
  6. Applied egg-rr99.1%

    \[\leadsto \color{blue}{s \cdot \log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)\right)}^{-2} + -1}\right)} \]
  7. Applied egg-rr99.1%

    \[\leadsto s \cdot \log \left(\frac{\color{blue}{\mathsf{fma}\left(\frac{1}{{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)}^{2} - {\left(1 + e^{\frac{\pi}{s}}\right)}^{-2}}, \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right) + \frac{1}{-1 - e^{\frac{\pi}{s}}}, 1\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)\right)}^{-2} + -1}\right) \]
  8. Final simplification99.1%

    \[\leadsto s \cdot \log \left(\frac{\mathsf{fma}\left(\frac{1}{{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)}^{2} - {\left(1 + e^{\frac{\pi}{s}}\right)}^{-2}}, \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right) + \frac{1}{-1 - e^{\frac{\pi}{s}}}, 1\right)}{-1 + {\left(\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}^{-2}}\right) \]
  9. Add Preprocessing

Alternative 2: 99.0% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := e^{\frac{\pi}{s}}\\ t_1 := \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - t\_0}\right) + \frac{1}{1 + t\_0}\\ s \cdot \log \left(\frac{1}{-1 + {t\_1}^{-2}} \cdot \left(1 + \frac{1}{t\_1}\right)\right) \end{array} \end{array} \]
(FPCore (u s)
 :precision binary32
 (let* ((t_0 (exp (/ PI s)))
        (t_1
         (+
          (+ (/ u (+ 1.0 (exp (/ PI (- s))))) (/ u (- -1.0 t_0)))
          (/ 1.0 (+ 1.0 t_0)))))
   (* s (log (* (/ 1.0 (+ -1.0 (pow t_1 -2.0))) (+ 1.0 (/ 1.0 t_1)))))))
float code(float u, float s) {
	float t_0 = expf((((float) M_PI) / s));
	float t_1 = ((u / (1.0f + expf((((float) M_PI) / -s)))) + (u / (-1.0f - t_0))) + (1.0f / (1.0f + t_0));
	return s * logf(((1.0f / (-1.0f + powf(t_1, -2.0f))) * (1.0f + (1.0f / t_1))));
}
function code(u, s)
	t_0 = exp(Float32(Float32(pi) / s))
	t_1 = Float32(Float32(Float32(u / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(u / Float32(Float32(-1.0) - t_0))) + Float32(Float32(1.0) / Float32(Float32(1.0) + t_0)))
	return Float32(s * log(Float32(Float32(Float32(1.0) / Float32(Float32(-1.0) + (t_1 ^ Float32(-2.0)))) * Float32(Float32(1.0) + Float32(Float32(1.0) / t_1)))))
end
function tmp = code(u, s)
	t_0 = exp((single(pi) / s));
	t_1 = ((u / (single(1.0) + exp((single(pi) / -s)))) + (u / (single(-1.0) - t_0))) + (single(1.0) / (single(1.0) + t_0));
	tmp = s * log(((single(1.0) / (single(-1.0) + (t_1 ^ single(-2.0)))) * (single(1.0) + (single(1.0) / t_1))));
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := e^{\frac{\pi}{s}}\\
t_1 := \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - t\_0}\right) + \frac{1}{1 + t\_0}\\
s \cdot \log \left(\frac{1}{-1 + {t\_1}^{-2}} \cdot \left(1 + \frac{1}{t\_1}\right)\right)
\end{array}
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) \cdot u} + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
    2. accelerator-lowering-fma.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right)}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}} - 1\right) \]
  5. Applied egg-rr99.1%

    \[\leadsto \left(-s\right) \cdot \color{blue}{\left(-\log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)\right)}^{-2} + -1}\right)\right)} \]
  6. Applied egg-rr99.1%

    \[\leadsto \color{blue}{s \cdot \log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)\right)}^{-2} + -1}\right)} \]
  7. Applied egg-rr99.1%

    \[\leadsto s \cdot \log \color{blue}{\left(\frac{1}{-1 + {\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)\right)}^{-2}} \cdot \left(1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)}\right)\right)} \]
  8. Final simplification99.1%

    \[\leadsto s \cdot \log \left(\frac{1}{-1 + {\left(\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}^{-2}} \cdot \left(1 + \frac{1}{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}}\right)\right) \]
  9. Add Preprocessing

Alternative 3: 99.0% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := e^{\frac{\pi}{s}}\\ t_1 := \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - t\_0}\right) + \frac{1}{1 + t\_0}\\ s \cdot \log \left(\frac{1 + \frac{1}{t\_1}}{-1 + {t\_1}^{-2}}\right) \end{array} \end{array} \]
(FPCore (u s)
 :precision binary32
 (let* ((t_0 (exp (/ PI s)))
        (t_1
         (+
          (+ (/ u (+ 1.0 (exp (/ PI (- s))))) (/ u (- -1.0 t_0)))
          (/ 1.0 (+ 1.0 t_0)))))
   (* s (log (/ (+ 1.0 (/ 1.0 t_1)) (+ -1.0 (pow t_1 -2.0)))))))
float code(float u, float s) {
	float t_0 = expf((((float) M_PI) / s));
	float t_1 = ((u / (1.0f + expf((((float) M_PI) / -s)))) + (u / (-1.0f - t_0))) + (1.0f / (1.0f + t_0));
	return s * logf(((1.0f + (1.0f / t_1)) / (-1.0f + powf(t_1, -2.0f))));
}
function code(u, s)
	t_0 = exp(Float32(Float32(pi) / s))
	t_1 = Float32(Float32(Float32(u / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(u / Float32(Float32(-1.0) - t_0))) + Float32(Float32(1.0) / Float32(Float32(1.0) + t_0)))
	return Float32(s * log(Float32(Float32(Float32(1.0) + Float32(Float32(1.0) / t_1)) / Float32(Float32(-1.0) + (t_1 ^ Float32(-2.0))))))
end
function tmp = code(u, s)
	t_0 = exp((single(pi) / s));
	t_1 = ((u / (single(1.0) + exp((single(pi) / -s)))) + (u / (single(-1.0) - t_0))) + (single(1.0) / (single(1.0) + t_0));
	tmp = s * log(((single(1.0) + (single(1.0) / t_1)) / (single(-1.0) + (t_1 ^ single(-2.0)))));
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := e^{\frac{\pi}{s}}\\
t_1 := \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - t\_0}\right) + \frac{1}{1 + t\_0}\\
s \cdot \log \left(\frac{1 + \frac{1}{t\_1}}{-1 + {t\_1}^{-2}}\right)
\end{array}
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) \cdot u} + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
    2. accelerator-lowering-fma.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right)}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}} - 1\right) \]
  5. Applied egg-rr99.1%

    \[\leadsto \left(-s\right) \cdot \color{blue}{\left(-\log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)\right)}^{-2} + -1}\right)\right)} \]
  6. Applied egg-rr99.1%

    \[\leadsto \color{blue}{s \cdot \log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)\right)}^{-2} + -1}\right)} \]
  7. Final simplification99.1%

    \[\leadsto s \cdot \log \left(\frac{1 + \frac{1}{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}}}{-1 + {\left(\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}^{-2}}\right) \]
  8. Add Preprocessing

Alternative 4: 99.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := e^{\frac{\pi}{s}}\\ s \cdot \log \left(\frac{1}{-1 + \frac{1}{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - t\_0}\right) + \frac{1}{1 + t\_0}}}\right) \end{array} \end{array} \]
(FPCore (u s)
 :precision binary32
 (let* ((t_0 (exp (/ PI s))))
   (*
    s
    (log
     (/
      1.0
      (+
       -1.0
       (/
        1.0
        (+
         (+ (/ u (+ 1.0 (exp (/ PI (- s))))) (/ u (- -1.0 t_0)))
         (/ 1.0 (+ 1.0 t_0))))))))))
float code(float u, float s) {
	float t_0 = expf((((float) M_PI) / s));
	return s * logf((1.0f / (-1.0f + (1.0f / (((u / (1.0f + expf((((float) M_PI) / -s)))) + (u / (-1.0f - t_0))) + (1.0f / (1.0f + t_0)))))));
}
function code(u, s)
	t_0 = exp(Float32(Float32(pi) / s))
	return Float32(s * log(Float32(Float32(1.0) / Float32(Float32(-1.0) + Float32(Float32(1.0) / Float32(Float32(Float32(u / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(u / Float32(Float32(-1.0) - t_0))) + Float32(Float32(1.0) / Float32(Float32(1.0) + t_0))))))))
end
function tmp = code(u, s)
	t_0 = exp((single(pi) / s));
	tmp = s * log((single(1.0) / (single(-1.0) + (single(1.0) / (((u / (single(1.0) + exp((single(pi) / -s)))) + (u / (single(-1.0) - t_0))) + (single(1.0) / (single(1.0) + t_0)))))));
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := e^{\frac{\pi}{s}}\\
s \cdot \log \left(\frac{1}{-1 + \frac{1}{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - t\_0}\right) + \frac{1}{1 + t\_0}}}\right)
\end{array}
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) \cdot u} + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
    2. accelerator-lowering-fma.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right)}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}} - 1\right) \]
  5. Applied egg-rr99.1%

    \[\leadsto \left(-s\right) \cdot \color{blue}{\left(-\log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)\right)}^{-2} + -1}\right)\right)} \]
  6. Applied egg-rr99.1%

    \[\leadsto \color{blue}{s \cdot \log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)\right)}^{-2} + -1}\right)} \]
  7. Applied egg-rr99.0%

    \[\leadsto s \cdot \color{blue}{\log \left(\frac{1}{-1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right)}}\right)} \]
  8. Final simplification99.0%

    \[\leadsto s \cdot \log \left(\frac{1}{-1 + \frac{1}{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{u}{-1 - e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}}}\right) \]
  9. Add Preprocessing

Alternative 5: 99.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \left(-s\right) \cdot \log \left(-1 + \frac{1}{\mathsf{fma}\left(\frac{1}{-1 - e^{\frac{\pi}{s}}} + \frac{1}{1 + e^{\frac{\pi}{-s}}}, u, \frac{1}{1 + e^{\pi \cdot \frac{1}{s}}}\right)}\right) \end{array} \]
(FPCore (u s)
 :precision binary32
 (*
  (- s)
  (log
   (+
    -1.0
    (/
     1.0
     (fma
      (+ (/ 1.0 (- -1.0 (exp (/ PI s)))) (/ 1.0 (+ 1.0 (exp (/ PI (- s))))))
      u
      (/ 1.0 (+ 1.0 (exp (* PI (/ 1.0 s)))))))))))
float code(float u, float s) {
	return -s * logf((-1.0f + (1.0f / fmaf(((1.0f / (-1.0f - expf((((float) M_PI) / s)))) + (1.0f / (1.0f + expf((((float) M_PI) / -s))))), u, (1.0f / (1.0f + expf((((float) M_PI) * (1.0f / s)))))))));
}
function code(u, s)
	return Float32(Float32(-s) * log(Float32(Float32(-1.0) + Float32(Float32(1.0) / fma(Float32(Float32(Float32(1.0) / Float32(Float32(-1.0) - exp(Float32(Float32(pi) / s)))) + Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s)))))), u, Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) * Float32(Float32(1.0) / s))))))))))
end
\begin{array}{l}

\\
\left(-s\right) \cdot \log \left(-1 + \frac{1}{\mathsf{fma}\left(\frac{1}{-1 - e^{\frac{\pi}{s}}} + \frac{1}{1 + e^{\frac{\pi}{-s}}}, u, \frac{1}{1 + e^{\pi \cdot \frac{1}{s}}}\right)}\right)
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) \cdot u} + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
    2. accelerator-lowering-fma.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right)}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}} - 1\right) \]
  5. Step-by-step derivation
    1. clear-numN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}\right)} - 1\right) \]
    2. associate-/r/N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\frac{1}{s} \cdot \mathsf{PI}\left(\right)}}}\right)} - 1\right) \]
    3. *-lowering-*.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\frac{1}{s} \cdot \mathsf{PI}\left(\right)}}}\right)} - 1\right) \]
    4. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\frac{1}{s}} \cdot \mathsf{PI}\left(\right)}}\right)} - 1\right) \]
    5. PI-lowering-PI.f3298.9

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\frac{1}{s} \cdot \color{blue}{\pi}}}\right)} - 1\right) \]
  6. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\frac{1}{s} \cdot \pi}}}\right)} - 1\right) \]
  7. Final simplification98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(-1 + \frac{1}{\mathsf{fma}\left(\frac{1}{-1 - e^{\frac{\pi}{s}}} + \frac{1}{1 + e^{\frac{\pi}{-s}}}, u, \frac{1}{1 + e^{\pi \cdot \frac{1}{s}}}\right)}\right) \]
  8. Add Preprocessing

Alternative 6: 99.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := e^{\frac{\pi}{s}}\\ \left(-s\right) \cdot \log \left(-1 + \frac{1}{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{1 + t\_0}\right) + \frac{u}{-1 - t\_0}}\right) \end{array} \end{array} \]
(FPCore (u s)
 :precision binary32
 (let* ((t_0 (exp (/ PI s))))
   (*
    (- s)
    (log
     (+
      -1.0
      (/
       1.0
       (+
        (+ (/ u (+ 1.0 (exp (/ PI (- s))))) (/ 1.0 (+ 1.0 t_0)))
        (/ u (- -1.0 t_0)))))))))
float code(float u, float s) {
	float t_0 = expf((((float) M_PI) / s));
	return -s * logf((-1.0f + (1.0f / (((u / (1.0f + expf((((float) M_PI) / -s)))) + (1.0f / (1.0f + t_0))) + (u / (-1.0f - t_0))))));
}
function code(u, s)
	t_0 = exp(Float32(Float32(pi) / s))
	return Float32(Float32(-s) * log(Float32(Float32(-1.0) + Float32(Float32(1.0) / Float32(Float32(Float32(u / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(Float32(1.0) / Float32(Float32(1.0) + t_0))) + Float32(u / Float32(Float32(-1.0) - t_0)))))))
end
function tmp = code(u, s)
	t_0 = exp((single(pi) / s));
	tmp = -s * log((single(-1.0) + (single(1.0) / (((u / (single(1.0) + exp((single(pi) / -s)))) + (single(1.0) / (single(1.0) + t_0))) + (u / (single(-1.0) - t_0))))));
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := e^{\frac{\pi}{s}}\\
\left(-s\right) \cdot \log \left(-1 + \frac{1}{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{1 + t\_0}\right) + \frac{u}{-1 - t\_0}}\right)
\end{array}
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) \cdot u} + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
    2. accelerator-lowering-fma.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right)}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}} - 1\right) \]
  5. Step-by-step derivation
    1. rem-log-expN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\log \left(e^{\frac{\mathsf{PI}\left(\right)}{s}}\right)}}}\right)} - 1\right) \]
    2. *-lft-identityN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\log \color{blue}{\left(1 \cdot e^{\frac{\mathsf{PI}\left(\right)}{s}}\right)}}}\right)} - 1\right) \]
    3. log-prodN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\log 1 + \log \left(e^{\frac{\mathsf{PI}\left(\right)}{s}}\right)}}}\right)} - 1\right) \]
    4. metadata-evalN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\color{blue}{0} + \log \left(e^{\frac{\mathsf{PI}\left(\right)}{s}}\right)}}\right)} - 1\right) \]
    5. rem-log-expN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{0 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{s}}}}\right)} - 1\right) \]
    6. flip3-+N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\frac{{0}^{3} + {\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}^{3}}{0 \cdot 0 + \left(\frac{\mathsf{PI}\left(\right)}{s} \cdot \frac{\mathsf{PI}\left(\right)}{s} - 0 \cdot \frac{\mathsf{PI}\left(\right)}{s}\right)}}}}\right)} - 1\right) \]
    7. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}} + \frac{-1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\frac{{0}^{3} + {\left(\frac{\mathsf{PI}\left(\right)}{s}\right)}^{3}}{0 \cdot 0 + \left(\frac{\mathsf{PI}\left(\right)}{s} \cdot \frac{\mathsf{PI}\left(\right)}{s} - 0 \cdot \frac{\mathsf{PI}\left(\right)}{s}\right)}}}}\right)} - 1\right) \]
  6. Applied egg-rr51.5%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\color{blue}{\frac{0 + \frac{\pi \cdot \left(\pi \cdot \pi\right)}{s \cdot \left(s \cdot s\right)}}{0 + \left(\frac{\pi}{s} \cdot \frac{\pi}{s} - 0 \cdot \frac{\pi}{s}\right)}}}}\right)} - 1\right) \]
  7. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\color{blue}{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \frac{u}{1 + e^{\frac{\pi}{-s}}}\right) - \frac{u}{1 + e^{\frac{\pi}{s}}}}} - 1\right) \]
  8. Final simplification98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(-1 + \frac{1}{\left(\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{u}{-1 - e^{\frac{\pi}{s}}}}\right) \]
  9. Add Preprocessing

Alternative 7: 98.6% accurate, 1.4× speedup?

\[\begin{array}{l} \\ \left(-s\right) \cdot \log \left(-1 + \frac{1}{\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{1 + e^{\frac{\pi}{s}}}}\right) \end{array} \]
(FPCore (u s)
 :precision binary32
 (*
  (- s)
  (log
   (+
    -1.0
    (/
     1.0
     (+ (/ u (+ 1.0 (exp (/ PI (- s))))) (/ 1.0 (+ 1.0 (exp (/ PI s))))))))))
float code(float u, float s) {
	return -s * logf((-1.0f + (1.0f / ((u / (1.0f + expf((((float) M_PI) / -s)))) + (1.0f / (1.0f + expf((((float) M_PI) / s))))))));
}
function code(u, s)
	return Float32(Float32(-s) * log(Float32(Float32(-1.0) + Float32(Float32(1.0) / Float32(Float32(u / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) / s)))))))))
end
function tmp = code(u, s)
	tmp = -s * log((single(-1.0) + (single(1.0) / ((u / (single(1.0) + exp((single(pi) / -s)))) + (single(1.0) / (single(1.0) + exp((single(pi) / s))))))));
end
\begin{array}{l}

\\
\left(-s\right) \cdot \log \left(-1 + \frac{1}{\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{1 + e^{\frac{\pi}{s}}}}\right)
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. clear-numN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    3. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\color{blue}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    4. PI-lowering-PI.f3298.9

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\color{blue}{\pi}}}}}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\pi}}}}}} - 1\right) \]
  5. Taylor expanded in s around inf

    \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
  6. Step-by-step derivation
    1. +-lowering-+.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{s}}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    3. PI-lowering-PI.f3294.3

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\color{blue}{\pi}}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  7. Simplified94.3%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\pi}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  8. Taylor expanded in s around 0

    \[\leadsto \color{blue}{-1 \cdot \left(s \cdot \log \left(\frac{1}{\frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}} + \frac{u}{1 + e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right)\right)} \]
  9. Step-by-step derivation
    1. associate-*r*N/A

      \[\leadsto \color{blue}{\left(-1 \cdot s\right) \cdot \log \left(\frac{1}{\frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}} + \frac{u}{1 + e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right)} \]
    2. *-lowering-*.f32N/A

      \[\leadsto \color{blue}{\left(-1 \cdot s\right) \cdot \log \left(\frac{1}{\frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}} + \frac{u}{1 + e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right)} \]
    3. mul-1-negN/A

      \[\leadsto \color{blue}{\left(\mathsf{neg}\left(s\right)\right)} \cdot \log \left(\frac{1}{\frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}} + \frac{u}{1 + e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
    4. neg-lowering-neg.f32N/A

      \[\leadsto \color{blue}{\left(\mathsf{neg}\left(s\right)\right)} \cdot \log \left(\frac{1}{\frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}} + \frac{u}{1 + e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
    5. log-lowering-log.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \color{blue}{\log \left(\frac{1}{\frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}} + \frac{u}{1 + e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right)} \]
    6. sub-negN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \color{blue}{\left(\frac{1}{\frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}} + \frac{u}{1 + e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{s}}}} + \left(\mathsf{neg}\left(1\right)\right)\right)} \]
    7. metadata-evalN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}} + \frac{u}{1 + e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{s}}}} + \color{blue}{-1}\right) \]
    8. +-lowering-+.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \color{blue}{\left(\frac{1}{\frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}} + \frac{u}{1 + e^{-1 \cdot \frac{\mathsf{PI}\left(\right)}{s}}}} + -1\right)} \]
  10. Simplified98.7%

    \[\leadsto \color{blue}{\left(-s\right) \cdot \log \left(\frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \frac{u}{1 + e^{-\frac{\pi}{s}}}} + -1\right)} \]
  11. Final simplification98.7%

    \[\leadsto \left(-s\right) \cdot \log \left(-1 + \frac{1}{\frac{u}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{1 + e^{\frac{\pi}{s}}}}\right) \]
  12. Add Preprocessing

Alternative 8: 93.3% accurate, 1.4× speedup?

\[\begin{array}{l} \\ \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \left(1 + \frac{\pi + \frac{\mathsf{fma}\left(0.16666666666666666, \frac{\pi \cdot \left(\pi \cdot \pi\right)}{s}, \left(\pi \cdot \pi\right) \cdot 0.5\right)}{s}}{s}\right)}}\right) \end{array} \]
(FPCore (u s)
 :precision binary32
 (*
  (- s)
  (log
   (+
    -1.0
    (/
     1.0
     (+
      (*
       u
       (+
        (/ 1.0 (+ 1.0 (exp (/ PI (- s)))))
        (/ 1.0 (+ -1.0 (- -1.0 (/ PI s))))))
      (/
       1.0
       (+
        1.0
        (+
         1.0
         (/
          (+
           PI
           (/
            (fma 0.16666666666666666 (/ (* PI (* PI PI)) s) (* (* PI PI) 0.5))
            s))
          s))))))))))
float code(float u, float s) {
	return -s * logf((-1.0f + (1.0f / ((u * ((1.0f / (1.0f + expf((((float) M_PI) / -s)))) + (1.0f / (-1.0f + (-1.0f - (((float) M_PI) / s)))))) + (1.0f / (1.0f + (1.0f + ((((float) M_PI) + (fmaf(0.16666666666666666f, ((((float) M_PI) * (((float) M_PI) * ((float) M_PI))) / s), ((((float) M_PI) * ((float) M_PI)) * 0.5f)) / s)) / s))))))));
}
function code(u, s)
	return Float32(Float32(-s) * log(Float32(Float32(-1.0) + Float32(Float32(1.0) / Float32(Float32(u * Float32(Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(Float32(1.0) / Float32(Float32(-1.0) + Float32(Float32(-1.0) - Float32(Float32(pi) / s)))))) + Float32(Float32(1.0) / Float32(Float32(1.0) + Float32(Float32(1.0) + Float32(Float32(Float32(pi) + Float32(fma(Float32(0.16666666666666666), Float32(Float32(Float32(pi) * Float32(Float32(pi) * Float32(pi))) / s), Float32(Float32(Float32(pi) * Float32(pi)) * Float32(0.5))) / s)) / s)))))))))
end
\begin{array}{l}

\\
\left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \left(1 + \frac{\pi + \frac{\mathsf{fma}\left(0.16666666666666666, \frac{\pi \cdot \left(\pi \cdot \pi\right)}{s}, \left(\pi \cdot \pi\right) \cdot 0.5\right)}{s}}{s}\right)}}\right)
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. clear-numN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    3. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\color{blue}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    4. PI-lowering-PI.f3298.9

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\color{blue}{\pi}}}}}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\pi}}}}}} - 1\right) \]
  5. Taylor expanded in s around inf

    \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
  6. Step-by-step derivation
    1. +-lowering-+.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{s}}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    3. PI-lowering-PI.f3294.3

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\color{blue}{\pi}}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  7. Simplified94.3%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\pi}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  8. Taylor expanded in s around -inf

    \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 + -1 \cdot \frac{-1 \cdot \mathsf{PI}\left(\right) + -1 \cdot \frac{\frac{1}{6} \cdot \frac{{\mathsf{PI}\left(\right)}^{3}}{s} + \frac{1}{2} \cdot {\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
  9. Step-by-step derivation
    1. mul-1-negN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 + \color{blue}{\left(\mathsf{neg}\left(\frac{-1 \cdot \mathsf{PI}\left(\right) + -1 \cdot \frac{\frac{1}{6} \cdot \frac{{\mathsf{PI}\left(\right)}^{3}}{s} + \frac{1}{2} \cdot {\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)\right)}\right)}} - 1\right) \]
    2. unsub-negN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{-1 \cdot \mathsf{PI}\left(\right) + -1 \cdot \frac{\frac{1}{6} \cdot \frac{{\mathsf{PI}\left(\right)}^{3}}{s} + \frac{1}{2} \cdot {\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
    3. --lowering--.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{-1 \cdot \mathsf{PI}\left(\right) + -1 \cdot \frac{\frac{1}{6} \cdot \frac{{\mathsf{PI}\left(\right)}^{3}}{s} + \frac{1}{2} \cdot {\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
    4. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \color{blue}{\frac{-1 \cdot \mathsf{PI}\left(\right) + -1 \cdot \frac{\frac{1}{6} \cdot \frac{{\mathsf{PI}\left(\right)}^{3}}{s} + \frac{1}{2} \cdot {\mathsf{PI}\left(\right)}^{2}}{s}}{s}}\right)}} - 1\right) \]
  10. Simplified92.5%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{-\left(\pi + \frac{\mathsf{fma}\left(0.16666666666666666, \frac{\pi \cdot \left(\pi \cdot \pi\right)}{s}, 0.5 \cdot \left(\pi \cdot \pi\right)\right)}{s}\right)}{s}\right)}}} - 1\right) \]
  11. Final simplification92.5%

    \[\leadsto \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \left(1 + \frac{\pi + \frac{\mathsf{fma}\left(0.16666666666666666, \frac{\pi \cdot \left(\pi \cdot \pi\right)}{s}, \left(\pi \cdot \pi\right) \cdot 0.5\right)}{s}}{s}\right)}}\right) \]
  12. Add Preprocessing

Alternative 9: 91.9% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(-0.5, \frac{\pi \cdot \pi}{s}, -\pi\right)}{s}\right)}}\right) \end{array} \]
(FPCore (u s)
 :precision binary32
 (*
  (- s)
  (log
   (+
    -1.0
    (/
     1.0
     (+
      (*
       u
       (+
        (/ 1.0 (+ 1.0 (exp (/ PI (- s)))))
        (/ 1.0 (+ -1.0 (- -1.0 (/ PI s))))))
      (/ 1.0 (+ 1.0 (- 1.0 (/ (fma -0.5 (/ (* PI PI) s) (- PI)) s))))))))))
float code(float u, float s) {
	return -s * logf((-1.0f + (1.0f / ((u * ((1.0f / (1.0f + expf((((float) M_PI) / -s)))) + (1.0f / (-1.0f + (-1.0f - (((float) M_PI) / s)))))) + (1.0f / (1.0f + (1.0f - (fmaf(-0.5f, ((((float) M_PI) * ((float) M_PI)) / s), -((float) M_PI)) / s))))))));
}
function code(u, s)
	return Float32(Float32(-s) * log(Float32(Float32(-1.0) + Float32(Float32(1.0) / Float32(Float32(u * Float32(Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(Float32(1.0) / Float32(Float32(-1.0) + Float32(Float32(-1.0) - Float32(Float32(pi) / s)))))) + Float32(Float32(1.0) / Float32(Float32(1.0) + Float32(Float32(1.0) - Float32(fma(Float32(-0.5), Float32(Float32(Float32(pi) * Float32(pi)) / s), Float32(-Float32(pi))) / s)))))))))
end
\begin{array}{l}

\\
\left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(-0.5, \frac{\pi \cdot \pi}{s}, -\pi\right)}{s}\right)}}\right)
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. clear-numN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    3. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\color{blue}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    4. PI-lowering-PI.f3298.9

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\color{blue}{\pi}}}}}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\pi}}}}}} - 1\right) \]
  5. Taylor expanded in s around inf

    \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
  6. Step-by-step derivation
    1. +-lowering-+.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{s}}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    3. PI-lowering-PI.f3294.3

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\color{blue}{\pi}}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  7. Simplified94.3%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\pi}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  8. Taylor expanded in s around -inf

    \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 + -1 \cdot \frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
  9. Step-by-step derivation
    1. mul-1-negN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 + \color{blue}{\left(\mathsf{neg}\left(\frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)\right)}\right)}} - 1\right) \]
    2. unsub-negN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
    3. --lowering--.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
    4. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \color{blue}{\frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}}\right)}} - 1\right) \]
    5. +-commutativeN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\color{blue}{\frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s} + -1 \cdot \mathsf{PI}\left(\right)}}{s}\right)}} - 1\right) \]
    6. accelerator-lowering-fma.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\color{blue}{\mathsf{fma}\left(\frac{-1}{2}, \frac{{\mathsf{PI}\left(\right)}^{2}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}}{s}\right)}} - 1\right) \]
    7. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \color{blue}{\frac{{\mathsf{PI}\left(\right)}^{2}}{s}}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
    8. unpow2N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
    9. *-lowering-*.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
    10. PI-lowering-PI.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\color{blue}{\mathsf{PI}\left(\right)} \cdot \mathsf{PI}\left(\right)}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
    11. PI-lowering-PI.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{PI}\left(\right) \cdot \color{blue}{\mathsf{PI}\left(\right)}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
    12. mul-1-negN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{s}, \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}\right)}{s}\right)}} - 1\right) \]
    13. neg-lowering-neg.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{s}, \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}\right)}{s}\right)}} - 1\right) \]
    14. PI-lowering-PI.f3291.3

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(-0.5, \frac{\pi \cdot \pi}{s}, -\color{blue}{\pi}\right)}{s}\right)}} - 1\right) \]
  10. Simplified91.3%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{\mathsf{fma}\left(-0.5, \frac{\pi \cdot \pi}{s}, -\pi\right)}{s}\right)}}} - 1\right) \]
  11. Final simplification91.3%

    \[\leadsto \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(-0.5, \frac{\pi \cdot \pi}{s}, -\pi\right)}{s}\right)}}\right) \]
  12. Add Preprocessing

Alternative 10: 85.6% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \left(-s\right) \cdot \log \left(-1 + \frac{1}{\frac{1}{1 + \left(1 + \frac{\pi}{s}\right)} + u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right)}\right) \end{array} \]
(FPCore (u s)
 :precision binary32
 (*
  (- s)
  (log
   (+
    -1.0
    (/
     1.0
     (+
      (/ 1.0 (+ 1.0 (+ 1.0 (/ PI s))))
      (*
       u
       (+
        (/ 1.0 (+ 1.0 (exp (/ PI (- s)))))
        (/ 1.0 (+ -1.0 (- -1.0 (/ PI s))))))))))))
float code(float u, float s) {
	return -s * logf((-1.0f + (1.0f / ((1.0f / (1.0f + (1.0f + (((float) M_PI) / s)))) + (u * ((1.0f / (1.0f + expf((((float) M_PI) / -s)))) + (1.0f / (-1.0f + (-1.0f - (((float) M_PI) / s))))))))));
}
function code(u, s)
	return Float32(Float32(-s) * log(Float32(Float32(-1.0) + Float32(Float32(1.0) / Float32(Float32(Float32(1.0) / Float32(Float32(1.0) + Float32(Float32(1.0) + Float32(Float32(pi) / s)))) + Float32(u * Float32(Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(Float32(1.0) / Float32(Float32(-1.0) + Float32(Float32(-1.0) - Float32(Float32(pi) / s)))))))))))
end
function tmp = code(u, s)
	tmp = -s * log((single(-1.0) + (single(1.0) / ((single(1.0) / (single(1.0) + (single(1.0) + (single(pi) / s)))) + (u * ((single(1.0) / (single(1.0) + exp((single(pi) / -s)))) + (single(1.0) / (single(-1.0) + (single(-1.0) - (single(pi) / s))))))))));
end
\begin{array}{l}

\\
\left(-s\right) \cdot \log \left(-1 + \frac{1}{\frac{1}{1 + \left(1 + \frac{\pi}{s}\right)} + u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right)}\right)
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. clear-numN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    3. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\color{blue}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    4. PI-lowering-PI.f3298.9

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\color{blue}{\pi}}}}}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\pi}}}}}} - 1\right) \]
  5. Taylor expanded in s around inf

    \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
  6. Step-by-step derivation
    1. +-lowering-+.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{s}}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    3. PI-lowering-PI.f3294.3

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\color{blue}{\pi}}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  7. Simplified94.3%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\pi}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  8. Taylor expanded in s around inf

    \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}} - 1\right) \]
  9. Step-by-step derivation
    1. +-lowering-+.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + \left(1 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{s}}\right)}} - 1\right) \]
    3. PI-lowering-PI.f3285.4

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \left(1 + \frac{\color{blue}{\pi}}{s}\right)}} - 1\right) \]
  10. Simplified85.4%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\pi}{s}\right)}\right) + \frac{1}{1 + \color{blue}{\left(1 + \frac{\pi}{s}\right)}}} - 1\right) \]
  11. Final simplification85.4%

    \[\leadsto \left(-s\right) \cdot \log \left(-1 + \frac{1}{\frac{1}{1 + \left(1 + \frac{\pi}{s}\right)} + u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right)}\right) \]
  12. Add Preprocessing

Alternative 11: 37.8% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + 1} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}}\right) \end{array} \]
(FPCore (u s)
 :precision binary32
 (*
  (- s)
  (log
   (+
    -1.0
    (/
     1.0
     (+
      (* u (+ (/ 1.0 (+ 1.0 1.0)) (/ 1.0 (+ -1.0 (- -1.0 (/ PI s))))))
      (/ 1.0 (+ 1.0 (exp (/ 1.0 (/ s PI)))))))))))
float code(float u, float s) {
	return -s * logf((-1.0f + (1.0f / ((u * ((1.0f / (1.0f + 1.0f)) + (1.0f / (-1.0f + (-1.0f - (((float) M_PI) / s)))))) + (1.0f / (1.0f + expf((1.0f / (s / ((float) M_PI))))))))));
}
function code(u, s)
	return Float32(Float32(-s) * log(Float32(Float32(-1.0) + Float32(Float32(1.0) / Float32(Float32(u * Float32(Float32(Float32(1.0) / Float32(Float32(1.0) + Float32(1.0))) + Float32(Float32(1.0) / Float32(Float32(-1.0) + Float32(Float32(-1.0) - Float32(Float32(pi) / s)))))) + Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(1.0) / Float32(s / Float32(pi)))))))))))
end
function tmp = code(u, s)
	tmp = -s * log((single(-1.0) + (single(1.0) / ((u * ((single(1.0) / (single(1.0) + single(1.0))) + (single(1.0) / (single(-1.0) + (single(-1.0) - (single(pi) / s)))))) + (single(1.0) / (single(1.0) + exp((single(1.0) / (s / single(pi))))))))));
end
\begin{array}{l}

\\
\left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + 1} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}}\right)
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. clear-numN/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    3. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\color{blue}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
    4. PI-lowering-PI.f3298.9

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\color{blue}{\pi}}}}}} - 1\right) \]
  4. Applied egg-rr98.9%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\pi}}}}}} - 1\right) \]
  5. Taylor expanded in s around inf

    \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
  6. Step-by-step derivation
    1. +-lowering-+.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    2. /-lowering-/.f32N/A

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \left(1 + \color{blue}{\frac{\mathsf{PI}\left(\right)}{s}}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
    3. PI-lowering-PI.f3294.3

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \left(1 + \frac{\color{blue}{\pi}}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  7. Simplified94.3%

    \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{\left(1 + \frac{\pi}{s}\right)}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
  8. Taylor expanded in s around inf

    \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + \color{blue}{1}} - \frac{1}{1 + \left(1 + \frac{\mathsf{PI}\left(\right)}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}} - 1\right) \]
  9. Step-by-step derivation
    1. Simplified37.6%

      \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + \color{blue}{1}} - \frac{1}{1 + \left(1 + \frac{\pi}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}} - 1\right) \]
    2. Final simplification37.6%

      \[\leadsto \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + 1} + \frac{1}{-1 + \left(-1 - \frac{\pi}{s}\right)}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\pi}}}}}\right) \]
    3. Add Preprocessing

    Alternative 12: 36.9% accurate, 1.7× speedup?

    \[\begin{array}{l} \\ \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + -1}\right) + \frac{2 \cdot \left(s \cdot s\right)}{\pi \cdot \pi}}\right) \end{array} \]
    (FPCore (u s)
     :precision binary32
     (*
      (- s)
      (log
       (+
        -1.0
        (/
         1.0
         (+
          (* u (+ (/ 1.0 (+ 1.0 (exp (/ PI (- s))))) (/ 1.0 (+ -1.0 -1.0))))
          (/ (* 2.0 (* s s)) (* PI PI))))))))
    float code(float u, float s) {
    	return -s * logf((-1.0f + (1.0f / ((u * ((1.0f / (1.0f + expf((((float) M_PI) / -s)))) + (1.0f / (-1.0f + -1.0f)))) + ((2.0f * (s * s)) / (((float) M_PI) * ((float) M_PI)))))));
    }
    
    function code(u, s)
    	return Float32(Float32(-s) * log(Float32(Float32(-1.0) + Float32(Float32(1.0) / Float32(Float32(u * Float32(Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(Float32(1.0) / Float32(Float32(-1.0) + Float32(-1.0))))) + Float32(Float32(Float32(2.0) * Float32(s * s)) / Float32(Float32(pi) * Float32(pi))))))))
    end
    
    function tmp = code(u, s)
    	tmp = -s * log((single(-1.0) + (single(1.0) / ((u * ((single(1.0) / (single(1.0) + exp((single(pi) / -s)))) + (single(1.0) / (single(-1.0) + single(-1.0))))) + ((single(2.0) * (s * s)) / (single(pi) * single(pi)))))));
    end
    
    \begin{array}{l}
    
    \\
    \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + -1}\right) + \frac{2 \cdot \left(s \cdot s\right)}{\pi \cdot \pi}}\right)
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
    2. Add Preprocessing
    3. Taylor expanded in s around inf

      \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
    4. Step-by-step derivation
      1. Simplified37.6%

        \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
      2. Taylor expanded in s around -inf

        \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \color{blue}{\left(1 + -1 \cdot \frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
      3. Step-by-step derivation
        1. mul-1-negN/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 + \color{blue}{\left(\mathsf{neg}\left(\frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)\right)}\right)}} - 1\right) \]
        2. unsub-negN/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
        3. --lowering--.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
        4. /-lowering-/.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \color{blue}{\frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}}\right)}} - 1\right) \]
        5. +-commutativeN/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\color{blue}{\frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s} + -1 \cdot \mathsf{PI}\left(\right)}}{s}\right)}} - 1\right) \]
        6. accelerator-lowering-fma.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\color{blue}{\mathsf{fma}\left(\frac{-1}{2}, \frac{{\mathsf{PI}\left(\right)}^{2}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}}{s}\right)}} - 1\right) \]
        7. /-lowering-/.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \color{blue}{\frac{{\mathsf{PI}\left(\right)}^{2}}{s}}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
        8. unpow2N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
        9. *-lowering-*.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
        10. PI-lowering-PI.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\color{blue}{\mathsf{PI}\left(\right)} \cdot \mathsf{PI}\left(\right)}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
        11. PI-lowering-PI.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{PI}\left(\right) \cdot \color{blue}{\mathsf{PI}\left(\right)}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
        12. mul-1-negN/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{s}, \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}\right)}{s}\right)}} - 1\right) \]
        13. neg-lowering-neg.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{s}, \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}\right)}{s}\right)}} - 1\right) \]
        14. PI-lowering-PI.f3236.6

          \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(-0.5, \frac{\pi \cdot \pi}{s}, -\color{blue}{\pi}\right)}{s}\right)}} - 1\right) \]
      4. Simplified36.6%

        \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{\mathsf{fma}\left(-0.5, \frac{\pi \cdot \pi}{s}, -\pi\right)}{s}\right)}}} - 1\right) \]
      5. Taylor expanded in s around 0

        \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \color{blue}{2 \cdot \frac{{s}^{2}}{{\mathsf{PI}\left(\right)}^{2}}}} - 1\right) \]
      6. Step-by-step derivation
        1. associate-*r/N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \color{blue}{\frac{2 \cdot {s}^{2}}{{\mathsf{PI}\left(\right)}^{2}}}} - 1\right) \]
        2. /-lowering-/.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \color{blue}{\frac{2 \cdot {s}^{2}}{{\mathsf{PI}\left(\right)}^{2}}}} - 1\right) \]
        3. *-lowering-*.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{\color{blue}{2 \cdot {s}^{2}}}{{\mathsf{PI}\left(\right)}^{2}}} - 1\right) \]
        4. unpow2N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{2 \cdot \color{blue}{\left(s \cdot s\right)}}{{\mathsf{PI}\left(\right)}^{2}}} - 1\right) \]
        5. *-lowering-*.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{2 \cdot \color{blue}{\left(s \cdot s\right)}}{{\mathsf{PI}\left(\right)}^{2}}} - 1\right) \]
        6. unpow2N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{2 \cdot \left(s \cdot s\right)}{\color{blue}{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}}} - 1\right) \]
        7. *-lowering-*.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{2 \cdot \left(s \cdot s\right)}{\color{blue}{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}}} - 1\right) \]
        8. PI-lowering-PI.f32N/A

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{2 \cdot \left(s \cdot s\right)}{\color{blue}{\mathsf{PI}\left(\right)} \cdot \mathsf{PI}\left(\right)}} - 1\right) \]
        9. PI-lowering-PI.f3236.5

          \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + 1}\right) + \frac{2 \cdot \left(s \cdot s\right)}{\pi \cdot \color{blue}{\pi}}} - 1\right) \]
      7. Simplified36.5%

        \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + 1}\right) + \color{blue}{\frac{2 \cdot \left(s \cdot s\right)}{\pi \cdot \pi}}} - 1\right) \]
      8. Final simplification36.5%

        \[\leadsto \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + -1}\right) + \frac{2 \cdot \left(s \cdot s\right)}{\pi \cdot \pi}}\right) \]
      9. Add Preprocessing

      Alternative 13: 36.3% accurate, 1.7× speedup?

      \[\begin{array}{l} \\ \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + -1}\right) + \frac{1}{\frac{\pi}{s} + 2}}\right) \end{array} \]
      (FPCore (u s)
       :precision binary32
       (*
        (- s)
        (log
         (+
          -1.0
          (/
           1.0
           (+
            (* u (+ (/ 1.0 (+ 1.0 (exp (/ PI (- s))))) (/ 1.0 (+ -1.0 -1.0))))
            (/ 1.0 (+ (/ PI s) 2.0))))))))
      float code(float u, float s) {
      	return -s * logf((-1.0f + (1.0f / ((u * ((1.0f / (1.0f + expf((((float) M_PI) / -s)))) + (1.0f / (-1.0f + -1.0f)))) + (1.0f / ((((float) M_PI) / s) + 2.0f))))));
      }
      
      function code(u, s)
      	return Float32(Float32(-s) * log(Float32(Float32(-1.0) + Float32(Float32(1.0) / Float32(Float32(u * Float32(Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(pi) / Float32(-s))))) + Float32(Float32(1.0) / Float32(Float32(-1.0) + Float32(-1.0))))) + Float32(Float32(1.0) / Float32(Float32(Float32(pi) / s) + Float32(2.0))))))))
      end
      
      function tmp = code(u, s)
      	tmp = -s * log((single(-1.0) + (single(1.0) / ((u * ((single(1.0) / (single(1.0) + exp((single(pi) / -s)))) + (single(1.0) / (single(-1.0) + single(-1.0))))) + (single(1.0) / ((single(pi) / s) + single(2.0)))))));
      end
      
      \begin{array}{l}
      
      \\
      \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + -1}\right) + \frac{1}{\frac{\pi}{s} + 2}}\right)
      \end{array}
      
      Derivation
      1. Initial program 98.9%

        \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
      2. Add Preprocessing
      3. Taylor expanded in s around inf

        \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
      4. Step-by-step derivation
        1. Simplified37.6%

          \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
        2. Taylor expanded in s around -inf

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \color{blue}{\left(1 + -1 \cdot \frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
        3. Step-by-step derivation
          1. mul-1-negN/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 + \color{blue}{\left(\mathsf{neg}\left(\frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)\right)}\right)}} - 1\right) \]
          2. unsub-negN/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
          3. --lowering--.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}\right)}}} - 1\right) \]
          4. /-lowering-/.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \color{blue}{\frac{-1 \cdot \mathsf{PI}\left(\right) + \frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s}}{s}}\right)}} - 1\right) \]
          5. +-commutativeN/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\color{blue}{\frac{-1}{2} \cdot \frac{{\mathsf{PI}\left(\right)}^{2}}{s} + -1 \cdot \mathsf{PI}\left(\right)}}{s}\right)}} - 1\right) \]
          6. accelerator-lowering-fma.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\color{blue}{\mathsf{fma}\left(\frac{-1}{2}, \frac{{\mathsf{PI}\left(\right)}^{2}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}}{s}\right)}} - 1\right) \]
          7. /-lowering-/.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \color{blue}{\frac{{\mathsf{PI}\left(\right)}^{2}}{s}}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
          8. unpow2N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
          9. *-lowering-*.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
          10. PI-lowering-PI.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\color{blue}{\mathsf{PI}\left(\right)} \cdot \mathsf{PI}\left(\right)}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
          11. PI-lowering-PI.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{PI}\left(\right) \cdot \color{blue}{\mathsf{PI}\left(\right)}}{s}, -1 \cdot \mathsf{PI}\left(\right)\right)}{s}\right)}} - 1\right) \]
          12. mul-1-negN/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{s}, \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}\right)}{s}\right)}} - 1\right) \]
          13. neg-lowering-neg.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(\frac{-1}{2}, \frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{s}, \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}\right)}{s}\right)}} - 1\right) \]
          14. PI-lowering-PI.f3236.6

            \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \left(1 - \frac{\mathsf{fma}\left(-0.5, \frac{\pi \cdot \pi}{s}, -\color{blue}{\pi}\right)}{s}\right)}} - 1\right) \]
        4. Simplified36.6%

          \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{1 + \color{blue}{\left(1 - \frac{\mathsf{fma}\left(-0.5, \frac{\pi \cdot \pi}{s}, -\pi\right)}{s}\right)}}} - 1\right) \]
        5. Taylor expanded in s around inf

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{\color{blue}{2 + \frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
        6. Step-by-step derivation
          1. +-commutativeN/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{\color{blue}{\frac{\mathsf{PI}\left(\right)}{s} + 2}}} - 1\right) \]
          2. +-lowering-+.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{\color{blue}{\frac{\mathsf{PI}\left(\right)}{s} + 2}}} - 1\right) \]
          3. /-lowering-/.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{\color{blue}{\frac{\mathsf{PI}\left(\right)}{s}} + 2}} - 1\right) \]
          4. PI-lowering-PI.f3235.9

            \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{\frac{\color{blue}{\pi}}{s} + 2}} - 1\right) \]
        7. Simplified35.9%

          \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + 1}\right) + \frac{1}{\color{blue}{\frac{\pi}{s} + 2}}} - 1\right) \]
        8. Final simplification35.9%

          \[\leadsto \left(-s\right) \cdot \log \left(-1 + \frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\pi}{-s}}} + \frac{1}{-1 + -1}\right) + \frac{1}{\frac{\pi}{s} + 2}}\right) \]
        9. Add Preprocessing

        Alternative 14: 11.7% accurate, 3.5× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{u \cdot \pi}{3}\\ \left(-s\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, t\_0, \sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot -0.3333333333333333\right)\right) - \mathsf{fma}\left(-1, t\_0, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(-0.25, \mathsf{fma}\left(u, \pi, -\pi\right), \left(u \cdot \pi\right) \cdot -0.25\right)}{1.125}\right)}{s}, 0\right) \end{array} \end{array} \]
        (FPCore (u s)
         :precision binary32
         (let* ((t_0 (/ (* u PI) 3.0)))
           (*
            (- s)
            (fma
             1.0
             (/
              (-
               (fma 1.0 t_0 (* (sqrt PI) (* (sqrt PI) -0.3333333333333333)))
               (fma
                -1.0
                t_0
                (*
                 -2.0
                 (/ (* 3.0 (fma -0.25 (fma u PI (- PI)) (* (* u PI) -0.25))) 1.125))))
              s)
             0.0))))
        float code(float u, float s) {
        	float t_0 = (u * ((float) M_PI)) / 3.0f;
        	return -s * fmaf(1.0f, ((fmaf(1.0f, t_0, (sqrtf(((float) M_PI)) * (sqrtf(((float) M_PI)) * -0.3333333333333333f))) - fmaf(-1.0f, t_0, (-2.0f * ((3.0f * fmaf(-0.25f, fmaf(u, ((float) M_PI), -((float) M_PI)), ((u * ((float) M_PI)) * -0.25f))) / 1.125f)))) / s), 0.0f);
        }
        
        function code(u, s)
        	t_0 = Float32(Float32(u * Float32(pi)) / Float32(3.0))
        	return Float32(Float32(-s) * fma(Float32(1.0), Float32(Float32(fma(Float32(1.0), t_0, Float32(sqrt(Float32(pi)) * Float32(sqrt(Float32(pi)) * Float32(-0.3333333333333333)))) - fma(Float32(-1.0), t_0, Float32(Float32(-2.0) * Float32(Float32(Float32(3.0) * fma(Float32(-0.25), fma(u, Float32(pi), Float32(-Float32(pi))), Float32(Float32(u * Float32(pi)) * Float32(-0.25)))) / Float32(1.125))))) / s), Float32(0.0)))
        end
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \frac{u \cdot \pi}{3}\\
        \left(-s\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, t\_0, \sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot -0.3333333333333333\right)\right) - \mathsf{fma}\left(-1, t\_0, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(-0.25, \mathsf{fma}\left(u, \pi, -\pi\right), \left(u \cdot \pi\right) \cdot -0.25\right)}{1.125}\right)}{s}, 0\right)
        \end{array}
        \end{array}
        
        Derivation
        1. Initial program 98.9%

          \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
        2. Add Preprocessing
        3. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) \cdot u} + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
          2. accelerator-lowering-fma.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right)}} - 1\right) \]
        4. Applied egg-rr98.9%

          \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}} - 1\right) \]
        5. Applied egg-rr99.1%

          \[\leadsto \left(-s\right) \cdot \color{blue}{\left(-\log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)\right)}^{-2} + -1}\right)\right)} \]
        6. Taylor expanded in s around -inf

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \color{blue}{\left(\frac{\left(\left(\frac{-1}{4} \cdot \frac{\mathsf{PI}\left(\right)}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2} \cdot \left(\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1\right)} + \frac{1}{4} \cdot \frac{u \cdot \mathsf{PI}\left(\right)}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2} \cdot \left(\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1\right)}\right) - \left(-2 \cdot \frac{\left(1 + \frac{1}{\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)}\right) \cdot \left(\frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) - \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) + \frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)\right)}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{3} \cdot {\left(\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1\right)}^{2}} + \frac{-1}{4} \cdot \frac{u \cdot \mathsf{PI}\left(\right)}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2} \cdot \left(\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1\right)}\right)\right) \cdot \left(\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1\right)}{s \cdot \left(1 + \frac{1}{\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)}\right)} - \log \left(\frac{1 + \frac{1}{\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)}}{\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1}\right)\right)} \]
        7. Simplified11.9%

          \[\leadsto \left(-s\right) \cdot \color{blue}{\mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \pi}{3}, \frac{\pi \cdot -0.25}{0.75}\right) - \mathsf{fma}\left(-1, \frac{u \cdot \pi}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(-0.25, \mathsf{fma}\left(u, \pi, -\pi\right), -0.25 \cdot \left(u \cdot \pi\right)\right)}{1.125}\right)}{s}, 0\right)} \]
        8. Step-by-step derivation
          1. associate-/l*N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, \color{blue}{\mathsf{PI}\left(\right) \cdot \frac{\frac{-1}{4}}{\frac{3}{4}}}\right) - \mathsf{fma}\left(-1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(\frac{-1}{4}, \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \mathsf{neg}\left(\mathsf{PI}\left(\right)\right)\right), \frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)}{\frac{9}{8}}\right)}{s}, 0\right) \]
          2. add-sqr-sqrtN/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, \color{blue}{\left(\sqrt{\mathsf{PI}\left(\right)} \cdot \sqrt{\mathsf{PI}\left(\right)}\right)} \cdot \frac{\frac{-1}{4}}{\frac{3}{4}}\right) - \mathsf{fma}\left(-1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(\frac{-1}{4}, \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \mathsf{neg}\left(\mathsf{PI}\left(\right)\right)\right), \frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)}{\frac{9}{8}}\right)}{s}, 0\right) \]
          3. associate-*l*N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, \color{blue}{\sqrt{\mathsf{PI}\left(\right)} \cdot \left(\sqrt{\mathsf{PI}\left(\right)} \cdot \frac{\frac{-1}{4}}{\frac{3}{4}}\right)}\right) - \mathsf{fma}\left(-1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(\frac{-1}{4}, \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \mathsf{neg}\left(\mathsf{PI}\left(\right)\right)\right), \frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)}{\frac{9}{8}}\right)}{s}, 0\right) \]
          4. *-lowering-*.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, \color{blue}{\sqrt{\mathsf{PI}\left(\right)} \cdot \left(\sqrt{\mathsf{PI}\left(\right)} \cdot \frac{\frac{-1}{4}}{\frac{3}{4}}\right)}\right) - \mathsf{fma}\left(-1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(\frac{-1}{4}, \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \mathsf{neg}\left(\mathsf{PI}\left(\right)\right)\right), \frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)}{\frac{9}{8}}\right)}{s}, 0\right) \]
          5. sqrt-lowering-sqrt.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, \color{blue}{\sqrt{\mathsf{PI}\left(\right)}} \cdot \left(\sqrt{\mathsf{PI}\left(\right)} \cdot \frac{\frac{-1}{4}}{\frac{3}{4}}\right)\right) - \mathsf{fma}\left(-1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(\frac{-1}{4}, \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \mathsf{neg}\left(\mathsf{PI}\left(\right)\right)\right), \frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)}{\frac{9}{8}}\right)}{s}, 0\right) \]
          6. PI-lowering-PI.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, \sqrt{\color{blue}{\mathsf{PI}\left(\right)}} \cdot \left(\sqrt{\mathsf{PI}\left(\right)} \cdot \frac{\frac{-1}{4}}{\frac{3}{4}}\right)\right) - \mathsf{fma}\left(-1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(\frac{-1}{4}, \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \mathsf{neg}\left(\mathsf{PI}\left(\right)\right)\right), \frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)}{\frac{9}{8}}\right)}{s}, 0\right) \]
          7. *-lowering-*.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, \sqrt{\mathsf{PI}\left(\right)} \cdot \color{blue}{\left(\sqrt{\mathsf{PI}\left(\right)} \cdot \frac{\frac{-1}{4}}{\frac{3}{4}}\right)}\right) - \mathsf{fma}\left(-1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(\frac{-1}{4}, \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \mathsf{neg}\left(\mathsf{PI}\left(\right)\right)\right), \frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)}{\frac{9}{8}}\right)}{s}, 0\right) \]
          8. sqrt-lowering-sqrt.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, \sqrt{\mathsf{PI}\left(\right)} \cdot \left(\color{blue}{\sqrt{\mathsf{PI}\left(\right)}} \cdot \frac{\frac{-1}{4}}{\frac{3}{4}}\right)\right) - \mathsf{fma}\left(-1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(\frac{-1}{4}, \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \mathsf{neg}\left(\mathsf{PI}\left(\right)\right)\right), \frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)}{\frac{9}{8}}\right)}{s}, 0\right) \]
          9. PI-lowering-PI.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, \sqrt{\mathsf{PI}\left(\right)} \cdot \left(\sqrt{\color{blue}{\mathsf{PI}\left(\right)}} \cdot \frac{\frac{-1}{4}}{\frac{3}{4}}\right)\right) - \mathsf{fma}\left(-1, \frac{u \cdot \mathsf{PI}\left(\right)}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(\frac{-1}{4}, \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \mathsf{neg}\left(\mathsf{PI}\left(\right)\right)\right), \frac{-1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right)\right)}{\frac{9}{8}}\right)}{s}, 0\right) \]
          10. metadata-eval11.9

            \[\leadsto \left(-s\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \pi}{3}, \sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot \color{blue}{-0.3333333333333333}\right)\right) - \mathsf{fma}\left(-1, \frac{u \cdot \pi}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(-0.25, \mathsf{fma}\left(u, \pi, -\pi\right), -0.25 \cdot \left(u \cdot \pi\right)\right)}{1.125}\right)}{s}, 0\right) \]
        9. Applied egg-rr11.9%

          \[\leadsto \left(-s\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \pi}{3}, \color{blue}{\sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot -0.3333333333333333\right)}\right) - \mathsf{fma}\left(-1, \frac{u \cdot \pi}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(-0.25, \mathsf{fma}\left(u, \pi, -\pi\right), -0.25 \cdot \left(u \cdot \pi\right)\right)}{1.125}\right)}{s}, 0\right) \]
        10. Final simplification11.9%

          \[\leadsto \left(-s\right) \cdot \mathsf{fma}\left(1, \frac{\mathsf{fma}\left(1, \frac{u \cdot \pi}{3}, \sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot -0.3333333333333333\right)\right) - \mathsf{fma}\left(-1, \frac{u \cdot \pi}{3}, -2 \cdot \frac{3 \cdot \mathsf{fma}\left(-0.25, \mathsf{fma}\left(u, \pi, -\pi\right), \left(u \cdot \pi\right) \cdot -0.25\right)}{1.125}\right)}{s}, 0\right) \]
        11. Add Preprocessing

        Alternative 15: 11.7% accurate, 23.2× speedup?

        \[\begin{array}{l} \\ \mathsf{fma}\left(u, \pi \cdot -0.5, \pi \cdot 0.25\right) \cdot -4 \end{array} \]
        (FPCore (u s) :precision binary32 (* (fma u (* PI -0.5) (* PI 0.25)) -4.0))
        float code(float u, float s) {
        	return fmaf(u, (((float) M_PI) * -0.5f), (((float) M_PI) * 0.25f)) * -4.0f;
        }
        
        function code(u, s)
        	return Float32(fma(u, Float32(Float32(pi) * Float32(-0.5)), Float32(Float32(pi) * Float32(0.25))) * Float32(-4.0))
        end
        
        \begin{array}{l}
        
        \\
        \mathsf{fma}\left(u, \pi \cdot -0.5, \pi \cdot 0.25\right) \cdot -4
        \end{array}
        
        Derivation
        1. Initial program 98.9%

          \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
        2. Add Preprocessing
        3. Step-by-step derivation
          1. clear-numN/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
          2. /-lowering-/.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
          3. /-lowering-/.f32N/A

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\color{blue}{\frac{s}{\mathsf{PI}\left(\right)}}}}}} - 1\right) \]
          4. PI-lowering-PI.f3298.9

            \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{1}{\frac{s}{\color{blue}{\pi}}}}}} - 1\right) \]
        4. Applied egg-rr98.9%

          \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\color{blue}{\frac{1}{\frac{s}{\pi}}}}}} - 1\right) \]
        5. Taylor expanded in s around -inf

          \[\leadsto \color{blue}{-4 \cdot \left(u \cdot \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right) - \frac{-1}{4} \cdot \mathsf{PI}\left(\right)\right)} \]
        6. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \color{blue}{\left(u \cdot \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right) - \frac{-1}{4} \cdot \mathsf{PI}\left(\right)\right) \cdot -4} \]
          2. *-lowering-*.f32N/A

            \[\leadsto \color{blue}{\left(u \cdot \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right) - \frac{-1}{4} \cdot \mathsf{PI}\left(\right)\right) \cdot -4} \]
          3. cancel-sign-sub-invN/A

            \[\leadsto \color{blue}{\left(u \cdot \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right) + \left(\mathsf{neg}\left(\frac{-1}{4}\right)\right) \cdot \mathsf{PI}\left(\right)\right)} \cdot -4 \]
          4. metadata-evalN/A

            \[\leadsto \left(u \cdot \left(\frac{-1}{4} \cdot \mathsf{PI}\left(\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right) + \color{blue}{\frac{1}{4}} \cdot \mathsf{PI}\left(\right)\right) \cdot -4 \]
          5. accelerator-lowering-fma.f32N/A

            \[\leadsto \color{blue}{\mathsf{fma}\left(u, \frac{-1}{4} \cdot \mathsf{PI}\left(\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right), \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)} \cdot -4 \]
          6. distribute-rgt-out--N/A

            \[\leadsto \mathsf{fma}\left(u, \color{blue}{\mathsf{PI}\left(\right) \cdot \left(\frac{-1}{4} - \frac{1}{4}\right)}, \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right) \cdot -4 \]
          7. metadata-evalN/A

            \[\leadsto \mathsf{fma}\left(u, \mathsf{PI}\left(\right) \cdot \color{blue}{\frac{-1}{2}}, \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right) \cdot -4 \]
          8. *-lowering-*.f32N/A

            \[\leadsto \mathsf{fma}\left(u, \color{blue}{\mathsf{PI}\left(\right) \cdot \frac{-1}{2}}, \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right) \cdot -4 \]
          9. PI-lowering-PI.f32N/A

            \[\leadsto \mathsf{fma}\left(u, \color{blue}{\mathsf{PI}\left(\right)} \cdot \frac{-1}{2}, \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right) \cdot -4 \]
          10. *-commutativeN/A

            \[\leadsto \mathsf{fma}\left(u, \mathsf{PI}\left(\right) \cdot \frac{-1}{2}, \color{blue}{\mathsf{PI}\left(\right) \cdot \frac{1}{4}}\right) \cdot -4 \]
          11. *-lowering-*.f32N/A

            \[\leadsto \mathsf{fma}\left(u, \mathsf{PI}\left(\right) \cdot \frac{-1}{2}, \color{blue}{\mathsf{PI}\left(\right) \cdot \frac{1}{4}}\right) \cdot -4 \]
          12. PI-lowering-PI.f3211.9

            \[\leadsto \mathsf{fma}\left(u, \pi \cdot -0.5, \color{blue}{\pi} \cdot 0.25\right) \cdot -4 \]
        7. Simplified11.9%

          \[\leadsto \color{blue}{\mathsf{fma}\left(u, \pi \cdot -0.5, \pi \cdot 0.25\right) \cdot -4} \]
        8. Add Preprocessing

        Alternative 16: 11.5% accurate, 25.5× speedup?

        \[\begin{array}{l} \\ u \cdot \left(\pi - \frac{\pi}{u}\right) \end{array} \]
        (FPCore (u s) :precision binary32 (* u (- PI (/ PI u))))
        float code(float u, float s) {
        	return u * (((float) M_PI) - (((float) M_PI) / u));
        }
        
        function code(u, s)
        	return Float32(u * Float32(Float32(pi) - Float32(Float32(pi) / u)))
        end
        
        function tmp = code(u, s)
        	tmp = u * (single(pi) - (single(pi) / u));
        end
        
        \begin{array}{l}
        
        \\
        u \cdot \left(\pi - \frac{\pi}{u}\right)
        \end{array}
        
        Derivation
        1. Initial program 98.9%

          \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
        2. Add Preprocessing
        3. Taylor expanded in s around inf

          \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
        4. Step-by-step derivation
          1. Simplified37.6%

            \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
          2. Taylor expanded in s around inf

            \[\leadsto \color{blue}{4 \cdot \left(\frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)} \]
          3. Step-by-step derivation
            1. *-lowering-*.f32N/A

              \[\leadsto \color{blue}{4 \cdot \left(\frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)} \]
            2. cancel-sign-sub-invN/A

              \[\leadsto 4 \cdot \color{blue}{\left(\frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) + \left(\mathsf{neg}\left(\frac{1}{4}\right)\right) \cdot \mathsf{PI}\left(\right)\right)} \]
            3. associate-*r*N/A

              \[\leadsto 4 \cdot \left(\color{blue}{\left(\frac{1}{4} \cdot u\right) \cdot \mathsf{PI}\left(\right)} + \left(\mathsf{neg}\left(\frac{1}{4}\right)\right) \cdot \mathsf{PI}\left(\right)\right) \]
            4. metadata-evalN/A

              \[\leadsto 4 \cdot \left(\left(\frac{1}{4} \cdot u\right) \cdot \mathsf{PI}\left(\right) + \color{blue}{\frac{-1}{4}} \cdot \mathsf{PI}\left(\right)\right) \]
            5. distribute-rgt-outN/A

              \[\leadsto 4 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot \left(\frac{1}{4} \cdot u + \frac{-1}{4}\right)\right)} \]
            6. *-lowering-*.f32N/A

              \[\leadsto 4 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot \left(\frac{1}{4} \cdot u + \frac{-1}{4}\right)\right)} \]
            7. PI-lowering-PI.f32N/A

              \[\leadsto 4 \cdot \left(\color{blue}{\mathsf{PI}\left(\right)} \cdot \left(\frac{1}{4} \cdot u + \frac{-1}{4}\right)\right) \]
            8. accelerator-lowering-fma.f3211.7

              \[\leadsto 4 \cdot \left(\pi \cdot \color{blue}{\mathsf{fma}\left(0.25, u, -0.25\right)}\right) \]
          4. Simplified11.7%

            \[\leadsto \color{blue}{4 \cdot \left(\pi \cdot \mathsf{fma}\left(0.25, u, -0.25\right)\right)} \]
          5. Taylor expanded in u around inf

            \[\leadsto \color{blue}{u \cdot \left(\mathsf{PI}\left(\right) + -1 \cdot \frac{\mathsf{PI}\left(\right)}{u}\right)} \]
          6. Step-by-step derivation
            1. *-lowering-*.f32N/A

              \[\leadsto \color{blue}{u \cdot \left(\mathsf{PI}\left(\right) + -1 \cdot \frac{\mathsf{PI}\left(\right)}{u}\right)} \]
            2. mul-1-negN/A

              \[\leadsto u \cdot \left(\mathsf{PI}\left(\right) + \color{blue}{\left(\mathsf{neg}\left(\frac{\mathsf{PI}\left(\right)}{u}\right)\right)}\right) \]
            3. unsub-negN/A

              \[\leadsto u \cdot \color{blue}{\left(\mathsf{PI}\left(\right) - \frac{\mathsf{PI}\left(\right)}{u}\right)} \]
            4. --lowering--.f32N/A

              \[\leadsto u \cdot \color{blue}{\left(\mathsf{PI}\left(\right) - \frac{\mathsf{PI}\left(\right)}{u}\right)} \]
            5. PI-lowering-PI.f32N/A

              \[\leadsto u \cdot \left(\color{blue}{\mathsf{PI}\left(\right)} - \frac{\mathsf{PI}\left(\right)}{u}\right) \]
            6. /-lowering-/.f32N/A

              \[\leadsto u \cdot \left(\mathsf{PI}\left(\right) - \color{blue}{\frac{\mathsf{PI}\left(\right)}{u}}\right) \]
            7. PI-lowering-PI.f3211.7

              \[\leadsto u \cdot \left(\pi - \frac{\color{blue}{\pi}}{u}\right) \]
          7. Simplified11.7%

            \[\leadsto \color{blue}{u \cdot \left(\pi - \frac{\pi}{u}\right)} \]
          8. Add Preprocessing

          Alternative 17: 11.5% accurate, 30.0× speedup?

          \[\begin{array}{l} \\ 4 \cdot \left(\pi \cdot \mathsf{fma}\left(0.25, u, -0.25\right)\right) \end{array} \]
          (FPCore (u s) :precision binary32 (* 4.0 (* PI (fma 0.25 u -0.25))))
          float code(float u, float s) {
          	return 4.0f * (((float) M_PI) * fmaf(0.25f, u, -0.25f));
          }
          
          function code(u, s)
          	return Float32(Float32(4.0) * Float32(Float32(pi) * fma(Float32(0.25), u, Float32(-0.25))))
          end
          
          \begin{array}{l}
          
          \\
          4 \cdot \left(\pi \cdot \mathsf{fma}\left(0.25, u, -0.25\right)\right)
          \end{array}
          
          Derivation
          1. Initial program 98.9%

            \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
          2. Add Preprocessing
          3. Taylor expanded in s around inf

            \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
          4. Step-by-step derivation
            1. Simplified37.6%

              \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
            2. Taylor expanded in s around inf

              \[\leadsto \color{blue}{4 \cdot \left(\frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)} \]
            3. Step-by-step derivation
              1. *-lowering-*.f32N/A

                \[\leadsto \color{blue}{4 \cdot \left(\frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)} \]
              2. cancel-sign-sub-invN/A

                \[\leadsto 4 \cdot \color{blue}{\left(\frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) + \left(\mathsf{neg}\left(\frac{1}{4}\right)\right) \cdot \mathsf{PI}\left(\right)\right)} \]
              3. associate-*r*N/A

                \[\leadsto 4 \cdot \left(\color{blue}{\left(\frac{1}{4} \cdot u\right) \cdot \mathsf{PI}\left(\right)} + \left(\mathsf{neg}\left(\frac{1}{4}\right)\right) \cdot \mathsf{PI}\left(\right)\right) \]
              4. metadata-evalN/A

                \[\leadsto 4 \cdot \left(\left(\frac{1}{4} \cdot u\right) \cdot \mathsf{PI}\left(\right) + \color{blue}{\frac{-1}{4}} \cdot \mathsf{PI}\left(\right)\right) \]
              5. distribute-rgt-outN/A

                \[\leadsto 4 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot \left(\frac{1}{4} \cdot u + \frac{-1}{4}\right)\right)} \]
              6. *-lowering-*.f32N/A

                \[\leadsto 4 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot \left(\frac{1}{4} \cdot u + \frac{-1}{4}\right)\right)} \]
              7. PI-lowering-PI.f32N/A

                \[\leadsto 4 \cdot \left(\color{blue}{\mathsf{PI}\left(\right)} \cdot \left(\frac{1}{4} \cdot u + \frac{-1}{4}\right)\right) \]
              8. accelerator-lowering-fma.f3211.7

                \[\leadsto 4 \cdot \left(\pi \cdot \color{blue}{\mathsf{fma}\left(0.25, u, -0.25\right)}\right) \]
            4. Simplified11.7%

              \[\leadsto \color{blue}{4 \cdot \left(\pi \cdot \mathsf{fma}\left(0.25, u, -0.25\right)\right)} \]
            5. Add Preprocessing

            Alternative 18: 11.5% accurate, 56.7× speedup?

            \[\begin{array}{l} \\ \mathsf{fma}\left(u, \pi, -\pi\right) \end{array} \]
            (FPCore (u s) :precision binary32 (fma u PI (- PI)))
            float code(float u, float s) {
            	return fmaf(u, ((float) M_PI), -((float) M_PI));
            }
            
            function code(u, s)
            	return fma(u, Float32(pi), Float32(-Float32(pi)))
            end
            
            \begin{array}{l}
            
            \\
            \mathsf{fma}\left(u, \pi, -\pi\right)
            \end{array}
            
            Derivation
            1. Initial program 98.9%

              \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
            2. Add Preprocessing
            3. Taylor expanded in s around inf

              \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
            4. Step-by-step derivation
              1. Simplified37.6%

                \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + \color{blue}{1}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
              2. Taylor expanded in s around inf

                \[\leadsto \color{blue}{4 \cdot \left(\frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)} \]
              3. Step-by-step derivation
                1. *-lowering-*.f32N/A

                  \[\leadsto \color{blue}{4 \cdot \left(\frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) - \frac{1}{4} \cdot \mathsf{PI}\left(\right)\right)} \]
                2. cancel-sign-sub-invN/A

                  \[\leadsto 4 \cdot \color{blue}{\left(\frac{1}{4} \cdot \left(u \cdot \mathsf{PI}\left(\right)\right) + \left(\mathsf{neg}\left(\frac{1}{4}\right)\right) \cdot \mathsf{PI}\left(\right)\right)} \]
                3. associate-*r*N/A

                  \[\leadsto 4 \cdot \left(\color{blue}{\left(\frac{1}{4} \cdot u\right) \cdot \mathsf{PI}\left(\right)} + \left(\mathsf{neg}\left(\frac{1}{4}\right)\right) \cdot \mathsf{PI}\left(\right)\right) \]
                4. metadata-evalN/A

                  \[\leadsto 4 \cdot \left(\left(\frac{1}{4} \cdot u\right) \cdot \mathsf{PI}\left(\right) + \color{blue}{\frac{-1}{4}} \cdot \mathsf{PI}\left(\right)\right) \]
                5. distribute-rgt-outN/A

                  \[\leadsto 4 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot \left(\frac{1}{4} \cdot u + \frac{-1}{4}\right)\right)} \]
                6. *-lowering-*.f32N/A

                  \[\leadsto 4 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot \left(\frac{1}{4} \cdot u + \frac{-1}{4}\right)\right)} \]
                7. PI-lowering-PI.f32N/A

                  \[\leadsto 4 \cdot \left(\color{blue}{\mathsf{PI}\left(\right)} \cdot \left(\frac{1}{4} \cdot u + \frac{-1}{4}\right)\right) \]
                8. accelerator-lowering-fma.f3211.7

                  \[\leadsto 4 \cdot \left(\pi \cdot \color{blue}{\mathsf{fma}\left(0.25, u, -0.25\right)}\right) \]
              4. Simplified11.7%

                \[\leadsto \color{blue}{4 \cdot \left(\pi \cdot \mathsf{fma}\left(0.25, u, -0.25\right)\right)} \]
              5. Taylor expanded in u around 0

                \[\leadsto \color{blue}{-1 \cdot \mathsf{PI}\left(\right) + u \cdot \mathsf{PI}\left(\right)} \]
              6. Step-by-step derivation
                1. +-commutativeN/A

                  \[\leadsto \color{blue}{u \cdot \mathsf{PI}\left(\right) + -1 \cdot \mathsf{PI}\left(\right)} \]
                2. accelerator-lowering-fma.f32N/A

                  \[\leadsto \color{blue}{\mathsf{fma}\left(u, \mathsf{PI}\left(\right), -1 \cdot \mathsf{PI}\left(\right)\right)} \]
                3. PI-lowering-PI.f32N/A

                  \[\leadsto \mathsf{fma}\left(u, \color{blue}{\mathsf{PI}\left(\right)}, -1 \cdot \mathsf{PI}\left(\right)\right) \]
                4. mul-1-negN/A

                  \[\leadsto \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}\right) \]
                5. neg-lowering-neg.f32N/A

                  \[\leadsto \mathsf{fma}\left(u, \mathsf{PI}\left(\right), \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}\right) \]
                6. PI-lowering-PI.f3211.7

                  \[\leadsto \mathsf{fma}\left(u, \pi, -\color{blue}{\pi}\right) \]
              7. Simplified11.7%

                \[\leadsto \color{blue}{\mathsf{fma}\left(u, \pi, -\pi\right)} \]
              8. Add Preprocessing

              Alternative 19: 11.5% accurate, 170.0× speedup?

              \[\begin{array}{l} \\ -\pi \end{array} \]
              (FPCore (u s) :precision binary32 (- PI))
              float code(float u, float s) {
              	return -((float) M_PI);
              }
              
              function code(u, s)
              	return Float32(-Float32(pi))
              end
              
              function tmp = code(u, s)
              	tmp = -single(pi);
              end
              
              \begin{array}{l}
              
              \\
              -\pi
              \end{array}
              
              Derivation
              1. Initial program 98.9%

                \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
              2. Add Preprocessing
              3. Taylor expanded in u around 0

                \[\leadsto \color{blue}{-1 \cdot \mathsf{PI}\left(\right)} \]
              4. Step-by-step derivation
                1. mul-1-negN/A

                  \[\leadsto \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)} \]
                2. neg-lowering-neg.f32N/A

                  \[\leadsto \color{blue}{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)} \]
                3. PI-lowering-PI.f3211.7

                  \[\leadsto -\color{blue}{\pi} \]
              5. Simplified11.7%

                \[\leadsto \color{blue}{-\pi} \]
              6. Add Preprocessing

              Alternative 20: 10.3% accurate, 510.0× speedup?

              \[\begin{array}{l} \\ 0 \end{array} \]
              (FPCore (u s) :precision binary32 0.0)
              float code(float u, float s) {
              	return 0.0f;
              }
              
              real(4) function code(u, s)
                  real(4), intent (in) :: u
                  real(4), intent (in) :: s
                  code = 0.0e0
              end function
              
              function code(u, s)
              	return Float32(0.0)
              end
              
              function tmp = code(u, s)
              	tmp = single(0.0);
              end
              
              \begin{array}{l}
              
              \\
              0
              \end{array}
              
              Derivation
              1. Initial program 98.9%

                \[\left(-s\right) \cdot \log \left(\frac{1}{u \cdot \left(\frac{1}{1 + e^{\frac{-\pi}{s}}} - \frac{1}{1 + e^{\frac{\pi}{s}}}\right) + \frac{1}{1 + e^{\frac{\pi}{s}}}} - 1\right) \]
              2. Add Preprocessing
              3. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right) \cdot u} + \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}} - 1\right) \]
                2. accelerator-lowering-fma.f32N/A

                  \[\leadsto \left(\mathsf{neg}\left(s\right)\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{\frac{\mathsf{neg}\left(\mathsf{PI}\left(\right)\right)}{s}}} - \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}, u, \frac{1}{1 + e^{\frac{\mathsf{PI}\left(\right)}{s}}}\right)}} - 1\right) \]
              4. Applied egg-rr98.9%

                \[\leadsto \left(-s\right) \cdot \log \left(\frac{1}{\color{blue}{\mathsf{fma}\left(\frac{1}{1 + e^{-\frac{\pi}{s}}} + \frac{-1}{1 + e^{\frac{\pi}{s}}}, u, \frac{1}{1 + e^{\frac{\pi}{s}}}\right)}} - 1\right) \]
              5. Applied egg-rr99.1%

                \[\leadsto \left(-s\right) \cdot \color{blue}{\left(-\log \left(\frac{1 + \frac{1}{\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)}}{{\left(\frac{1}{1 + e^{\frac{\pi}{s}}} + \left(\frac{u}{1 + e^{-\frac{\pi}{s}}} + \frac{u}{-\left(1 + e^{\frac{\pi}{s}}\right)}\right)\right)}^{-2} + -1}\right)\right)} \]
              6. Taylor expanded in s around inf

                \[\leadsto \color{blue}{s \cdot \log \left(\frac{1 + \frac{1}{\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)}}{\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1}\right)} \]
              7. Step-by-step derivation
                1. distribute-rgt-outN/A

                  \[\leadsto s \cdot \log \left(\frac{1 + \frac{1}{\frac{1}{2} + \color{blue}{u \cdot \left(\frac{-1}{2} + \frac{1}{2}\right)}}}{\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1}\right) \]
                2. metadata-evalN/A

                  \[\leadsto s \cdot \log \left(\frac{1 + \frac{1}{\frac{1}{2} + u \cdot \color{blue}{0}}}{\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1}\right) \]
                3. mul0-rgtN/A

                  \[\leadsto s \cdot \log \left(\frac{1 + \frac{1}{\frac{1}{2} + \color{blue}{0}}}{\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1}\right) \]
                4. metadata-evalN/A

                  \[\leadsto s \cdot \log \left(\frac{1 + \frac{1}{\color{blue}{\frac{1}{2}}}}{\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1}\right) \]
                5. metadata-evalN/A

                  \[\leadsto s \cdot \log \left(\frac{1 + \color{blue}{2}}{\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1}\right) \]
                6. metadata-evalN/A

                  \[\leadsto s \cdot \log \left(\frac{\color{blue}{3}}{\frac{1}{{\left(\frac{1}{2} + \left(\frac{-1}{2} \cdot u + \frac{1}{2} \cdot u\right)\right)}^{2}} - 1}\right) \]
                7. distribute-rgt-outN/A

                  \[\leadsto s \cdot \log \left(\frac{3}{\frac{1}{{\left(\frac{1}{2} + \color{blue}{u \cdot \left(\frac{-1}{2} + \frac{1}{2}\right)}\right)}^{2}} - 1}\right) \]
                8. metadata-evalN/A

                  \[\leadsto s \cdot \log \left(\frac{3}{\frac{1}{{\left(\frac{1}{2} + u \cdot \color{blue}{0}\right)}^{2}} - 1}\right) \]
                9. mul0-rgtN/A

                  \[\leadsto s \cdot \log \left(\frac{3}{\frac{1}{{\left(\frac{1}{2} + \color{blue}{0}\right)}^{2}} - 1}\right) \]
                10. metadata-evalN/A

                  \[\leadsto s \cdot \log \left(\frac{3}{\frac{1}{{\color{blue}{\frac{1}{2}}}^{2}} - 1}\right) \]
                11. metadata-evalN/A

                  \[\leadsto s \cdot \log \left(\frac{3}{\frac{1}{\color{blue}{\frac{1}{4}}} - 1}\right) \]
                12. metadata-evalN/A

                  \[\leadsto s \cdot \log \left(\frac{3}{\color{blue}{4} - 1}\right) \]
                13. metadata-evalN/A

                  \[\leadsto s \cdot \log \left(\frac{3}{\color{blue}{3}}\right) \]
                14. metadata-evalN/A

                  \[\leadsto s \cdot \log \color{blue}{1} \]
              8. Simplified10.2%

                \[\leadsto \color{blue}{s \cdot 0} \]
              9. Step-by-step derivation
                1. mul0-rgt10.2

                  \[\leadsto \color{blue}{0} \]
              10. Applied egg-rr10.2%

                \[\leadsto \color{blue}{0} \]
              11. Add Preprocessing

              Reproduce

              ?
              herbie shell --seed 2024204 
              (FPCore (u s)
                :name "Sample trimmed logistic on [-pi, pi]"
                :precision binary32
                :pre (and (and (<= 2.328306437e-10 u) (<= u 1.0)) (and (<= 0.0 s) (<= s 1.0651631)))
                (* (- s) (log (- (/ 1.0 (+ (* u (- (/ 1.0 (+ 1.0 (exp (/ (- PI) s)))) (/ 1.0 (+ 1.0 (exp (/ PI s)))))) (/ 1.0 (+ 1.0 (exp (/ PI s)))))) 1.0))))