Average Error: 2.6 → 2.6
Time: 1.8s
Precision: binary64
\[\frac{1}{1 + e^{-\left(\left(\left(x1 \cdot y1 + x2 \cdot y2\right) + x3 \cdot y3\right) + x4 \cdot y4\right)}}\]
\[\frac{1}{1 + e^{-\left(\left(\left(x1 \cdot y1 + x2 \cdot y2\right) + x3 \cdot y3\right) + x4 \cdot y4\right)}}\]

Error

Bits error versus x1

Bits error versus y1

Bits error versus x2

Bits error versus y2

Bits error versus x3

Bits error versus y3

Bits error versus x4

Bits error versus y4

Derivation

  1. Initial program 2.6

    \[\frac{1}{1 + e^{-\left(\left(\left(x1 \cdot y1 + x2 \cdot y2\right) + x3 \cdot y3\right) + x4 \cdot y4\right)}}\]
  2. Final simplification2.6

    \[\leadsto \frac{1}{1 + e^{-\left(\left(\left(x1 \cdot y1 + x2 \cdot y2\right) + x3 \cdot y3\right) + x4 \cdot y4\right)}}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x1 y1 x2 y2 x3 y3 x4 y4)
  :name "(/ 1 (+ 1 (exp (- (+ (+ (+ (* x1 y1) (* x2 y2)) (* x3 y3)) (* x4 y4))))))"
  :precision binary64
  (/ 1.0 (+ 1.0 (exp (neg (+ (+ (+ (* x1 y1) (* x2 y2)) (* x3 y3)) (* x4 y4)))))))