Simplified57.9
\[\leadsto \color{blue}{\frac{x - lo}{hi} \cdot \frac{lo}{hi} + \frac{x - lo}{hi}}
\]
Proof
(+.f64 (*.f64 (/.f64 (-.f64 x lo) hi) (/.f64 lo hi)) (/.f64 (-.f64 x lo) hi)): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= times-frac_binary64 (/.f64 (*.f64 (-.f64 x lo) lo) (*.f64 hi hi))) (/.f64 (-.f64 x lo) hi)): 1 points increase in error, 0 points decrease in error
(+.f64 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 lo (-.f64 x lo))) (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi)): 0 points increase in error, 1 points decrease in error
(+.f64 (/.f64 (*.f64 lo (-.f64 x lo)) (Rewrite<= unpow2_binary64 (pow.f64 hi 2))) (/.f64 (-.f64 x lo) hi)): 1 points increase in error, 0 points decrease in error
(+.f64 (/.f64 (*.f64 lo (-.f64 x lo)) (pow.f64 hi 2)) (Rewrite=> div-sub_binary64 (-.f64 (/.f64 x hi) (/.f64 lo hi)))): 0 points increase in error, 1 points decrease in error
(Rewrite<= associate--l+_binary64 (-.f64 (+.f64 (/.f64 (*.f64 lo (-.f64 x lo)) (pow.f64 hi 2)) (/.f64 x hi)) (/.f64 lo hi))): 1 points increase in error, 0 points decrease in error
(-.f64 (Rewrite<= +-commutative_binary64 (+.f64 (/.f64 x hi) (/.f64 (*.f64 lo (-.f64 x lo)) (pow.f64 hi 2)))) (/.f64 lo hi)): 0 points increase in error, 1 points decrease in error
Simplified0.5
\[\leadsto \color{blue}{\frac{{\left(lo \cdot \frac{x - lo}{hi \cdot hi}\right)}^{3} + {\left(\frac{x - lo}{hi}\right)}^{3}}{{\left(lo \cdot \frac{x - lo}{hi \cdot hi}\right)}^{2} + \left(\frac{lo}{-hi} + 1\right) \cdot {\left(\frac{x - lo}{hi}\right)}^{2}}}
\]
Proof
(/.f64 (+.f64 (pow.f64 (*.f64 lo (/.f64 (-.f64 x lo) (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) (+.f64 (pow.f64 (*.f64 lo (/.f64 (-.f64 x lo) (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 lo (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 0 points decrease in error
(/.f64 (+.f64 (pow.f64 (Rewrite<= *-commutative_binary64 (*.f64 (/.f64 (-.f64 x lo) (*.f64 hi hi)) lo)) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) (+.f64 (pow.f64 (*.f64 lo (/.f64 (-.f64 x lo) (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 lo (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 0 points decrease in error
(/.f64 (+.f64 (pow.f64 (Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 (-.f64 x lo) lo) (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) (+.f64 (pow.f64 (*.f64 lo (/.f64 (-.f64 x lo) (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 lo (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 3 points increase in error, 0 points decrease in error
(/.f64 (+.f64 (pow.f64 (Rewrite<= associate-*r/_binary64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi)))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) (+.f64 (pow.f64 (*.f64 lo (/.f64 (-.f64 x lo) (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 lo (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 19 points decrease in error
(/.f64 (Rewrite<= *-rgt-identity_binary64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1)) (+.f64 (pow.f64 (*.f64 lo (/.f64 (-.f64 x lo) (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 lo (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 19 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (Rewrite<= *-commutative_binary64 (*.f64 (/.f64 (-.f64 x lo) (*.f64 hi hi)) lo)) 2) (*.f64 (+.f64 (/.f64 lo (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 23 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (Rewrite=> associate-*l/_binary64 (/.f64 (*.f64 (-.f64 x lo) lo) (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 lo (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 22 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (Rewrite<= associate-*r/_binary64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi)))) 2) (*.f64 (+.f64 (/.f64 lo (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 1 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 (Rewrite<= remove-double-neg_binary64 (neg.f64 (neg.f64 lo))) (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 17 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 (Rewrite=> neg-mul-1_binary64 (*.f64 -1 (neg.f64 lo))) (neg.f64 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 16 points increase in error, 3 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 (*.f64 -1 (neg.f64 lo)) (Rewrite=> neg-mul-1_binary64 (*.f64 -1 hi))) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 3 points increase in error, 16 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (Rewrite=> times-frac_binary64 (*.f64 (/.f64 -1 -1) (/.f64 (neg.f64 lo) hi))) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 20 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (*.f64 (Rewrite=> metadata-eval 1) (/.f64 (neg.f64 lo) hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 23 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (*.f64 1 (/.f64 (Rewrite<= *-rgt-identity_binary64 (*.f64 (neg.f64 lo) 1)) hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 23 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (*.f64 1 (Rewrite<= associate-*r/_binary64 (*.f64 (neg.f64 lo) (/.f64 1 hi)))) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 22 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 1 (neg.f64 lo)) (/.f64 1 hi))) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 22 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (*.f64 (Rewrite=> *-lft-identity_binary64 (neg.f64 lo)) (/.f64 1 hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 23 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (Rewrite=> associate-*r/_binary64 (/.f64 (*.f64 (neg.f64 lo) 1) hi)) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 23 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 (Rewrite=> *-rgt-identity_binary64 (neg.f64 lo)) hi) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 19 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (/.f64 (Rewrite=> neg-mul-1_binary64 (*.f64 -1 lo)) hi) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 3 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (*.f64 (+.f64 (Rewrite<= associate-*r/_binary64 (*.f64 -1 (/.f64 lo hi))) 1) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))): 0 points increase in error, 7 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (Rewrite<= distribute-rgt1-in_binary64 (+.f64 (pow.f64 (/.f64 (-.f64 x lo) hi) 2) (*.f64 (*.f64 -1 (/.f64 lo hi)) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))))): 19 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (+.f64 (pow.f64 (/.f64 (-.f64 x lo) hi) 2) (*.f64 (Rewrite=> mul-1-neg_binary64 (neg.f64 (/.f64 lo hi))) (pow.f64 (/.f64 (-.f64 x lo) hi) 2))))): 0 points increase in error, 16 points decrease in error
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) 1) (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (Rewrite<= cancel-sign-sub-inv_binary64 (-.f64 (pow.f64 (/.f64 (-.f64 x lo) hi) 2) (*.f64 (/.f64 lo hi) (pow.f64 (/.f64 (-.f64 x lo) hi) 2)))))): 20 points increase in error, 0 points decrease in error
(Rewrite<= associate-*r/_binary64 (*.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (-.f64 x lo) (/.f64 lo (*.f64 hi hi))) 2) (-.f64 (pow.f64 (/.f64 (-.f64 x lo) hi) 2) (*.f64 (/.f64 lo hi) (pow.f64 (/.f64 (-.f64 x lo) hi) 2))))))): 0 points increase in error, 20 points decrease in error