PROGRAM FILE 175: EXCEPTION - UNDERFLOW IN THE EVALUATION                       
        OF NUMERIC EXPRESSIONS IN THE PRINT STATEMENT.                          
    ANSI STANDARD 7.4, 7.6, 8.6, 12.2                                           
                                                                                
THIS PROGRAM TESTS THE EFFECT OF UNDERFLOW IN NUMERIC                           
EXPRESSIONS IN THE CONTEXT OF THE PRINT STATEMENT.                              
                                                                                
SECTION 175.1: UNDERFLOW IN PRINT-ITEMS.                                        
                                                                                
THIS SECTION TESTS THE EFFECT OF PRINTING EXPRESSIONS WHICH                     
CAUSE NUMERIC UNDERFLOW.                                                        
                                                                                
TO PASS THIS TEST:                                                              
                                                                                
    1) THREE UNDERFLOW EXCEPTIONS MAY BE REPORTED                               
       (NOT MANDATORY), AND                                                     
                                                                                
    2) ZEROS MUST BE SUPPLIED AS THE VALUES OF THE                              
       EXPRESSIONS AND THEN PRINTED.                                            
                                                                                
                   BEGIN TEST.                                                  
                                                                                
ABOUT TO EXECUTE:                                                               
   PRINT (-1E33) ^ (-3333), (-1E-33) ^ 3333, EXP(-1E33)                         
                                                                                
 0              0              0                                                
                                                                                
IF THREE ZEROS PRINTED, THEN                                                    
*** TEST PASSED ***                                                             
                                                                                
                    END TEST.                                                   
                                                                                
SECTION 175.2: NUMERIC UNDERFLOW IN TAB-ITEMS.                                  
                                                                                
THIS SECTION TESTS THE EFFECT OF UNDERFLOW IN A TAB-ITEM.                       
                                                                                
TO PASS THIS TEST:                                                              
                                                                                
    1) AN UNDERFLOW EXCEPTION MAY BE REPORTED                                   
       (NOT MANDATORY),                                                         
                                                                                
    2) EXECUTION CONTINUES, WITH ZERO SUPPLIED AS THE                           
       VALUE OF THE TAB ARGUMENT,                                               
                                                                                
    3) A TAB EXCEPTION MUST BE REPORTED, AND A VALUE OF                         
       ONE SUPPLIED AS THE TAB ARGUMENT.                                        
                                                                                
                    BEGIN TEST.                                                 
                                                                                
ABOUT TO EXECUTE:                                                               
   PRINT A$;TAB(1E-33 ^ 3333);B$                                                
   (WHERE A$ = 'AAA' AND B$ = 'BBB')                                            
                                                                                
000000000111111111122222222223333333333444444444455555555556666666666777        
123456789012345678901234567890123456789012345678901234567890123456789012        
AAA*** WARNING: INVALID TAB() ***                                               
                                                                                
BBB                                                                             
                                                                                
IF TAB-ARGUMENT EXCEPTION REPORTED, AND 'AAA' APPEARED IN                       
   COL. 1-3, AND 'BBB' IN COL. 1-3 ON A LATER LINE, THEN                        
*** TEST PASSED ***                                                             
                                                                                
                    END TEST.                                                   
                                                                                
END PROGRAM 175                                                                 
