Average Error: 0.0 → 0.0
Time: 13.6s
Precision: 64
Internal precision: 128
\[x \cdot y + \left(1.0 - x\right) \cdot z\]
\[x \cdot y + \left(1.0 \cdot z - 1.0 \cdot \left(x \cdot z\right)\right)\]

Error

Bits error versus x

Bits error versus y

Bits error versus z

Target

Original0.0
Comparison0.0
Herbie0.0
\[ x \cdot y + \left(1.0 - x\right) \cdot z \]

Derivation

  1. Initial program 0.0

    \[x \cdot y + \left(1.0 - x\right) \cdot z\]
  2. Using strategy rm
  3. Applied flip-- 7.6

    \[\leadsto x \cdot y + \color{blue}{\frac{{1.0}^2 - {x}^2}{1.0 + x}} \cdot z\]
  4. Applied associate-*l/ 9.6

    \[\leadsto x \cdot y + \color{blue}{\frac{\left({1.0}^2 - {x}^2\right) \cdot z}{1.0 + x}}\]
  5. Applied taylor 0.0

    \[\leadsto x \cdot y + \left(1.0 \cdot z - 1.0 \cdot \left(x \cdot z\right)\right)\]
  6. Taylor expanded around 0 0.0

    \[\leadsto x \cdot y + \color{blue}{\left(1.0 \cdot z - 1.0 \cdot \left(x \cdot z\right)\right)}\]
  7. Removed slow pow expressions

Runtime

Time bar (total: 13.6s) Debug log

Please include this information when filing a bug report:

herbie --seed '#(995328633 1590878370 364438481 2582423635 1344154712 1913176965)'
(FPCore (x y z)
  :name "Diagrams.Backend.Rasterific:$crender from diagrams-rasterific-1.3.1.3"

  :target
  (+ (* x y) (* (- 1.0 x) z))

  (+ (* x y) (* (- 1.0 x) z)))