Initial program 52.1
\[1 - \log \left(1 - \frac{x - y}{1 - y}\right)
\]
Simplified52.1
\[\leadsto \color{blue}{1 - \mathsf{log1p}\left(\frac{y - x}{1 - y}\right)}
\]
Proof
(-.f64 1 (log1p.f64 (/.f64 (-.f64 y x) (-.f64 1 y)))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite=> div-sub_binary64 (-.f64 (/.f64 y (-.f64 1 y)) (/.f64 x (-.f64 1 y)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite=> sub-neg_binary64 (+.f64 (/.f64 y (-.f64 1 y)) (neg.f64 (/.f64 x (-.f64 1 y))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite=> +-commutative_binary64 (+.f64 (neg.f64 (/.f64 x (-.f64 1 y))) (/.f64 y (-.f64 1 y)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (+.f64 (neg.f64 (/.f64 x (-.f64 1 y))) (Rewrite<= remove-double-neg_binary64 (neg.f64 (neg.f64 (/.f64 y (-.f64 1 y)))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite<= distribute-neg-in_binary64 (neg.f64 (+.f64 (/.f64 x (-.f64 1 y)) (neg.f64 (/.f64 y (-.f64 1 y)))))))): 10 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (neg.f64 (Rewrite<= sub-neg_binary64 (-.f64 (/.f64 x (-.f64 1 y)) (/.f64 y (-.f64 1 y))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (neg.f64 (Rewrite<= div-sub_binary64 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 0 points increase in error, 10 points decrease in error
(-.f64 1 (Rewrite<= log1p-def_binary64 (log.f64 (+.f64 1 (neg.f64 (/.f64 (-.f64 x y) (-.f64 1 y))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log.f64 (Rewrite<= sub-neg_binary64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 10 points increase in error, 0 points decrease in error
Taylor expanded in y around -inf 0.3
\[\leadsto 1 - \color{blue}{\left(\log \left(-1 \cdot \left(x - 1\right)\right) + \left(\log \left(\frac{-1}{y}\right) + -1 \cdot \frac{\frac{1}{x - 1} - \frac{x}{x - 1}}{y}\right)\right)}
\]
Simplified0.3
\[\leadsto 1 - \color{blue}{\left(\mathsf{log1p}\left(-x\right) + \left(\log \left(\frac{-1}{y}\right) - \frac{1 - x}{y \cdot \left(-1 + x\right)}\right)\right)}
\]
Proof
(-.f64 1 (+.f64 (log1p.f64 (neg.f64 x)) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log1p.f64 (Rewrite<= mul-1-neg_binary64 (*.f64 -1 x))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (Rewrite<= log1p-def_binary64 (log.f64 (+.f64 1 (*.f64 -1 x)))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (Rewrite=> +-commutative_binary64 (+.f64 (*.f64 -1 x) 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 15 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (+.f64 (*.f64 -1 x) (Rewrite<= metadata-eval (*.f64 -1 -1)))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (Rewrite<= distribute-lft-in_binary64 (*.f64 -1 (+.f64 x -1)))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (+.f64 x (Rewrite<= metadata-eval (neg.f64 1))))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 15 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (Rewrite<= sub-neg_binary64 (-.f64 x 1)))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (Rewrite<= +-commutative_binary64 (+.f64 x -1))))))): 15 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 x (Rewrite<= metadata-eval (neg.f64 1)))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (Rewrite<= sub-neg_binary64 (-.f64 x 1))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (Rewrite<= associate-/l/_binary64 (/.f64 (/.f64 (-.f64 1 x) (-.f64 x 1)) y))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (Rewrite=> div-sub_binary64 (-.f64 (/.f64 1 (-.f64 x 1)) (/.f64 x (-.f64 x 1)))) y)))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (Rewrite<= unsub-neg_binary64 (+.f64 (log.f64 (/.f64 -1 y)) (neg.f64 (/.f64 (-.f64 (/.f64 1 (-.f64 x 1)) (/.f64 x (-.f64 x 1))) y)))))): 15 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (+.f64 (log.f64 (/.f64 -1 y)) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 (-.f64 x 1)) (/.f64 x (-.f64 x 1))) y)))))): 0 points increase in error, 15 points decrease in error
Initial program 0.1
\[1 - \log \left(1 - \frac{x - y}{1 - y}\right)
\]
Simplified0.0
\[\leadsto \color{blue}{1 - \mathsf{log1p}\left(\frac{y - x}{1 - y}\right)}
\]
Proof
(-.f64 1 (log1p.f64 (/.f64 (-.f64 y x) (-.f64 1 y)))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite=> div-sub_binary64 (-.f64 (/.f64 y (-.f64 1 y)) (/.f64 x (-.f64 1 y)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite=> sub-neg_binary64 (+.f64 (/.f64 y (-.f64 1 y)) (neg.f64 (/.f64 x (-.f64 1 y))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite=> +-commutative_binary64 (+.f64 (neg.f64 (/.f64 x (-.f64 1 y))) (/.f64 y (-.f64 1 y)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (+.f64 (neg.f64 (/.f64 x (-.f64 1 y))) (Rewrite<= remove-double-neg_binary64 (neg.f64 (neg.f64 (/.f64 y (-.f64 1 y)))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite<= distribute-neg-in_binary64 (neg.f64 (+.f64 (/.f64 x (-.f64 1 y)) (neg.f64 (/.f64 y (-.f64 1 y)))))))): 10 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (neg.f64 (Rewrite<= sub-neg_binary64 (-.f64 (/.f64 x (-.f64 1 y)) (/.f64 y (-.f64 1 y))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (neg.f64 (Rewrite<= div-sub_binary64 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 0 points increase in error, 10 points decrease in error
(-.f64 1 (Rewrite<= log1p-def_binary64 (log.f64 (+.f64 1 (neg.f64 (/.f64 (-.f64 x y) (-.f64 1 y))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log.f64 (Rewrite<= sub-neg_binary64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 10 points increase in error, 0 points decrease in error
Initial program 32.9
\[1 - \log \left(1 - \frac{x - y}{1 - y}\right)
\]
Simplified32.9
\[\leadsto \color{blue}{1 - \mathsf{log1p}\left(\frac{y - x}{1 - y}\right)}
\]
Proof
(-.f64 1 (log1p.f64 (/.f64 (-.f64 y x) (-.f64 1 y)))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite=> div-sub_binary64 (-.f64 (/.f64 y (-.f64 1 y)) (/.f64 x (-.f64 1 y)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite=> sub-neg_binary64 (+.f64 (/.f64 y (-.f64 1 y)) (neg.f64 (/.f64 x (-.f64 1 y))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite=> +-commutative_binary64 (+.f64 (neg.f64 (/.f64 x (-.f64 1 y))) (/.f64 y (-.f64 1 y)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (+.f64 (neg.f64 (/.f64 x (-.f64 1 y))) (Rewrite<= remove-double-neg_binary64 (neg.f64 (neg.f64 (/.f64 y (-.f64 1 y)))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite<= distribute-neg-in_binary64 (neg.f64 (+.f64 (/.f64 x (-.f64 1 y)) (neg.f64 (/.f64 y (-.f64 1 y)))))))): 10 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (neg.f64 (Rewrite<= sub-neg_binary64 (-.f64 (/.f64 x (-.f64 1 y)) (/.f64 y (-.f64 1 y))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (neg.f64 (Rewrite<= div-sub_binary64 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 0 points increase in error, 10 points decrease in error
(-.f64 1 (Rewrite<= log1p-def_binary64 (log.f64 (+.f64 1 (neg.f64 (/.f64 (-.f64 x y) (-.f64 1 y))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log.f64 (Rewrite<= sub-neg_binary64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 10 points increase in error, 0 points decrease in error
Taylor expanded in y around inf 0.9
\[\leadsto 1 - \color{blue}{\left(\log \left(\frac{1}{y}\right) + \log \left(x - 1\right)\right)}
\]
Simplified0.9
\[\leadsto 1 - \color{blue}{\left(\log \left(-1 + x\right) - \log y\right)}
\]
Proof
(-.f64 1 (+.f64 (log1p.f64 (neg.f64 x)) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log1p.f64 (Rewrite<= mul-1-neg_binary64 (*.f64 -1 x))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (Rewrite<= log1p-def_binary64 (log.f64 (+.f64 1 (*.f64 -1 x)))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (Rewrite=> +-commutative_binary64 (+.f64 (*.f64 -1 x) 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 15 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (+.f64 (*.f64 -1 x) (Rewrite<= metadata-eval (*.f64 -1 -1)))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (Rewrite<= distribute-lft-in_binary64 (*.f64 -1 (+.f64 x -1)))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (+.f64 x (Rewrite<= metadata-eval (neg.f64 1))))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 15 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (Rewrite<= sub-neg_binary64 (-.f64 x 1)))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 -1 x)))))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (Rewrite<= +-commutative_binary64 (+.f64 x -1))))))): 15 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (+.f64 x (Rewrite<= metadata-eval (neg.f64 1)))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (-.f64 1 x) (*.f64 y (Rewrite<= sub-neg_binary64 (-.f64 x 1))))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (Rewrite<= associate-/l/_binary64 (/.f64 (/.f64 (-.f64 1 x) (-.f64 x 1)) y))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (-.f64 (log.f64 (/.f64 -1 y)) (/.f64 (Rewrite=> div-sub_binary64 (-.f64 (/.f64 1 (-.f64 x 1)) (/.f64 x (-.f64 x 1)))) y)))): 0 points increase in error, 15 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (Rewrite<= unsub-neg_binary64 (+.f64 (log.f64 (/.f64 -1 y)) (neg.f64 (/.f64 (-.f64 (/.f64 1 (-.f64 x 1)) (/.f64 x (-.f64 x 1))) y)))))): 15 points increase in error, 0 points decrease in error
(-.f64 1 (+.f64 (log.f64 (*.f64 -1 (-.f64 x 1))) (+.f64 (log.f64 (/.f64 -1 y)) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (/.f64 (-.f64 (/.f64 1 (-.f64 x 1)) (/.f64 x (-.f64 x 1))) y)))))): 0 points increase in error, 15 points decrease in error
Taylor expanded in y around 0 0.9
\[\leadsto 1 - \color{blue}{\left(\log \left(x - 1\right) - \log y\right)}
\]
Simplified0.0
\[\leadsto 1 - \color{blue}{\log \left(\frac{-1 + x}{y}\right)}
\]
Proof
(-.f64 1 (log.f64 (/.f64 (+.f64 -1 x) y))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (Rewrite=> log-div_binary64 (-.f64 (log.f64 (+.f64 -1 x)) (log.f64 y)))): 0 points increase in error, 5 points decrease in error
(-.f64 1 (-.f64 (log.f64 (Rewrite=> +-commutative_binary64 (+.f64 x -1))) (log.f64 y))): 5 points increase in error, 0 points decrease in error
(-.f64 1 (-.f64 (log.f64 (+.f64 x (Rewrite<= metadata-eval (neg.f64 1)))) (log.f64 y))): 1 points increase in error, 0 points decrease in error
(-.f64 1 (-.f64 (log.f64 (Rewrite<= sub-neg_binary64 (-.f64 x 1))) (log.f64 y))): 0 points increase in error, 1 points decrease in error
Taylor expanded in x around inf 1.5
\[\leadsto 1 - \log \color{blue}{\left(\frac{x}{y}\right)}
\]