\[(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: 10.4 s
Input Error: 44.8
Output Error: 8.1
Log:
Profile: 🕒
\(\begin{cases} \left((x * y + z)_* - \left(y \cdot x + z\right)\right) - 1 & \text{when } z \le -6348429173.063143 \\ \left((x * y + z)_* - \left(y \cdot x + z\right)\right) - 1 & \text{when } z \le 3.337658778213869 \cdot 10^{+34} \\ \left((x * y + z)_* - \left(y \cdot x + z\right)\right) - 1 & \text{otherwise} \end{cases}\)

    if z < -6348429173.063143 or 3.337658778213869e+34 < z

    1. Started with
      \[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
      62.0
    2. Using strategy rm
      62.0
    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)\]
      62.2
    4. Using strategy rm
      62.2
    5. Applied add-cube-cbrt 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}{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}}\right)}^3\right)\]
      62.2
    6. Using strategy rm
      62.2
    7. Applied cube-mult to get
      \[(x * y + z)_* - \left(1 + {\left(\sqrt[3]{\color{red}{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}}\right)}^3\right) \leadsto (x * y + z)_* - \left(1 + {\left(\sqrt[3]{\color{blue}{\sqrt[3]{x \cdot y + z} \cdot \left(\sqrt[3]{x \cdot y + z} \cdot \sqrt[3]{x \cdot y + z}\right)}}\right)}^3\right)\]
      62.2
    8. Applied cbrt-prod to get
      \[(x * y + z)_* - \left(1 + {\color{red}{\left(\sqrt[3]{\sqrt[3]{x \cdot y + z} \cdot \left(\sqrt[3]{x \cdot y + z} \cdot \sqrt[3]{x \cdot y + z}\right)}\right)}}^3\right) \leadsto (x * y + z)_* - \left(1 + {\color{blue}{\left(\sqrt[3]{\sqrt[3]{x \cdot y + z}} \cdot \sqrt[3]{\sqrt[3]{x \cdot y + z} \cdot \sqrt[3]{x \cdot y + z}}\right)}}^3\right)\]
      62.3
    9. Applied taylor to get
      \[(x * y + z)_* - \left(1 + {\left(\sqrt[3]{\sqrt[3]{x \cdot y + z}} \cdot \sqrt[3]{\sqrt[3]{x \cdot y + z} \cdot \sqrt[3]{x \cdot y + z}}\right)}^3\right) \leadsto (x * y + z)_* - \left({\left(\sqrt[3]{{\left(\sqrt[3]{y \cdot x + z}\right)}^2} \cdot \sqrt[3]{\sqrt[3]{y \cdot x + z}}\right)}^3 + 1\right)\]
      62.3
    10. Taylor expanded around 0 to get
      \[\color{red}{(x * y + z)_* - \left({\left(\sqrt[3]{{\left(\sqrt[3]{y \cdot x + z}\right)}^2} \cdot \sqrt[3]{\sqrt[3]{y \cdot x + z}}\right)}^3 + 1\right)} \leadsto \color{blue}{(x * y + z)_* - \left({\left(\sqrt[3]{{\left(\sqrt[3]{y \cdot x + z}\right)}^2} \cdot \sqrt[3]{\sqrt[3]{y \cdot x + z}}\right)}^3 + 1\right)}\]
      62.3
    11. Applied simplify to get
      \[(x * y + z)_* - \left({\left(\sqrt[3]{{\left(\sqrt[3]{y \cdot x + z}\right)}^2} \cdot \sqrt[3]{\sqrt[3]{y \cdot x + z}}\right)}^3 + 1\right) \leadsto \left((x * y + z)_* - {\left(\sqrt[3]{y \cdot x + z}\right)}^2 \cdot \sqrt[3]{y \cdot x + z}\right) - 1\]
      52.2

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

    if -6348429173.063143 < z < 3.337658778213869e+34

    1. Started with
      \[(x * y + z)_* - \left(1 + \left(x \cdot y + z\right)\right)\]
      30.5
    2. Using strategy rm
      30.5
    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)\]
      31.5
    4. Using strategy rm
      31.5
    5. Applied add-cube-cbrt 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}{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}}\right)}^3\right)\]
      31.4
    6. Using strategy rm
      31.4
    7. Applied cube-mult to get
      \[(x * y + z)_* - \left(1 + {\left(\sqrt[3]{\color{red}{{\left(\sqrt[3]{x \cdot y + z}\right)}^3}}\right)}^3\right) \leadsto (x * y + z)_* - \left(1 + {\left(\sqrt[3]{\color{blue}{\sqrt[3]{x \cdot y + z} \cdot \left(\sqrt[3]{x \cdot y + z} \cdot \sqrt[3]{x \cdot y + z}\right)}}\right)}^3\right)\]
      31.4
    8. Applied cbrt-prod to get
      \[(x * y + z)_* - \left(1 + {\color{red}{\left(\sqrt[3]{\sqrt[3]{x \cdot y + z} \cdot \left(\sqrt[3]{x \cdot y + z} \cdot \sqrt[3]{x \cdot y + z}\right)}\right)}}^3\right) \leadsto (x * y + z)_* - \left(1 + {\color{blue}{\left(\sqrt[3]{\sqrt[3]{x \cdot y + z}} \cdot \sqrt[3]{\sqrt[3]{x \cdot y + z} \cdot \sqrt[3]{x \cdot y + z}}\right)}}^3\right)\]
      31.5
    9. Applied taylor to get
      \[(x * y + z)_* - \left(1 + {\left(\sqrt[3]{\sqrt[3]{x \cdot y + z}} \cdot \sqrt[3]{\sqrt[3]{x \cdot y + z} \cdot \sqrt[3]{x \cdot y + z}}\right)}^3\right) \leadsto (x * y + z)_* - \left({\left(\sqrt[3]{{\left(\sqrt[3]{y \cdot x + z}\right)}^2} \cdot \sqrt[3]{\sqrt[3]{y \cdot x + z}}\right)}^3 + 1\right)\]
      31.5
    10. Taylor expanded around 0 to get
      \[\color{red}{(x * y + z)_* - \left({\left(\sqrt[3]{{\left(\sqrt[3]{y \cdot x + z}\right)}^2} \cdot \sqrt[3]{\sqrt[3]{y \cdot x + z}}\right)}^3 + 1\right)} \leadsto \color{blue}{(x * y + z)_* - \left({\left(\sqrt[3]{{\left(\sqrt[3]{y \cdot x + z}\right)}^2} \cdot \sqrt[3]{\sqrt[3]{y \cdot x + z}}\right)}^3 + 1\right)}\]
      31.5
    11. Applied simplify to get
      \[(x * y + z)_* - \left({\left(\sqrt[3]{{\left(\sqrt[3]{y \cdot x + z}\right)}^2} \cdot \sqrt[3]{\sqrt[3]{y \cdot x + z}}\right)}^3 + 1\right) \leadsto \left((x * y + z)_* - {\left(\sqrt[3]{y \cdot x + z}\right)}^2 \cdot \sqrt[3]{y \cdot x + z}\right) - 1\]
      27.2

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

  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)