xref: /original-bsd/usr.bin/f77/tests/tests/fm034.f (revision 30e23803)
1c     comment section
2c
3c     fm034
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 variable and integer constant.  some of the
10c     tests use parentheses to group elements in the expression and to
11c     allow the use of negative constants following the * operator.
12c     the integer variables contain positive and negative values.
13c
14c     there are tests where the arithmetic expression contains
15c         (1)  integer variable * integer constant
16c              integer constant * integer variable
17c         (2)  integer constant * integer variable * integer constant
18c         (3)  same as (2) but with parens to group elements.
19c
20c      references
21c        american national standard programming language fortran,
22c              x3.9-1978
23c
24c        section 4.3, integer type
25c        section 4.3.1, integer constant
26c        section 6.1, arithmetic expressions
27c        section 10.1, arithmetic assignment statement
28c
29c      **********************************************************
30c
31c         a compiler validation system for the fortran language
32c     based on specifications as defined in american national standard
33c     programming language fortran x3.9-1978, has been developed by the
34c     federal cobol compiler testing service.  the fortran compiler
35c     validation system (fcvs) consists of audit routines, their related
36c     data, and an executive system.  each audit routine is a fortran
37c     program, subprogram or function which includes tests of specific
38c     language elements and supporting procedures indicating the result
39c     of executing these tests.
40c
41c         this particular program/subprogram/function contains features
42c     found only in the subset as defined in x3.9-1978.
43c
44c         suggestions and comments should be forwarded to -
45c
46c                  department of the navy
47c                  federal cobol compiler testing service
48c                  washington, d.c.  20376
49c
50c      **********************************************************
51c
52c
53c
54c     initialization section
55c
56c     initialize constants
57c      **************
58c     i01 contains the logical unit number for the card reader.
59      i01 = 5
60c     i02 contains the logical unit number for the printer.
61      i02 = 6
62c     system environment section
63c
64cx010    this card is replaced by contents of fexec x-010 control card.
65c     the cx010 card is for overriding the program default i01 = 5
66c     (unit number for card reader).
67cx011    this card is replaced by contents of fexec x-011 control card.
68c     the cx011 card is for systems which require additional
69c     fortran statements for files associated with cx010 above.
70c
71cx020    this card is replaced by contents of fexec x-020 control card.
72c     the cx020 card is for overriding the program default i02 = 6
73c     (unit number for printer).
74cx021    this card is replaced by contents of fexec x-021 control card.
75c     the cx021 card is for systems which require additional
76c     fortran statements for files associated with cx020 above.
77c
78      ivpass=0
79      ivfail=0
80      ivdele=0
81      iczero=0
82c
83c     write page headers
84      write (i02,90000)
85      write (i02,90001)
86      write (i02,90002)
87      write (i02, 90002)
88      write (i02,90003)
89      write (i02,90002)
90      write (i02,90004)
91      write (i02,90002)
92      write (i02,90011)
93      write (i02,90002)
94      write (i02,90002)
95      write (i02,90005)
96      write (i02,90006)
97      write (i02,90002)
98c
99c     test section
100c
101c         arithmetic assignment statement
102c
103c     test 395 through test 414 contain an integer variable, an integer
104c     constant, and operator * in an arithmetic expression.
105c
106c     test 395 through test 406     -  iv= iv * ic
107c
108c         test 395 through test 398
109c              positive integer variable, positive integer constant
110c
111 3951 continue
112      ivtnum = 395
113c
114c      ****  test 395  ****
115c
116      if (iczero) 33950, 3950, 33950
117 3950 continue
118      ivon01 = 2
119      ivcomp = ivon01 * 3
120      go to 43950
12133950 ivdele = ivdele + 1
122      write (i02,80003) ivtnum
123      if (iczero) 43950, 3961, 43950
12443950 if (ivcomp -6) 23950,13950,23950
12513950 ivpass = ivpass + 1
126      write (i02,80001) ivtnum
127      go to 3961
12823950 ivfail = ivfail + 1
129      ivcorr =6
130      write (i02,80004) ivtnum, ivcomp ,ivcorr
131 3961 continue
132      ivtnum = 396
133c
134c      ****  test 396  ****
135c
136      if (iczero) 33960, 3960, 33960
137 3960 continue
138      ivon01 = 13
139      ivcomp = ivon01 * 11
140      go to 43960
14133960 ivdele = ivdele + 1
142      write (i02,80003) ivtnum
143      if (iczero) 43960, 3971, 43960
14443960 if (ivcomp - 143) 23960,13960,23960
14513960 ivpass = ivpass + 1
146      write (i02,80001) ivtnum
147      go to 3971
14823960 ivfail = ivfail + 1
149      ivcorr = 143
150      write (i02,80004) ivtnum, ivcomp ,ivcorr
151 3971 continue
152      ivtnum = 397
153c
154c      ****  test 397  ****
155c
156      if (iczero) 33970, 3970, 33970
157 3970 continue
158      ivon01 = 223
159      ivcomp = ivon01 * 99
160      go to 43970
16133970 ivdele = ivdele + 1
162      write (i02,80003) ivtnum
163      if (iczero) 43970, 3981, 43970
16443970 if (ivcomp - 22077) 23970,13970,23970
16513970 ivpass = ivpass + 1
166      write (i02,80001) ivtnum
167      go to 3981
16823970 ivfail = ivfail + 1
169      ivcorr = 22077
170      write (i02,80004) ivtnum, ivcomp ,ivcorr
171 3981 continue
172      ivtnum = 398
173c
174c      ****  test 398  ****
175c
176      if (iczero) 33980, 3980, 33980
177 3980 continue
178      ivon01 = 11235
179      ivcomp = ivon01 * 2
180      go to 43980
18133980 ivdele = ivdele + 1
182      write (i02,80003) ivtnum
183      if (iczero) 43980, 3991, 43980
18443980 if (ivcomp - 22470) 23980,13980,23980
18513980 ivpass = ivpass + 1
186      write (i02,80001) ivtnum
187      go to 3991
18823980 ivfail = ivfail + 1
189      ivcorr = 22470
190      write (i02,80004) ivtnum, ivcomp ,ivcorr
191c
192c         test 399 through test 402
193c             negative integer variable, positive integer constant
194c
195 3991 continue
196      ivtnum = 399
197c
198c       ****  test 399  ****
199c
200      if (iczero) 33990, 3990, 33990
201 3990 continue
202      ivon01 = -2
203      ivcomp = ivon01 * 3
204      go to 43990
20533990 ivdele = ivdele + 1
206      write (i02,80003) ivtnum
207      if (iczero) 43990, 4001, 43990
20843990 if (ivcomp +6) 23990,13990,23990
20913990 ivpass = ivpass + 1
210      write (i02,80001) ivtnum
211      go to 4001
21223990 ivfail = ivfail + 1
213      ivcorr = -6
214      write (i02,80004) ivtnum, ivcomp ,ivcorr
215 4001 continue
216      ivtnum = 400
217c
218c      ****  test 400  ****
219c
220      if (iczero) 34000, 4000, 34000
221 4000 continue
222      ivon01 = -13
223      ivcomp =ivon01*11
224      go to 44000
22534000 ivdele = ivdele + 1
226      write (i02,80003) ivtnum
227      if (iczero) 44000, 4011, 44000
22844000 if (ivcomp +143) 24000,14000,24000
22914000 ivpass = ivpass + 1
230      write (i02,80001) ivtnum
231      go to 4011
23224000 ivfail = ivfail + 1
233      ivcorr = -143
234      write (i02,80004) ivtnum, ivcomp ,ivcorr
235 4011 continue
236      ivtnum = 401
237c
238c       ****  test 401  ****
239c
240      if (iczero) 34010, 4010, 34010
241 4010 continue
242      ivon01 = -223
243      ivcomp = ivon01*99
244      go to 44010
24534010 ivdele = ivdele + 1
246      write (i02,80003) ivtnum
247      if (iczero) 44010, 4021, 44010
24844010 if (ivcomp + 22077) 24010,14010,24010
24914010 ivpass = ivpass + 1
250      write (i02,80001) ivtnum
251      go to 4021
25224010 ivfail = ivfail + 1
253      ivcorr = -22077
254      write (i02,80004) ivtnum, ivcomp ,ivcorr
255 4021 continue
256      ivtnum = 402
257c
258c       ****  test 402  ****
259c
260      if (iczero) 34020, 4020, 34020
261 4020 continue
262      ivon01 = -11235
263      ivcomp = ivon01*2
264      go to 44020
26534020 ivdele = ivdele + 1
266      write (i02,80003) ivtnum
267      if (iczero) 44020, 4031, 44020
26844020 if (ivcomp+22470) 24020,14020,24020
26914020 ivpass = ivpass + 1
270      write (i02,80001) ivtnum
271      go to 4031
27224020 ivfail = ivfail + 1
273      ivcorr = -22470
274      write (i02,80004) ivtnum, ivcomp ,ivcorr
275c
276c          test 403 and test 404
277c              negative integer variable, negative integer constant
278c
279 4031 continue
280      ivtnum = 403
281c
282c       ****  test 403  ****
283c
284      if (iczero) 34030, 4030, 34030
285 4030 continue
286      ivon01=-2
287      ivcomp = ivon01*(-3)
288      go to 44030
28934030 ivdele = ivdele + 1
290      write (i02,80003) ivtnum
291      if (iczero) 44030, 4041, 44030
29244030 if (ivcomp -6) 24030,14030,24030
29314030 ivpass = ivpass + 1
294      write (i02,80001) ivtnum
295      go to 4041
29624030 ivfail = ivfail + 1
297      ivcorr =6
298      write (i02,80004) ivtnum, ivcomp ,ivcorr
299 4041 continue
300      ivtnum = 404
301c
302c       ****  test 404  ****
303c
304      if (iczero) 34040, 4040, 34040
305 4040 continue
306      ivon01 = -13
307      ivcomp = ivon01 * (-11)
308      go to 44040
30934040 ivdele = ivdele + 1
310      write (i02,80003) ivtnum
311      if (iczero) 44040, 4051, 44040
31244040 if (ivcomp -143) 24040,14040,24040
31314040 ivpass = ivpass + 1
314      write (i02,80001) ivtnum
315      go to 4051
31624040 ivfail = ivfail + 1
317      ivcorr = 143
318      write (i02,80004) ivtnum, ivcomp ,ivcorr
319c
320c          test 405 and test 406
321c              positive integer variable, negative integer constant
322c
323 4051 continue
324      ivtnum = 405
325c
326c       ****  test 405  ****
327c
328      if (iczero) 34050, 4050, 34050
329 4050 continue
330      ivon01 = 223
331      ivcomp = ivon01 * (-99)
332      go to 44050
33334050 ivdele = ivdele + 1
334      write (i02,80003) ivtnum
335      if (iczero) 44050, 4061, 44050
33644050 if (ivcomp + 22077) 24050,14050,24050
33714050 ivpass = ivpass + 1
338      write (i02,80001) ivtnum
339      go to 4061
34024050 ivfail = ivfail + 1
341      ivcorr = -22077
342      write (i02,80004) ivtnum, ivcomp ,ivcorr
343 4061 continue
344      ivtnum = 406
345c
346c       ****  test 406  ****
347c
348      if (iczero) 34060, 4060, 34060
349 4060 continue
350      ivon01 = 11235
351      ivcomp = ivon01 * (-2)
352      go to 44060
35334060 ivdele = ivdele + 1
354      write (i02,80003) ivtnum
355      if (iczero) 44060, 4071, 44060
35644060 if (ivcomp + 22470) 24060,14060,24060
35714060 ivpass = ivpass + 1
358      write (i02,80001) ivtnum
359      go to 4071
36024060 ivfail = ivfail + 1
361      ivcorr = -22470
362      write (i02,80004) ivtnum, ivcomp ,ivcorr
363c
364c      test 407 through test 414    -   iv = ic * iv
365c
366c          test 407 and test 408
367c               positive integer constant, positive integer variable
368c
369 4071 continue
370      ivtnum = 407
371c
372c       ****  test 407  ****
373c
374      if (iczero) 34070, 4070, 34070
375 4070 continue
376      ivon02 = 11
377      ivcomp = 13*ivon02
378      go to 44070
37934070 ivdele = ivdele + 1
380      write (i02,80003) ivtnum
381      if (iczero) 44070, 4081, 44070
38244070 if (ivcomp - 143) 24070,14070,24070
38314070 ivpass = ivpass + 1
384      write (i02,80001) ivtnum
385      go to 4081
38624070 ivfail = ivfail + 1
387      ivcorr = 143
388      write (i02,80004) ivtnum, ivcomp ,ivcorr
389 4081 continue
390      ivtnum = 408
391c
392c       ****  test 408  ****
393c
394      if (iczero) 34080, 4080, 34080
395 4080 continue
396      ivon02 = +11
397      ivcomp = +13 * ivon02
398      go to 44080
39934080 ivdele = ivdele + 1
400      write (i02,80003) ivtnum
401      if (iczero) 44080, 4091, 44080
40244080 if (ivcomp - 143) 24080,14080,24080
40314080 ivpass = ivpass + 1
404      write (i02,80001) ivtnum
405      go to 4091
40624080 ivfail = ivfail + 1
407      ivcorr = 143
408      write (i02,80004) ivtnum, ivcomp ,ivcorr
409c
410c          test 409 and test 410
411c               positive integer constant, negative integer variable
412c
413 4091 continue
414      ivtnum = 409
415c
416c       ****  test 409  ****
417c
418      if (iczero) 34090, 4090, 34090
419 4090 continue
420      ivon02 = -99
421      ivcomp = 223 * ivon02
422      go to 44090
42334090 ivdele = ivdele + 1
424      write (i02,80003) ivtnum
425      if (iczero) 44090, 4101, 44090
42644090 if (ivcomp + 22077) 24090,14090,24090
42714090 ivpass = ivpass + 1
428      write (i02,80001) ivtnum
429      go to 4101
43024090 ivfail = ivfail + 1
431      ivcorr =-22077
432      write (i02,80004) ivtnum, ivcomp ,ivcorr
433 4101 continue
434      ivtnum = 410
435c
436c       ****  test 410  ****
437c
438      if (iczero) 34100, 4100, 34100
439 4100 continue
440      ivon02 = -99
441      ivcomp = +223*ivon02
442      go to 44100
44334100 ivdele = ivdele + 1
444      write (i02,80003) ivtnum
445      if (iczero) 44100, 4111, 44100
44644100 if (ivcomp + 22077) 24100,14100,24100
44714100 ivpass = ivpass + 1
448      write (i02,80001) ivtnum
449      go to 4111
45024100 ivfail = ivfail + 1
451      ivcorr = -22077
452      write (i02,80004) ivtnum, ivcomp ,ivcorr
453c
454c          test 411 and test 412
455c              negative integer constant, positive integer variable
456c
457 4111 continue
458      ivtnum = 411
459c
460c       ****  test 411  ****
461c
462      if (iczero) 34110, 4110, 34110
463 4110 continue
464      ivon02 = 2
465      ivcomp = (-11235) * ivon02
466      go to 44110
46734110 ivdele = ivdele + 1
468      write (i02,80003) ivtnum
469      if (iczero) 44110, 4121, 44110
47044110 if (ivcomp + 22470) 24110,14110,24110
47114110 ivpass = ivpass + 1
472      write (i02,80001) ivtnum
473      go to 4121
47424110 ivfail = ivfail + 1
475      ivcorr = -22470
476      write (i02,80004) ivtnum, ivcomp ,ivcorr
477 4121 continue
478      ivtnum = 412
479c
480c       ****  test 412  ****
481c
482      if (iczero) 34120, 4120, 34120
483 4120 continue
484      ivon02 = +2
485      ivcomp = -11235 * ivon02
486      go to 44120
48734120 ivdele = ivdele + 1
488      write (i02,80003) ivtnum
489      if (iczero) 44120, 4131, 44120
49044120 if (ivcomp + 22470) 24120,14120,24120
49114120 ivpass=ivpass + 1
492      write (i02,80001) ivtnum
493      go to 4131
49424120 ivfail = ivfail + 1
495      ivcorr = -22470
496      write (i02,80004) ivtnum, ivcomp ,ivcorr
497c
498c          test 413 and test 414
499c                negative integer constant, negative integer variable
500c
501 4131 continue
502      ivtnum = 413
503c
504c       ****  test 413  ****
505c
506      if (iczero) 34130, 4130, 34130
507 4130 continue
508      ivon02 = -3
509      ivcomp = (-2) * ivon02
510      go to 44130
51134130 ivdele = ivdele + 1
512      write (i02,80003) ivtnum
513      if (iczero) 44130, 4141, 44130
51444130 if (ivcomp - 6) 24130,14130,24130
51514130 ivpass = ivpass + 1
516      write (i02,80001) ivtnum
517      go to 4141
51824130 ivfail = ivfail + 1
519      ivcorr = 6
520      write (i02,80004) ivtnum, ivcomp ,ivcorr
521 4141 continue
522      ivtnum = 414
523c
524c       ****  test 414  ****
525c
526      if (iczero) 34140, 4140, 34140
527 4140 continue
528      ivon02 = -3
529      ivcomp = -2 * ivon02
530      go to 44140
53134140 ivdele = ivdele + 1
532      write (i02,80003) ivtnum
533      if (iczero) 44140, 4151, 44140
53444140 if (ivcomp - 6) 24140,14140,24140
53514140 ivpass = ivpass + 1
536      write (i02,80001) ivtnum
537      go to 4151
53824140 ivfail = ivfail + 1
539      ivcorr = 6
540      write (i02,80004) ivtnum, ivcomp ,ivcorr
541c
542c      test 415  through test 429 contain two integer constants,
543c      one integer variable and operator * in arithmetic expression.
544c
545 4151 continue
546      ivtnum = 415
547c
548c       ****  test 415  ****
549c
550      if (iczero) 34150, 4150, 34150
551 4150 continue
552      ivon01 = 2
553      ivcomp = ivon01 * 3 * 4
554      go to 44150
55534150 ivdele = ivdele + 1
556      write (i02,80003) ivtnum
557      if (iczero) 44150, 4161, 44150
55844150 if (ivcomp - 24) 24150,14150,24150
55914150 ivpass = ivpass + 1
560      write (i02,80001) ivtnum
561      go to 4161
56224150 ivfail = ivfail + 1
563      ivcorr = 24
564      write (i02,80004) ivtnum, ivcomp ,ivcorr
565 4161 continue
566      ivtnum = 416
567c
568c       ****  test 416  ****
569c
570      if (iczero) 34160, 4160, 34160
571 4160 continue
572      ivon01 = -2
573      ivcomp = ivon01 *3*4
574      go to 44160
57534160 ivdele = ivdele + 1
576      write (i02,80003) ivtnum
577      if (iczero) 44160, 4171, 44160
57844160 if (ivcomp +24) 24160,14160,24160
57914160 ivpass = ivpass + 1
580      write (i02,80001) ivtnum
581      go to 4171
58224160 ivfail = ivfail + 1
583      ivcorr = -24
584      write (i02,80004) ivtnum, ivcomp ,ivcorr
585 4171 continue
586      ivtnum = 417
587c
588c       ****  test 417  ****
589c
590      if (iczero) 34170, 4170, 34170
591 4170 continue
592      ivon01 = -2
593      ivcomp = ivon01*3*(-4)
594      go to 44170
59534170 ivdele = ivdele + 1
596      write (i02,80003) ivtnum
597      if (iczero) 44170, 4181, 44170
59844170 if (ivcomp -24) 24170,14170,24170
59914170 ivpass = ivpass + 1
600      write (i02,80001) ivtnum
601      go to 4181
60224170 ivfail = ivfail + 1
603      ivcorr = 24
604      write (i02,80004) ivtnum, ivcomp ,ivcorr
605 4181 continue
606      ivtnum = 418
607c
608c       ****  test 418  ****
609c
610      if (iczero) 34180, 4180, 34180
611 4180 continue
612      ivon01 = -2
613      ivcomp = ivon01*(-3)*(-4)
614      go to 44180
61534180 ivdele = ivdele + 1
616      write (i02,80003) ivtnum
617      if (iczero) 44180, 4191, 44180
61844180 if (ivcomp +24) 24180,14180,24180
61914180 ivpass = ivpass + 1
620      write (i02,80001) ivtnum
621      go to 4191
62224180 ivfail = ivfail + 1
623      ivcorr = -24
624      write (i02,80004) ivtnum, ivcomp ,ivcorr
625 4191 continue
626      ivtnum = 419
627c
628c       ****  test 419  ****
629c
630      if (iczero) 34190, 4190, 34190
631 4190 continue
632      ivon02 = 51
633      ivcomp = 23*ivon02*13
634      go to 44190
63534190 ivdele = ivdele + 1
636      write (i02,80003) ivtnum
637      if (iczero) 44190, 4201, 44190
63844190 if (ivcomp-15249) 24190,14190,24190
63914190 ivpass = ivpass + 1
640      write (i02,80001) ivtnum
641      go to 4201
64224190 ivfail = ivfail + 1
643      ivcorr = 15249
644      write (i02,80004) ivtnum, ivcomp ,ivcorr
645 4201 continue
646      ivtnum = 420
647c
648c       ****  test 420  ****
649c
650      if (iczero) 34200, 4200, 34200
651 4200 continue
652      ivon02 = -51
653      ivcomp = 23*ivon02*(-13)
654      go to 44200
65534200 ivdele = ivdele + 1
656      write (i02,80003) ivtnum
657      if (iczero) 44200, 4211, 44200
65844200 if (ivcomp - 15249) 24200,14200,24200
65914200 ivpass = ivpass + 1
660      write (i02,80001) ivtnum
661      go to 4211
66224200 ivfail = ivfail + 1
663      ivcorr = 15249
664      write (i02,80004) ivtnum, ivcomp ,ivcorr
665 4211 continue
666      ivtnum = 421
667c
668c       ****  test 421  ****
669c
670      if (iczero) 34210, 4210, 34210
671 4210 continue
672      ivon02 = -51
673      ivcomp = 23*ivon02*13
674      go to 44210
67534210 ivdele = ivdele + 1
676      write (i02,80003) ivtnum
677      if (iczero) 44210, 4221, 44210
67844210 if (ivcomp+15249) 24210,14210,24210
67914210 ivpass = ivpass + 1
680      write (i02,80001) ivtnum
681      go to 4221
68224210 ivfail = ivfail + 1
683      ivcorr = -15249
684      write (i02,80004) ivtnum, ivcomp ,ivcorr
685 4221 continue
686      ivtnum = 422
687c
688c       ****  test 422  ****
689c
690      if (iczero) 34220, 4220, 34220
691 4220 continue
692      ivon02 = -51
693      ivcomp =(-23)*ivon02*(-13)
694      go to 44220
69534220 ivdele = ivdele + 1
696      write (i02,80003) ivtnum
697      if (iczero) 44220, 4231, 44220
69844220 if (ivcomp+15249) 24220,14220,24220
69914220 ivpass = ivpass + 1
700      write (i02,80001) ivtnum
701      go to 4231
70224220 ivfail = ivfail + 1
703      ivcorr = -15249
704      write (i02,80004) ivtnum, ivcomp ,ivcorr
705 4231 continue
706      ivtnum = 423
707c
708c       ****  test 423  ****
709c
710      if (iczero) 34230, 4230, 34230
711 4230 continue
712      ivon03 = 5461
713      ivcomp = 2*3*ivon03
714      go to 44230
71534230 ivdele = ivdele + 1
716      write (i02,80003) ivtnum
717      if (iczero) 44230, 4241, 44230
71844230 if (ivcomp - 32766) 24230,14230,24230
71914230 ivpass = ivpass + 1
720      write (i02,80001) ivtnum
721      go to 4241
72224230 ivfail = ivfail + 1
723      ivcorr = 32766
724      write (i02,80004) ivtnum, ivcomp ,ivcorr
725 4241 continue
726      ivtnum = 424
727c
728c       ****  test 424  ****
729c
730      if (iczero) 34240, 4240, 34240
731 4240 continue
732      ivon03 = -5461
733      ivcomp = 2*3*ivon03
734      go to 44240
73534240 ivdele = ivdele + 1
736      write (i02,80003) ivtnum
737      if (iczero) 44240, 4251, 44240
73844240 if (ivcomp +32766) 24240,14240,24240
73914240 ivpass = ivpass + 1
740      write (i02,80001) ivtnum
741      go to 4251
74224240 ivfail = ivfail + 1
743      ivcorr = -32766
744      write (i02,80004) ivtnum, ivcomp ,ivcorr
745 4251 continue
746      ivtnum = 425
747c
748c       ****  test 425  ****
749c
750      if (iczero) 34250, 4250, 34250
751 4250 continue
752      ivon03 = -5461
753      ivcomp = -2*3*ivon03
754      go to 44250
75534250 ivdele = ivdele + 1
756      write (i02,80003) ivtnum
757      if (iczero) 44250, 4261, 44250
75844250 if (ivcomp - 32766) 24250,14250,24250
75914250 ivpass = ivpass + 1
760      write (i02,80001) ivtnum
761      go to 4261
76224250 ivfail = ivfail + 1
763      ivcorr = 32766
764      write (i02,80004) ivtnum, ivcomp ,ivcorr
765c
766c      test 426 through test 429 use parentheses to group elements
767c      in arithmetic expression.
768c
769 4261 continue
770      ivtnum = 426
771c
772c       ****  test 426  ****
773c
774      if (iczero) 34260, 4260, 34260
775 4260 continue
776      ivon02 = 51
777      ivcomp = (23*ivon02)*13
778      go to 44260
77934260 ivdele = ivdele + 1
780      write (i02,80003) ivtnum
781      if (iczero) 44260, 4271, 44260
78244260 if (ivcomp -15249) 24260,14260,24260
78314260 ivpass = ivpass + 1
784      write (i02,80001) ivtnum
785      go to 4271
78624260 ivfail = ivfail + 1
787      ivcorr = 15249
788      write (i02,80004) ivtnum, ivcomp ,ivcorr
789 4271 continue
790      ivtnum = 427
791c
792c       ****  test 427  ****
793c
794      if (iczero) 34270, 4270, 34270
795 4270 continue
796      ivon02 = 51
797      ivcomp = 23*(ivon02*13)
798      go to 44270
79934270 ivdele = ivdele + 1
800      write (i02,80003) ivtnum
801      if (iczero) 44270, 4281, 44270
80244270 if (ivcomp-15249) 24270,14270,24270
80314270 ivpass = ivpass + 1
804      write (i02,80001) ivtnum
805      go to 4281
80624270 ivfail = ivfail + 1
807      ivcorr = 15249
808      write (i02,80004) ivtnum, ivcomp ,ivcorr
809 4281 continue
810      ivtnum = 428
811c
812c       ****  test 428  ****
813c
814      if (iczero) 34280, 4280, 34280
815 4280 continue
816      ivon02 = -51
817      ivcomp = -23 * (ivon02*(+13))
818      go to 44280
81934280 ivdele = ivdele + 1
820      write (i02,80003) ivtnum
821      if (iczero) 44280, 4291, 44280
82244280 if (ivcomp - 15249)24280,14280,24280
82314280 ivpass = ivpass + 1
824      write (i02,80001) ivtnum
825      go to 4291
82624280 ivfail = ivfail + 1
827      ivcorr = 15249
828      write (i02,80004) ivtnum, ivcomp ,ivcorr
829 4291 continue
830      ivtnum = 429
831c
832c       ****  test 429  ****
833c
834      if (iczero) 34290, 4290, 34290
835 4290 continue
836      ivon02 = -51
837      ivcomp = (-23)*(ivon02*(-13))
838      go to 44290
83934290 ivdele = ivdele + 1
840      write (i02,80003) ivtnum
841      if (iczero) 44290, 4301, 44290
84244290 if (ivcomp + 15249) 24290,14290,24290
84314290 ivpass = ivpass + 1
844      write (i02,80001) ivtnum
845      go to 4301
84624290 ivfail = ivfail + 1
847      ivcorr = -15249
848      write (i02,80004) ivtnum, ivcomp ,ivcorr
849c     ****   end of tests   ****
850 4301 continue
851c
852c     write page footings and run summaries
85399999 continue
854      write (i02,90002)
855      write (i02,90006)
856      write (i02,90002)
857      write (i02,90002)
858      write (i02,90007)
859      write (i02,90002)
860      write (i02,90008)  ivfail
861      write (i02,90009) ivpass
862      write (i02,90010) ivdele
863c
864c
865c     terminate routine execution
866      stop
867c
868c     format statements for page headers
86990000 format (1h1)
87090002 format (1h )
87190001 format (1h ,10x,34hfortran compiler validation system)
87290003 format (1h ,21x,11hversion 1.0)
87390004 format (1h ,10x,38hfor official use only - copyright 1978)
87490005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
87590006 format (1h ,5x,46h----------------------------------------------)
87690011 format (1h ,18x,17hsubset level test)
877c
878c     format statements for run summaries
87990008 format (1h ,15x,i5,19h errors encountered)
88090009 format (1h ,15x,i5,13h tests passed)
88190010 format (1h ,15x,i5,14h tests deleted)
882c
883c     format statements for test results
88480001 format (1h ,4x,i5,7x,4hpass)
88580002 format (1h ,4x,i5,7x,4hfail)
88680003 format (1h ,4x,i5,7x,7hdeleted)
88780004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
88880005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
889c
89090007 format (1h ,20x,20hend of program fm034)
891      end
892