def METHOD_NAME(non_linear_ls_with_separable_scale_factor_impl):
  class klass(polynomial_fit(non_linear_ls_with_separable_scale_factor_impl)):
    def build_up(self, objective_only=False):
      super(klass, self).build_up(objective_only)
      a, b, c = self.x
      reduced = self.reduced_problem()
      reduced.add_equation(residual=(a - b + c - 2),
                           grad_residual=flex.double((1, -1, 1)),
                           weight=1)
  return klass