xref: /original-bsd/usr.bin/f77/tests/tests/fm043.f (revision 08eb28af)
1c     comment section
2c
3c     fm043
4c
5c         this routine tests arithmetic assignments of the form
6c
7c     integer var. = integer var. <op1> integer var. <op2> integer var.
8c
9c     where <op1> and <op2> are arithmetic operators, but <op1> is
10c     not the same as <op2>.
11c
12c      references
13c        american national standard programming language fortran,
14c              x3.9-1978
15c
16c        section 4.3, integer type
17c        section 4.3.1, integer constant
18c        section 6.1, arithmetic expressions
19c        section 6.6, evaluation of expressions
20c        section 10.1, arithmetic assignment statement
21c
22c
23c      **********************************************************
24c
25c         a compiler validation system for the fortran language
26c     based on specifications as defined in american national standard
27c     programming language fortran x3.9-1978, has been developed by the
28c     federal cobol compiler testing service.  the fortran compiler
29c     validation system (fcvs) consists of audit routines, their related
30c     data, and an executive system.  each audit routine is a fortran
31c     program, subprogram or function which includes tests of specific
32c     language elements and supporting procedures indicating the result
33c     of executing these tests.
34c
35c         this particular program/subprogram/function contains features
36c     found only in the subset as defined in x3.9-1978.
37c
38c         suggestions and comments should be forwarded to -
39c
40c                  department of the navy
41c                  federal cobol compiler testing service
42c                  washington, d.c.  20376
43c
44c      **********************************************************
45c
46c
47c
48c     initialization section
49c
50c     initialize constants
51c      **************
52c     i01 contains the logical unit number for the card reader.
53      i01 = 5
54c     i02 contains the logical unit number for the printer.
55      i02 = 6
56c     system environment section
57c
58cx010    this card is replaced by contents of fexec x-010 control card.
59c     the cx010 card is for overriding the program default i01 = 5
60c     (unit number for card reader).
61cx011    this card is replaced by contents of fexec x-011 control card.
62c     the cx011 card is for systems which require additional
63c     fortran statements for files associated with cx010 above.
64c
65cx020    this card is replaced by contents of fexec x-020 control card.
66c     the cx020 card is for overriding the program default i02 = 6
67c     (unit number for printer).
68cx021    this card is replaced by contents of fexec x-021 control card.
69c     the cx021 card is for systems which require additional
70c     fortran statements for files associated with cx020 above.
71c
72      ivpass=0
73      ivfail=0
74      ivdele=0
75      iczero=0
76c
77c     write page headers
78      write (i02,90000)
79      write (i02,90001)
80      write (i02,90002)
81      write (i02, 90002)
82      write (i02,90003)
83      write (i02,90002)
84      write (i02,90004)
85      write (i02,90002)
86      write (i02,90011)
87      write (i02,90002)
88      write (i02,90002)
89      write (i02,90005)
90      write (i02,90006)
91      write (i02,90002)
92c
93c     test section
94c
95c         arithmetic assignment statement
96c
97c     tests 683 through 694 test statements where <op1> is '+' and
98c     <op2> varies.
99c
100c     test 695 through 706 test statements where <op1> is '-' and
101c     <op2> varies.
102c
103c     tests 707 through 718 test statements where <op1> is '*' and
104c     <op2> varies.
105c
106c
107c
108c     tests 683 through  685 test '+' followed by '-'.
109c
110      ivtnum = 683
111c
112c      ****  test 683  ****
113c
114      if (iczero) 36830, 6830, 36830
115 6830 continue
116      ivon01 = 45
117      ivon02 =  9
118      ivon03 =  3
119      ivcomp = ivon01 + ivon02 - ivon03
120      go to 46830
12136830 ivdele = ivdele + 1
122      write (i02,80003) ivtnum
123      if (iczero) 46830, 6841, 46830
12446830 if (ivcomp - 51) 26830,16830,26830
12516830 ivpass = ivpass + 1
126      write (i02,80001) ivtnum
127      go to 6841
12826830 ivfail = ivfail + 1
129      ivcorr = 51
130      write (i02,80004) ivtnum, ivcomp, ivcorr
131 6841 continue
132      ivtnum = 684
133c
134c      ****  test 684  ****
135c
136      if (iczero) 36840, 6840, 36840
137 6840 continue
138      ivon01 = 45
139      ivon02 =  9
140      ivon03 =  3
141      ivcomp = (ivon01 + ivon02) - ivon03
142      go to 46840
14336840 ivdele = ivdele + 1
144      write (i02,80003) ivtnum
145      if (iczero) 46840, 6851, 46840
14646840 if (ivcomp - 51) 26840,16840,26840
14716840 ivpass = ivpass + 1
148      write (i02,80001) ivtnum
149      go to 6851
15026840 ivfail = ivfail + 1
151      ivcorr = 51
152      write (i02,80004) ivtnum, ivcomp, ivcorr
153 6851 continue
154      ivtnum = 685
155c
156c      ****  test 685  ****
157c
158      if (iczero) 36850, 6850, 36850
159 6850 continue
160      ivon01 = 45
161      ivon02 = 9
162      ivon03 = 3
163      ivcomp = ivon01 + (ivon02 - ivon03)
164      go to 46850
16536850 ivdele = ivdele + 1
166      write (i02,80003) ivtnum
167      if (iczero) 46850, 6861, 46850
16846850 if (ivcomp - 51) 26850,16850,26850
16916850 ivpass = ivpass + 1
170      write (i02,80001) ivtnum
171      go to 6861
17226850 ivfail = ivfail + 1
173      ivcorr = 51
174      write (i02,80004) ivtnum, ivcomp, ivcorr
175 6861 continue
176c
177c     tests 686 through 688 test '+' followed by '*'.
178c
179      ivtnum = 686
180c
181c      ****  test 686  ****
182c
183      if (iczero) 36860, 6860, 36860
184 6860 continue
185      ivon01 = 45
186      ivon02 =  9
187      ivon03 =  3
188      ivcomp =  ivon01 + ivon02 * ivon03
189      go to 46860
19036860 ivdele = ivdele + 1
191      write (i02,80003) ivtnum
192      if (iczero) 46860, 6871, 46860
19346860 if (ivcomp - 72) 26860,16860,26860
19416860 ivpass = ivpass + 1
195      write (i02,80001) ivtnum
196      go to 6871
19726860 ivfail = ivfail + 1
198      ivcorr = 72
199      write (i02,80004) ivtnum, ivcomp, ivcorr
200 6871 continue
201      ivtnum = 687
202c
203c      ****  test 687  ****
204c
205      if (iczero) 36870, 6870, 36870
206 6870 continue
207      ivon01 = 45
208      ivon02 =  9
209      ivon03 =  3
210      ivcomp = (ivon01 + ivon02) * ivon03
211      go to 46870
21236870 ivdele = ivdele + 1
213      write (i02,80003) ivtnum
214      if (iczero) 46870, 6881, 46870
21546870 if (ivcomp - 162) 26870,16870,26870
21616870 ivpass = ivpass + 1
217      write (i02,80001) ivtnum
218      go to 6881
21926870 ivfail = ivfail + 1
220      ivcorr = 162
221      write (i02,80004) ivtnum, ivcomp, ivcorr
222 6881 continue
223      ivtnum = 688
224c
225c      ****  test 688  ****
226c
227      if (iczero) 36880, 6880, 36880
228 6880 continue
229      ivon01 = 45
230      ivon02 =  9
231      ivon03 = 3
232      ivcomp = ivon01 + (ivon02 * ivon03)
233      go to 46880
23436880 ivdele = ivdele + 1
235      write (i02,80003) ivtnum
236      if (iczero) 46880, 6891, 46880
23746880 if (ivcomp - 72) 26880,16880,26880
23816880 ivpass = ivpass + 1
239      write (i02,80001) ivtnum
240      go to 6891
24126880 ivfail = ivfail + 1
242      ivcorr = 72
243      write (i02,80004) ivtnum, ivcomp, ivcorr
244 6891 continue
245c
246c     tests 689 through 691 test '+' followed by '/'.
247c
248      ivtnum = 689
249c
250c      ****  test 689  ****
251c
252      if (iczero) 36890, 6890, 36890
253 6890 continue
254      ivon01 = 45
255      ivon02 =  9
256      ivon03 = 3
257      ivcomp = ivon01 + ivon02 / ivon03
258      go to 46890
25936890 ivdele = ivdele + 1
260      write (i02,80003) ivtnum
261      if (iczero) 46890, 6901, 46890
26246890 if (ivcomp - 48) 26890,16890,26890
26316890 ivpass = ivpass + 1
264      write (i02,80001) ivtnum
265      go to 6901
26626890 ivfail = ivfail + 1
267      ivcorr = 48
268      write (i02,80004) ivtnum, ivcomp, ivcorr
269 6901 continue
270      ivtnum = 690
271c
272c      ****  test 690  ****
273c
274      if (iczero) 36900, 6900, 36900
275 6900 continue
276      ivon01 = 45
277      ivon02 =  9
278      ivon03 =  3
279      ivcomp = (ivon01 + ivon02) / ivon03
280      go to 46900
28136900 ivdele = ivdele + 1
282      write (i02,80003) ivtnum
283      if (iczero) 46900, 6911, 46900
28446900 if (ivcomp - 18) 26900,16900,26900
28516900 ivpass = ivpass + 1
286      write (i02,80001) ivtnum
287      go to 6911
28826900 ivfail = ivfail + 1
289      ivcorr = 18
290      write (i02,80004) ivtnum, ivcomp, ivcorr
291 6911 continue
292      ivtnum = 691
293c
294c      ****  test 691  ****
295c
296      if (iczero) 36910, 6910, 36910
297 6910 continue
298      ivon01 = 45
299      ivon02 =  9
300      ivon03 =  3
301      ivcomp = ivon01 + (ivon02 / ivon03)
302      go to 46910
30336910 ivdele = ivdele + 1
304      write (i02,80003) ivtnum
305      if (iczero) 46910, 6921, 46910
30646910 if (ivcomp - 48) 26910,16910,26910
30716910 ivpass = ivpass + 1
308      write (i02,80001) ivtnum
309      go to 6921
31026910 ivfail = ivfail + 1
311      ivcorr = 48
312      write (i02,80004) ivtnum, ivcomp, ivcorr
313 6921 continue
314c
315c     tests 692 through 694 test '+' followed by '**'.
316c
317      ivtnum = 692
318c
319c      ****  test 692  ****
320c
321      if (iczero) 36920, 6920, 36920
322 6920 continue
323      ivon01 = 15
324      ivon02 =  9
325      ivon03 =  3
326      ivcomp = ivon01 + ivon02 ** ivon03
327      go to 46920
32836920 ivdele = ivdele + 1
329      write (i02,80003) ivtnum
330      if (iczero) 46920, 6931, 46920
33146920 if (ivcomp - 744) 26920,16920,26920
33216920 ivpass = ivpass + 1
333      write (i02,80001) ivtnum
334      go to 6931
33526920 ivfail = ivfail + 1
336      ivcorr = 744
337      write (i02,80004) ivtnum, ivcomp, ivcorr
338 6931 continue
339      ivtnum = 693
340c
341c      ****  test 693  ****
342c
343      if (iczero) 36930, 6930, 36930
344 6930 continue
345      ivon01 = 15
346      ivon02 =  9
347      ivon03 =  3
348      ivcomp = (ivon01 + ivon02) ** ivon03
349      go to 46930
35036930 ivdele = ivdele + 1
351      write (i02,80003) ivtnum
352      if (iczero) 46930, 6941, 46930
35346930 if (ivcomp - 13824) 26930,16930,26930
35416930 ivpass = ivpass + 1
355      write (i02,80001) ivtnum
356      go to 6941
35726930 ivfail = ivfail + 1
358      ivcorr = 13824
359      write (i02,80004) ivtnum, ivcomp, ivcorr
360 6941 continue
361      ivtnum = 694
362c
363c      ****  test 694  ****
364c
365      if (iczero) 36940, 6940, 36940
366 6940 continue
367      ivon01 = 15
368      ivon02 =  9
369      ivon03 =  3
370      ivcomp = ivon01 + (ivon02 ** ivon03)
371      go to 46940
37236940 ivdele = ivdele + 1
373      write (i02,80003) ivtnum
374      if (iczero) 46940, 6951, 46940
37546940 if (ivcomp - 744) 26940,16940,26940
37616940 ivpass = ivpass + 1
377      write (i02,80001) ivtnum
378      go to 6951
37926940 ivfail = ivfail + 1
380      ivcorr = 744
381      write (i02,80004) ivtnum, ivcomp, ivcorr
382 6951 continue
383c
384c     tests 695 through 697 test '-' followed by '+'.
385c
386      ivtnum = 695
387c
388c      ****  test 695  ****
389c
390      if (iczero) 36950, 6950, 36950
391 6950 continue
392      ivon01 =  45
393      ivon02 =   9
394      ivon03 =   3
395      ivcomp = ivon01 - ivon02 + ivon03
396      go to 46950
39736950 ivdele = ivdele + 1
398      write (i02,80003) ivtnum
399      if (iczero) 46950, 6961, 46950
40046950 if (ivcomp - 39) 26950,16950,26950
40116950 ivpass = ivpass + 1
402      write (i02,80001) ivtnum
403      go to 6961
40426950 ivfail = ivfail + 1
405      ivcorr = 39
406      write (i02,80004) ivtnum, ivcomp, ivcorr
407 6961 continue
408      ivtnum = 696
409c
410c      ****  test 696  ****
411c
412      if (iczero) 36960, 6960, 36960
413 6960 continue
414      ivon01 = 45
415      ivon02 =  9
416      ivon03 =  3
417      ivcomp = (ivon01 - ivon02) + ivon03
418      go to 46960
41936960 ivdele = ivdele + 1
420      write (i02,80003) ivtnum
421      if (iczero) 46960, 6971, 46960
42246960 if (ivcomp - 39) 26960,16960,26960
42316960 ivpass = ivpass + 1
424      write (i02,80001) ivtnum
425      go to 6971
42626960 ivfail = ivfail + 1
427      ivcorr = 39
428      write (i02,80004) ivtnum, ivcomp, ivcorr
429 6971 continue
430      ivtnum = 697
431c
432c      ****  test 697  ****
433c
434      if (iczero) 36970, 6970, 36970
435 6970 continue
436      ivon01 = 45
437      ivon02 =  9
438      ivon03 =  3
439      ivcomp = ivon01 - (ivon02 + ivon03)
440      go to 46970
44136970 ivdele = ivdele + 1
442      write (i02,80003) ivtnum
443      if (iczero) 46970, 6981, 46970
44446970 if (ivcomp - 33) 26970,16970,26970
44516970 ivpass = ivpass + 1
446      write (i02,80001) ivtnum
447      go to 6981
44826970 ivfail = ivfail + 1
449      ivcorr = 33
450      write (i02,80004) ivtnum, ivcomp, ivcorr
451 6981 continue
452c
453c     tests 698 through 700 test '-' followed by '*'.
454c
455      ivtnum = 698
456c
457c      ****  test 698  ****
458c
459      if (iczero) 36980, 6980, 36980
460 6980 continue
461      ivon01 = 45
462      ivon02 =  9
463      ivon03 =  3
464      ivcomp =  ivon01 - ivon02 * ivon03
465      go to 46980
46636980 ivdele = ivdele + 1
467      write (i02,80003) ivtnum
468      if (iczero) 46980, 6991, 46980
46946980 if (ivcomp - 18) 26980,16980,26980
47016980 ivpass = ivpass + 1
471      write (i02,80001) ivtnum
472      go to 6991
47326980 ivfail = ivfail + 1
474      ivcorr = 18
475      write (i02,80004) ivtnum, ivcomp, ivcorr
476 6991 continue
477      ivtnum = 699
478c
479c      ****  test 699  ****
480c
481      if (iczero) 36990, 6990, 36990
482 6990 continue
483      ivon01 = 45
484      ivon02 =  9
485      ivon03 =  3
486      ivcomp = (ivon01 - ivon02) * ivon03
487      go to 46990
48836990 ivdele = ivdele + 1
489      write (i02,80003) ivtnum
490      if (iczero) 46990, 7001, 46990
49146990 if (ivcomp - 108) 26990,16990,26990
49216990 ivpass = ivpass + 1
493      write (i02,80001) ivtnum
494      go to 7001
49526990 ivfail = ivfail + 1
496      ivcorr = 108
497      write (i02,80004) ivtnum, ivcomp, ivcorr
498 7001 continue
499      ivtnum = 700
500c
501c      ****  test 700  ****
502c
503      if (iczero) 37000, 7000, 37000
504 7000 continue
505      ivon01 = 45
506      ivon02 =  9
507      ivon03 =  3
508      ivcomp = ivon01 - (ivon02 * ivon03)
509      go to 47000
51037000 ivdele = ivdele + 1
511      write (i02,80003) ivtnum
512      if (iczero) 47000, 7011, 47000
51347000 if (ivcomp - 18) 27000,17000,27000
51417000 ivpass = ivpass + 1
515      write (i02,80001) ivtnum
516      go to 7011
51727000 ivfail = ivfail + 1
518      ivcorr = 18
519      write (i02,80004) ivtnum, ivcomp, ivcorr
520 7011 continue
521c
522c     tests 701 through 703 test '-' followed by '/'.
523c
524      ivtnum = 701
525c
526c      ****  test 701  ****
527c
528      if (iczero) 37010, 7010, 37010
529 7010 continue
530      ivon01 = 45
531      ivon02 =  9
532      ivon03 =  3
533      ivcomp = ivon01 - ivon02 / ivon03
534      go to 47010
53537010 ivdele = ivdele + 1
536      write (i02,80003) ivtnum
537      if (iczero) 47010, 7021, 47010
53847010 if (ivcomp - 42) 27010,17010,27010
53917010 ivpass = ivpass + 1
540      write (i02,80001) ivtnum
541      go to 7021
54227010 ivfail = ivfail + 1
543      ivcorr = 42
544      write (i02,80004) ivtnum, ivcomp, ivcorr
545 7021 continue
546      ivtnum = 702
547c
548c      ****  test 702  ****
549c
550      if (iczero) 37020, 7020, 37020
551 7020 continue
552      ivon01 = 45
553      ivon02 =  9
554      ivon03 =  3
555      ivcomp = (ivon01 - ivon02) / ivon03
556      go to 47020
55737020 ivdele = ivdele + 1
558      write (i02,80003) ivtnum
559      if (iczero) 47020, 7031, 47020
56047020 if (ivcomp - 12) 27020,17020,27020
56117020 ivpass = ivpass + 1
562      write (i02,80001) ivtnum
563      go to 7031
56427020 ivfail = ivfail + 1
565      ivcorr = 12
566      write (i02,80004) ivtnum, ivcomp, ivcorr
567 7031 continue
568      ivtnum = 703
569c
570c      ****  test 703  ****
571c
572      if (iczero) 37030, 7030, 37030
573 7030 continue
574      ivon01 = 45
575      ivon02 =  9
576      ivon03 =  3
577      ivcomp = ivon01 - (ivon02 / ivon03)
578      go to 47030
57937030 ivdele = ivdele + 1
580      write (i02,80003) ivtnum
581      if (iczero) 47030, 7041, 47030
58247030 if (ivcomp - 42) 27030,17030,27030
58317030 ivpass = ivpass + 1
584      write (i02,80001) ivtnum
585      go to 7041
58627030 ivfail = ivfail + 1
587      ivcorr = 42
588      write (i02,80004) ivtnum, ivcomp, ivcorr
589 7041 continue
590c
591c     tests 704 through 706 test '-' followed by '**'.
592c
593      ivtnum = 704
594c
595c      ****  test 704  ****
596c
597      if (iczero) 37040, 7040, 37040
598 7040 continue
599      ivon01 = 35
600      ivon02 =  9
601      ivon03 =  3
602      ivcomp = ivon01 - ivon02 ** ivon03
603      go to 47040
60437040 ivdele = ivdele + 1
605      write (i02,80003) ivtnum
606      if (iczero) 47040, 7051, 47040
60747040 if (ivcomp + 694) 27040,17040,27040
60817040 ivpass = ivpass + 1
609      write (i02,80001) ivtnum
610      go to 7051
61127040 ivfail = ivfail + 1
612      ivcorr = -694
613      write (i02,80004) ivtnum, ivcomp, ivcorr
614 7051 continue
615      ivtnum = 705
616c
617c      ****  test 705  ****
618c
619      if (iczero) 37050, 7050, 37050
620 7050 continue
621      ivon01 = 35
622      ivon02 =  9
623      ivon03 =  3
624      ivcomp = (ivon01 - ivon02) ** ivon03
625      go to 47050
62637050 ivdele = ivdele + 1
627      write (i02,80003) ivtnum
628      if (iczero) 47050, 7061, 47050
62947050 if (ivcomp - 17576) 27050,17050,27050
63017050 ivpass = ivpass + 1
631      write (i02,80001) ivtnum
632      go to 7061
63327050 ivfail = ivfail + 1
634      ivcorr = 17576
635      write (i02,80004) ivtnum, ivcomp, ivcorr
636 7061 continue
637      ivtnum = 706
638c
639c      ****  test 706  ****
640c
641      if (iczero) 37060, 7060, 37060
642 7060 continue
643      ivon01 = 35
644      ivon02 =  9
645      ivon03 =  3
646      ivcomp = ivon01 - (ivon02 ** ivon03)
647      go to 47060
64837060 ivdele = ivdele + 1
649      write (i02,80003) ivtnum
650      if (iczero) 47060, 7071, 47060
65147060 if (ivcomp + 694) 27060,17060,27060
65217060 ivpass = ivpass + 1
653      write (i02,80001) ivtnum
654      go to 7071
65527060 ivfail = ivfail + 1
656      ivcorr = -694
657      write (i02,80004) ivtnum, ivcomp, ivcorr
658 7071 continue
659c
660c     tests 707 through 709 test '*' followed by '+'.
661c
662      ivtnum = 707
663c
664c      ****  test 707  ****
665c
666      if (iczero) 37070, 7070, 37070
667 7070 continue
668      ivon01 = 45
669      ivon02 =  9
670      ivon03 =  3
671      ivcomp =  ivon01 * ivon02 + ivon03
672      go to 47070
67337070 ivdele = ivdele + 1
674      write (i02,80003) ivtnum
675      if (iczero) 47070, 7081, 47070
67647070 if (ivcomp - 408) 27070,17070,27070
67717070 ivpass = ivpass + 1
678      write (i02,80001) ivtnum
679      go to 7081
68027070 ivfail = ivfail + 1
681      ivcorr = 408
682      write (i02,80004) ivtnum, ivcomp, ivcorr
683 7081 continue
684      ivtnum = 708
685c
686c      ****  test 708  ****
687c
688      if (iczero) 37080, 7080, 37080
689 7080 continue
690      ivon01 = 45
691      ivon02 =  9
692      ivon03 =  3
693      ivcomp = (ivon01 * ivon02) + ivon03
694      go to 47080
69537080 ivdele = ivdele + 1
696      write (i02,80003) ivtnum
697      if (iczero) 47080, 7091, 47080
69847080 if (ivcomp - 408) 27080,17080,27080
69917080 ivpass = ivpass + 1
700      write (i02,80001) ivtnum
701      go to 7091
70227080 ivfail = ivfail + 1
703      ivcorr = 408
704      write (i02,80004) ivtnum, ivcomp, ivcorr
705 7091 continue
706      ivtnum = 709
707c
708c      ****  test 709  ****
709c
710      if (iczero) 37090, 7090, 37090
711 7090 continue
712      ivon01 = 45
713      ivon02 =  9
714      ivon03 =  3
715      ivcomp = ivon01 * (ivon02 + ivon03)
716      go to 47090
71737090 ivdele = ivdele + 1
718      write (i02,80003) ivtnum
719      if (iczero) 47090, 7101, 47090
72047090 if (ivcomp - 540) 27090,17090,27090
72117090 ivpass = ivpass + 1
722      write (i02,80001) ivtnum
723      go to 7101
72427090 ivfail = ivfail + 1
725      ivcorr = 540
726      write (i02,80004) ivtnum, ivcomp, ivcorr
727 7101 continue
728c
729c     tests 710 through 712 test '*' followed by '-'.
730c
731      ivtnum = 710
732c
733c      ****  test 710  ****
734c
735      if (iczero) 37100, 7100, 37100
736 7100 continue
737      ivon01 = 45
738      ivon02 =  9
739      ivon03 =  3
740      ivcomp = ivon01 * ivon02 - ivon03
741      go to 47100
74237100 ivdele = ivdele + 1
743      write (i02,80003) ivtnum
744      if (iczero) 47100, 7111, 47100
74547100 if (ivcomp - 402) 27100,17100,27100
74617100 ivpass = ivpass + 1
747      write (i02,80001) ivtnum
748      go to 7111
74927100 ivfail = ivfail + 1
750      ivcorr = 402
751      write (i02,80004) ivtnum, ivcomp, ivcorr
752 7111 continue
753      ivtnum = 711
754c
755c      ****  test 711  ****
756c
757      if (iczero) 37110, 7110, 37110
758 7110 continue
759      ivon01 = 45
760      ivon02 =  9
761      ivon03 =  3
762      ivcomp = (ivon01 * ivon02) - ivon03
763      go to 47110
76437110 ivdele = ivdele + 1
765      write (i02,80003) ivtnum
766      if (iczero) 47110, 7121, 47110
76747110 if (ivcomp - 402) 27110,17110,27110
76817110 ivpass = ivpass + 1
769      write (i02,80001) ivtnum
770      go to 7121
77127110 ivfail = ivfail + 1
772      ivcorr = 402
773      write (i02,80004) ivtnum, ivcomp, ivcorr
774 7121 continue
775      ivtnum = 712
776c
777c      ****  test 712  ****
778c
779      if (iczero) 37120, 7120, 37120
780 7120 continue
781      ivon01 = 45
782      ivon02 =  9
783      ivon03 =  3
784      ivcomp = ivon01 * (ivon02 - ivon03)
785      go to 47120
78637120 ivdele = ivdele + 1
787      write (i02,80003) ivtnum
788      if (iczero) 47120, 7131, 47120
78947120 if (ivcomp - 270) 27120,17120,27120
79017120 ivpass = ivpass + 1
791      write (i02,80001) ivtnum
792      go to 7131
79327120 ivfail = ivfail + 1
794      ivcorr = 270
795      write (i02,80004) ivtnum, ivcomp, ivcorr
796 7131 continue
797c
798c     tests 713 through 715 test '*' followed by '/'.
799c
800      ivtnum = 713
801c
802c      ****  test 713  ****
803c
804      if (iczero) 37130, 7130, 37130
805 7130 continue
806      ivon01 = 45
807      ivon02 =  9
808      ivon03 =  3
809      ivcomp = ivon01 * ivon02 / ivon03
810      go to 47130
81137130 ivdele = ivdele + 1
812      write (i02,80003) ivtnum
813      if (iczero) 47130, 7141, 47130
81447130 if (ivcomp - 135) 27130,17130,27130
81517130 ivpass = ivpass + 1
816      write (i02,80001) ivtnum
817      go to 7141
81827130 ivfail = ivfail + 1
819      ivcorr = 135
820      write (i02,80004) ivtnum, ivcomp, ivcorr
821 7141 continue
822      ivtnum = 714
823c
824c      ****  test 714  ****
825c
826      if (iczero) 37140, 7140, 37140
827 7140 continue
828      ivon01 = 45
829      ivon02 =  9
830      ivon03 =  3
831      ivcomp = (ivon01 * ivon02) / ivon03
832      go to 47140
83337140 ivdele = ivdele + 1
834      write (i02,80003) ivtnum
835      if (iczero) 47140, 7151, 47140
83647140 if (ivcomp - 135) 27140,17140,27140
83717140 ivpass = ivpass + 1
838      write (i02,80001) ivtnum
839      go to 7151
84027140 ivfail = ivfail + 1
841      ivcorr = 135
842      write (i02,80004) ivtnum, ivcomp, ivcorr
843 7151 continue
844      ivtnum = 715
845c
846c      ****  test 715  ****
847c
848      if (iczero) 37150, 7150, 37150
849 7150 continue
850      ivon01 = 45
851      ivon02 =  9
852      ivon03 =  3
853      ivcomp = ivon01 * (ivon02 / ivon03)
854      go to 47150
85537150 ivdele = ivdele + 1
856      write (i02,80003) ivtnum
857      if (iczero) 47150, 7161, 47150
85847150 if (ivcomp - 135) 27150,17150,27150
85917150 ivpass = ivpass + 1
860      write (i02,80001) ivtnum
861      go to 7161
86227150 ivfail = ivfail + 1
863      ivcorr = 135
864      write (i02,80004) ivtnum, ivcomp, ivcorr
865 7161 continue
866c
867c     tests 716 through 718 test '*' followed by '**'.
868c
869      ivtnum = 716
870c
871c      ****  test 716  ****
872c
873      if (iczero) 37160, 7160, 37160
874 7160 continue
875      ivon01 = 7
876      ivon02 = 3
877      ivon03 = 3
878      ivcomp = ivon01 * ivon02  ** ivon03
879      go to 47160
88037160 ivdele = ivdele + 1
881      write (i02,80003) ivtnum
882      if (iczero) 47160, 7171, 47160
88347160 if (ivcomp - 189) 27160,17160,27160
88417160 ivpass = ivpass + 1
885      write (i02,80001) ivtnum
886      go to 7171
88727160 ivfail = ivfail + 1
888      ivcorr = 189
889      write (i02,80004) ivtnum, ivcomp, ivcorr
890 7171 continue
891      ivtnum = 717
892c
893c      ****  test 717  ****
894c
895      if (iczero) 37170, 7170, 37170
896 7170 continue
897      ivon01 = 7
898      ivon02 = 3
899      ivon03 = 3
900      ivcomp = (ivon01 * ivon02) ** ivon03
901      go to 47170
90237170 ivdele = ivdele + 1
903      write (i02,80003) ivtnum
904      if (iczero) 47170, 7181, 47170
90547170 if (ivcomp - 9261) 27170,17170,27170
90617170 ivpass = ivpass + 1
907      write (i02,80001) ivtnum
908      go to 7181
90927170 ivfail = ivfail + 1
910      ivcorr = 9261
911      write (i02,80004) ivtnum, ivcomp, ivcorr
912 7181 continue
913      ivtnum = 718
914c
915c      ****  test 718  ****
916c
917      if (iczero) 37180, 7180, 37180
918 7180 continue
919      ivon01 = 7
920      ivon02 = 3
921      ivon03 = 3
922      ivcomp = ivon01 * (ivon02 ** ivon03)
923      go to 47180
92437180 ivdele = ivdele + 1
925      write (i02,80003) ivtnum
926      if (iczero) 47180, 7191, 47180
92747180 if (ivcomp - 189) 27180,17180,27180
92817180 ivpass = ivpass + 1
929      write (i02,80001) ivtnum
930      go to 7191
93127180 ivfail = ivfail + 1
932      ivcorr = 189
933      write (i02,80004) ivtnum, ivcomp, ivcorr
934 7191 continue
935c
936c     write page footings and run summaries
93799999 continue
938      write (i02,90002)
939      write (i02,90006)
940      write (i02,90002)
941      write (i02,90002)
942      write (i02,90007)
943      write (i02,90002)
944      write (i02,90008)  ivfail
945      write (i02,90009) ivpass
946      write (i02,90010) ivdele
947c
948c
949c     terminate routine execution
950      stop
951c
952c     format statements for page headers
95390000 format (1h1)
95490002 format (1h )
95590001 format (1h ,10x,34hfortran compiler validation system)
95690003 format (1h ,21x,11hversion 1.0)
95790004 format (1h ,10x,38hfor official use only - copyright 1978)
95890005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
95990006 format (1h ,5x,46h----------------------------------------------)
96090011 format (1h ,18x,17hsubset level test)
961c
962c     format statements for run summaries
96390008 format (1h ,15x,i5,19h errors encountered)
96490009 format (1h ,15x,i5,13h tests passed)
96590010 format (1h ,15x,i5,14h tests deleted)
966c
967c     format statements for test results
96880001 format (1h ,4x,i5,7x,4hpass)
96980002 format (1h ,4x,i5,7x,4hfail)
97080003 format (1h ,4x,i5,7x,7hdeleted)
97180004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
97280005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
973c
97490007 format (1h ,20x,20hend of program fm043)
975      end
976