Initial program 0.0
\[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, 1 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite<= unsub-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 (Rewrite=> neg-sub0_binary64 (-.f64 0 (/.f64 x (-.f64 1 y)))) (/.f64 y (-.f64 1 y))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite<= associate--r-_binary64 (-.f64 0 (-.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 0 (Rewrite<= div-sub_binary64 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 1 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite<= neg-sub0_binary64 (neg.f64 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (Rewrite<= log1p-def_binary64 (log.f64 (+.f64 1 (neg.f64 (/.f64 (-.f64 x y) (-.f64 1 y))))))): 3 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)))))): 0 points increase in error, 0 points decrease in error
Initial program 61.8
\[1 - \log \left(1 - \frac{x - y}{1 - y}\right)
\]
Simplified61.8
\[\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, 1 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite<= unsub-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 (Rewrite=> neg-sub0_binary64 (-.f64 0 (/.f64 x (-.f64 1 y)))) (/.f64 y (-.f64 1 y))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite<= associate--r-_binary64 (-.f64 0 (-.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 0 (Rewrite<= div-sub_binary64 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 1 points increase in error, 0 points decrease in error
(-.f64 1 (log1p.f64 (Rewrite<= neg-sub0_binary64 (neg.f64 (/.f64 (-.f64 x y) (-.f64 1 y)))))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (Rewrite<= log1p-def_binary64 (log.f64 (+.f64 1 (neg.f64 (/.f64 (-.f64 x y) (-.f64 1 y))))))): 3 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)))))): 0 points increase in error, 0 points decrease in error
Taylor expanded in y around inf 53.6
\[\leadsto \color{blue}{1 - \left(\log \left(\frac{1}{y}\right) + \log \left(x - 1\right)\right)}
\]
Simplified53.6
\[\leadsto \color{blue}{\left(1 + \log y\right) - \log \left(-1 + x\right)}
\]
Proof
(-.f64 (+.f64 1 (log.f64 y)) (log.f64 (+.f64 -1 x))): 0 points increase in error, 0 points decrease in error
(-.f64 (+.f64 (Rewrite<= metadata-eval (-.f64 1 0)) (log.f64 y)) (log.f64 (+.f64 -1 x))): 0 points increase in error, 0 points decrease in error
(-.f64 (Rewrite<= associate--r-_binary64 (-.f64 1 (-.f64 0 (log.f64 y)))) (log.f64 (+.f64 -1 x))): 0 points increase in error, 0 points decrease in error
(-.f64 (-.f64 1 (-.f64 (Rewrite<= metadata-eval (log.f64 1)) (log.f64 y))) (log.f64 (+.f64 -1 x))): 0 points increase in error, 0 points decrease in error
(-.f64 (-.f64 1 (Rewrite<= log-div_binary64 (log.f64 (/.f64 1 y)))) (log.f64 (+.f64 -1 x))): 0 points increase in error, 0 points decrease in error
(-.f64 (-.f64 1 (log.f64 (/.f64 1 y))) (log.f64 (Rewrite<= +-commutative_binary64 (+.f64 x -1)))): 0 points increase in error, 0 points decrease in error
(-.f64 (-.f64 1 (log.f64 (/.f64 1 y))) (log.f64 (+.f64 x (Rewrite<= metadata-eval (neg.f64 1))))): 0 points increase in error, 0 points decrease in error
(-.f64 (-.f64 1 (log.f64 (/.f64 1 y))) (log.f64 (Rewrite<= sub-neg_binary64 (-.f64 x 1)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate--r+_binary64 (-.f64 1 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 (-.f64 x 1))))): 0 points increase in error, 0 points decrease in error
Taylor expanded in y around 0 53.6
\[\leadsto \color{blue}{\left(1 + \log y\right) - \log \left(x - 1\right)}
\]
Simplified0.5
\[\leadsto \color{blue}{1 - \log \left(\frac{x + -1}{y}\right)}
\]
Proof
(-.f64 1 (log.f64 (/.f64 (+.f64 x -1) y))): 0 points increase in error, 0 points decrease in error
(-.f64 1 (log.f64 (/.f64 (Rewrite<= +-commutative_binary64 (+.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)))): 158 points increase in error, 0 points decrease in error
(Rewrite<= associate-+l-_binary64 (+.f64 (-.f64 1 (log.f64 (+.f64 -1 x))) (log.f64 y))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= unsub-neg_binary64 (+.f64 1 (neg.f64 (log.f64 (+.f64 -1 x))))) (log.f64 y)): 0 points increase in error, 0 points decrease in error
(Rewrite=> associate-+l+_binary64 (+.f64 1 (+.f64 (neg.f64 (log.f64 (+.f64 -1 x))) (log.f64 y)))): 0 points increase in error, 0 points decrease in error
(+.f64 1 (Rewrite<= +-commutative_binary64 (+.f64 (log.f64 y) (neg.f64 (log.f64 (+.f64 -1 x)))))): 0 points increase in error, 0 points decrease in error
(+.f64 1 (Rewrite=> unsub-neg_binary64 (-.f64 (log.f64 y) (log.f64 (+.f64 -1 x))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate--l+_binary64 (-.f64 (+.f64 1 (log.f64 y)) (log.f64 (+.f64 -1 x)))): 0 points increase in error, 0 points decrease in error
(-.f64 (+.f64 1 (log.f64 y)) (log.f64 (Rewrite=> +-commutative_binary64 (+.f64 x -1)))): 0 points increase in error, 0 points decrease in error
(-.f64 (+.f64 1 (log.f64 y)) (log.f64 (+.f64 x (Rewrite<= metadata-eval (neg.f64 1))))): 0 points increase in error, 0 points decrease in error
(-.f64 (+.f64 1 (log.f64 y)) (log.f64 (Rewrite<= sub-neg_binary64 (-.f64 x 1)))): 0 points increase in error, 0 points decrease in error