DifferentiableUnivariateFunction c = new Constant(4);
DifferentiableUnivariateFunction id = new Identity();
final double a = 1.2345678;
Assert.assertEquals(8 * a, FunctionUtils.multiply(c, id, id).derivative().value(a), EPS);
DifferentiableUnivariateFunction inv = new Inverse();
DifferentiableUnivariateFunction pow = new Power(2.5);
DifferentiableUnivariateFunction cos = new Cos();
Assert.assertEquals(1.5 * Math.sqrt(a) * Math.cos(a) - Math.pow(a, 1.5) * Math.sin(a),
FunctionUtils.multiply(inv, pow, cos).derivative().value(a), EPS);