Disney BSSRDF, PDF of scattering profile

Percentage Accurate: 99.6% → 99.6%
Time: 5.4s
Alternatives: 15
Speedup: 1.0×

Specification

?
\[\left(0 \leq s \land s \leq 256\right) \land \left(10^{-6} < r \land r < 1000000\right)\]
\[\begin{array}{l} \\ \frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \end{array} \]
(FPCore (s r)
 :precision binary32
 (+
  (/ (* 0.25 (exp (/ (- r) s))) (* (* (* 2.0 (PI)) s) r))
  (/ (* 0.75 (exp (/ (- r) (* 3.0 s)))) (* (* (* 6.0 (PI)) s) r))))
\begin{array}{l}

\\
\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r}
\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 15 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.6% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \end{array} \]
(FPCore (s r)
 :precision binary32
 (+
  (/ (* 0.25 (exp (/ (- r) s))) (* (* (* 2.0 (PI)) s) r))
  (/ (* 0.75 (exp (/ (- r) (* 3.0 s)))) (* (* (* 6.0 (PI)) s) r))))
\begin{array}{l}

\\
\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r}
\end{array}

Alternative 1: 99.6% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right) \end{array} \]
(FPCore (s r)
 :precision binary32
 (fma
  (/ 0.75 (* (* (PI) 6.0) s))
  (/ (exp (/ (* -0.3333333333333333 r) s)) r)
  (* (/ (exp (/ (- r) s)) (* (* (PI) s) r)) 0.125)))
\begin{array}{l}

