code: def copy_neg(self):
          
          result = mpfr.Mpfr_t.__new__(BigFloat)
          mpfr.mpfr_init2(result, self.precision)
          new_sign = not self._sign()
          mpfr.mpfr_setsign(result, self, new_sign, ROUND_TIES_TO_EVEN)
          return result
docs: Return a copy of self with the opposite sign bit.
  
          Unlike -self, this does not make use of the context:  the result
          has the same precision as the original.