final FieldVector3D<DerivativeStructure> meridianCenterToOffset =
zeroNorth.add(offsetOrigin).subtract(meridianCenter);
final FieldVector3D<DerivativeStructure> meridianZ = meridianCenterToOffset.normalize();
FieldVector3D<DerivativeStructure>       meridianE = FieldVector3D.crossProduct(Vector3D.PLUS_K, meridianZ);
if (meridianE.getNormSq().getValue() < Precision.SAFE_MIN) {
<BUG>meridianE = new FieldVector3D<DerivativeStructure>(new DerivativeStructure(parameters, 1, 0.0),
new DerivativeStructure(parameters, 1, 1.0),
new DerivativeStructure(parameters, 1, 0.0));
} else {</BUG>
meridianE = meridianE.normalize();

final FieldVector3D<DerivativeStructure> meridianCenterToOffset =
zeroNorth.add(offsetOrigin).subtract(meridianCenter);
final FieldVector3D<DerivativeStructure> meridianZ = meridianCenterToOffset.normalize();
FieldVector3D<DerivativeStructure>       meridianE = FieldVector3D.crossProduct(Vector3D.PLUS_K, meridianZ);
if (meridianE.getNormSq().getValue() < Precision.SAFE_MIN) {
meridianE = new FieldVector3D<>(factory.getDerivativeField().getZero(),
factory.getDerivativeField().getOne(),
factory.getDerivativeField().getZero());
} else {
meridianE = meridianE.normalize();