\\
\mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right)
\end{array}
Derivation
  1. Initial program 99.7%

    \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
  2. Add Preprocessing
  3. Applied rewrites99.8%

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-r}{3}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)} \]
  4. Taylor expanded in r around 0

    \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{\frac{-1}{3} \cdot r}}{s}}}{r}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
  5. Step-by-step derivation
    1. Applied rewrites99.8%

      \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{-0.3333333333333333 \cdot r}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
    2. Taylor expanded in s around 0

      \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-1}{3} \cdot r}{s}}}{r}, \color{blue}{\frac{1}{8} \cdot \frac{e^{-1 \cdot \frac{r}{s}}}{r \cdot \left(s \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
    3. Step-by-step derivation
      1. Applied rewrites99.8%

        \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \color{blue}{\frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125}\right) \]
      2. Add Preprocessing

      Alternative 2: 99.6% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \mathsf{fma}\left(0.75, \frac{e^{-0.3333333333333333 \cdot \frac{r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \end{array} \]
      (FPCore (s r)
       :precision binary32
       (fma
        0.75
        (/ (exp (* -0.3333333333333333 (/ r s))) (* (* (* (PI) 6.0) s) r))
        (* 0.25 (/ (exp (/ (- r) s)) (* (* (* (PI) 2.0) s) r)))))
      \begin{array}{l}
      
      \\
      \mathsf{fma}\left(0.75, \frac{e^{-0.3333333333333333 \cdot \frac{r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)
      \end{array}
      
      Derivation
      1. Initial program 99.7%

        \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
      2. Add Preprocessing
      3. Applied rewrites99.7%

        \[\leadsto \color{blue}{\mathsf{fma}\left(0.75, \frac{e^{\frac{\frac{-r}{3}}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)} \]
      4. Taylor expanded in s around 0

        \[\leadsto \mathsf{fma}\left(\frac{3}{4}, \frac{e^{\color{blue}{\frac{-1}{3} \cdot \frac{r}{s}}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
      5. Step-by-step derivation
        1. Applied rewrites99.7%

          \[\leadsto \mathsf{fma}\left(0.75, \frac{e^{\color{blue}{-0.3333333333333333 \cdot \frac{r}{s}}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
        2. Add Preprocessing

        Alternative 3: 99.6% accurate, 1.0× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{PI}\left(\right) \cdot s\\ \mathsf{fma}\left(\frac{0.125}{t\_0}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \frac{e^{\frac{-r}{s}}}{t\_0 \cdot r} \cdot 0.125\right) \end{array} \end{array} \]
        (FPCore (s r)
         :precision binary32
         (let* ((t_0 (* (PI) s)))
           (fma
            (/ 0.125 t_0)
            (/ (exp (/ (* -0.3333333333333333 r) s)) r)
            (* (/ (exp (/ (- r) s)) (* t_0 r)) 0.125))))
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \mathsf{PI}\left(\right) \cdot s\\
        \mathsf{fma}\left(\frac{0.125}{t\_0}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \frac{e^{\frac{-r}{s}}}{t\_0 \cdot r} \cdot 0.125\right)
        \end{array}
        \end{array}
        
        Derivation
        1. Initial program 99.7%

          \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
        2. Add Preprocessing
        3. Applied rewrites99.8%

          \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-r}{3}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)} \]
        4. Taylor expanded in r around 0

          \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{\frac{-1}{3} \cdot r}}{s}}}{r}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
        5. Step-by-step derivation
          1. Applied rewrites99.8%

            \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{-0.3333333333333333 \cdot r}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
          2. Taylor expanded in s around 0

            \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-1}{3} \cdot r}{s}}}{r}, \color{blue}{\frac{1}{8} \cdot \frac{e^{-1 \cdot \frac{r}{s}}}{r \cdot \left(s \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
          3. Step-by-step derivation
            1. Applied rewrites99.8%

              \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \color{blue}{\frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125}\right) \]
            2. Taylor expanded in s around 0

              \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{\frac{1}{8}}{s \cdot \mathsf{PI}\left(\right)}}, \frac{e^{\frac{\frac{-1}{3} \cdot r}{s}}}{r}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot \frac{1}{8}\right) \]
            3. Step-by-step derivation
              1. Applied rewrites99.7%

                \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{0.125}{\mathsf{PI}\left(\right) \cdot s}}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right) \]
              2. Add Preprocessing

              Alternative 4: 10.6% accurate, 1.2× speedup?

              \[\begin{array}{l} \\ \mathsf{fma}\left(0.75, \frac{\frac{\mathsf{fma}\left(-0.00102880658436214, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{0.009259259259259259}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{0.05555555555555555}{\mathsf{PI}\left(\right)}}{s} + \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot r}}{s}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) + \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r}\right) \end{array} \]
              (FPCore (s r)
               :precision binary32
               (fma
                0.75
                (/
                 (+
                  (/
                   (-
                    (*
                     (fma
                      -0.00102880658436214
                      (/ r (* (* s s) (PI)))
                      (/ 0.009259259259259259 (* (PI) s)))
                     r)
                    (/ 0.05555555555555555 (PI)))
                   s)
                  (/ 0.16666666666666666 (* (PI) r)))
                 s)
                (* 0.25 (/ (exp (/ (- r) s)) (* (* (+ (PI) (PI)) s) r)))))
              \begin{array}{l}
              
              \\
              \mathsf{fma}\left(0.75, \frac{\frac{\mathsf{fma}\left(-0.00102880658436214, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{0.009259259259259259}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{0.05555555555555555}{\mathsf{PI}\left(\right)}}{s} + \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot r}}{s}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) + \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r}\right)
              \end{array}
              
              Derivation
              1. Initial program 99.7%

                \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
              2. Add Preprocessing
              3. Applied rewrites99.7%

                \[\leadsto \color{blue}{\mathsf{fma}\left(0.75, \frac{e^{\frac{\frac{-r}{3}}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)} \]
              4. Taylor expanded in s around -inf

                \[\leadsto \mathsf{fma}\left(\frac{3}{4}, \color{blue}{-1 \cdot \frac{-1 \cdot \frac{-1 \cdot \frac{\frac{-1}{108} \cdot \frac{r}{\mathsf{PI}\left(\right)} + \frac{1}{972} \cdot \frac{{r}^{2}}{s \cdot \mathsf{PI}\left(\right)}}{s} - \frac{1}{18} \cdot \frac{1}{\mathsf{PI}\left(\right)}}{s} - \frac{1}{6} \cdot \frac{1}{r \cdot \mathsf{PI}\left(\right)}}{s}}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
              5. Applied rewrites13.2%

                \[\leadsto \mathsf{fma}\left(0.75, \color{blue}{-\frac{\left(-\frac{\left(-\frac{\mathsf{fma}\left(0.00102880658436214, \frac{\frac{r \cdot r}{s}}{\mathsf{PI}\left(\right)}, -0.009259259259259259 \cdot \frac{r}{\mathsf{PI}\left(\right)}\right)}{s}\right) - \frac{0.05555555555555555}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot r}}{s}}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
              6. Taylor expanded in r around 0

                \[\leadsto \mathsf{fma}\left(\frac{3}{4}, -\frac{\left(-\frac{r \cdot \left(\frac{-1}{972} \cdot \frac{r}{{s}^{2} \cdot \mathsf{PI}\left(\right)} + \frac{1}{108} \cdot \frac{1}{s \cdot \mathsf{PI}\left(\right)}\right) - \frac{\frac{1}{18}}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{\frac{1}{6}}{\mathsf{PI}\left(\right) \cdot r}}{s}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
              7. Step-by-step derivation
                1. Applied rewrites13.2%

                  \[\leadsto \mathsf{fma}\left(0.75, -\frac{\left(-\frac{\mathsf{fma}\left(-0.00102880658436214, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{0.009259259259259259}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{0.05555555555555555}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot r}}{s}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                2. Step-by-step derivation
                  1. lift-PI.f32N/A

                    \[\leadsto \mathsf{fma}\left(\frac{3}{4}, -\frac{\left(-\frac{\mathsf{fma}\left(\frac{-1}{972}, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{\frac{1}{108}}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{\frac{1}{18}}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{\frac{1}{6}}{\mathsf{PI}\left(\right) \cdot r}}{s}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                  2. lift-*.f32N/A

                    \[\leadsto \mathsf{fma}\left(\frac{3}{4}, -\frac{\left(-\frac{\mathsf{fma}\left(\frac{-1}{972}, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{\frac{1}{108}}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{\frac{1}{18}}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{\frac{1}{6}}{\mathsf{PI}\left(\right) \cdot r}}{s}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot s\right) \cdot r}\right) \]
                  3. *-commutativeN/A

                    \[\leadsto \mathsf{fma}\left(\frac{3}{4}, -\frac{\left(-\frac{\mathsf{fma}\left(\frac{-1}{972}, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{\frac{1}{108}}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{\frac{1}{18}}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{\frac{1}{6}}{\mathsf{PI}\left(\right) \cdot r}}{s}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\color{blue}{\left(2 \cdot \mathsf{PI}\left(\right)\right)} \cdot s\right) \cdot r}\right) \]
                  4. count-2-revN/A

                    \[\leadsto \mathsf{fma}\left(\frac{3}{4}, -\frac{\left(-\frac{\mathsf{fma}\left(\frac{-1}{972}, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{\frac{1}{108}}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{\frac{1}{18}}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{\frac{1}{6}}{\mathsf{PI}\left(\right) \cdot r}}{s}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\color{blue}{\left(\mathsf{PI}\left(\right) + \mathsf{PI}\left(\right)\right)} \cdot s\right) \cdot r}\right) \]
                  5. lower-+.f32N/A

                    \[\leadsto \mathsf{fma}\left(\frac{3}{4}, -\frac{\left(-\frac{\mathsf{fma}\left(\frac{-1}{972}, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{\frac{1}{108}}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{\frac{1}{18}}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{\frac{1}{6}}{\mathsf{PI}\left(\right) \cdot r}}{s}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\color{blue}{\left(\mathsf{PI}\left(\right) + \mathsf{PI}\left(\right)\right)} \cdot s\right) \cdot r}\right) \]
                  6. lift-PI.f32N/A

                    \[\leadsto \mathsf{fma}\left(\frac{3}{4}, -\frac{\left(-\frac{\mathsf{fma}\left(\frac{-1}{972}, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{\frac{1}{108}}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{\frac{1}{18}}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{\frac{1}{6}}{\mathsf{PI}\left(\right) \cdot r}}{s}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\color{blue}{\mathsf{PI}\left(\right)} + \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r}\right) \]
                  7. lift-PI.f3213.2

                    \[\leadsto \mathsf{fma}\left(0.75, -\frac{\left(-\frac{\mathsf{fma}\left(-0.00102880658436214, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{0.009259259259259259}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{0.05555555555555555}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot r}}{s}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) + \color{blue}{\mathsf{PI}\left(\right)}\right) \cdot s\right) \cdot r}\right) \]
                3. Applied rewrites13.2%

                  \[\leadsto \mathsf{fma}\left(0.75, -\frac{\left(-\frac{\mathsf{fma}\left(-0.00102880658436214, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{0.009259259259259259}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{0.05555555555555555}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot r}}{s}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\color{blue}{\left(\mathsf{PI}\left(\right) + \mathsf{PI}\left(\right)\right)} \cdot s\right) \cdot r}\right) \]
                4. Final simplification13.2%

                  \[\leadsto \mathsf{fma}\left(0.75, \frac{\frac{\mathsf{fma}\left(-0.00102880658436214, \frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, \frac{0.009259259259259259}{\mathsf{PI}\left(\right) \cdot s}\right) \cdot r - \frac{0.05555555555555555}{\mathsf{PI}\left(\right)}}{s} + \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot r}}{s}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) + \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r}\right) \]
                5. Add Preprocessing

                Alternative 5: 10.6% accurate, 1.2× speedup?

                \[\begin{array}{l} \\ \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{r \cdot r}{s}, -0.006172839506172839, 0.05555555555555555 \cdot r\right)}{s}, -1, 0.3333333333333333\right)}{s}, -1, \frac{1}{r}\right), 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \end{array} \]
                (FPCore (s r)
                 :precision binary32
                 (fma
                  (/ 0.75 (* (* (PI) 6.0) s))
                  (fma
                   (/
                    (fma
                     (/ (fma (/ (* r r) s) -0.006172839506172839 (* 0.05555555555555555 r)) s)
                     -1.0
                     0.3333333333333333)
                    s)
                   -1.0
                   (/ 1.0 r))
                  (* 0.25 (/ (exp (/ (- r) s)) (* (* (* (PI) 2.0) s) r)))))
                \begin{array}{l}
                
                \\
                \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{r \cdot r}{s}, -0.006172839506172839, 0.05555555555555555 \cdot r\right)}{s}, -1, 0.3333333333333333\right)}{s}, -1, \frac{1}{r}\right), 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)
                \end{array}
                
                Derivation
                1. Initial program 99.7%

                  \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                2. Add Preprocessing
                3. Applied rewrites99.8%

                  \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-r}{3}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)} \]
                4. Taylor expanded in s around -inf

                  \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \color{blue}{-1 \cdot \frac{\frac{1}{3} + -1 \cdot \frac{\frac{-1}{162} \cdot \frac{{r}^{2}}{s} + \frac{1}{18} \cdot r}{s}}{s} + \frac{1}{r}}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                5. Step-by-step derivation
                  1. Applied rewrites13.2%

                    \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \color{blue}{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{r \cdot r}{s}, -0.006172839506172839, 0.05555555555555555 \cdot r\right)}{s}, -1, 0.3333333333333333\right)}{s}, -1, \frac{1}{r}\right)}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                  2. Add Preprocessing

                  Alternative 6: 10.6% accurate, 1.2× speedup?

                  \[\begin{array}{l} \\ \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(r \cdot \frac{r}{s}, -0.006172839506172839, 0.05555555555555555 \cdot r\right)}{s}, -1, 0.3333333333333333\right)}{s}, -1, \frac{1}{r}\right), \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right) \end{array} \]
                  (FPCore (s r)
                   :precision binary32
                   (fma
                    (/ 0.75 (* (* (PI) 6.0) s))
                    (fma
                     (/
                      (fma
                       (/ (fma (* r (/ r s)) -0.006172839506172839 (* 0.05555555555555555 r)) s)
                       -1.0
                       0.3333333333333333)
                      s)
                     -1.0
                     (/ 1.0 r))
                    (* (/ (exp (/ (- r) s)) (* (* (PI) s) r)) 0.125)))
                  \begin{array}{l}
                  
                  \\
                  \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(r \cdot \frac{r}{s}, -0.006172839506172839, 0.05555555555555555 \cdot r\right)}{s}, -1, 0.3333333333333333\right)}{s}, -1, \frac{1}{r}\right), \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right)
                  \end{array}
                  
                  Derivation
                  1. Initial program 99.7%

                    \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                  2. Add Preprocessing
                  3. Applied rewrites99.8%

                    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-r}{3}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)} \]
                  4. Taylor expanded in r around 0

                    \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{\frac{-1}{3} \cdot r}}{s}}}{r}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                  5. Step-by-step derivation
                    1. Applied rewrites99.8%

                      \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{-0.3333333333333333 \cdot r}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                    2. Taylor expanded in s around 0

                      \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-1}{3} \cdot r}{s}}}{r}, \color{blue}{\frac{1}{8} \cdot \frac{e^{-1 \cdot \frac{r}{s}}}{r \cdot \left(s \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
                    3. Step-by-step derivation
                      1. Applied rewrites99.8%

                        \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \color{blue}{\frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125}\right) \]
                      2. Taylor expanded in s around -inf

                        \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \color{blue}{-1 \cdot \frac{\frac{1}{3} + -1 \cdot \frac{\frac{-1}{162} \cdot \frac{{r}^{2}}{s} + \frac{1}{18} \cdot r}{s}}{s} + \frac{1}{r}}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot \frac{1}{8}\right) \]
                      3. Step-by-step derivation
                        1. Applied rewrites13.2%

                          \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \color{blue}{\mathsf{fma}\left(\frac{\mathsf{fma}\left(\frac{\mathsf{fma}\left(r \cdot \frac{r}{s}, -0.006172839506172839, 0.05555555555555555 \cdot r\right)}{s}, -1, 0.3333333333333333\right)}{s}, -1, \frac{1}{r}\right)}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right) \]
                        2. Add Preprocessing

                        Alternative 7: 10.7% accurate, 1.4× speedup?

                        \[\begin{array}{l} \\ \mathsf{fma}\left(0.75, \frac{\mathsf{fma}\left(\frac{r}{s \cdot s} \cdot 0.05555555555555555 - \frac{0.3333333333333333}{s}, r, 1\right)}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \end{array} \]
                        (FPCore (s r)
                         :precision binary32
                         (fma
                          0.75
                          (/
                           (fma
                            (- (* (/ r (* s s)) 0.05555555555555555) (/ 0.3333333333333333 s))
                            r
                            1.0)
                           (* (* (* (PI) 6.0) s) r))
                          (* 0.25 (/ (exp (/ (- r) s)) (* (* (* (PI) 2.0) s) r)))))
                        \begin{array}{l}
                        
                        \\
                        \mathsf{fma}\left(0.75, \frac{\mathsf{fma}\left(\frac{r}{s \cdot s} \cdot 0.05555555555555555 - \frac{0.3333333333333333}{s}, r, 1\right)}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)
                        \end{array}
                        
                        Derivation
                        1. Initial program 99.7%

                          \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                        2. Add Preprocessing
                        3. Applied rewrites99.7%

                          \[\leadsto \color{blue}{\mathsf{fma}\left(0.75, \frac{e^{\frac{\frac{-r}{3}}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)} \]
                        4. Taylor expanded in r around 0

                          \[\leadsto \mathsf{fma}\left(\frac{3}{4}, \frac{\color{blue}{1 + r \cdot \left(\frac{1}{18} \cdot \frac{r}{{s}^{2}} - \frac{1}{3} \cdot \frac{1}{s}\right)}}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                        5. Step-by-step derivation
                          1. Applied rewrites13.1%

                            \[\leadsto \mathsf{fma}\left(0.75, \frac{\color{blue}{\mathsf{fma}\left(\frac{r}{s \cdot s} \cdot 0.05555555555555555 - \frac{0.3333333333333333}{s}, r, 1\right)}}{\left(\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s\right) \cdot r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                          2. Add Preprocessing

                          Alternative 8: 10.7% accurate, 1.4× speedup?

                          \[\begin{array}{l} \\ \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \mathsf{fma}\left(\frac{r}{s \cdot s}, 0.05555555555555555, \frac{1}{r}\right) - \frac{0.3333333333333333}{s}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right) \end{array} \]
                          (FPCore (s r)
                           :precision binary32
                           (fma
                            (/ 0.75 (* (* (PI) 6.0) s))
                            (-
                             (fma (/ r (* s s)) 0.05555555555555555 (/ 1.0 r))
                             (/ 0.3333333333333333 s))
                            (* (/ (exp (/ (- r) s)) (* (* (PI) s) r)) 0.125)))
                          \begin{array}{l}
                          
                          \\
                          \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \mathsf{fma}\left(\frac{r}{s \cdot s}, 0.05555555555555555, \frac{1}{r}\right) - \frac{0.3333333333333333}{s}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right)
                          \end{array}
                          
                          Derivation
                          1. Initial program 99.7%

                            \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                          2. Add Preprocessing
                          3. Applied rewrites99.8%

                            \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-r}{3}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)} \]
                          4. Taylor expanded in r around 0

                            \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{\frac{-1}{3} \cdot r}}{s}}}{r}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                          5. Step-by-step derivation
                            1. Applied rewrites99.8%

                              \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{-0.3333333333333333 \cdot r}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                            2. Taylor expanded in s around 0

                              \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-1}{3} \cdot r}{s}}}{r}, \color{blue}{\frac{1}{8} \cdot \frac{e^{-1 \cdot \frac{r}{s}}}{r \cdot \left(s \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
                            3. Step-by-step derivation
                              1. Applied rewrites99.8%

                                \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \color{blue}{\frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125}\right) \]
                              2. Taylor expanded in s around inf

                                \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \color{blue}{\left(\frac{1}{18} \cdot \frac{r}{{s}^{2}} + \frac{1}{r}\right) - \frac{1}{3} \cdot \frac{1}{s}}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot \frac{1}{8}\right) \]
                              3. Step-by-step derivation
                                1. Applied rewrites13.1%

                                  \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \color{blue}{\mathsf{fma}\left(\frac{r}{s \cdot s}, 0.05555555555555555, \frac{1}{r}\right) - \frac{0.3333333333333333}{s}}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right) \]
                                2. Add Preprocessing

                                Alternative 9: 10.7% accurate, 1.4× speedup?

                                \[\begin{array}{l} \\ \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \mathsf{fma}\left(\frac{\mathsf{fma}\left(-0.05555555555555555, \frac{r}{s}, 0.3333333333333333\right)}{s}, -1, \frac{1}{r}\right), \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right) \end{array} \]
                                (FPCore (s r)
                                 :precision binary32
                                 (fma
                                  (/ 0.75 (* (* (PI) 6.0) s))
                                  (fma
                                   (/ (fma -0.05555555555555555 (/ r s) 0.3333333333333333) s)
                                   -1.0
                                   (/ 1.0 r))
                                  (* (/ (exp (/ (- r) s)) (* (* (PI) s) r)) 0.125)))
                                \begin{array}{l}
                                
                                \\
                                \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \mathsf{fma}\left(\frac{\mathsf{fma}\left(-0.05555555555555555, \frac{r}{s}, 0.3333333333333333\right)}{s}, -1, \frac{1}{r}\right), \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right)
                                \end{array}
                                
                                Derivation
                                1. Initial program 99.7%

                                  \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                                2. Add Preprocessing
                                3. Applied rewrites99.8%

                                  \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-r}{3}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right)} \]
                                4. Taylor expanded in r around 0

                                  \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{\frac{-1}{3} \cdot r}}{s}}}{r}, \frac{1}{4} \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                                5. Step-by-step derivation
                                  1. Applied rewrites99.8%

                                    \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\color{blue}{-0.3333333333333333 \cdot r}}{s}}}{r}, 0.25 \cdot \frac{e^{\frac{-r}{s}}}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot s\right) \cdot r}\right) \]
                                  2. Taylor expanded in s around 0

                                    \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{\frac{-1}{3} \cdot r}{s}}}{r}, \color{blue}{\frac{1}{8} \cdot \frac{e^{-1 \cdot \frac{r}{s}}}{r \cdot \left(s \cdot \mathsf{PI}\left(\right)\right)}}\right) \]
                                  3. Step-by-step derivation
                                    1. Applied rewrites99.8%

                                      \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \frac{e^{\frac{-0.3333333333333333 \cdot r}{s}}}{r}, \color{blue}{\frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125}\right) \]
                                    2. Taylor expanded in s around -inf

                                      \[\leadsto \mathsf{fma}\left(\frac{\frac{3}{4}}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \color{blue}{-1 \cdot \frac{\frac{1}{3} + \frac{-1}{18} \cdot \frac{r}{s}}{s} + \frac{1}{r}}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot \frac{1}{8}\right) \]
                                    3. Step-by-step derivation
                                      1. Applied rewrites13.1%

                                        \[\leadsto \mathsf{fma}\left(\frac{0.75}{\left(\mathsf{PI}\left(\right) \cdot 6\right) \cdot s}, \color{blue}{\mathsf{fma}\left(\frac{\mathsf{fma}\left(-0.05555555555555555, \frac{r}{s}, 0.3333333333333333\right)}{s}, -1, \frac{1}{r}\right)}, \frac{e^{\frac{-r}{s}}}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \cdot 0.125\right) \]
                                      2. Add Preprocessing

                                      Alternative 10: 10.1% accurate, 3.9× speedup?

                                      \[\begin{array}{l} \\ \frac{\mathsf{fma}\left(\frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, -0.06944444444444445, \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}\right) - \frac{0.25}{\mathsf{PI}\left(\right) \cdot r}}{-s} \end{array} \]
                                      (FPCore (s r)
                                       :precision binary32
                                       (/
                                        (-
                                         (fma
                                          (/ r (* (* s s) (PI)))
                                          -0.06944444444444445
                                          (/ 0.16666666666666666 (* (PI) s)))
                                         (/ 0.25 (* (PI) r)))
                                        (- s)))
                                      \begin{array}{l}
                                      
                                      \\
                                      \frac{\mathsf{fma}\left(\frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, -0.06944444444444445, \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}\right) - \frac{0.25}{\mathsf{PI}\left(\right) \cdot r}}{-s}
                                      \end{array}
                                      
                                      Derivation
                                      1. Initial program 99.7%

                                        \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                                      2. Add Preprocessing
                                      3. Taylor expanded in s around -inf

                                        \[\leadsto \color{blue}{-1 \cdot \frac{-1 \cdot \frac{-1 \cdot \frac{-1 \cdot \frac{\frac{-1}{48} \cdot \frac{{r}^{2}}{\mathsf{PI}\left(\right)} + \frac{-1}{1296} \cdot \frac{{r}^{2}}{\mathsf{PI}\left(\right)}}{s} + \left(\frac{-1}{16} \cdot \frac{r}{\mathsf{PI}\left(\right)} + \frac{-1}{144} \cdot \frac{r}{\mathsf{PI}\left(\right)}\right)}{s} - \frac{1}{6} \cdot \frac{1}{\mathsf{PI}\left(\right)}}{s} - \frac{1}{4} \cdot \frac{1}{r \cdot \mathsf{PI}\left(\right)}}{s}} \]
                                      4. Applied rewrites12.4%

                                        \[\leadsto \color{blue}{-\frac{\left(-\frac{\left(-\frac{\mathsf{fma}\left(\frac{r}{\mathsf{PI}\left(\right)}, -0.06944444444444445, -\frac{\frac{r \cdot r}{\mathsf{PI}\left(\right)} \cdot -0.021604938271604937}{s}\right)}{s}\right) - \frac{0.16666666666666666}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{0.25}{\mathsf{PI}\left(\right) \cdot r}}{s}} \]
                                      5. Taylor expanded in r around 0

                                        \[\leadsto -\frac{\left(\frac{-5}{72} \cdot \frac{r}{{s}^{2} \cdot \mathsf{PI}\left(\right)} + \frac{1}{6} \cdot \frac{1}{s \cdot \mathsf{PI}\left(\right)}\right) - \frac{\frac{1}{4}}{\mathsf{PI}\left(\right) \cdot r}}{s} \]
                                      6. Step-by-step derivation
                                        1. Applied rewrites12.4%

                                          \[\leadsto -\frac{\mathsf{fma}\left(\frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, -0.06944444444444445, \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}\right) - \frac{0.25}{\mathsf{PI}\left(\right) \cdot r}}{s} \]
                                        2. Final simplification12.4%

                                          \[\leadsto \frac{\mathsf{fma}\left(\frac{r}{\left(s \cdot s\right) \cdot \mathsf{PI}\left(\right)}, -0.06944444444444445, \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}\right) - \frac{0.25}{\mathsf{PI}\left(\right) \cdot r}}{-s} \]
                                        3. Add Preprocessing

                                        Alternative 11: 9.1% accurate, 5.6× speedup?

                                        \[\begin{array}{l} \\ \frac{\frac{\frac{0.25}{r}}{\mathsf{PI}\left(\right)} - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}}{s} \end{array} \]
                                        (FPCore (s r)
                                         :precision binary32
                                         (/ (- (/ (/ 0.25 r) (PI)) (/ 0.16666666666666666 (* (PI) s))) s))
                                        \begin{array}{l}
                                        
                                        \\
                                        \frac{\frac{\frac{0.25}{r}}{\mathsf{PI}\left(\right)} - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}}{s}
                                        \end{array}
                                        
                                        Derivation
                                        1. Initial program 99.7%

                                          \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                                        2. Add Preprocessing
                                        3. Taylor expanded in s around -inf

                                          \[\leadsto \color{blue}{-1 \cdot \frac{-1 \cdot \frac{-1 \cdot \frac{-1 \cdot \frac{\frac{-1}{48} \cdot \frac{{r}^{2}}{\mathsf{PI}\left(\right)} + \frac{-1}{1296} \cdot \frac{{r}^{2}}{\mathsf{PI}\left(\right)}}{s} + \left(\frac{-1}{16} \cdot \frac{r}{\mathsf{PI}\left(\right)} + \frac{-1}{144} \cdot \frac{r}{\mathsf{PI}\left(\right)}\right)}{s} - \frac{1}{6} \cdot \frac{1}{\mathsf{PI}\left(\right)}}{s} - \frac{1}{4} \cdot \frac{1}{r \cdot \mathsf{PI}\left(\right)}}{s}} \]
                                        4. Applied rewrites12.4%

                                          \[\leadsto \color{blue}{-\frac{\left(-\frac{\left(-\frac{\mathsf{fma}\left(\frac{r}{\mathsf{PI}\left(\right)}, -0.06944444444444445, -\frac{\frac{r \cdot r}{\mathsf{PI}\left(\right)} \cdot -0.021604938271604937}{s}\right)}{s}\right) - \frac{0.16666666666666666}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{0.25}{\mathsf{PI}\left(\right) \cdot r}}{s}} \]
                                        5. Taylor expanded in s around inf

                                          \[\leadsto \frac{\frac{1}{4} \cdot \frac{1}{r \cdot \mathsf{PI}\left(\right)} - \frac{1}{6} \cdot \frac{1}{s \cdot \mathsf{PI}\left(\right)}}{\color{blue}{s}} \]
                                        6. Step-by-step derivation
                                          1. Applied rewrites10.8%

                                            \[\leadsto \frac{\frac{\frac{0.25}{r}}{\mathsf{PI}\left(\right)} - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}}{\color{blue}{s}} \]
                                          2. Add Preprocessing

                                          Alternative 12: 9.1% accurate, 6.3× speedup?

                                          \[\begin{array}{l} \\ \frac{\frac{0.25}{\mathsf{PI}\left(\right) \cdot r} - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}}{s} \end{array} \]
                                          (FPCore (s r)
                                           :precision binary32
                                           (/ (- (/ 0.25 (* (PI) r)) (/ 0.16666666666666666 (* (PI) s))) s))
                                          \begin{array}{l}
                                          
                                          \\
                                          \frac{\frac{0.25}{\mathsf{PI}\left(\right) \cdot r} - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}}{s}
                                          \end{array}
                                          
                                          Derivation
                                          1. Initial program 99.7%

                                            \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                                          2. Add Preprocessing
                                          3. Taylor expanded in s around inf

                                            \[\leadsto \color{blue}{\frac{\frac{1}{4} \cdot \frac{1}{r \cdot \mathsf{PI}\left(\right)} - \frac{1}{6} \cdot \frac{1}{s \cdot \mathsf{PI}\left(\right)}}{s}} \]
                                          4. Step-by-step derivation
                                            1. Applied rewrites10.8%

                                              \[\leadsto \color{blue}{\frac{\frac{0.25}{\mathsf{PI}\left(\right) \cdot r} - \frac{0.16666666666666666}{\mathsf{PI}\left(\right) \cdot s}}{s}} \]
                                            2. Add Preprocessing

                                            Alternative 13: 9.0% accurate, 9.9× speedup?

                                            \[\begin{array}{l} \\ \frac{\frac{-0.25}{\mathsf{PI}\left(\right) \cdot r}}{-s} \end{array} \]
                                            (FPCore (s r) :precision binary32 (/ (/ -0.25 (* (PI) r)) (- s)))
                                            \begin{array}{l}
                                            
                                            \\
                                            \frac{\frac{-0.25}{\mathsf{PI}\left(\right) \cdot r}}{-s}
                                            \end{array}
                                            
                                            Derivation
                                            1. Initial program 99.7%

                                              \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                                            2. Add Preprocessing
                                            3. Taylor expanded in s around -inf

                                              \[\leadsto \color{blue}{-1 \cdot \frac{-1 \cdot \frac{-1 \cdot \frac{-1 \cdot \frac{\frac{-1}{48} \cdot \frac{{r}^{2}}{\mathsf{PI}\left(\right)} + \frac{-1}{1296} \cdot \frac{{r}^{2}}{\mathsf{PI}\left(\right)}}{s} + \left(\frac{-1}{16} \cdot \frac{r}{\mathsf{PI}\left(\right)} + \frac{-1}{144} \cdot \frac{r}{\mathsf{PI}\left(\right)}\right)}{s} - \frac{1}{6} \cdot \frac{1}{\mathsf{PI}\left(\right)}}{s} - \frac{1}{4} \cdot \frac{1}{r \cdot \mathsf{PI}\left(\right)}}{s}} \]
                                            4. Applied rewrites12.4%

                                              \[\leadsto \color{blue}{-\frac{\left(-\frac{\left(-\frac{\mathsf{fma}\left(\frac{r}{\mathsf{PI}\left(\right)}, -0.06944444444444445, -\frac{\frac{r \cdot r}{\mathsf{PI}\left(\right)} \cdot -0.021604938271604937}{s}\right)}{s}\right) - \frac{0.16666666666666666}{\mathsf{PI}\left(\right)}}{s}\right) - \frac{0.25}{\mathsf{PI}\left(\right) \cdot r}}{s}} \]
                                            5. Taylor expanded in s around inf

                                              \[\leadsto -\frac{\frac{\frac{-1}{4}}{r \cdot \mathsf{PI}\left(\right)}}{s} \]
                                            6. Step-by-step derivation
                                              1. Applied rewrites10.0%

                                                \[\leadsto -\frac{\frac{-0.25}{\mathsf{PI}\left(\right) \cdot r}}{s} \]
                                              2. Final simplification10.0%

                                                \[\leadsto \frac{\frac{-0.25}{\mathsf{PI}\left(\right) \cdot r}}{-s} \]
                                              3. Add Preprocessing

                                              Alternative 14: 9.0% accurate, 13.5× speedup?

                                              \[\begin{array}{l} \\ \frac{0.25}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r} \end{array} \]
                                              (FPCore (s r) :precision binary32 (/ 0.25 (* (* (PI) s) r)))
                                              \begin{array}{l}
                                              
                                              \\
                                              \frac{0.25}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r}
                                              \end{array}
                                              
                                              Derivation
                                              1. Initial program 99.7%

                                                \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                                              2. Add Preprocessing
                                              3. Taylor expanded in s around inf

                                                \[\leadsto \color{blue}{\frac{\frac{1}{4}}{r \cdot \left(s \cdot \mathsf{PI}\left(\right)\right)}} \]
                                              4. Step-by-step derivation
                                                1. Applied rewrites10.0%

                                                  \[\leadsto \color{blue}{\frac{0.25}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r}} \]
                                                2. Add Preprocessing

                                                Alternative 15: 9.0% accurate, 13.5× speedup?

                                                \[\begin{array}{l} \\ \frac{0.25}{\left(r \cdot s\right) \cdot \mathsf{PI}\left(\right)} \end{array} \]
                                                (FPCore (s r) :precision binary32 (/ 0.25 (* (* r s) (PI))))
                                                \begin{array}{l}
                                                
                                                \\
                                                \frac{0.25}{\left(r \cdot s\right) \cdot \mathsf{PI}\left(\right)}
                                                \end{array}
                                                
                                                Derivation
                                                1. Initial program 99.7%

                                                  \[\frac{0.25 \cdot e^{\frac{-r}{s}}}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} + \frac{0.75 \cdot e^{\frac{-r}{3 \cdot s}}}{\left(\left(6 \cdot \mathsf{PI}\left(\right)\right) \cdot s\right) \cdot r} \]
                                                2. Add Preprocessing
                                                3. Taylor expanded in s around inf

                                                  \[\leadsto \color{blue}{\frac{\frac{1}{4}}{r \cdot \left(s \cdot \mathsf{PI}\left(\right)\right)}} \]
                                                4. Step-by-step derivation
                                                  1. Applied rewrites10.0%

                                                    \[\leadsto \color{blue}{\frac{0.25}{\left(\mathsf{PI}\left(\right) \cdot s\right) \cdot r}} \]
                                                  2. Step-by-step derivation
                                                    1. Applied rewrites10.0%

                                                      \[\leadsto \frac{0.25}{\left(r \cdot s\right) \cdot \color{blue}{\mathsf{PI}\left(\right)}} \]
                                                    2. Add Preprocessing

                                                    Reproduce

                                                    ?
                                                    herbie shell --seed 2025026 
                                                    (FPCore (s r)
                                                      :name "Disney BSSRDF, PDF of scattering profile"
                                                      :precision binary32
                                                      :pre (and (and (<= 0.0 s) (<= s 256.0)) (and (< 1e-6 r) (< r 1000000.0)))
                                                      (+ (/ (* 0.25 (exp (/ (- r) s))) (* (* (* 2.0 (PI)) s) r)) (/ (* 0.75 (exp (/ (- r) (* 3.0 s)))) (* (* (* 6.0 (PI)) s) r))))