subroutine pipe3(a, b, c) use iso_fortran_env, only: real64 real(kind=real64), intent(in) :: a, b real(kind=real64), intent(out) :: c c = a**b end subroutine pipe3