\[(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: 14.6 s
Input Error: 44.8
Output Error: 29.9
Log:
Profile: 🕒
\(\begin{cases} \left((\left(\frac{1}{x}\right) * \left(\frac{1}{y}\right) + \left(\frac{1}{z}\right))_* - 1\right) - \left(\frac{1}{y \cdot x} + \frac{1}{z}\right) & \text{when } z \le -3.46539097027431 \cdot 10^{-21} \\ {\left(\sqrt[3]{(x * y + z)_* - \left(1 + {\left(\sqrt[3]{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}\right)}^3\right)}\right)}^3 & \text{when } z \le 5.232316343847364 \cdot 10^{-09} \\ \left((\left(\frac{1}{x}\right) * \left(\frac{1}{y}\right) + \left(\frac{1}{z}\right))_* - 1\right) - \left(\frac{1}{y \cdot x} + \frac{1}{z}\right) & \text{otherwise} \end{cases}\)

    if z < -3.46539097027431e-21 or 5.232316343847364e-09 < z

    1. Started with
      \[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
      59.2
    2. Using strategy rm
      59.2
    3. Applied add-cube-cbrt to get
      \[\color{red}{(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)} \leadsto \color{blue}{{\left(\sqrt[3]{(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)}\right)}^3}\]
      59.2
    4. Using strategy rm
      59.2
    5. Applied add-cube-cbrt to get
      \[{\left(\sqrt[3]{(x * y + z)_* - \left(1 + \color{red}{\left(x \cdot y + z\right)}\right)}\right)}^3 \leadsto {\left(\sqrt[3]{(x * y + z)_* - \left(1 + \color{blue}{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}\right)}\right)}^3\]
      59.7
    6. Using strategy rm
      59.7
    7. Applied pow3 to get
      \[{\left(\sqrt[3]{(x * y + z)_* - \left(1 + \color{red}{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}\right)}\right)}^3 \leadsto {\left(\sqrt[3]{(x * y + z)_* - \left(1 + \color{blue}{{\left(\sqrt[3]{x \cdot y + z}\right)}^{3}}\right)}\right)}^3\]
      59.8
    8. Applied taylor to get
      \[{\left(\sqrt[3]{(x * y + z)_* - \left(1 + {\left(\sqrt[3]{x \cdot y + z}\right)}^{3}\right)}\right)}^3 \leadsto {\left(\sqrt[3]{(\left(\frac{1}{x}\right) * \left(\frac{1}{y}\right) + \left(\frac{1}{z}\right))_* - \left(1 + {\left(\sqrt[3]{\frac{1}{z} + \frac{1}{y \cdot x}}\right)}^{3}\right)}\right)}^3\]
      30.5
    9. Taylor expanded around inf to get
      \[{\left(\sqrt[3]{\color{red}{(\left(\frac{1}{x}\right) * \left(\frac{1}{y}\right) + \left(\frac{1}{z}\right))_* - \left(1 + {\left(\sqrt[3]{\frac{1}{z} + \frac{1}{y \cdot x}}\right)}^{3}\right)}}\right)}^3 \leadsto {\left(\sqrt[3]{\color{blue}{(\left(\frac{1}{x}\right) * \left(\frac{1}{y}\right) + \left(\frac{1}{z}\right))_* - \left(1 + {\left(\sqrt[3]{\frac{1}{z} + \frac{1}{y \cdot x}}\right)}^{3}\right)}}\right)}^3\]
      30.5
    10. Applied simplify to get
      \[{\left(\sqrt[3]{(\left(\frac{1}{x}\right) * \left(\frac{1}{y}\right) + \left(\frac{1}{z}\right))_* - \left(1 + {\left(\sqrt[3]{\frac{1}{z} + \frac{1}{y \cdot x}}\right)}^{3}\right)}\right)}^3 \leadsto \left((\left(\frac{1}{x}\right) * \left(\frac{1}{y}\right) + \left(\frac{1}{z}\right))_* - 1\right) - \left(\frac{1}{y \cdot x} + \frac{1}{z}\right)\]
      30.0

    11. Applied final simplification

    if -3.46539097027431e-21 < z < 5.232316343847364e-09

    1. Started with
      \[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
      29.2
    2. Using strategy rm
      29.2
    3. Applied add-cube-cbrt to get
      \[\color{red}{(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)} \leadsto \color{blue}{{\left(\sqrt[3]{(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)}\right)}^3}\]
      29.2
    4. Using strategy rm
      29.2
    5. Applied add-cube-cbrt to get
      \[{\left(\sqrt[3]{(x * y + z)_* - \left(1 + \color{red}{\left(x \cdot y + z\right)}\right)}\right)}^3 \leadsto {\left(\sqrt[3]{(x * y + z)_* - \left(1 + \color{blue}{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}\right)}\right)}^3\]
      29.8
    6. Using strategy rm
      29.8
    7. Applied add-cube-cbrt to get
      \[{\left(\sqrt[3]{(x * y + z)_* - \left(1 + {\left(\sqrt[3]{\color{red}{x \cdot y + z}}\right)}^3\right)}\right)}^3 \leadsto {\left(\sqrt[3]{(x * y + z)_* - \left(1 + {\left(\sqrt[3]{\color{blue}{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}}\right)}^3\right)}\right)}^3\]
      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)