! Program Example from "Essential Fortran 90 & 95" by Loren P. Meissner
! Copyright 1996. Copying for sale requires permission from the author.
! Otherwise, distribution is permitted if these three lines are included.

  module H05M1
    implicit none
    public :: F
    integer, parameter, public :: HI = selected_real_kind( 12 )
  contains
    function F( X ) result( F_R )
      real (kind = HI), intent(in) :: X
      real (kind = HI) :: F_R
      real, parameter :: A = 1.1_HI
  ! start function F
        F_R = sqrt( abs( X - A ) )
      return
    end function F
  end module H05M1

