[X,Y,DX,DY,DDX]

din(der(plus(X,Y))) -> u21(din(der(X)),X,Y).
u21(dout(DX),X,Y) -> u22(din(der(Y)),X,Y,DX).
u22(dout(DY),X,Y,DX) -> dout(plus(DX,DY)).
din(der(times(X,Y))) -> u31(din(der(X)),X,Y).
u31(dout(DX),X,Y) -> u32(din(der(Y)),X,Y,DX).
u32(dout(DY),X,Y,DX) -> dout(plus(times(X,DY),times(Y,DX))).
din(der(der(X))) -> u41(din(der(X)),X).
u41(dout(DX),X) -> u42(din(der(DX)),X,DX).
u42(dout(DDX),X,DX) -> dout(DDX).


