differentiable operator