mirror of
				https://github.com/roc-lang/roc.git
				synced 2025-10-29 20:27:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
		
			Generated
		
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
		
			Generated
		
	
	
| procedure Num.19 (#Attr.2, #Attr.3):
 | |
|     let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
 | |
|     ret Num.283;
 | |
| 
 | |
| procedure Test.4 (Test.27):
 | |
|     let Test.39 : [<rnu>C [<rnu><null>, C *self *self] *self, <null>] = TagId(0) ;
 | |
|     let Test.40 : I64 = 0i64;
 | |
|     let Test.38 : I64 = CallByName Test.5 Test.27 Test.39 Test.40;
 | |
|     ret Test.38;
 | |
| 
 | |
| procedure Test.5 (Bool.21, Bool.22, Bool.23):
 | |
|     joinpoint Test.41 Test.29 Test.30 Test.31:
 | |
|         let Test.51 : U8 = 0i64;
 | |
|         let Test.52 : U8 = GetTagId Test.29;
 | |
|         let Test.53 : Int1 = lowlevel Eq Test.51 Test.52;
 | |
|         if Test.53 then
 | |
|             let Test.32 : [<rnu><null>, C *self *self] = UnionAtIndex (Id 0) (Index 0) Test.29;
 | |
|             let Test.33 : [<rnu><null>, C *self *self] = UnionAtIndex (Id 0) (Index 1) Test.29;
 | |
|             joinpoint Bool.24 Bool.27:
 | |
|                 let Bool.28 : [<rnu>C [<rnu><null>, C *self *self] *self, <null>] = lowlevel PtrCast Bool.27;
 | |
|                 let Test.43 : [<rnu>C [<rnu><null>, C *self *self] *self, <null>] = Reuse Bool.28 UpdateModeId { id: 1 } TagId(1) Test.33 Test.30;
 | |
|                 let Test.45 : I64 = 1i64;
 | |
|                 let Test.44 : I64 = CallByName Num.19 Test.31 Test.45;
 | |
|                 jump Test.41 Test.32 Test.43 Test.44;
 | |
|             in
 | |
|             let Bool.25 : Int1 = lowlevel RefCountIsUnique Test.29;
 | |
|             if Bool.25 then
 | |
|                 jump Bool.24 Test.29;
 | |
|             else
 | |
|                 inc Test.32;
 | |
|                 inc Test.33;
 | |
|                 decref Test.29;
 | |
|                 let Bool.29 : [<rnu><null>, C *self *self] = NullPointer;
 | |
|                 jump Bool.24 Bool.29;
 | |
|         else
 | |
|             let Test.48 : U8 = 1i64;
 | |
|             let Test.49 : U8 = GetTagId Test.30;
 | |
|             let Test.50 : Int1 = lowlevel Eq Test.48 Test.49;
 | |
|             if Test.50 then
 | |
|                 let Test.35 : [<rnu><null>, C *self *self] = UnionAtIndex (Id 1) (Index 0) Test.30;
 | |
|                 let Test.36 : [<rnu>C [<rnu><null>, C *self *self] *self, <null>] = UnionAtIndex (Id 1) (Index 1) Test.30;
 | |
|                 let Bool.26 : Int1 = lowlevel RefCountIsUnique Test.30;
 | |
|                 if Bool.26 then
 | |
|                     free Test.30;
 | |
|                     jump Test.41 Test.35 Test.36 Test.31;
 | |
|                 else
 | |
|                     inc Test.35;
 | |
|                     inc Test.36;
 | |
|                     decref Test.30;
 | |
|                     jump Test.41 Test.35 Test.36 Test.31;
 | |
|             else
 | |
|                 ret Test.31;
 | |
|     in
 | |
|     jump Test.41 Bool.21 Bool.22 Bool.23;
 | |
| 
 | |
| procedure Test.0 ():
 | |
|     let Test.64 : [<rnu><null>, C *self *self] = TagId(1) ;
 | |
|     let Test.65 : [<rnu><null>, C *self *self] = TagId(1) ;
 | |
|     let Test.62 : [<rnu><null>, C *self *self] = TagId(0) Test.64 Test.65;
 | |
|     let Test.63 : [<rnu><null>, C *self *self] = TagId(1) ;
 | |
|     let Test.58 : [<rnu><null>, C *self *self] = TagId(0) Test.62 Test.63;
 | |
|     let Test.60 : [<rnu><null>, C *self *self] = TagId(1) ;
 | |
|     let Test.61 : [<rnu><null>, C *self *self] = TagId(1) ;
 | |
|     let Test.59 : [<rnu><null>, C *self *self] = TagId(0) Test.60 Test.61;
 | |
|     let Test.54 : [<rnu><null>, C *self *self] = TagId(0) Test.58 Test.59;
 | |
|     let Test.56 : [<rnu><null>, C *self *self] = TagId(1) ;
 | |
|     let Test.57 : [<rnu><null>, C *self *self] = TagId(1) ;
 | |
|     let Test.55 : [<rnu><null>, C *self *self] = TagId(0) Test.56 Test.57;
 | |
|     let Test.10 : [<rnu><null>, C *self *self] = TagId(0) Test.54 Test.55;
 | |
|     let Test.37 : I64 = CallByName Test.4 Test.10;
 | |
|     ret Test.37;
 | 
