Program: 57143
Project: 57143
Buggy source:
/** 
 * {@inheritDoc} 
 */
@SuppressWarnings("String_Node_Str") @Override protected FieldODEStateAndDerivative<T> computeInterpolatedStateAndDerivatives(final FieldEquationsMapper<T> mapper,final T time,final T theta,final T oneMinusThetaH){
  final T coeffDot1=theta.multiply(theta.multiply(theta.multiply(theta.multiply(21).add(-47)).add(36)).add(-54 / 5.0)).add(1);
  final T coeffDot2=getField().getZero();
  final T coeffDot3=theta.multiply(theta.multiply(theta.multiply(theta.multiply(112).add(-608 / 3.0)).add(320 / 3.0)).add(-208 / 15.0));
  final T coeffDot4=theta.multiply(theta.multiply(theta.multiply(theta.multiply(-567 / 5.0).add(972 / 5.0)).add(-486 / 5.0)).add(324 / 25.0));
  final T coeffDot5=theta.multiply(theta.multiply(theta.multiply(theta.multiply(c5a.divide(5)).add(c5b.divide(15))).add(c5c.divide(30))).add(c5d.divide(150)));
  final T coeffDot6=theta.multiply(theta.multiply(theta.multiply(theta.multiply(c6a.divide(5)).add(c6b.divide(15))).add(c6c.divide(30))).add(c6d.divide(150)));
  final T coeffDot7=theta.multiply(theta.multiply(theta.multiply(3)).add(-3)).add(3 / 5.0);
  final T[] interpolatedState;
  final T[] interpolatedDerivatives;
  if (getGlobalPreviousState() != null && theta.getReal() <= 0.5) {
    final T s=theta.multiply(theta.multiply(h));
    final T coeff1=s.multiply(theta.multiply(theta.multiply(theta.multiply(21 / 5.0).add(-47 / 4.0)).add(12)).add(-27 / 5.0)).add(1);
    final T coeff2=getField().getZero();
    final T coeff3=s.multiply(theta.multiply(theta.multiply(theta.multiply(112 / 5.0).add(-152 / 3.0)).add(320 / 9.0)).add(-104 / 15.0));
    final T coeff4=s.multiply(theta.multiply(theta.multiply(theta.multiply(-567 / 25.0).add(243 / 5.0)).add(-162 / 5.0)).add(162 / 25.0));
    final T coeff5=s.multiply(theta.multiply(theta.multiply(theta.multiply(c5a.divide(25)).add(c5b.divide(60))).add(c5c.divide(90))).add(c5d.divide(300)));
    final T coeff6=s.multiply(theta.multiply(theta.multiply(theta.multiply(c5a.divide(25)).add(c6b.divide(60))).add(c6c.divide(90))).add(c6d.divide(300)));
    final T coeff7=s.multiply(theta.multiply(theta.multiply(3 / 4.0)).add(-1)).add(3 / 10.0);
    interpolatedState=previousStateLinearCombination(coeff1,coeff2,coeff3,coeff4,coeff5,coeff6,coeff7);
    interpolatedDerivatives=derivativeLinearCombination(coeffDot1,coeffDot2,coeffDot3,coeffDot4,coeffDot5,coeffDot6,coeffDot7);
  }
 else {
    final T s=oneMinusThetaH.multiply(theta);
    final T coeff1=s.multiply(theta.multiply(theta.multiply(theta.multiply(-21 / 5.0).add(151 / 20.0)).add(-89 / 20.0)).add(19 / 20.0)).add(-1 / 20.0);
    final T coeff2=getField().getZero();
    final T coeff3=s.multiply(theta.multiply(theta.multiply(theta.multiply(-112 / 5.0).add(424 / 15.0)).add(-328 / 45.0)).add(-16 / 45.0)).add(-16 / 45.0);
    final T coeff4=s.multiply(theta.multiply(theta.multiply(theta.multiply(567 / 25.0).add(-648 / 25.0)).add(162 / 25.0)));
    final T coeff5=s.multiply(theta.multiply(theta.multiply(theta.multiply(d5a.divide(25)).add(d5b.divide(300))).add(d5c.divide(900))).add(-49 / 180.0)).add(-49 / 180.0);
    final T coeff6=s.multiply(theta.multiply(theta.multiply(theta.multiply(d6a.divide(25)).add(d6b.divide(300))).add(d6c.divide(900))).add(-49 / 180.0)).add(-49 / 180.0);
    final T coeff7=s.multiply(theta.multiply(theta.multiply(-3 / 4.0).add(1 / 4.0)).add(-1 / 20.0)).add(-1 / 20.0);
    interpolatedState=currentStateLinearCombination(coeff1,coeff2,coeff3,coeff4,coeff5,coeff6,coeff7);
    interpolatedDerivatives=derivativeLinearCombination(coeffDot1,coeffDot2,coeffDot3,coeffDot4,coeffDot5,coeffDot6,coeffDot7);
  }
  return new FieldODEStateAndDerivative<T>(time,interpolatedState,interpolatedDerivatives);
}

