# Simplify expressions that contain full derivatives

The best way to show what I want is by giving an example:

How to go from

Exp[-a[x, y]] (g[x, y]*Derivative[1, 0][f][x, y])/h[x, y] +
Exp[-a[x, y]] (f[x, y]*Derivative[1, 0][g][x, y])/h[x, y] -
Exp[-a[x, y]] (f[x, y]*g[x, y]*Derivative[1, 0][h][x, y])/h[x, y]^2


to

Exp[-a[x, y]] D[f[x, y]*g[x, y]/h[x, y], x]


If the Exp were not there, i.e. the expression is a full derivative, then integrating would work 1

expr = With[{anti =
Integrate[(g[x, y]*Derivative[1, 0][f][x, y])/
h[x, y] + (f[x, y]*Derivative[1, 0][g][x, y])/
h[x, y] - (f[x, y]*g[x, y]*Derivative[1, 0][h][x, y])/h[x, y]^2,
x]}, HoldForm[D[anti, x]]]

• DSolve[Exp[-a[x, y]] (g[x, y]*Derivative[1, 0][f][x, y])/h[x, y] + Exp[-a[x, y]] (f[x, y]*Derivative[1, 0][g][x, y])/h[x, y] - Exp[-a[x, y]] (f[x, y]*g[x, y]*Derivative[1, 0][h][x, y])/ h[x, y]^2 == Exp[-a[x, y]] Derivative[1, 0][z][x, y], z, {x, y}]. – b.gates.you.know.what Mar 25 '13 at 12:26

 simp[exp_] := Simplify[exp,