Simplified54.9
\[\leadsto \color{blue}{\left(1 - \frac{x}{lo}\right) + \left(\frac{1}{lo} - \frac{x}{lo \cdot lo}\right) \cdot \left(hi + hi \cdot \frac{hi}{lo}\right)}
\]
Proof
(+.f64 (-.f64 1 (/.f64 x lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= unsub-neg_binary64 (+.f64 1 (neg.f64 (/.f64 x lo)))) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 1 (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (/.f64 x lo)))) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 -1 (/.f64 x lo)) 1)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (*.f64 -1 (/.f64 x lo)) (Rewrite<= metadata-eval (*.f64 -1 -1))) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= distribute-lft-in_binary64 (*.f64 -1 (+.f64 (/.f64 x lo) -1))) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (+.f64 (/.f64 x lo) (Rewrite<= metadata-eval (neg.f64 1)))) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (+.f64 (/.f64 x lo) (neg.f64 (Rewrite<= *-inverses_binary64 (/.f64 lo lo))))) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (Rewrite<= sub-neg_binary64 (-.f64 (/.f64 x lo) (/.f64 lo lo)))) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (Rewrite<= div-sub_binary64 (/.f64 (-.f64 x lo) lo))) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (*.f64 lo lo))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 2 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (Rewrite<= unpow2_binary64 (pow.f64 lo 2)))) (+.f64 hi (*.f64 hi (/.f64 hi lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (*.f64 hi (/.f64 (Rewrite<= *-lft-identity_binary64 (*.f64 1 hi)) lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (*.f64 hi (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 1 lo) hi)))))): 59 points increase in error, 64 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (*.f64 hi (Rewrite=> *-commutative_binary64 (*.f64 hi (/.f64 1 lo))))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 hi hi) (/.f64 1 lo)))))): 178 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 hi 2)) (/.f64 1 lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (Rewrite=> associate-*r/_binary64 (/.f64 (*.f64 (pow.f64 hi 2) 1) lo))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (/.f64 (*.f64 (Rewrite=> unpow2_binary64 (*.f64 hi hi)) 1) lo)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (/.f64 (Rewrite<= associate-*r*_binary64 (*.f64 hi (*.f64 hi 1))) lo)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (/.f64 (*.f64 hi (*.f64 hi (Rewrite<= metadata-eval (neg.f64 -1)))) lo)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (/.f64 (*.f64 hi (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 hi -1)))) lo)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (/.f64 (*.f64 hi (neg.f64 (Rewrite<= *-commutative_binary64 (*.f64 -1 hi)))) lo)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (/.f64 (*.f64 hi (neg.f64 (Rewrite=> mul-1-neg_binary64 (neg.f64 hi)))) lo)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (/.f64 (*.f64 hi (Rewrite=> remove-double-neg_binary64 hi)) lo)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) (+.f64 hi (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 hi 2)) lo)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (Rewrite<= distribute-rgt-out_binary64 (+.f64 (*.f64 hi (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2)))) (*.f64 (/.f64 (pow.f64 hi 2) lo) (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) hi)) (*.f64 (/.f64 (pow.f64 hi 2) lo) (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2)))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1 (/.f64 (-.f64 x lo) lo)) (+.f64 (*.f64 (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2))) hi) (Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 (pow.f64 hi 2) (-.f64 (/.f64 1 lo) (/.f64 x (pow.f64 lo 2)))) lo)))): 0 points increase in error, 0 points decrease in error