xref: /original-bsd/usr.bin/f77/tests/tests/fm009.f (revision a95f03a8)
1c     comment section.
2c
3c     fm009
4c
5c         this routine tests arithmetic assignment statements of the
6c     form
7c             integer variable = arithmetic expression
8c     where the arithmetic expression is formed with the arithmetic
9c     operator +, integer constants and positive integer variables.
10c     some of the tests use parentheses to group elements in the
11c     arithmetic expression.
12c
13c         there are tests where the arithmetic expression contains
14c            (1)  two integer variables,
15c            (2)  two integer variables and one integer constant,
16c            (3)  two integer variables and one integer constant with
17c                   parentheses to group elements.
18c
19c      references
20c        american national standard programming language fortran,
21c              x3.9-1978
22c
23c        section 4.3, integer type
24c        section 4.3.1, integer constant
25c        section 6.1, arithmetic expressions
26c        section 10.1, arithmetic assignment statements
27c
28c      **********************************************************
29c
30c         a compiler validation system for the fortran language
31c     based on specifications as defined in american national standard
32c     programming language fortran x3.9-1978, has been developed by the
33c     federal cobol compiler testing service.  the fortran compiler
34c     validation system (fcvs) consists of audit routines, their related
35c     data, and an executive system.  each audit routine is a fortran
36c     program, subprogram or function which includes tests of specific
37c     language elements and supporting procedures indicating the result
38c     of executing these tests.
39c
40c         this particular program/subprogram/function contains features
41c     found only in the subset as defined in x3.9-1978.
42c
43c         suggestions and comments should be forwarded to -
44c
45c                  department of the navy
46c                  federal cobol compiler testing service
47c                  washington, d.c.  20376
48c
49c      **********************************************************
50c
51c
52c
53c     initialization section
54c
55c     initialize constants
56c      **************
57c     i01 contains the logical unit number for the card reader.
58      i01 = 5
59c     i02 contains the logical unit number for the printer.
60      i02 = 6
61c     system environment section
62c
63cx010    this card is replaced by contents of fexec x-010 control card.
64c     the cx010 card is for overriding the program default i01 = 5
65c     (unit number for card reader).
66cx011    this card is replaced by contents of fexec x-011 control card.
67c     the cx011 card is for systems which require additional
68c     fortran statements for files associated with cx010 above.
69c
70cx020    this card is replaced by contents of fexec x-020 control card.
71c     the cx020 card is for overriding the program default i02 = 6
72c     (unit number for printer).
73cx021    this card is replaced by contents of fexec x-021 control card.
74c     the cx021 card is for systems which require additional
75c     fortran statements for files associated with cx020 above.
76c
77      ivpass=0
78      ivfail=0
79      ivdele=0
80      iczero=0
81c
82c     write page headers
83      write (i02,90000)
84      write (i02,90001)
85      write (i02,90002)
86      write (i02, 90002)
87      write (i02,90003)
88      write (i02,90002)
89      write (i02,90004)
90      write (i02,90002)
91      write (i02,90011)
92      write (i02,90002)
93      write (i02,90002)
94      write (i02,90005)
95      write (i02,90006)
96      write (i02,90002)
97c
98c     test section
99c
100c         arithmetic assignment statement
101c
102c     test 235 through test 243 contain two positive integer variables
103c     and operator + in arithmetic expression.
104c
105 2351 continue
106      ivtnum = 235
107c
108c      ****  test 235  ****
109c
110      if (iczero) 32350, 2350, 32350
111 2350 continue
112      ivon01 = 2
113      ivon02 = 3
114      ivcomp = ivon01 + ivon02
115      go to 42350
11632350 ivdele = ivdele + 1
117      write (i02,80003) ivtnum
118      if (iczero) 42350, 2361, 42350
11942350 if (ivcomp - 5) 22350,12350,22350
12012350 ivpass = ivpass + 1
121      write (i02,80001) ivtnum
122      go to 2361
12322350 ivfail = ivfail + 1
124      ivcorr = 5
125      write (i02,80004) ivtnum, ivcomp ,ivcorr
126 2361 continue
127      ivtnum = 236
128c
129c      ****  test 236  ****
130c
131      if (iczero) 32360, 2360, 32360
132 2360 continue
133      ivon01 = 2
134      ivon02 = 3
135      ivcomp = ivon02 + ivon01
136      go to 42360
13732360 ivdele = ivdele + 1
138      write (i02,80003) ivtnum
139      if (iczero) 42360, 2371, 42360
14042360 if (ivcomp - 5) 22360, 12360, 22360
14112360 ivpass = ivpass + 1
142      write (i02,80001) ivtnum
143      go to 2371
14422360 ivfail = ivfail + 1
145      ivcorr = 5
146      write (i02,80004) ivtnum, ivcomp ,ivcorr
147 2371 continue
148      ivtnum = 237
149c
150c      ****  test 237  ****
151c
152      if (iczero) 32370, 2370, 32370
153 2370 continue
154      ivon01 = 51
155      ivon02 = 52
156      ivcomp = ivon01 + ivon02
157      go to 42370
15832370 ivdele = ivdele + 1
159      write (i02,80003) ivtnum
160      if (iczero) 42370, 2381, 42370
16142370 if (ivcomp - 103) 22370, 12370, 22370
16212370 ivpass = ivpass + 1
163      write (i02,80001) ivtnum
164      go to 2381
16522370 ivfail = ivfail + 1
166      ivcorr = 103
167      write (i02,80004) ivtnum, ivcomp ,ivcorr
168 2381 continue
169      ivtnum = 238
170c
171c      ****  test  238 ****
172c
173      if (iczero) 32380, 2380, 32380
174 2380 continue
175      ivon01 = 189
176      ivon02 = 676
177      ivcomp = ivon01 + ivon02
178      go to 42380
17932380 ivdele = ivdele + 1
180      write (i02,80003) ivtnum
181      if (iczero) 42380, 2391, 42380
18242380 if (ivcomp - 865) 22380, 12380, 22380
18312380 ivpass = ivpass + 1
184      write (i02,80001) ivtnum
185      go to 2391
18622380 ivfail = ivfail + 1
187      ivcorr = 865
188      write (i02,80004) ivtnum, ivcomp ,ivcorr
189 2391 continue
190      ivtnum = 239
191c
192c      ****  test 239  ****
193c
194      if (iczero) 32390, 2390, 32390
195 2390 continue
196      ivon01 = 1358
197      ivon02 = 8001
198      ivcomp = ivon01 + ivon02
199      go to 42390
20032390 ivdele = ivdele + 1
201      write (i02,80003) ivtnum
202      if (iczero) 42390, 2401, 42390
20342390 if (ivcomp - 9359) 22390, 12390, 22390
20412390 ivpass = ivpass + 1
205      write (i02,80001) ivtnum
206      go to 2401
20722390 ivfail = ivfail + 1
208      ivcorr = 9359
209      write (i02,80004) ivtnum, ivcomp ,ivcorr
210 2401 continue
211      ivtnum = 240
212c
213c      ****  test 240  ****
214c
215      if (iczero) 32400, 2400, 32400
216 2400 continue
217      ivon01 = 1358
218      ivon02 = 8001
219      ivcomp = ivon02 + ivon01
220      go to 42400
22132400 ivdele = ivdele + 1
222      write (i02,80003) ivtnum
223      if (iczero) 42400, 2411, 42400
22442400 if (ivcomp - 9359) 22400, 12400, 22400
22512400 ivpass = ivpass + 1
226      write (i02,80001) ivtnum
227      go to 2411
22822400 ivfail = ivfail + 1
229      ivcorr = 9359
230      write (i02,80004) ivtnum, ivcomp ,ivcorr
231 2411 continue
232      ivtnum = 241
233c
234c      ****  test 241  ****
235c
236      if (iczero) 32410, 2410, 32410
237 2410 continue
238      ivon01 = 11112
239      ivon02 = 10001
240      ivcomp = ivon01 + ivon02
241      go to 42410
24232410 ivdele = ivdele + 1
243      write (i02,80003) ivtnum
244      if (iczero) 42410, 2421, 42410
24542410 if (ivcomp - 21113) 22410, 12410, 22410
24612410 ivpass = ivpass + 1
247      write (i02,80001) ivtnum
248      go to 2421
24922410 ivfail = ivfail + 1
250      ivcorr = 21113
251      write (i02,80004) ivtnum, ivcomp ,ivcorr
252 2421 continue
253      ivtnum = 242
254c
255c      **** test 242  ****
256c
257      if (iczero) 32420, 2420, 32420
258 2420 continue
259      ivon01 = 189
260      ivon02 = 9876
261      ivcomp = ivon01 + ivon02
262      go to 42420
26332420 ivdele = ivdele + 1
264      write (i02,80003) ivtnum
265      if (iczero) 42420, 2431, 42420
26642420 if (ivcomp - 10065) 22420, 12420, 22420
26712420 ivpass = ivpass + 1
268      write (i02,80001) ivtnum
269      go to 2431
27022420 ivfail = ivfail + 1
271      ivcorr = 10065
272      write (i02,80004) ivtnum, ivcomp ,ivcorr
273 2431 continue
274      ivtnum = 243
275c
276c      **** test 243  ****
277c         requires 32767
278c
279      if (iczero) 32430, 2430, 32430
280 2430 continue
281      ivon01 = 16383
282      ivon02 = 16384
283      ivcomp = ivon01 + ivon02
284      go to 42430
28532430 ivdele = ivdele + 1
286      write (i02,80003) ivtnum
287      if (iczero) 42430, 2441, 42430
28842430 if (ivcomp - 32767) 22430, 12430, 22430
28912430 ivpass = ivpass + 1
290      write (i02,80001) ivtnum
291      go to 2441
29222430 ivfail = ivfail + 1
293      ivcorr = 32767
294      write (i02,80004) ivtnum, ivcomp ,ivcorr
295c
296c     test 244 through test 250 contain two positive integer variables,
297c     one integer constant, and operator + in arithmetic expression.
298c
299 2441 continue
300      ivtnum = 244
301c
302c      ****  test 244  ****
303c
304      if (iczero) 32440, 2440, 32440
305 2440 continue
306      ivon01 = 2
307      ivon02 = 3
308      ivcomp = ivon01 + ivon02 + 4
309      go to 42440
31032440 ivdele = ivdele + 1
311      write (i02,80003) ivtnum
312      if (iczero) 42440, 2451, 42440
31342440 if (ivcomp - 9) 22440, 12440, 22440
31412440 ivpass = ivpass + 1
315      write (i02,80001) ivtnum
316      go to 2451
31722440 ivfail = ivfail + 1
318      ivcorr = 9
319      write (i02,80004) ivtnum, ivcomp ,ivcorr
320 2451 continue
321      ivtnum = 245
322c
323c      ****  test 245  ****
324c
325      if (iczero) 32450, 2450, 32450
326 2450 continue
327      ivon01 = 2
328      ivon03 = 4
329      ivcomp = ivon01 +3 + ivon03
330      go to 42450
33132450 ivdele = ivdele + 1
332      write (i02,80003) ivtnum
333      if (iczero) 42450, 2461, 42450
33442450 if (ivcomp - 9) 22450, 12450, 22450
33512450 ivpass = ivpass + 1
336      write (i02,80001) ivtnum
337      go to 2461
33822450 ivfail = ivfail + 1
339      ivcorr = 9
340      write (i02,80004) ivtnum, ivcomp ,ivcorr
341 2461 continue
342      ivtnum = 246
343c
344c      ****  test 246  ****
345c
346      if (iczero) 32460, 2460, 32460
347 2460 continue
348      ivon02 = 3
349      ivon03 = 4
350      ivcomp = 2 + ivon02 + ivon03
351      go to 42460
35232460 ivdele = ivdele + 1
353      write (i02,80003) ivtnum
354      if (iczero) 42460, 2471, 42460
35542460 if (ivcomp - 9) 22460, 12460, 22460
35612460 ivpass = ivpass + 1
357      write (i02,80001) ivtnum
358      go to 2471
35922460 ivfail = ivfail + 1
360      ivcorr = 9
361      write (i02,80004) ivtnum, ivcomp ,ivcorr
362 2471 continue
363      ivtnum = 247
364c
365c      ****  test 247  ****
366c
367      if (iczero) 32470, 2470, 32470
368 2470 continue
369      ivon01 = 51
370      ivon03 = 53
371      ivcomp = ivon01 +52 + ivon03
372      go to 42470
37332470 ivdele = ivdele + 1
374      write (i02,80003) ivtnum
375      if (iczero) 42470, 2481, 42470
37642470 if (ivcomp - 156) 22470, 12470, 22470
37712470 ivpass = ivpass + 1
378      write (i02,80001) ivtnum
379      go to 2481
38022470 ivfail = ivfail + 1
381      ivcorr = 156
382      write (i02,80004) ivtnum, ivcomp ,ivcorr
383 2481 continue
384      ivtnum = 248
385c
386c      ****  test 248  ****
387c
388      if (iczero) 32480, 2480, 32480
389 2480 continue
390      ivon02 = 676
391      ivon03 = 101
392      ivcomp = 189 + ivon02 + ivon03
393      go to 42480
39432480 ivdele = ivdele + 1
395      write (i02,80003) ivtnum
396      if (iczero) 42480, 2491, 42480
39742480 if (ivcomp - 966) 22480, 12480, 22480
39812480 ivpass = ivpass + 1
399      write (i02,80001) ivtnum
400      go to 2491
40122480 ivfail = ivfail + 1
402      ivcorr = 966
403      write (i02,80004) ivtnum, ivcomp ,ivcorr
404 2491 continue
405      ivtnum = 249
406c
407c      ****  test 249  ****
408c
409      if (iczero) 32490, 2490, 32490
410 2490 continue
411      ivon01 = 1358
412      ivon02 = 8001
413      ivcomp = ivon01 + ivon02 + 2189
414      go to 42490
41532490 ivdele = ivdele + 1
416      write (i02,80003) ivtnum
417      if (iczero) 42490, 2501, 42490
41842490 if (ivcomp - 11548) 22490, 12490, 22490
41912490 ivpass = ivpass + 1
420      write (i02,80001) ivtnum
421      go to 2501
42222490 ivfail = ivfail + 1
423      ivcorr = 11548
424      write (i02,80004) ivtnum, ivcomp ,ivcorr
425 2501 continue
426      ivtnum = 250
427c
428c      ****  test 250  ****
429c         requires 32767
430c
431      if (iczero) 32500, 2500, 32500
432 2500 continue
433      ivon01 = 16383
434      ivon03 = 4
435      ivcomp = ivon01 + 16380 + ivon03
436      go to 42500
43732500 ivdele = ivdele + 1
438      write (i02,80003) ivtnum
439      if (iczero) 42500, 2511, 42500
44042500 if (ivcomp - 32767) 22500,12500,22500
44112500 ivpass = ivpass + 1
442      write (i02,80001) ivtnum
443      go to 2511
44422500 ivfail = ivfail + 1
445      ivcorr = 32767
446      write (i02,80004) ivtnum, ivcomp ,ivcorr
447c
448c     test 251 through test 264 contain two positive integer variables,
449c     one integer constant, and operator + in arithmetic expression.
450c     parentheses are used to group elements.  the results are the same
451c     as tests 244 through 250.
452c
453 2511 continue
454      ivtnum = 251
455c
456c      ****  test 251  ****
457c
458      if (iczero) 32510, 2510, 32510
459 2510 continue
460      ivon01 = 2
461      ivon02 = 3
462      ivcomp = (ivon01 + ivon02) + 4
463      go to 42510
46432510 ivdele = ivdele + 1
465      write (i02,80003) ivtnum
466      if (iczero) 42510, 2521, 42510
46742510 if (ivcomp - 9) 22510,12510,22510
46812510 ivpass = ivpass + 1
469      write (i02,80001) ivtnum
470      go to 2521
47122510 ivfail = ivfail + 1
472      ivcorr = 9
473      write (i02,80004) ivtnum, ivcomp ,ivcorr
474 2521 continue
475      ivtnum = 252
476c
477c      ****  test 252  ****
478c
479      if (iczero) 32520, 2520, 32520
480 2520 continue
481      ivon02 = 3
482      ivon03 = 4
483      ivcomp = 2 + (ivon02 + ivon03)
484      go to 42520
48532520 ivdele = ivdele + 1
486      write (i02,80003) ivtnum
487      if (iczero) 42520, 2531, 42520
48842520 if (ivcomp - 9) 22520,12520,22520
48912520 ivpass = ivpass + 1
490      write (i02,80001) ivtnum
491      go to 2531
49222520 ivfail = ivfail + 1
493      ivcorr = 9
494      write (i02,80004) ivtnum, ivcomp ,ivcorr
495 2531 continue
496      ivtnum = 253
497c
498c      **** test 253  ****
499c
500      if (iczero) 32530, 2530, 32530
501 2530 continue
502      ivon02 =3
503      ivon03 =4
504      ivcomp = (2+ivon02)+ivon03
505      go to 42530
50632530 ivdele = ivdele + 1
507      write (i02,80003) ivtnum
508      if (iczero) 42530, 2541, 42530
50942530 if (ivcomp -9) 22530,12530,22530
51012530 ivpass = ivpass + 1
511      write (i02,80001) ivtnum
512      go to 2541
51322530 ivfail = ivfail + 1
514      ivcorr =9
515      write (i02,80004) ivtnum, ivcomp ,ivcorr
516 2541 continue
517      ivtnum = 254
518c
519c      ****  test 254  ****
520c
521      if (iczero) 32540, 2540, 32540
522 2540 continue
523      ivon01 = 2
524      ivon02 = 3
525      ivcomp = ivon01 + (ivon02 + 4)
526      go to 42540
52732540 ivdele = ivdele + 1
528      write (i02,80003) ivtnum
529      if (iczero) 42540, 2551, 42540
53042540 if (ivcomp-9)22540,12540,22540
53112540 ivpass = ivpass + 1
532      write (i02,80001) ivtnum
533      go to 2551
53422540 ivfail = ivfail + 1
535      ivcorr=9
536      write (i02,80004) ivtnum, ivcomp ,ivcorr
537 2551 continue
538      ivtnum = 255
539c
540c      ****  test 255  ****
541c
542      if (iczero) 32550, 2550, 32550
543 2550 continue
544      ivon01 = 2
545      ivon03 = 4
546      ivcomp = ivon01 +(3+ivon03)
547      go to 42550
54832550 ivdele = ivdele + 1
549      write (i02,80003) ivtnum
550      if (iczero) 42550, 2561, 42550
55142550 if (ivcomp-9)22550,12550,22550
55212550 ivpass = ivpass + 1
553      write (i02,80001) ivtnum
554      go to 2561
55522550 ivfail = ivfail + 1
556      ivcorr =9
557      write (i02,80004) ivtnum, ivcomp ,ivcorr
558 2561 continue
559      ivtnum = 256
560c
561c      ****  test 256  ****
562c
563      if (iczero) 32560, 2560, 32560
564 2560 continue
565      ivon01 = 2
566      ivon03 = 4
567      ivcomp =(ivon01+3)+ivon03
568      go to 42560
56932560 ivdele = ivdele + 1
570      write (i02,80003) ivtnum
571      if (iczero) 42560, 2571, 42560
57242560 if (ivcomp-9) 22560,12560,22560
57312560 ivpass = ivpass + 1
574      write (i02,80001) ivtnum
575      go to 2571
57622560 ivfail = ivfail + 1
577      ivcorr =9
578      write (i02,80004) ivtnum, ivcomp ,ivcorr
579 2571 continue
580      ivtnum = 257
581c
582c      ****  test 257  ****
583c
584      if (iczero) 32570, 2570, 32570
585 2570 continue
586      ivon01 = 51
587      ivon03 = 53
588      ivcomp=ivon01+(52+ivon03)
589      go to 42570
59032570 ivdele = ivdele + 1
591      write (i02,80003) ivtnum
592      if (iczero) 42570, 2581, 42570
59342570 if (ivcomp -156) 22570,12570,22570
59412570 ivpass = ivpass + 1
595      write (i02,80001) ivtnum
596      go to 2581
59722570 ivfail = ivfail + 1
598      ivcorr = 156
599      write (i02,80004) ivtnum, ivcomp ,ivcorr
600 2581 continue
601      ivtnum = 258
602c
603c      ****  test 258  ****
604c
605      if (iczero) 32580, 2580, 32580
606 2580 continue
607      ivon01 = 51
608      ivon03 = 53
609      ivcomp =(ivon01+52)+ivon03
610      go to 42580
61132580 ivdele = ivdele + 1
612      write (i02,80003) ivtnum
613      if (iczero) 42580, 2591, 42580
61442580 if (ivcomp-156) 22580,12580,22580
61512580 ivpass = ivpass + 1
616      write (i02,80001) ivtnum
617      go to 2591
61822580 ivfail = ivfail + 1
619      ivcorr = 156
620      write (i02,80004) ivtnum, ivcomp ,ivcorr
621 2591 continue
622      ivtnum = 259
623c
624c      ****  test 259  ****
625c
626      if (iczero) 32590, 2590, 32590
627 2590 continue
628      ivon02 = 676
629      ivon03 = 101
630      ivcomp = 189+(ivon02+ivon03)
631      go to 42590
63232590 ivdele = ivdele + 1
633      write (i02,80003) ivtnum
634      if (iczero) 42590, 2601, 42590
63542590 if (ivcomp -966) 22590,12590,22590
63612590 ivpass = ivpass + 1
637      write (i02,80001) ivtnum
638      go to 2601
63922590 ivfail = ivfail + 1
640      ivcorr =966
641      write (i02,80004) ivtnum, ivcomp ,ivcorr
642 2601 continue
643      ivtnum = 260
644c
645c      ****  test 260  ****
646c
647      if (iczero) 32600, 2600, 32600
648 2600 continue
649      ivon02 = 676
650      ivon03 = 101
651      ivcomp = (189 + ivon02) + ivon03
652      go to 42600
65332600 ivdele = ivdele + 1
654      write (i02,80003) ivtnum
655      if (iczero) 42600, 2611, 42600
65642600 if (ivcomp-966) 22600,12600,22600
65712600 ivpass = ivpass + 1
658      write (i02,80001) ivtnum
659      go to 2611
66022600 ivfail = ivfail + 1
661      ivcorr=966
662      write (i02,80004) ivtnum, ivcomp ,ivcorr
663 2611 continue
664      ivtnum = 261
665c
666c      ****  test 261  ****
667c
668      if (iczero) 32610, 2610, 32610
669 2610 continue
670      ivon01 = 1358
671      ivon02 = 8001
672      ivcomp = ivon01 + (ivon02 + 2189)
673      go to 42610
67432610 ivdele = ivdele + 1
675      write (i02,80003) ivtnum
676      if (iczero) 42610, 2621, 42610
67742610 if (ivcomp-11548) 22610,12610,22610
67812610 ivpass = ivpass + 1
679      write (i02,80001) ivtnum
680      go to 2621
68122610 ivfail = ivfail + 1
682      ivcorr=11548
683      write (i02,80004) ivtnum, ivcomp ,ivcorr
684 2621 continue
685      ivtnum = 262
686c
687c      ****  test 262  ****
688c
689      if (iczero) 32620, 2620, 32620
690 2620 continue
691      ivon01 = 1358
692      ivon02 = 8001
693      ivcomp =(ivon01+ivon02)+2189
694      go to 42620
69532620 ivdele = ivdele + 1
696      write (i02,80003) ivtnum
697      if (iczero) 42620, 2631, 42620
69842620 if (ivcomp-11548) 22620,12620,22620
69912620 ivpass = ivpass + 1
700      write (i02,80001) ivtnum
701      go to 2631
70222620 ivfail = ivfail + 1
703      ivcorr=11548
704      write (i02,80004) ivtnum, ivcomp ,ivcorr
705 2631 continue
706      ivtnum = 263
707c
708c      ****  test 263  ****
709c         requires 32767
710c
711      if (iczero) 32630, 2630, 32630
712 2630 continue
713      ivon01 = 16383
714      ivon03 = 16380
715      ivcomp = ivon01 + (4+ivon03)
716      go to 42630
71732630 ivdele = ivdele + 1
718      write (i02,80003) ivtnum
719      if (iczero) 42630, 2641, 42630
72042630 if (ivcomp-32767) 22630,12630,22630
72112630 ivpass = ivpass + 1
722      write (i02,80001) ivtnum
723      go to 2641
72422630 ivfail = ivfail + 1
725      ivcorr =32767
726      write (i02,80004) ivtnum, ivcomp ,ivcorr
727 2641 continue
728      ivtnum = 264
729c
730c      ****  test 264  ****
731c         requires 32767
732c
733      if (iczero) 32640, 2640, 32640
734 2640 continue
735      ivon01 = 16383
736      ivon02 = 16380
737      ivcomp = (ivon01+ivon02) +4
738      go to 42640
73932640 ivdele = ivdele + 1
740      write (i02,80003) ivtnum
741      if (iczero) 42640, 2651, 42640
74242640 if (ivcomp - 32767) 22640,12640,22640
74312640 ivpass = ivpass + 1
744      write (i02,80001) ivtnum
745      go to 2651
74622640 ivfail = ivfail + 1
747      ivcorr = 32767
748      write (i02,80004) ivtnum, ivcomp ,ivcorr
749 2651 continue
750c
751c     write page footings and run summaries
75299999 continue
753      write (i02,90002)
754      write (i02,90006)
755      write (i02,90002)
756      write (i02,90002)
757      write (i02,90007)
758      write (i02,90002)
759      write (i02,90008)  ivfail
760      write (i02,90009) ivpass
761      write (i02,90010) ivdele
762c
763c
764c     terminate routine execution
765      stop
766c
767c     format statements for page headers
76890000 format (1h1)
76990002 format (1h )
77090001 format (1h ,10x,34hfortran compiler validation system)
77190003 format (1h ,21x,11hversion 1.0)
77290004 format (1h ,10x,38hfor official use only - copyright 1978)
77390005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
77490006 format (1h ,5x,46h----------------------------------------------)
77590011 format (1h ,18x,17hsubset level test)
776c
777c     format statements for run summaries
77890008 format (1h ,15x,i5,19h errors encountered)
77990009 format (1h ,15x,i5,13h tests passed)
78090010 format (1h ,15x,i5,14h tests deleted)
781c
782c     format statements for test results
78380001 format (1h ,4x,i5,7x,4hpass)
78480002 format (1h ,4x,i5,7x,4hfail)
78580003 format (1h ,4x,i5,7x,7hdeleted)
78680004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
78780005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
788c
78990007 format (1h ,20x,20hend of program fm009)
790      end
791