xref: /original-bsd/usr.bin/f77/tests/tests/fm035.f (revision 09b04dfe)
1c     comment section
2c
3c     fm035
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 variables 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 variable
16c         (2)  integer variable * integer variable * integer constant
17c              integer variable * integer constant * integer variable
18c              integer constant * integer variable * integer variable
19c         (3)  same as (2) but with parentheses to group elements.
20c
21c      references
22c        american national standard programming language fortran,
23c              x3.9-1978
24c
25c        section 4.3, integer type
26c        section 4.3.1, integer constant
27c        section 6.1, arithmetic expressions
28c        section 10.1, arithmetic assignment statement
29c
30c      **********************************************************
31c
32c         a compiler validation system for the fortran language
33c     based on specifications as defined in american national standard
34c     programming language fortran x3.9-1978, has been developed by the
35c     federal cobol compiler testing service.  the fortran compiler
36c     validation system (fcvs) consists of audit routines, their related
37c     data, and an executive system.  each audit routine is a fortran
38c     program, subprogram or function which includes tests of specific
39c     language elements and supporting procedures indicating the result
40c     of executing these tests.
41c
42c         this particular program/subprogram/function contains features
43c     found only in the subset as defined in x3.9-1978.
44c
45c         suggestions and comments should be forwarded to -
46c
47c                  department of the navy
48c                  federal cobol compiler testing service
49c                  washington, d.c.  20376
50c
51c      **********************************************************
52c
53c
54c
55c     initialization section
56c
57c     initialize constants
58c      **************
59c     i01 contains the logical unit number for the card reader.
60      i01 = 5
61c     i02 contains the logical unit number for the printer.
62      i02 = 6
63c     system environment section
64c
65cx010    this card is replaced by contents of fexec x-010 control card.
66c     the cx010 card is for overriding the program default i01 = 5
67c     (unit number for card reader).
68cx011    this card is replaced by contents of fexec x-011 control card.
69c     the cx011 card is for systems which require additional
70c     fortran statements for files associated with cx010 above.
71c
72cx020    this card is replaced by contents of fexec x-020 control card.
73c     the cx020 card is for overriding the program default i02 = 6
74c     (unit number for printer).
75cx021    this card is replaced by contents of fexec x-021 control card.
76c     the cx021 card is for systems which require additional
77c     fortran statements for files associated with cx020 above.
78c
79      ivpass=0
80      ivfail=0
81      ivdele=0
82      iczero=0
83c
84c     write page headers
85      write (i02,90000)
86      write (i02,90001)
87      write (i02,90002)
88      write (i02, 90002)
89      write (i02,90003)
90      write (i02,90002)
91      write (i02,90004)
92      write (i02,90002)
93      write (i02,90011)
94      write (i02,90002)
95      write (i02,90002)
96      write (i02,90005)
97      write (i02,90006)
98      write (i02,90002)
99c
100c     test section
101c
102c         arithmetic assignment statement
103c
104c     test 430 through test 441 contain two integer variables and
105c     operator * in an arithmetic expression.
106c         the form is   iv = iv * iv
107c
108c     test 430 through test 433  -  two positive variables
109c
110 4301 continue
111      ivtnum = 430
112c
113c      ****  test 430  ****
114c
115      if (iczero) 34300, 4300, 34300
116 4300 continue
117      ivon01 = 2
118      ivon02 = 3
119      ivcomp = ivon01 * ivon02
120      go to 44300
12134300 ivdele = ivdele + 1
122      write (i02,80003) ivtnum
123      if (iczero) 44300, 4311, 44300
12444300 if (ivcomp - 6) 24300,14300,24300
12514300 ivpass = ivpass + 1
126      write (i02,80001) ivtnum
127      go to 4311
12824300 ivfail = ivfail + 1
129      ivcorr = 6
130      write (i02,80004) ivtnum, ivcomp ,ivcorr
131 4311 continue
132      ivtnum = 431
133c
134c      ****  test 431  ****
135c
136      if (iczero) 34310, 4310, 34310
137 4310 continue
138      ivon01 = 13
139      ivon02 = 11
140      ivcomp = ivon01 * ivon02
141      go to 44310
14234310 ivdele = ivdele + 1
143      write (i02,80003) ivtnum
144      if (iczero) 44310, 4321, 44310
14544310 if (ivcomp - 143) 24310,14310,24310
14614310 ivpass = ivpass + 1
147      write (i02,80001) ivtnum
148      go to 4321
14924310 ivfail = ivfail + 1
150      ivcorr = 143
151      write (i02,80004) ivtnum, ivcomp ,ivcorr
152 4321 continue
153      ivtnum = 432
154c
155c      ****  test 432  ****
156c
157      if (iczero) 34320, 4320, 34320
158 4320 continue
159      ivon01 = 223
160      ivon02 = 99
161      ivcomp = ivon01 * ivon02
162      go to 44320
16334320 ivdele = ivdele + 1
164      write (i02,80003) ivtnum
165      if (iczero) 44320, 4331, 44320
16644320 if (ivcomp - 22077) 24320,14320,24320
16714320 ivpass = ivpass + 1
168      write (i02,80001) ivtnum
169      go to 4331
17024320 ivfail = ivfail + 1
171      ivcorr = 22077
172      write (i02,80004) ivtnum, ivcomp ,ivcorr
173 4331 continue
174      ivtnum = 433
175c
176c      ****  test 433  ****
177c
178      if (iczero) 34330, 4330, 34330
179 4330 continue
180      ivon01 = 11235
181      ivon02 = 2
182      ivcomp = ivon01*ivon02
183      go to 44330
18434330 ivdele = ivdele + 1
185      write (i02,80003) ivtnum
186      if (iczero) 44330, 4341, 44330
18744330 if (ivcomp - 22470) 24330,14330,24330
18814330 ivpass = ivpass + 1
189      write (i02,80001) ivtnum
190      go to 4341
19124330 ivfail = ivfail + 1
192      ivcorr = 22470
193      write (i02,80004) ivtnum, ivcomp ,ivcorr
194c
195c     test 434 through test 437
196c          one negative variable, one positive variable
197c
198 4341 continue
199      ivtnum = 434
200c
201c      ****  test 434  ****
202c
203      if (iczero) 34340, 4340, 34340
204 4340 continue
205      ivon01 = -2
206      ivon02 = 3
207      ivcomp = ivon01 * ivon02
208      go to 44340
20934340 ivdele = ivdele + 1
210      write (i02,80003) ivtnum
211      if (iczero) 44340, 4351, 44340
21244340 if (ivcomp +6) 24340,14340,24340
21314340 ivpass = ivpass + 1
214      write (i02,80001) ivtnum
215      go to 4351
21624340 ivfail = ivfail + 1
217      ivcorr = -6
218      write (i02,80004) ivtnum, ivcomp ,ivcorr
219 4351 continue
220      ivtnum = 435
221c
222c      ****  test 435  ****
223c
224      if (iczero) 34350, 4350, 34350
225 4350 continue
226      ivon01 = -13
227      ivon02 = +11
228      ivcomp = ivon01*ivon02
229      go to 44350
23034350 ivdele = ivdele + 1
231      write (i02,80003) ivtnum
232      if (iczero) 44350, 4361, 44350
23344350 if (ivcomp + 143) 24350,14350,24350
23414350 ivpass = ivpass + 1
235      write (i02,80001) ivtnum
236      go to 4361
23724350 ivfail = ivfail + 1
238      ivcorr = -143
239      write (i02,80004) ivtnum, ivcomp ,ivcorr
240 4361 continue
241      ivtnum = 436
242c
243c      ****  test 436  ****
244c
245      if (iczero) 34360, 4360, 34360
246 4360 continue
247      ivon01 = -223
248      ivon02 = 99
249      ivcomp = ivon01 * ivon02
250      go to 44360
25134360 ivdele = ivdele + 1
252      write (i02,80003) ivtnum
253      if (iczero) 44360, 4371, 44360
25444360 if (ivcomp + 22077) 24360,14360,24360
25514360 ivpass = ivpass + 1
256      write (i02,80001) ivtnum
257      go to 4371
25824360 ivfail = ivfail + 1
259      ivcorr = -22077
260      write (i02,80004) ivtnum, ivcomp ,ivcorr
261 4371 continue
262      ivtnum = 437
263c
264c      ****  test 437  ****
265c
266      if (iczero) 34370, 4370, 34370
267 4370 continue
268      ivon01 = -11235
269      ivon02 =  2
270      ivcomp = ivon01 * ivon02
271      go to 44370
27234370 ivdele = ivdele + 1
273      write (i02,80003) ivtnum
274      if (iczero) 44370, 4381, 44370
27544370 if (ivcomp + 22470) 24370,14370,24370
27614370 ivpass = ivpass + 1
277      write (i02,80001) ivtnum
278      go to 4381
27924370 ivfail = ivfail + 1
280      ivcorr = -22470
281      write (i02,80004) ivtnum, ivcomp ,ivcorr
282c
283c     test 438 through test 441  -  two negative variables
284 4381 continue
285      ivtnum = 438
286c
287c      ****  test 438  ****
288c
289      if (iczero) 34380, 4380, 34380
290 4380 continue
291      ivon01 = -2
292      ivon02 = -3
293      ivcomp = ivon01 * ivon02
294      go to 44380
29534380 ivdele = ivdele + 1
296      write (i02,80003) ivtnum
297      if (iczero) 44380, 4391, 44380
29844380 if (ivcomp - 6) 24380,14380,24380
29914380 ivpass = ivpass + 1
300      write (i02,80001) ivtnum
301      go to 4391
30224380 ivfail = ivfail + 1
303      ivcorr = 6
304      write (i02,80004) ivtnum, ivcomp ,ivcorr
305 4391 continue
306      ivtnum = 439
307c
308c      ****  test 439  ****
309c
310      if (iczero) 34390, 4390, 34390
311 4390 continue
312      ivon01 = -13
313      ivon02 = -11
314      ivcomp = ivon01 * ivon02
315      go to 44390
31634390 ivdele = ivdele + 1
317      write (i02,80003) ivtnum
318      if (iczero) 44390, 4401, 44390
31944390 if (ivcomp - 143) 24390,14390,24390
32014390 ivpass = ivpass + 1
321      write (i02,80001) ivtnum
322      go to 4401
32324390 ivfail = ivfail + 1
324      ivcorr = 143
325      write (i02,80004) ivtnum, ivcomp ,ivcorr
326 4401 continue
327      ivtnum = 440
328c
329c      ****  test 440  ****
330c
331      if (iczero) 34400, 4400, 34400
332 4400 continue
333      ivon01 = -223
334      ivon02 = -99
335      ivcomp = ivon01*ivon02
336      go to 44400
33734400 ivdele = ivdele + 1
338      write (i02,80003) ivtnum
339      if (iczero) 44400, 4411, 44400
34044400 if (ivcomp - 22077) 24400,14400,24400
34114400 ivpass = ivpass + 1
342      write (i02,80001) ivtnum
343      go to 4411
34424400 ivfail = ivfail + 1
345      ivcorr = 22077
346      write (i02,80004) ivtnum, ivcomp ,ivcorr
347 4411 continue
348      ivtnum = 441
349c
350c      ****  test 441  ****
351c
352      if (iczero) 34410, 4410, 34410
353 4410 continue
354      ivon01 = -5461
355      ivon02 = -6
356      ivcomp = ivon01 * ivon02
357      go to 44410
35834410 ivdele = ivdele + 1
359      write (i02,80003) ivtnum
360      if (iczero) 44410, 4421, 44410
36144410 if (ivcomp - 32766) 24410, 14410, 24410
36214410 ivpass = ivpass + 1
363      write (i02,80001) ivtnum
364      go to 4421
36524410 ivfail = ivfail + 1
366      ivcorr = 32766
367      write (i02,80004) ivtnum, ivcomp ,ivcorr
368c
369c     test 442 through test 445 contain signed integer variables and
370c     operator * in an arithmetic expression.
371 4421 continue
372      ivtnum = 442
373c
374c      ****  test 442  ****
375c        form is  iv = -iv*iv
376c
377      if (iczero) 34420, 4420, 34420
378 4420 continue
379      ivon01 = 2
380      ivon02 = 3
381      ivcomp = -ivon01 * ivon02
382      go to 44420
38334420 ivdele = ivdele + 1
384      write (i02,80003) ivtnum
385      if (iczero) 44420, 4431, 44420
38644420 if (ivcomp + 6) 24420,14420,24420
38714420 ivpass = ivpass + 1
388      write (i02,80001) ivtnum
389      go to 4431
39024420 ivfail = ivfail + 1
391      ivcorr = -6
392      write (i02,80004) ivtnum, ivcomp ,ivcorr
393 4431 continue
394      ivtnum = 443
395c
396c      ****  test 443  ****
397c        form is  iv = iv*(-iv)
398c
399      if (iczero) 34430, 4430, 34430
400 4430 continue
401      ivon01 = 2
402      ivon02 = 3
403      ivcomp = ivon01 * (-ivon02)
404      go to 44430
40534430 ivdele = ivdele + 1
406      write (i02,80003) ivtnum
407      if (iczero) 44430, 4441, 44430
40844430 if (ivcomp +6) 24430,14430,24430
40914430 ivpass = ivpass + 1
410      write (i02,80001) ivtnum
411      go to 4441
41224430 ivfail = ivfail + 1
413      ivcorr = -6
414      write (i02,80004) ivtnum, ivcomp ,ivcorr
415 4441 continue
416      ivtnum = 444
417c
418c      ****  test 444  ****
419c        form is  iv = (-iv)*(-iv)
420c
421      if (iczero) 34440, 4440, 34440
422 4440 continue
423      ivon01 = 2
424      ivon02 = 3
425      ivcomp = (-ivon01) * (-ivon02)
426      go to 44440
42734440 ivdele = ivdele + 1
428      write (i02,80003) ivtnum
429      if (iczero) 44440, 4451, 44440
43044440 if (ivcomp - 6) 24440,14440,24440
43114440 ivpass = ivpass + 1
432      write (i02,80001) ivtnum
433      go to 4451
43424440 ivfail = ivfail + 1
435      ivcorr =  6
436      write (i02,80004) ivtnum, ivcomp ,ivcorr
437 4451 continue
438      ivtnum = 445
439c
440c      ****  test 445  ****
441c        form is   iv = -iv * iv
442c
443      if (iczero) 34450, 4450, 34450
444 4450 continue
445      ivon01 = -11235
446      ivon02 =  -2
447      ivcomp = -ivon01 * ivon02
448      go to 44450
44934450 ivdele = ivdele + 1
450      write (i02,80003) ivtnum
451      if (iczero) 44450, 4461, 44450
45244450 if (ivcomp + 22470) 24450,14450,24450
45314450 ivpass = ivpass + 1
454      write (i02,80001) ivtnum
455      go to 4461
45624450 ivfail = ivfail + 1
457      ivcorr = -22470
458      write (i02,80004) ivtnum, ivcomp ,ivcorr
459c
460c     test 446 through test 452 contain two integer variables, an
461c     integer constant and operator * in an arithmetic expression.
462c
463 4461 continue
464      ivtnum = 446
465c
466c      ****  test 446  ****
467c
468      if (iczero) 34460, 4460, 34460
469 4460 continue
470      ivon01 = 2
471      ivon02 = 3
472      ivcomp = ivon01 * ivon02 * 4
473      go to 44460
47434460 ivdele = ivdele + 1
475      write (i02,80003) ivtnum
476      if (iczero) 44460, 4471, 44460
47744460 if (ivcomp -24) 24460,14460,24460
47814460 ivpass = ivpass + 1
479      write (i02,80001) ivtnum
480      go to 4471
48124460 ivfail = ivfail + 1
482      ivcorr = 24
483      write (i02,80004) ivtnum, ivcomp ,ivcorr
484 4471 continue
485      ivtnum = 447
486c
487c      ****  test 447  ****
488c
489      if (iczero) 34470, 4470, 34470
490 4470 continue
491      ivon01 = -2
492      ivon02 = 3
493      ivcomp = ivon01 * ivon02 * 4
494      go to 44470
49534470 ivdele = ivdele + 1
496      write (i02,80003) ivtnum
497      if (iczero) 44470, 4481, 44470
49844470 if (ivcomp +24) 24470,14470,24470
49914470 ivpass = ivpass + 1
500      write (i02,80001) ivtnum
501      go to 4481
50224470 ivfail = ivfail + 1
503      ivcorr = -24
504      write (i02,80004) ivtnum, ivcomp ,ivcorr
505 4481 continue
506      ivtnum = 448
507c
508c      ****  test 448  ****
509c
510      if (iczero) 34480, 4480, 34480
511 4480 continue
512      ivon01 = -2
513      ivon02 = 3
514      ivcomp = ivon01 * ivon02 * (-4)
515      go to 44480
51634480 ivdele = ivdele + 1
517      write (i02,80003) ivtnum
518      if (iczero) 44480, 4491, 44480
51944480 if (ivcomp -24) 24480,14480,24480
52014480 ivpass = ivpass + 1
521      write (i02,80001) ivtnum
522      go to 4491
52324480 ivfail = ivfail + 1
524      ivcorr = 24
525      write (i02,80004) ivtnum, ivcomp ,ivcorr
526 4491 continue
527      ivtnum = 449
528c
529c      ****  test 449  ****
530c
531      if (iczero) 34490, 4490, 34490
532 4490 continue
533      ivon01 = 51
534      ivon03 = 13
535      ivcomp = ivon01 * 23 * ivon03
536      go to 44490
53734490 ivdele = ivdele + 1
538      write (i02,80003) ivtnum
539      if (iczero) 44490, 4501, 44490
54044490 if (ivcomp - 15249) 24490,14490,24490
54114490 ivpass = ivpass + 1
542      write (i02,80001) ivtnum
543      go to 4501
54424490 ivfail = ivfail + 1
545      ivcorr = 15249
546      write (i02,80004) ivtnum, ivcomp ,ivcorr
547 4501 continue
548      ivtnum = 450
549c
550c      ****  test 450  ****
551c
552      if (iczero) 34500, 4500, 34500
553 4500 continue
554      ivon02 = 2
555      ivon03 = 5461
556      ivcomp = 3 * ivon02 * ivon03
557      go to 44500
55834500 ivdele = ivdele + 1
559      write (i02,80003) ivtnum
560      if (iczero) 44500, 4511, 44500
56144500 if (ivcomp -32766) 24500,14500,24500
56214500 ivpass = ivpass + 1
563      write (i02,80001) ivtnum
564      go to 4511
56524500 ivfail = ivfail + 1
566      ivcorr = 32766
567      write (i02,80004) ivtnum, ivcomp ,ivcorr
568 4511 continue
569      ivtnum = 451
570c
571c      ****  test 451  ****
572c
573      if (iczero) 34510, 4510, 34510
574 4510 continue
575      ivon01 = -51
576      ivon03 = 13
577      ivcomp = ivon01 * 23 * (-ivon03)
578      go to 44510
57934510 ivdele = ivdele + 1
580      write (i02,80003) ivtnum
581      if (iczero) 44510, 4521, 44510
58244510 if (ivcomp - 15249) 24510,14510,24510
58314510 ivpass = ivpass + 1
584      write (i02,80001) ivtnum
585      go to 4521
58624510 ivfail = ivfail + 1
587      ivcorr = 15249
588      write (i02,80004) ivtnum, ivcomp ,ivcorr
589 4521 continue
590      ivtnum = 452
591c
592c      ****  test 452  ****
593c
594      if (iczero) 34520, 4520, 34520
595 4520 continue
596      ivon01 = -5461
597      ivon03 = 2
598      ivcomp = ivon01 * (-3) * ivon03
599      go to 44520
60034520 ivdele = ivdele + 1
601      write (i02,80003) ivtnum
602      if (iczero) 44520, 4531, 44520
60344520 if (ivcomp - 32766) 24520,14520,24520
60414520 ivpass = ivpass + 1
605      write (i02,80001) ivtnum
606      go to 4531
60724520 ivfail = ivfail + 1
608      ivcorr = 32766
609      write (i02,80004) ivtnum, ivcomp ,ivcorr
610c
611c     test 453 through test 461 contain two integer variables and one
612c     integer constant in an arithmetic expression.  parentheses are
613c     used to group elements in the arithmetic expressions in these
614c     tests.
615c
616 4531 continue
617      ivtnum = 453
618c
619c      ****  test 453  ****
620c
621      if (iczero) 34530, 4530, 34530
622 4530 continue
623      ivon01 = 2
624      ivon02 = 3
625      ivcomp = ivon01 * (ivon02 * 4)
626      go to 44530
62734530 ivdele = ivdele + 1
628      write (i02,80003) ivtnum
629      if (iczero) 44530, 4541, 44530
63044530 if (ivcomp - 24) 24530,14530,24530
63114530 ivpass = ivpass + 1
632      write (i02,80001) ivtnum
633      go to 4541
63424530 ivfail = ivfail + 1
635      ivcorr = 24
636      write (i02,80004) ivtnum, ivcomp ,ivcorr
637 4541 continue
638      ivtnum = 454
639c
640c      ****  test 454  ****
641c
642      if (iczero) 34540, 4540, 34540
643 4540 continue
644      ivon01 = 2
645      ivon02 = 3
646      ivcomp = (ivon01 * ivon02) * 4
647      go to 44540
64834540 ivdele = ivdele + 1
649      write (i02,80003) ivtnum
650      if (iczero) 44540, 4551, 44540
65144540 if (ivcomp -24) 24540,14540,24540
65214540 ivpass = ivpass + 1
653      write (i02,80001) ivtnum
654      go to 4551
65524540 ivfail = ivfail + 1
656      ivcorr = 24
657      write (i02,80004) ivtnum, ivcomp ,ivcorr
658 4551 continue
659      ivtnum = 455
660c
661c      ****  test 455  ****
662c
663      if (iczero) 34550, 4550, 34550
664 4550 continue
665      ivon01 = -2
666      ivon02 = 3
667      ivcomp = ivon01 *(ivon02 * (-4))
668      go to 44550
66934550 ivdele = ivdele + 1
670      write (i02,80003) ivtnum
671      if (iczero) 44550, 4561, 44550
67244550 if (ivcomp - 24) 24550,14550,24550
67314550 ivpass = ivpass + 1
674      write (i02,80001) ivtnum
675      go to 4561
67624550 ivfail = ivfail + 1
677      ivcorr = 24
678      write (i02,80004) ivtnum, ivcomp ,ivcorr
679 4561 continue
680      ivtnum = 456
681c
682c      ****  test 456  ****
683c
684      if (iczero) 34560, 4560, 34560
685 4560 continue
686      ivon01 = -2
687      ivon02 = -3
688      ivcomp = ivon01 * (ivon02 * 4)
689      go to 44560
69034560 ivdele = ivdele + 1
691      write (i02,80003) ivtnum
692      if (iczero) 44560, 4571, 44560
69344560 if (ivcomp -24) 24560,14560,24560
69414560 ivpass = ivpass + 1
695      write (i02,80001) ivtnum
696      go to 4571
69724560 ivfail = ivfail + 1
698      ivcorr = 24
699      write (i02,80004) ivtnum, ivcomp ,ivcorr
700 4571 continue
701      ivtnum = 457
702c
703c      ****  test 457  ****
704c
705      if (iczero) 34570, 4570, 34570
706 4570 continue
707      ivon01 = -2
708      ivon02 = -3
709      ivcomp = (ivon01*ivon02) * (-4)
710      go to 44570
71134570 ivdele = ivdele + 1
712      write (i02,80003) ivtnum
713      if (iczero) 44570, 4581, 44570
71444570 if (ivcomp +24) 24570,14570,24570
71514570 ivpass = ivpass + 1
716      write (i02,80001) ivtnum
717      go to 4581
71824570 ivfail = ivfail + 1
719      ivcorr = -24
720      write (i02,80004) ivtnum, ivcomp ,ivcorr
721 4581 continue
722      ivtnum = 458
723c
724c      ****  test 458  ****
725c
726      if (iczero) 34580, 4580, 34580
727 4580 continue
728      ivon01 = 23
729      ivon03 = 13
730      ivcomp = ivon01 * (51 * ivon03)
731      go to 44580
73234580 ivdele = ivdele + 1
733      write (i02,80003) ivtnum
734      if (iczero) 44580, 4591, 44580
73544580 if (ivcomp -15249) 24580,14580,24580
73614580 ivpass = ivpass + 1
737      write (i02,80001) ivtnum
738      go to 4591
73924580 ivfail = ivfail + 1
740      ivcorr = 15249
741      write (i02,80004) ivtnum, ivcomp ,ivcorr
742 4591 continue
743      ivtnum = 459
744c
745c      ****  test 459  ****
746c
747      if (iczero) 34590, 4590, 34590
748 4590 continue
749      ivon02 = 51
750      ivon03 = 13
751      ivcomp = (23 * ivon02) * ivon03
752      go to 44590
75334590 ivdele = ivdele + 1
754      write (i02,80003) ivtnum
755      if (iczero) 44590, 4601, 44590
75644590 if (ivcomp - 15249) 24590,14590,24590
75714590 ivpass = ivpass + 1
758      write (i02,80001) ivtnum
759      go to 4601
76024590 ivfail = ivfail + 1
761      ivcorr = 15249
762      write (i02,80004) ivtnum, ivcomp ,ivcorr
763 4601 continue
764      ivtnum = 460
765c
766c      ****  test 460  ****
767c
768      if (iczero) 34600, 4600, 34600
769 4600 continue
770      ivon01 = -23
771      ivon03 = 13
772      ivcomp = (ivon01 * (-51)) * (-ivon03)
773      go to 44600
77434600 ivdele = ivdele + 1
775      write (i02,80003) ivtnum
776      if (iczero) 44600, 4611, 44600
77744600 if (ivcomp + 15249) 24600,14600,24600
77814600 ivpass = ivpass + 1
779      write (i02,80001) ivtnum
780      go to 4611
78124600 ivfail = ivfail + 1
782      ivcorr = -15249
783      write (i02,80004) ivtnum, ivcomp ,ivcorr
784 4611 continue
785      ivtnum = 461
786c
787c      ****  test 461  ****
788c
789      if (iczero) 34610, 4610, 34610
790 4610 continue
791      ivon02 = 51
792      ivon03 = 13
793      ivcomp = -23 * (ivon02*ivon03)
794      go to 44610
79534610 ivdele = ivdele + 1
796      write (i02,80003) ivtnum
797      if (iczero) 44610, 4621, 44610
79844610 if (ivcomp + 15249) 24610,14610,24610
79914610 ivpass = ivpass + 1
800      write (i02,80001) ivtnum
801      go to 4621
80224610 ivfail = ivfail + 1
803      ivcorr = -15249
804      write (i02,80004) ivtnum, ivcomp ,ivcorr
805c      ****    end of tests    ****
806 4621 continue
807c
808c     write page footings and run summaries
80999999 continue
810      write (i02,90002)
811      write (i02,90006)
812      write (i02,90002)
813      write (i02,90002)
814      write (i02,90007)
815      write (i02,90002)
816      write (i02,90008)  ivfail
817      write (i02,90009) ivpass
818      write (i02,90010) ivdele
819c
820c
821c     terminate routine execution
822      stop
823c
824c     format statements for page headers
82590000 format (1h1)
82690002 format (1h )
82790001 format (1h ,10x,34hfortran compiler validation system)
82890003 format (1h ,21x,11hversion 1.0)
82990004 format (1h ,10x,38hfor official use only - copyright 1978)
83090005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
83190006 format (1h ,5x,46h----------------------------------------------)
83290011 format (1h ,18x,17hsubset level test)
833c
834c     format statements for run summaries
83590008 format (1h ,15x,i5,19h errors encountered)
83690009 format (1h ,15x,i5,13h tests passed)
83790010 format (1h ,15x,i5,14h tests deleted)
838c
839c     format statements for test results
84080001 format (1h ,4x,i5,7x,4hpass)
84180002 format (1h ,4x,i5,7x,4hfail)
84280003 format (1h ,4x,i5,7x,7hdeleted)
84380004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
84480005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
845c
84690007 format (1h ,20x,20hend of program fm035)
847      end
848