\[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
Test:
fabs fraction 1
Bits:
128 bits
Bits error versus x
Bits error versus y
Bits error versus z
Time: 5.8 s
Input Error: 1.6
Output Error: 1.7
Log:
Profile: 🕒
\(\begin{cases} \left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right| & \text{when } x \le -5.926537988963307 \cdot 10^{+21} \\ \left|\frac{\left(x + 4\right) - x \cdot z}{y}\right| & \text{otherwise} \end{cases}\)

    if x < -5.926537988963307e+21

    1. Started with
      \[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
      0.1

    if -5.926537988963307e+21 < x

    1. Started with
      \[\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\]
      2.0
    2. Using strategy rm
      2.0
    3. Applied associate-*l/ to get
      \[\left|\frac{x + 4}{y} - \color{red}{\frac{x}{y} \cdot z}\right| \leadsto \left|\frac{x + 4}{y} - \color{blue}{\frac{x \cdot z}{y}}\right|\]
      2.0
    4. Applied sub-div to get
      \[\left|\color{red}{\frac{x + 4}{y} - \frac{x \cdot z}{y}}\right| \leadsto \left|\color{blue}{\frac{\left(x + 4\right) - x \cdot z}{y}}\right|\]
      2.0

  1. Removed slow pow expressions

Original test:


(lambda ((x default) (y default) (z default))
  #:name "fabs fraction 1"
  (fabs (- (/ (+ x 4) y) (* (/ x y) z))))