def test_rewrite1(): e = exp(x) assert rewrite(e, mrv(e, x), x, m) == (1 / m, -x) e = exp(x**2) assert rewrite(e, mrv(e, x), x, m) == (1 / m, -x**2) e = exp(x + 1 / x) assert rewrite(e, mrv(e, x), x, m) == (1 / m, -x - 1 / x) e = 1 / exp(-x + exp(-x)) - exp(x) assert rewrite(e, mrv(e, x), x, m) == (1 / (m * exp(m)) - 1 / m, -x)
def test_rewrite1(): e = exp(x) assert rewrite(e, mrv(e, x), x, m) == (1/m, -x) e = exp(x**2) assert rewrite(e, mrv(e, x), x, m) == (1/m, -x**2) e = exp(x+1/x) assert rewrite(e, mrv(e, x), x, m) == (1/m, -x-1/x) e = 1/exp(-x+exp(-x))-exp(x) assert rewrite(e, mrv(e, x), x, m) == (1/(m*exp(m))-1/m, -x)
def mrewrite(a, b, c): return rewrite(a[1], a[0], b, c)
def mrewrite(a, b, c): return rewrite(a[1], a[0], b, c) def test_rewrite1():
def test_rewrite3(): e = exp(-x + 1 / x**2) - exp(x + 1 / x) #both of these are correct and should be equivalent: assert rewrite(e, mrv(e, x), x, m) in [(-1 / m + m * exp(1 / x + 1 / x**2), -x - 1 / x), (m - 1 / m * exp(1 / x + x**(-2)), x**(-2) - x)]
def test_rewrite2(): e = exp(x) * log(log(exp(x))) assert mrv(e, x) == set([exp(x)]) assert rewrite(e, mrv(e, x), x, m) == (1 / m * log(x), -x)
def test_rewrite3(): e = exp(-x+1/x**2)-exp(x+1/x) #both of these are correct and should be equivalent: assert rewrite(e, mrv(e, x), x, m) in [(-1/m + m*exp(1/x+1/x**2), -x-1/x), (m - 1/m*exp(1/x + x**(-2)), x**(-2) - x)]
def test_rewrite2(): e = exp(x)*log(log(exp(x))) assert mrv(e, x) == set([exp(x)]) assert rewrite(e, mrv(e, x), x, m) == (1/m*log(x), -x)