recursive pure subroutine a()
end subroutine

pure elemental subroutine b()
end subroutine

elemental pure subroutine c()
end subroutine

pure recursive subroutine d()
end subroutine

impure elemental module subroutine e()
end subroutine
