Simplified0.0
\[\leadsto \color{blue}{\mathsf{hypot}\left(x, x\right)}
\]
Proof
(hypot.f64 x x): 0 points increase in error, 0 points decrease in error
(Rewrite<= hypot-def_binary64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 x x)))): 140 points increase in error, 1 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (Rewrite<= /-rgt-identity_binary64 (/.f64 x 1))) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (/.f64 x (Rewrite<= metadata-eval (/.f64 2 2)))) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 x 2) 2))) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (/.f64 (*.f64 x (Rewrite<= rem-square-sqrt_binary64 (*.f64 (sqrt.f64 2) (sqrt.f64 2)))) 2)) (*.f64 x x))): 36 points increase in error, 5 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (/.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2))) 2)) (*.f64 x x))): 1 points increase in error, 10 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (/.f64 (*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (sqrt.f64 2) x)) (sqrt.f64 2)) 2)) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) x) 2) (sqrt.f64 2)))) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (/.f64 (Rewrite=> *-commutative_binary64 (*.f64 x (sqrt.f64 2))) 2) (sqrt.f64 2))) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 x 2) (sqrt.f64 2))) (sqrt.f64 2))) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (*.f64 (/.f64 x 2) (Rewrite<= rem-log-exp_binary64 (log.f64 (exp.f64 (sqrt.f64 2))))) (sqrt.f64 2))) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (Rewrite<= log-pow_binary64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2)))) (sqrt.f64 2))) (*.f64 x x))): 132 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (Rewrite=> *-commutative_binary64 (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2)))))) (*.f64 x x))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (Rewrite<= /-rgt-identity_binary64 (/.f64 x 1))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (/.f64 x (Rewrite<= metadata-eval (/.f64 2 2)))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 x 2) 2))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (/.f64 (*.f64 x (Rewrite<= rem-square-sqrt_binary64 (*.f64 (sqrt.f64 2) (sqrt.f64 2)))) 2)))): 0 points increase in error, 44 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (/.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2))) 2)))): 14 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (/.f64 (*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (sqrt.f64 2) x)) (sqrt.f64 2)) 2)))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) x) 2) (sqrt.f64 2)))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (*.f64 (/.f64 (Rewrite=> *-commutative_binary64 (*.f64 x (sqrt.f64 2))) 2) (sqrt.f64 2))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (*.f64 (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 x 2) (sqrt.f64 2))) (sqrt.f64 2))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (*.f64 (*.f64 (/.f64 x 2) (Rewrite<= rem-log-exp_binary64 (log.f64 (exp.f64 (sqrt.f64 2))))) (sqrt.f64 2))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (*.f64 (Rewrite<= log-pow_binary64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2)))) (sqrt.f64 2))))): 66 points increase in error, 0 points decrease in error
(sqrt.f64 (+.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))))) (*.f64 x (Rewrite=> *-commutative_binary64 (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2)))))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (Rewrite<= distribute-lft-in_binary64 (*.f64 x (+.f64 (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2)))) (*.f64 (sqrt.f64 2) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2)))))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (*.f64 x (Rewrite<= distribute-lft-in_binary64 (*.f64 (sqrt.f64 2) (+.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2))) (log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2)))))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) (Rewrite<= log-prod_binary64 (log.f64 (*.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2)) (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 x 2)))))))): 3 points increase in error, 4 points decrease in error
(sqrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) (log.f64 (Rewrite<= sqr-pow_binary64 (pow.f64 (exp.f64 (sqrt.f64 2)) x)))))): 0 points increase in error, 4 points decrease in error
(sqrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) (Rewrite=> log-pow_binary64 (*.f64 x (log.f64 (exp.f64 (sqrt.f64 2)))))))): 0 points increase in error, 132 points decrease in error
(sqrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) (*.f64 x (Rewrite=> rem-log-exp_binary64 (sqrt.f64 2)))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (*.f64 x (*.f64 (sqrt.f64 2) (Rewrite<= *-commutative_binary64 (*.f64 (sqrt.f64 2) x))))): 0 points increase in error, 0 points decrease in error
(sqrt.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 x (sqrt.f64 2)) (*.f64 (sqrt.f64 2) x)))): 0 points increase in error, 6 points decrease in error
(sqrt.f64 (*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (sqrt.f64 2) x)) (*.f64 (sqrt.f64 2) x))): 0 points increase in error, 0 points decrease in error
(Rewrite=> rem-sqrt-square_binary64 (fabs.f64 (*.f64 (sqrt.f64 2) x))): 0 points increase in error, 128 points decrease in error
(fabs.f64 (Rewrite<= unpow1_binary64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1))): 0 points increase in error, 0 points decrease in error
(fabs.f64 (Rewrite=> sqr-pow_binary64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) (/.f64 1 2)) (pow.f64 (*.f64 (sqrt.f64 2) x) (/.f64 1 2))))): 177 points increase in error, 11 points decrease in error
(Rewrite=> fabs-sqr_binary64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 2) x) (/.f64 1 2)) (pow.f64 (*.f64 (sqrt.f64 2) x) (/.f64 1 2)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= sqr-pow_binary64 (pow.f64 (*.f64 (sqrt.f64 2) x) 1)): 11 points increase in error, 177 points decrease in error
(Rewrite=> unpow1_binary64 (*.f64 (sqrt.f64 2) x)): 0 points increase in error, 0 points decrease in error
(Rewrite<= +-rgt-identity_binary64 (+.f64 (*.f64 (sqrt.f64 2) x) 0)): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 (sqrt.f64 2) x) (Rewrite<= metadata-eval (-.f64 1 1))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate--l+_binary64 (-.f64 (+.f64 (*.f64 (sqrt.f64 2) x) 1) 1)): 65 points increase in error, 59 points decrease in error
(-.f64 (Rewrite<= +-commutative_binary64 (+.f64 1 (*.f64 (sqrt.f64 2) x))) 1): 0 points increase in error, 0 points decrease in error