\[(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: 7.4 s
Input Error: 44.9
Output Error: 30.9
Log:
Profile: 🕒
\(\log \left(e^{\left((x * y + z)_* - z\right) - \left(y \cdot x + 1\right)}\right)\)
  1. Started with
    \[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
    44.9
  2. Using strategy rm
    44.9
  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}\]
    45.6
  4. Using strategy rm
    45.6
  5. Applied add-log-exp to get
    \[(x * y + z)_* - \color{red}{{\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3} \leadsto (x * y + z)_* - \color{blue}{\log \left(e^{{\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}\right)}\]
    46.9
  6. Applied add-log-exp to get
    \[\color{red}{(x * y + z)_*} - \log \left(e^{{\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}\right) \leadsto \color{blue}{\log \left(e^{(x * y + z)_*}\right)} - \log \left(e^{{\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}\right)\]
    47.4
  7. Applied diff-log to get
    \[\color{red}{\log \left(e^{(x * y + z)_*}\right) - \log \left(e^{{\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}\right)} \leadsto \color{blue}{\log \left(\frac{e^{(x * y + z)_*}}{e^{{\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}}\right)}\]
    47.4
  8. Applied simplify to get
    \[\log \color{red}{\left(\frac{e^{(x * y + z)_*}}{e^{{\left(\sqrt[3]{1 + \left(x \cdot y + z\right)}\right)}^3}}\right)} \leadsto \log \color{blue}{\left(e^{\left((x * y + z)_* - z\right) - \left(y \cdot x + 1\right)}\right)}\]
    30.9

Original test:


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