question: public PolynomialFunction subtract ( final PolynomialFunction p ) { int lowLength = FastMath . min ( coefficients . length , p . coefficients . length ) ; int highLength = FastMath . max ( coefficients . length , p . coefficients . length ) ; double [ ] newCoefficients = new double [ highLength ] ; for ( int i = 0 ; i < lowLength ; ++ i ) { newCoefficients [ i ] = coefficients [ i ] - p . coefficients [ i ] ; } if ( coefficients . length < p . coefficients . length ) { for ( int i = lowLength ; i < highLength ; ++ i ) { newCoefficients [ i ] = - p . coefficients [ i ] ; } } else { System . arraycopy ( coefficients , lowLength , newCoefficients , lowLength , highLength - lowLength ) ; } return new PolynomialFunction ( newCoefficients ) ; }
target:  Subtract a polynomial from the instance.