\[(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: 11.1 s
Input Error: 45.4
Output Error: 11.6
Log:
Profile: 🕒
\(\begin{cases} {\left(\sqrt[3]{\left(\left((x * y + z)_* - z\right) - y \cdot x\right) - 1}\right)}^3 & \text{when } x \le 1.0492442837268168 \cdot 10^{+184} \\ (\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - 1 & \text{otherwise} \end{cases}\)

    if x < 1.0492442837268168e+184

    1. Started with
      \[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
      43.5
    2. Using strategy rm
      43.5
    3. Applied add-cube-cbrt to get
      \[(x * y + z)_* - \color{red}{\left(1 + \left(x \cdot y + z\right)\right)} \leadsto (x * y + z)_* - \color{blue}{{\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}\]
      44.2
    4. Using strategy rm
      44.2
    5. Applied add-cube-cbrt to get
      \[\color{red}{(x * y + z)_* - {\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3} \leadsto \color{blue}{{\left(\sqrt[3]{(x * y + z)_* - {\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}\right)}^3}\]
      44.2
    6. Applied simplify to get
      \[{\color{red}{\left(\sqrt[3]{(x * y + z)_* - {\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}\right)}}^3 \leadsto {\color{blue}{\left(\sqrt[3]{\left((x * y + z)_* - z\right) - \left(y \cdot x + 1\right)}\right)}}^3\]
      27.9
    7. Using strategy rm
      27.9
    8. Applied associate--r+ to get
      \[{\left(\sqrt[3]{\color{red}{\left((x * y + z)_* - z\right) - \left(y \cdot x + 1\right)}}\right)}^3 \leadsto {\left(\sqrt[3]{\color{blue}{\left(\left((x * y + z)_* - z\right) - y \cdot x\right) - 1}}\right)}^3\]
      12.9

    if 1.0492442837268168e+184 < x

    1. Started with
      \[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
      62.5
    2. Using strategy rm
      62.5
    3. Applied add-cube-cbrt to get
      \[(x * y + z)_* - \color{red}{\left(1 + \left(x \cdot y + z\right)\right)} \leadsto (x * y + z)_* - \color{blue}{{\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}\]
      62.4
    4. Applied taylor to get
      \[(x * y + z)_* - {\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3 \leadsto (\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - 1\]
      0.0
    5. Taylor expanded around -inf to get
      \[\color{red}{(\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - 1} \leadsto \color{blue}{(\left(\frac{-1}{x}\right) * \left(\frac{-1}{y}\right) + \left(\frac{-1}{z}\right))_* - 1}\]
      0.0

  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)