def _h1_s(s):
    """Define the saturated line boundary between Region 1 and 4, h=f(s)

    Parameters
    ----------
    s : float
        Specific entropy [kJ/kgK]

    Returns
    -------
    h : float
        Specific enthalpy [kJ/kg]

    Raises
    ------
    NotImplementedError : If input isn't in limit
        * s'(273.15K) ≤ s ≤ s'(623.15K)

    References
    ----------
    IAPWS, Revised Supplementary Release on Backward Equations p(h,s) for
    Region 3, Equations as a Function of h and s for the Region Boundaries, and
    an Equation Tsat(h,s) for Region 4 of the IAPWS Industrial Formulation 1997
    for the Thermodynamic Properties of Water and Steam,
    http://www.iapws.org/relguide/Supp-phs3-2014.pdf. Eq 3

    Examples
    --------
    >>> _h1_s(1)
    308.5509647
    >>> _h1_s(3)
    1198.359754
    """
    # Check input parameters
    if s < -1.545495919e-4 or s > 3.77828134:
        raise NotImplementedError("Incoming out of bound")

    sigma = s/3.8
    I = [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 7, 8, 12, 12, 14, 14, 16, 20,
         20, 22, 24, 28, 32, 32]
    J = [14, 36, 3, 16, 0, 5, 4, 36, 4, 16, 24, 18, 24, 1, 4, 2, 4, 1, 22, 10,
         12, 28, 8, 3, 0, 6, 8]
    n = [0.332171191705237, 0.611217706323496e-3, -0.882092478906822e1,
         -0.455628192543250, -0.263483840850452e-4, -0.223949661148062e2,
         -0.428398660164013e1, -0.616679338856916, -0.146823031104040e2,
         0.284523138727299e3, -0.113398503195444e3, 0.115671380760859e4,
         0.395551267359325e3, -0.154891257229285e1, 0.194486637751291e2,
         -0.357915139457043e1, -0.335369414148819e1, -0.664426796332460,
         0.323321885383934e5, 0.331766744667084e4, -0.223501257931087e5,
         0.573953875852936e7, 0.173226193407919e3, -0.363968822121321e-1,
         0.834596332878346e-6, 0.503611916682674e1, 0.655444787064505e2]

    suma = 0
    for i, j, ni in zip(I, J, n):
        suma += ni * (sigma-1.09)**i * (sigma+0.366e-4)**j
    return 1700*suma