Initial program 12.4
\[s \cdot \log \left(\frac{1}{1 - 4 \cdot u}\right)
\]
Simplified0.2
\[\leadsto \color{blue}{\mathsf{log1p}\left(u \cdot -4\right) \cdot \left(-s\right)}
\]
Proof
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s)): 0 points increase in error, 0 points decrease in error
(*.f32 (log1p.f32 (*.f32 u (Rewrite<= metadata-eval (neg.f32 4)))) (neg.f32 s)): 0 points increase in error, 0 points decrease in error
(*.f32 (log1p.f32 (Rewrite<= distribute-rgt-neg-in_binary32 (neg.f32 (*.f32 u 4)))) (neg.f32 s)): 0 points increase in error, 0 points decrease in error
(*.f32 (log1p.f32 (neg.f32 (Rewrite<= *-commutative_binary32 (*.f32 4 u)))) (neg.f32 s)): 0 points increase in error, 0 points decrease in error
(*.f32 (Rewrite<= log1p-def_binary32 (log.f32 (+.f32 1 (neg.f32 (*.f32 4 u))))) (neg.f32 s)): 233 points increase in error, 0 points decrease in error
(*.f32 (log.f32 (Rewrite<= sub-neg_binary32 (-.f32 1 (*.f32 4 u)))) (neg.f32 s)): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-rgt-neg-in_binary32 (neg.f32 (*.f32 (log.f32 (-.f32 1 (*.f32 4 u))) s))): 0 points increase in error, 0 points decrease in error
(Rewrite<= distribute-lft-neg-out_binary32 (*.f32 (neg.f32 (log.f32 (-.f32 1 (*.f32 4 u)))) s)): 0 points increase in error, 0 points decrease in error
(*.f32 (Rewrite<= log-rec_binary32 (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u))))) s): 133 points increase in error, 50 points decrease in error
(Rewrite<= *-commutative_binary32 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))): 0 points increase in error, 0 points decrease in error
Final simplification0.2
\[\leadsto \mathsf{log1p}\left(u \cdot -4\right) \cdot \left(-s\right)
\]