Fixed version (ground truth):
/** 
 * {@inheritDoc} 
 */
@SuppressWarnings("String_Node_Str") @Override protected FieldODEStateAndDerivative<T> computeInterpolatedStateAndDerivatives(final FieldEquationsMapper<T> mapper,final T time,final T theta,final T oneMinusThetaH){
  final T coeffDot1=theta.multiply(theta.multiply(theta.multiply(theta.multiply(21).add(-47)).add(36)).add(-54 / 5.0)).add(1);
  final T coeffDot2=getField().getZero();
  final T coeffDot3=theta.multiply(theta.multiply(theta.multiply(theta.multiply(112).add(-608 / 3.0)).add(320 / 3.0)).add(-208 / 15.0));
  final T coeffDot4=theta.multiply(theta.multiply(theta.multiply(theta.multiply(-567 / 5.0).add(972 / 5.0)).add(-486 / 5.0)).add(324 / 25.0));
  final T coeffDot5=theta.multiply(theta.multiply(theta.multiply(theta.multiply(c5a.divide(5)).add(c5b.divide(15))).add(c5c.divide(30))).add(c5d.divide(150)));
  final T coeffDot6=theta.multiply(theta.multiply(theta.multiply(theta.multiply(c6a.divide(5)).add(c6b.divide(15))).add(c6c.divide(30))).add(c6d.divide(150)));
  final T coeffDot7=theta.multiply(theta.multiply(theta.multiply(3.0).add(-3)).add(3 / 5.0));
  final T[] interpolatedState;
  final T[] interpolatedDerivatives;
  if (getGlobalPreviousState() != null && theta.getReal() <= 0.5) {
    final T s=theta.multiply(h);
    final T coeff1=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(21 / 5.0).add(-47 / 4.0)).add(12)).add(-27 / 5.0)).add(1));
    final T coeff2=getField().getZero();
    final T coeff3=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(112 / 5.0).add(-152 / 3.0)).add(320 / 9.0)).add(-104 / 15.0)));
    final T coeff4=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(-567 / 25.0).add(243 / 5.0)).add(-162 / 5.0)).add(162 / 25.0)));
    final T coeff5=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(c5a.divide(25)).add(c5b.divide(60))).add(c5c.divide(90))).add(c5d.divide(300))));
    final T coeff6=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(c6a.divide(25)).add(c6b.divide(60))).add(c6c.divide(90))).add(c6d.divide(300))));
    final T coeff7=s.multiply(theta.multiply(theta.multiply(theta.multiply(3 / 4.0).add(-1)).add(3 / 10.0)));
    interpolatedState=previousStateLinearCombination(coeff1,coeff2,coeff3,coeff4,coeff5,coeff6,coeff7);
    interpolatedDerivatives=derivativeLinearCombination(coeffDot1,coeffDot2,coeffDot3,coeffDot4,coeffDot5,coeffDot6,coeffDot7);
  }
 else {
    final T s=oneMinusThetaH;
    final T coeff1=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(-21 / 5.0).add(151 / 20.0)).add(-89 / 20.0)).add(19 / 20.0)).add(-1 / 20.0));
    final T coeff2=getField().getZero();
    final T coeff3=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(-112 / 5.0).add(424 / 15.0)).add(-328 / 45.0)).add(-16 / 45.0)).add(-16 / 45.0));
    final T coeff4=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(567 / 25.0).add(-648 / 25.0)).add(162 / 25.0))));
    final T coeff5=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(d5a.divide(25)).add(d5b.divide(300))).add(d5c.divide(900))).add(-49 / 180.0)).add(-49 / 180.0));
    final T coeff6=s.multiply(theta.multiply(theta.multiply(theta.multiply(theta.multiply(d6a.divide(25)).add(d6b.divide(300))).add(d6c.divide(900))).add(-49 / 180.0)).add(-49 / 180.0));
    final T coeff7=s.multiply(theta.multiply(theta.multiply(theta.multiply(-3 / 4.0).add(1 / 4.0)).add(-1 / 20.0)).add(-1 / 20.0));
    interpolatedState=currentStateLinearCombination(coeff1,coeff2,coeff3,coeff4,coeff5,coeff6,coeff7);
    interpolatedDerivatives=derivativeLinearCombination(coeffDot1,coeffDot2,coeffDot3,coeffDot4,coeffDot5,coeffDot6,coeffDot7);
  }
  return new FieldODEStateAndDerivative<T>(time,interpolatedState,interpolatedDerivatives);
}