Simplified2.9
\[\leadsto \color{blue}{\mathsf{fma}\left(\varepsilon \cdot \varepsilon, \frac{\sin x}{\cos x} + {\left(\frac{\sin x}{\cos x}\right)}^{3}, \varepsilon + \varepsilon \cdot \frac{{\sin x}^{2}}{{\cos x}^{2}}\right)}
\]
Proof
(fma.f64 (*.f64 eps eps) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (pow.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 3)) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (Rewrite<= unpow2_binary64 (pow.f64 eps 2)) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (pow.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 3)) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (Rewrite<= cube-unmult_binary64 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) (cos.f64 x)))))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 1 points increase in error, 1 points decrease in error
(fma.f64 (pow.f64 eps 2) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (Rewrite<= times-frac_binary64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (cos.f64 x) (cos.f64 x)))))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 2 points increase in error, 1 points decrease in error
(fma.f64 (pow.f64 eps 2) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (Rewrite<= unpow2_binary64 (pow.f64 (sin.f64 x) 2)) (*.f64 (cos.f64 x) (cos.f64 x))))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (pow.f64 (sin.f64 x) 2) (Rewrite<= unpow2_binary64 (pow.f64 (cos.f64 x) 2))))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (Rewrite<= times-frac_binary64 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 (cos.f64 x) (pow.f64 (cos.f64 x) 2))))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 3 points increase in error, 3 points decrease in error
(fma.f64 (pow.f64 eps 2) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (Rewrite=> unpow2_binary64 (*.f64 (sin.f64 x) (sin.f64 x)))) (*.f64 (cos.f64 x) (pow.f64 (cos.f64 x) 2)))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (Rewrite<= cube-mult_binary64 (pow.f64 (sin.f64 x) 3)) (*.f64 (cos.f64 x) (pow.f64 (cos.f64 x) 2)))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 4 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (pow.f64 (sin.f64 x) 3) (*.f64 (cos.f64 x) (Rewrite=> unpow2_binary64 (*.f64 (cos.f64 x) (cos.f64 x)))))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (pow.f64 (sin.f64 x) 3) (Rewrite<= cube-mult_binary64 (pow.f64 (cos.f64 x) 3)))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 2 points decrease in error
(fma.f64 (pow.f64 eps 2) (Rewrite<= +-commutative_binary64 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 (sin.f64 x) (cos.f64 x)))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (Rewrite<= remove-double-neg_binary64 (neg.f64 (neg.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 (sin.f64 x) (cos.f64 x)))))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (neg.f64 (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 (sin.f64 x) (cos.f64 x)))))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (neg.f64 (Rewrite<= distribute-lft-out_binary64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x)))))) (+.f64 eps (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (neg.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (+.f64 (Rewrite<= *-rgt-identity_binary64 (*.f64 eps 1)) (*.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (neg.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (Rewrite=> distribute-lft-out_binary64 (*.f64 eps (+.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)))))): 15 points increase in error, 8 points decrease in error
(fma.f64 (pow.f64 eps 2) (neg.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 eps (+.f64 1 (Rewrite<= *-lft-identity_binary64 (*.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (neg.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 eps (+.f64 1 (*.f64 (Rewrite<= metadata-eval (neg.f64 -1)) (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (pow.f64 eps 2) (neg.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))) (*.f64 eps (Rewrite<= cancel-sign-sub-inv_binary64 (-.f64 1 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 (pow.f64 eps 2) (neg.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x)))))) (*.f64 eps (-.f64 1 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))))): 1 points increase in error, 1 points decrease in error
(+.f64 (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))))) (*.f64 eps (-.f64 1 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)))))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x))))))) (*.f64 eps (-.f64 1 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= +-commutative_binary64 (+.f64 (*.f64 eps (-.f64 1 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))) (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (*.f64 -1 (/.f64 (sin.f64 x) (cos.f64 x)))))))): 0 points increase in error, 0 points decrease in error