 
 h = y.differential("x")
 
-fd = f.differential("d")
+fd = f.differential("x")
+
+iOfG = g.integral("x")

  evaluate: (vars) -> @exp.evaluate(vars) ** @var.evaluate(vars)
  isZero: () -> @exp.isZero()
  isOne: () -> @exp.isOne() or @var.isZero()
  differential: (d) -> (new Multiplication(new Multiplication(new Log(@exp), @var.differential(d)),new ExponentialOp(@var,@exp))).simplify()
  simplify: () ->
    newVar = @var.simplify()
    newExp = @exp.simplify()

  constructor: (@name, @vars, @item) ->
  evaluate: (vars) -> @item.evaluate(vars)
  differential: (d) -> new Function(@name + "'",@vars,@item.differential(d))
  integral: (d) -> new Function("∫" + @name + "d" + d, @vars, @item.integral(d))
  isZero: () -> @item.isZero()
  isOne: () -> @item.isOne()
  contains: (d) -> @item.contains(d)
  simplify: () -> new Function(@name,@vars,@item.simplify())

class Graph
