\[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
Test:
simple fma test
Bits:
128 bits
Bits error versus x
Bits error versus y
Bits error versus z
Time: 12.3 s
Input Error: 45.0
Output Error: 22.0
Log:
Profile: 🕒
\(\begin{cases} \left((\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - \frac{\frac{1}{x}}{y}\right) - 1 & \text{when } z \le -6348429173.063143 \\ \left((x * y + z)_* - 1\right) - \frac{{\left(y \cdot x\right)}^2 - z \cdot z}{y \cdot x - z} & \text{when } z \le 94.9487900335328 \\ \left((\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - \frac{\frac{1}{x}}{y}\right) - 1 & \text{otherwise} \end{cases}\)

    if z < -6348429173.063143 or 94.9487900335328 < z

    1. Started with
      \[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
      61.4
    2. Using strategy rm
      61.4
    3. Applied add-exp-log to get
      \[(x * y + z)_* - \left(1 + \color{red}{\left(x \cdot y + z\right)}\right) \leadsto (x * y + z)_* - \left(1 + \color{blue}{e^{\log \left(x \cdot y + z\right)}}\right)\]
      62.6
    4. Applied taylor to get
      \[(x * y + z)_* - \left(1 + e^{\log \left(x \cdot y + z\right)}\right) \leadsto (\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - \left(e^{-\left(\log y + \log x\right)} + 1\right)\]
      55.1
    5. Taylor expanded around -inf to get
      \[\color{red}{(\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - \left(e^{-\left(\log y + \log x\right)} + 1\right)} \leadsto \color{blue}{(\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - \left(e^{-\left(\log y + \log x\right)} + 1\right)}\]
      55.1
    6. Applied simplify to get
      \[(\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - \left(e^{-\left(\log y + \log x\right)} + 1\right) \leadsto \left((\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - \frac{\frac{1}{x}}{y}\right) - 1\]
      13.7

    7. Applied final simplification

    if -6348429173.063143 < z < 94.9487900335328

    1. Started with
      \[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
      29.6
    2. Using strategy rm
      29.6
    3. Applied add-cube-cbrt to get
      \[(x * y + z)_* - \left(1 + \color{red}{\left(x \cdot y + z\right)}\right) \leadsto (x * y + z)_* - \left(1 + \color{blue}{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}\right)\]
      30.3
    4. Using strategy rm
      30.3
    5. Applied flip-+ to get
      \[(x * y + z)_* - \left(1 + {\left(\sqrt[3]{\color{red}{x \cdot y + z}}\right)}^3\right) \leadsto (x * y + z)_* - \left(1 + {\left(\sqrt[3]{\color{blue}{\frac{{\left(x \cdot y\right)}^2 - {z}^2}{x \cdot y - z}}}\right)}^3\right)\]
      30.3
    6. Applied cbrt-div to get
      \[(x * y + z)_* - \left(1 + {\color{red}{\left(\sqrt[3]{\frac{{\left(x \cdot y\right)}^2 - {z}^2}{x \cdot y - z}}\right)}}^3\right) \leadsto (x * y + z)_* - \left(1 + {\color{blue}{\left(\frac{\sqrt[3]{{\left(x \cdot y\right)}^2 - {z}^2}}{\sqrt[3]{x \cdot y - z}}\right)}}^3\right)\]
      30.3
    7. Applied cube-div to get
      \[(x * y + z)_* - \left(1 + \color{red}{{\left(\frac{\sqrt[3]{{\left(x \cdot y\right)}^2 - {z}^2}}{\sqrt[3]{x \cdot y - z}}\right)}^3}\right) \leadsto (x * y + z)_* - \left(1 + \color{blue}{\frac{{\left(\sqrt[3]{{\left(x \cdot y\right)}^2 - {z}^2}\right)}^3}{{\left(\sqrt[3]{x \cdot y - z}\right)}^3}}\right)\]
      30.4
    8. Applied simplify to get
      \[(x * y + z)_* - \left(1 + \frac{{\left(\sqrt[3]{{\left(x \cdot y\right)}^2 - {z}^2}\right)}^3}{\color{red}{{\left(\sqrt[3]{x \cdot y - z}\right)}^3}}\right) \leadsto (x * y + z)_* - \left(1 + \frac{{\left(\sqrt[3]{{\left(x \cdot y\right)}^2 - {z}^2}\right)}^3}{\color{blue}{y \cdot x - z}}\right)\]
      30.4
    9. Applied taylor to get
      \[(x * y + z)_* - \left(1 + \frac{{\left(\sqrt[3]{{\left(x \cdot y\right)}^2 - {z}^2}\right)}^3}{y \cdot x - z}\right) \leadsto (x * y + z)_* - \left(1 + \frac{{\left(\sqrt[3]{{y}^2 \cdot {x}^2 - {z}^2}\right)}^3}{y \cdot x - z}\right)\]
      35.0
    10. Taylor expanded around 0 to get
      \[(x * y + z)_* - \left(1 + \frac{{\color{red}{\left(\sqrt[3]{{y}^2 \cdot {x}^2 - {z}^2}\right)}}^3}{y \cdot x - z}\right) \leadsto (x * y + z)_* - \left(1 + \frac{{\color{blue}{\left(\sqrt[3]{{y}^2 \cdot {x}^2 - {z}^2}\right)}}^3}{y \cdot x - z}\right)\]
      35.0
    11. Applied simplify to get
      \[(x * y + z)_* - \left(1 + \frac{{\left(\sqrt[3]{{y}^2 \cdot {x}^2 - {z}^2}\right)}^3}{y \cdot x - z}\right) \leadsto \left((x * y + z)_* - 1\right) - \frac{{x}^2 \cdot \left(y \cdot y\right) - z \cdot z}{y \cdot x - z}\]
      34.9

    12. Applied final simplification
    13. Applied simplify to get
      \[\color{red}{\left((x * y + z)_* - 1\right) - \frac{{x}^2 \cdot \left(y \cdot y\right) - z \cdot z}{y \cdot x - z}} \leadsto \color{blue}{\left((x * y + z)_* - 1\right) - \frac{{\left(y \cdot x\right)}^2 - z \cdot z}{y \cdot x - z}}\]
      29.8

  1. Removed slow pow expressions

Original test:


(lambda ((x default) (y default) (z default))
  #:name "simple fma test"
  (- (fma x y z) (+ 1 (+ (* x y) z)))
  #:target
  -1)