You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							255 lines
						
					
					
						
							10 KiB
						
					
					
				
			
		
		
	
	
							255 lines
						
					
					
						
							10 KiB
						
					
					
				| digraph iCFG {
 | |
| 65 [label="65:  Return Stmt \n   n$0=_fun_div_temp_lvalue(0:int ,1:int ) [line 47]\n  *&return:int =n$0 [line 47]\n  REMOVE_TEMPS(n$0); [line 47]\n  APPLY_ABSTRACTION; [line 47]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 65 -> 64 ;
 | |
| 64 [label="64: Exit div1_temp_lvalue \n  " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 63 [label="63: Start div1_temp_lvalue\nFormals: \nLocals:  \n   DECLARE_LOCALS(&return); [line 47]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 63 -> 65 ;
 | |
| 62 [label="62:  Return Stmt \n   n$0=_fun_div_temp_lvalue(1:int ,0:int ) [line 45]\n  *&return:int =n$0 [line 45]\n  REMOVE_TEMPS(n$0); [line 45]\n  APPLY_ABSTRACTION; [line 45]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 62 -> 61 ;
 | |
| 61 [label="61: Exit div0_temp_lvalue \n  " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 60 [label="60: Start div0_temp_lvalue\nFormals: \nLocals:  \n   DECLARE_LOCALS(&return); [line 45]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 60 -> 62 ;
 | |
| 59 [label="59:  Return Stmt \n   n$0=_fun_assign_conditional(1:int ) [line 43]\n  *&return:int =(1 / n$0) [line 43]\n  REMOVE_TEMPS(n$0); [line 43]\n  APPLY_ABSTRACTION; [line 43]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 59 -> 58 ;
 | |
| 58 [label="58: Exit div1_assign_conditional \n  " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 57 [label="57: Start div1_assign_conditional\nFormals: \nLocals:  \n   DECLARE_LOCALS(&return); [line 43]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 57 -> 59 ;
 | |
| 56 [label="56:  Return Stmt \n   n$0=_fun_assign_conditional(0:int ) [line 41]\n  *&return:int =(1 / n$0) [line 41]\n  REMOVE_TEMPS(n$0); [line 41]\n  APPLY_ABSTRACTION; [line 41]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 56 -> 55 ;
 | |
| 55 [label="55: Exit div0_assign_conditional \n  " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 54 [label="54: Start div0_assign_conditional\nFormals: \nLocals:  \n   DECLARE_LOCALS(&return); [line 41]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 54 -> 56 ;
 | |
| 53 [label="53:  Return Stmt \n   n$0=_fun_choose_rvalue(0:int ) [line 39]\n  *&return:int =(1 / n$0) [line 39]\n  REMOVE_TEMPS(n$0); [line 39]\n  APPLY_ABSTRACTION; [line 39]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 53 -> 52 ;
 | |
| 52 [label="52: Exit div1_choose_rvalue \n  " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 51 [label="51: Start div1_choose_rvalue\nFormals: \nLocals:  \n   DECLARE_LOCALS(&return); [line 39]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 51 -> 53 ;
 | |
| 50 [label="50:  Return Stmt \n   n$0=_fun_choose_rvalue(1:int ) [line 37]\n  *&return:int =(1 / n$0) [line 37]\n  REMOVE_TEMPS(n$0); [line 37]\n  APPLY_ABSTRACTION; [line 37]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 50 -> 49 ;
 | |
| 49 [label="49: Exit div0_choose_rvalue \n  " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 48 [label="48: Start div0_choose_rvalue\nFormals: \nLocals:  \n   DECLARE_LOCALS(&return); [line 37]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 48 -> 50 ;
 | |
| 47 [label="47:  Return Stmt \n   n$0=_fun_choose_lvalue(0:int ) [line 35]\n  *&return:int =(1 / n$0) [line 35]\n  REMOVE_TEMPS(n$0); [line 35]\n  APPLY_ABSTRACTION; [line 35]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 47 -> 46 ;
 | |
| 46 [label="46: Exit div1_choose_lvalue \n  " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 45 [label="45: Start div1_choose_lvalue\nFormals: \nLocals:  \n   DECLARE_LOCALS(&return); [line 35]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 45 -> 47 ;
 | |
| 44 [label="44:  Return Stmt \n   n$0=_fun_choose_lvalue(1:int ) [line 33]\n  *&return:int =(1 / n$0) [line 33]\n  REMOVE_TEMPS(n$0); [line 33]\n  APPLY_ABSTRACTION; [line 33]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 44 -> 43 ;
 | |
| 43 [label="43: Exit div0_choose_lvalue \n  " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 42 [label="42: Start div0_choose_lvalue\nFormals: \nLocals:  \n   DECLARE_LOCALS(&return); [line 33]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 42 -> 44 ;
 | |
| 41 [label="41:  DeclStmt \n   n$6=*&SIL_temp_conditional___n$3:int  [line 29]\n  *&SIL_materialize_temp__n$2:int =n$6 [line 29]\n  *&r:int &=&SIL_materialize_temp__n$2 [line 29]\n  REMOVE_TEMPS(n$6); [line 29]\n  NULLIFY(&SIL_temp_conditional___n$3,false); [line 29]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 41 -> 35 ;
 | |
| 40 [label="40:  ConditinalStmt Branch \n   *&SIL_temp_conditional___n$3:int =1 [line 29]\n  APPLY_ABSTRACTION; [line 29]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 40 -> 36 ;
 | |
| 39 [label="39:  ConditinalStmt Branch \n   n$5=*&b:int  [line 29]\n  *&SIL_temp_conditional___n$3:int =n$5 [line 29]\n  REMOVE_TEMPS(n$5); [line 29]\n  NULLIFY(&b,false); [line 29]\n  APPLY_ABSTRACTION; [line 29]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 39 -> 36 ;
 | |
| 38 [label="38: Prune (false branch) \n   n$4=*&a:int  [line 29]\n  PRUNE((n$4 == 0), false); [line 29]\n  REMOVE_TEMPS(n$4); [line 29]\n  NULLIFY(&a,false); [line 29]\n " shape="invhouse"]
 | |
| 	
 | |
| 
 | |
| 	 38 -> 40 ;
 | |
| 37 [label="37: Prune (true branch) \n   n$4=*&a:int  [line 29]\n  PRUNE((n$4 != 0), true); [line 29]\n  REMOVE_TEMPS(n$4); [line 29]\n  NULLIFY(&a,false); [line 29]\n " shape="invhouse"]
 | |
| 	
 | |
| 
 | |
| 	 37 -> 39 ;
 | |
| 36 [label="36: + \n  " ]
 | |
| 	
 | |
| 
 | |
| 	 36 -> 41 ;
 | |
| 35 [label="35:  Return Stmt \n   n$0=*&r:int & [line 30]\n  n$1=*n$0:int  [line 30]\n  *&return:int =(1 / n$1) [line 30]\n  REMOVE_TEMPS(n$0,n$1); [line 30]\n  NULLIFY(&r,false); [line 30]\n  APPLY_ABSTRACTION; [line 30]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 35 -> 34 ;
 | |
| 34 [label="34: Exit div_temp_lvalue \n   NULLIFY(&SIL_materialize_temp__n$2,false); [line 31]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 33 [label="33: Start div_temp_lvalue\nFormals:  a:int  b:int \nLocals:  r:int & SIL_materialize_temp__n$2:int  SIL_temp_conditional___n$3:int  \n   DECLARE_LOCALS(&return,&r,&SIL_materialize_temp__n$2,&SIL_temp_conditional___n$3); [line 28]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 33 -> 37 ;
 | |
| 	 33 -> 38 ;
 | |
| 32 [label="32:  DeclStmt \n   *&v1:int =0 [line 23]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 32 -> 31 ;
 | |
| 31 [label="31:  DeclStmt \n   *&v2:int =0 [line 23]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 31 -> 26 ;
 | |
| 	 31 -> 27 ;
 | |
| 30 [label="30:  BinaryOperatorStmt: Assign \n   n$3=*&SIL_temp_conditional___n$1:int & [line 24]\n  *n$3:int =1 [line 24]\n  REMOVE_TEMPS(n$3); [line 24]\n  NULLIFY(&SIL_temp_conditional___n$1,false); [line 24]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 30 -> 24 ;
 | |
| 29 [label="29:  ConditinalStmt Branch \n   *&SIL_temp_conditional___n$1:int &=&v2 [line 24]\n  APPLY_ABSTRACTION; [line 24]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 29 -> 25 ;
 | |
| 28 [label="28:  ConditinalStmt Branch \n   *&SIL_temp_conditional___n$1:int &=&v1 [line 24]\n  APPLY_ABSTRACTION; [line 24]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 28 -> 25 ;
 | |
| 27 [label="27: Prune (false branch) \n   n$2=*&a:int  [line 24]\n  PRUNE((n$2 == 0), false); [line 24]\n  REMOVE_TEMPS(n$2); [line 24]\n  NULLIFY(&a,false); [line 24]\n " shape="invhouse"]
 | |
| 	
 | |
| 
 | |
| 	 27 -> 29 ;
 | |
| 26 [label="26: Prune (true branch) \n   n$2=*&a:int  [line 24]\n  PRUNE((n$2 != 0), true); [line 24]\n  REMOVE_TEMPS(n$2); [line 24]\n  NULLIFY(&a,false); [line 24]\n " shape="invhouse"]
 | |
| 	
 | |
| 
 | |
| 	 26 -> 28 ;
 | |
| 25 [label="25: + \n  " ]
 | |
| 	
 | |
| 
 | |
| 	 25 -> 30 ;
 | |
| 24 [label="24:  Return Stmt \n   n$0=*&v1:int  [line 25]\n  *&return:int =n$0 [line 25]\n  REMOVE_TEMPS(n$0); [line 25]\n  APPLY_ABSTRACTION; [line 25]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 24 -> 23 ;
 | |
| 23 [label="23: Exit assign_conditional \n   NULLIFY(&v2,false); [line 26]\n  NULLIFY(&v1,false); [line 26]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 22 [label="22: Start assign_conditional\nFormals:  a:int \nLocals:  SIL_temp_conditional___n$1:int & v2:int  v1:int  \n   DECLARE_LOCALS(&return,&SIL_temp_conditional___n$1,&v2,&v1); [line 22]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 22 -> 32 ;
 | |
| 21 [label="21:  DeclStmt \n   *&v1:int =0 [line 17]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 21 -> 16 ;
 | |
| 	 21 -> 17 ;
 | |
| 20 [label="20:  DeclStmt \n   n$4=*&SIL_temp_conditional___n$1:int  [line 18]\n  *&v3:int =n$4 [line 18]\n  REMOVE_TEMPS(n$4); [line 18]\n  NULLIFY(&SIL_temp_conditional___n$1,false); [line 18]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 20 -> 14 ;
 | |
| 19 [label="19:  ConditinalStmt Branch \n   *&SIL_temp_conditional___n$1:int =1 [line 18]\n  APPLY_ABSTRACTION; [line 18]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 19 -> 15 ;
 | |
| 18 [label="18:  ConditinalStmt Branch \n   n$3=*&v1:int  [line 18]\n  *&SIL_temp_conditional___n$1:int =n$3 [line 18]\n  REMOVE_TEMPS(n$3); [line 18]\n  NULLIFY(&v1,false); [line 18]\n  APPLY_ABSTRACTION; [line 18]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 18 -> 15 ;
 | |
| 17 [label="17: Prune (false branch) \n   n$2=*&a:int  [line 18]\n  PRUNE((n$2 == 0), false); [line 18]\n  REMOVE_TEMPS(n$2); [line 18]\n  NULLIFY(&a,false); [line 18]\n  NULLIFY(&v1,false); [line 18]\n " shape="invhouse"]
 | |
| 	
 | |
| 
 | |
| 	 17 -> 19 ;
 | |
| 16 [label="16: Prune (true branch) \n   n$2=*&a:int  [line 18]\n  PRUNE((n$2 != 0), true); [line 18]\n  REMOVE_TEMPS(n$2); [line 18]\n  NULLIFY(&a,false); [line 18]\n " shape="invhouse"]
 | |
| 	
 | |
| 
 | |
| 	 16 -> 18 ;
 | |
| 15 [label="15: + \n  " ]
 | |
| 	
 | |
| 
 | |
| 	 15 -> 20 ;
 | |
| 14 [label="14:  Return Stmt \n   n$0=*&v3:int  [line 19]\n  *&return:int =n$0 [line 19]\n  REMOVE_TEMPS(n$0); [line 19]\n  NULLIFY(&v3,false); [line 19]\n  APPLY_ABSTRACTION; [line 19]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 14 -> 13 ;
 | |
| 13 [label="13: Exit choose_rvalue \n  " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 12 [label="12: Start choose_rvalue\nFormals:  a:int \nLocals:  v3:int  SIL_temp_conditional___n$1:int  v1:int  \n   DECLARE_LOCALS(&return,&v3,&SIL_temp_conditional___n$1,&v1); [line 16]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 12 -> 21 ;
 | |
| 11 [label="11:  DeclStmt \n   *&v1:int =0 [line 11]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 11 -> 10 ;
 | |
| 10 [label="10:  DeclStmt \n   *&v2:int =1 [line 11]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 10 -> 5 ;
 | |
| 	 10 -> 6 ;
 | |
| 9 [label="9:  DeclStmt \n   n$3=*&SIL_temp_conditional___n$1:int & [line 12]\n  n$4=*n$3:int  [line 12]\n  *&v3:int =n$4 [line 12]\n  REMOVE_TEMPS(n$3,n$4); [line 12]\n  NULLIFY(&SIL_temp_conditional___n$1,false); [line 12]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 9 -> 3 ;
 | |
| 8 [label="8:  ConditinalStmt Branch \n   *&SIL_temp_conditional___n$1:int &=&v2 [line 12]\n  APPLY_ABSTRACTION; [line 12]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 8 -> 4 ;
 | |
| 7 [label="7:  ConditinalStmt Branch \n   *&SIL_temp_conditional___n$1:int &=&v1 [line 12]\n  APPLY_ABSTRACTION; [line 12]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 7 -> 4 ;
 | |
| 6 [label="6: Prune (false branch) \n   n$2=*&a:int  [line 12]\n  PRUNE((n$2 == 0), false); [line 12]\n  REMOVE_TEMPS(n$2); [line 12]\n  NULLIFY(&a,false); [line 12]\n " shape="invhouse"]
 | |
| 	
 | |
| 
 | |
| 	 6 -> 8 ;
 | |
| 5 [label="5: Prune (true branch) \n   n$2=*&a:int  [line 12]\n  PRUNE((n$2 != 0), true); [line 12]\n  REMOVE_TEMPS(n$2); [line 12]\n  NULLIFY(&a,false); [line 12]\n " shape="invhouse"]
 | |
| 	
 | |
| 
 | |
| 	 5 -> 7 ;
 | |
| 4 [label="4: + \n  " ]
 | |
| 	
 | |
| 
 | |
| 	 4 -> 9 ;
 | |
| 3 [label="3:  Return Stmt \n   n$0=*&v3:int  [line 13]\n  *&return:int =n$0 [line 13]\n  REMOVE_TEMPS(n$0); [line 13]\n  NULLIFY(&v3,false); [line 13]\n  APPLY_ABSTRACTION; [line 13]\n " shape="box"]
 | |
| 	
 | |
| 
 | |
| 	 3 -> 2 ;
 | |
| 2 [label="2: Exit choose_lvalue \n   NULLIFY(&v2,false); [line 14]\n  NULLIFY(&v1,false); [line 14]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 1 [label="1: Start choose_lvalue\nFormals:  a:int \nLocals:  v3:int  SIL_temp_conditional___n$1:int & v2:int  v1:int  \n   DECLARE_LOCALS(&return,&v3,&SIL_temp_conditional___n$1,&v2,&v1); [line 10]\n " color=yellow style=filled]
 | |
| 	
 | |
| 
 | |
| 	 1 -> 11 ;
 | |
| }
 |