1	subroutine f1 (n, *, i)
2	integer n, i
3	if (i .ne. 42) STOP 1
4	entry e1 (n, *)
5	if (n .eq. 1) return 1
6	if (n .eq. 2) return
7	return
8	entry e2 (n, i, *, *, *)
9	if (i .ne. 46) STOP 2
10	if (n .ge. 4) return
11	return n
12	entry e3 (n, i)
13	if ((i .ne. 48) .or. (n .ne. 61)) STOP 3
14	end subroutine
15
16	program alt_return
17	implicit none
18
19	call f1 (1, *10, 42)
2020	continue
21	STOP 4
2210	continue
23	call f1 (2, *20, 42)
24	call f1 (3, *20, 42)
25	call e1 (2, *20)
26	call e1 (1, *30)
27	STOP 5
2830	continue
29	call e2 (1, 46, *40, *20, *20)
30	STOP 6
3140	continue
32	call e2 (2, 46, *20, *50, *20)
33	STOP 7
3450	continue
35	call e2 (3, 46, *20, *20, *60)
36	STOP 8
3760	continue
38	call e2 (4, 46, *20, *20, *20)
39	call e3 (61, 48)
40	end program
41