code: def _TSat_P(P):
      
      # Check input parameters
      if P < 611.212677/1e6 or P > 22.064:
          raise NotImplementedError("Incoming out of bound")
  
      n = [0, 0.11670521452767E+04, -0.72421316703206E+06, -0.17073846940092E+02,
           0.12020824702470E+05, -0.32325550322333E+07, 0.14915108613530E+02,
           -0.48232657361591E+04, 0.40511340542057E+06, -0.23855557567849E+00,
           0.65017534844798E+03]
      beta = P**0.25
      E = beta**2+n[3]*beta+n[6]
      F = n[1]*beta**2+n[4]*beta+n[7]
      G = n[2]*beta**2+n[5]*beta+n[8]
      D = 2*G/(-F-(F**2-4*E*G)**0.5)
      return (n[10]+D-((n[10]+D)**2-4*(n[9]+n[10]*D))**0.5)/2
docs: Define the saturated line, T=f(P)
  
      Parameters
      ----------
      P : float
          Pressure, [MPa]
  
      Returns
      -------
      T : float
          Temperature, [K]
  
      Notes
      ------
      Raise :class:`NotImplementedError` if input isn't in limit:
  
          * 0.00061121 ≤ P ≤ 22.064
  
      References
      ----------
      IAPWS, Revised Release on the IAPWS Industrial Formulation 1997 for the
      Thermodynamic Properties of Water and Steam August 2007,
      http://www.iapws.org/relguide/IF97-Rev.html, Eq 31
  
      Examples
      --------
      >>> _TSat_P(10)
      584.149488