code: def dre_dc(self, pars):
          r
          self._set_parameters(pars)
          # term 1
          num1a = np.log(self.w * self.tau) * self.otc * np.sin(self.ang)
          num1b = self.otc * np.cos(self.ang) * np.pi / 2.0
          term1 = (num1a + num1b) / self.denom
  
          # term 2
          num2 = self.otc * np.sin(self.c / np.pi) * 2
          denom2 = self.denom ** 2
          term2 = num2 / denom2
  
          # term 3
          num3a = 2 * np.log(self.w * self.tau) * self.otc * np.cos(self.ang)
          num3b = 2 * ((self.w * self.tau) ** 2) * np.pi / 2.0 * np.sin(self.ang)
          num3c = 2 * np.log(self.w * self.tau) * self.otc2
          term3 = num3a - num3b + num3c
  
          result = self.sigmai * self.m * (term1 + term2 * term3)
  
          return result
docs: r"""
          :math:Add formula