\[\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1\]
Test:
FastMath dist4
Bits:
128 bits
Bits error versus d1
Bits error versus d2
Bits error versus d3
Bits error versus d4
Time: 5.9 s
Input Error: 0.0
Output Error: 0.0
Log:
Profile: 🕒
\((\left(d4 - d1\right) * d1 + \left(\frac{d1}{1} \cdot \left(d2 - d3\right)\right))_*\)
  1. Started with
    \[\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1\]
    0.0
  2. Applied simplify to get
    \[\color{red}{\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1} \leadsto \color{blue}{d1 \cdot \left(\left(d2 - d3\right) + \left(d4 - d1\right)\right)}\]
    0.0
  3. Using strategy rm
    0.0
  4. Applied distribute-lft-in to get
    \[\color{red}{d1 \cdot \left(\left(d2 - d3\right) + \left(d4 - d1\right)\right)} \leadsto \color{blue}{d1 \cdot \left(d2 - d3\right) + d1 \cdot \left(d4 - d1\right)}\]
    0.0
  5. Using strategy rm
    0.0
  6. Applied flip-- to get
    \[d1 \cdot \color{red}{\left(d2 - d3\right)} + d1 \cdot \left(d4 - d1\right) \leadsto d1 \cdot \color{blue}{\frac{{d2}^2 - {d3}^2}{d2 + d3}} + d1 \cdot \left(d4 - d1\right)\]
    24.0
  7. Applied associate-*r/ to get
    \[\color{red}{d1 \cdot \frac{{d2}^2 - {d3}^2}{d2 + d3}} + d1 \cdot \left(d4 - d1\right) \leadsto \color{blue}{\frac{d1 \cdot \left({d2}^2 - {d3}^2\right)}{d2 + d3}} + d1 \cdot \left(d4 - d1\right)\]
    26.2
  8. Applied taylor to get
    \[\frac{d1 \cdot \left({d2}^2 - {d3}^2\right)}{d2 + d3} + d1 \cdot \left(d4 - d1\right) \leadsto \frac{d1 \cdot \left({d2}^2 - {d3}^2\right)}{d2 + d3} + d1 \cdot \left(d4 - d1\right)\]
    26.2
  9. Taylor expanded around 0 to get
    \[\frac{d1 \cdot \color{red}{\left({d2}^2 - {d3}^2\right)}}{d2 + d3} + d1 \cdot \left(d4 - d1\right) \leadsto \frac{d1 \cdot \color{blue}{\left({d2}^2 - {d3}^2\right)}}{d2 + d3} + d1 \cdot \left(d4 - d1\right)\]
    26.2
  10. Applied simplify to get
    \[\frac{d1 \cdot \left({d2}^2 - {d3}^2\right)}{d2 + d3} + d1 \cdot \left(d4 - d1\right) \leadsto (\left(d4 - d1\right) * d1 + \left(\frac{d1}{1} \cdot \left(d2 - d3\right)\right))_*\]
    0.0

  11. Applied final simplification

Original test:


(lambda ((d1 default) (d2 default) (d3 default) (d4 default))
  #:name "FastMath dist4"
  (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1))
  #:target
  (* d1 (- (+ (- d2 d3) d4) d1)))