Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API

date

Module0x40fc…5bb2
Move path
0xed6c…9f32::date
Functions
3939 public, 0 entry
Structs
0
Friend modules
None
date

Bytecode1150 lines

The on-chain disassembly. Offsets are bytecode positions within each function.

// Move bytecode v6
module ed6c6fe0732be937f4379bc0b471f0f6bfbe0e8741968009e0f01e6de3d59f32.date {
 
public days_from_date(Arg0: u64, Arg1: u64, Arg2: u64): u64 {
L3: loc0: u64
L4: loc1: u64
L5: loc2: u64
L6: loc3: u64
L7: loc4: u64
B0:
0CopyLoc[0](Arg0: u64)
1LdU64(1970)
2Ge
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[11](u64: 65536)
6Abort
B3:
7CopyLoc[1](Arg1: u64)
8LdU64(3)
9Lt
10BrFalse(14)
B4:
11LdU64(1)
12StLoc[3](loc0: u64)
13Branch(16)
B5:
14LdU64(0)
15StLoc[3](loc0: u64)
B6:
16MoveLoc[3](loc0: u64)
17StLoc[7](loc4: u64)
18MoveLoc[2](Arg2: u64)
19LdU64(1461)
20CopyLoc[0](Arg0: u64)
21LdU64(4800)
22Add
23CopyLoc[7](loc4: u64)
24Sub
25Mul
26LdU64(4)
27Div
28Add
29StLoc[5](loc2: u64)
30CopyLoc[7](loc4: u64)
31LdU64(12)
32Mul
33MoveLoc[1](Arg1: u64)
34Add
35StLoc[6](loc3: u64)
36CopyLoc[6](loc3: u64)
37LdU64(2)
38Ge
39BrFalse(51)
B7:
40MoveLoc[5](loc2: u64)
41LdU64(367)
42MoveLoc[6](loc3: u64)
43LdU64(2)
44Sub
45Mul
46LdU64(12)
47Div
48Add
49StLoc[4](loc1: u64)
50Branch(61)
B8:
51MoveLoc[5](loc2: u64)
52LdU64(367)
53LdU64(2)
54MoveLoc[6](loc3: u64)
55Sub
56Mul
57LdU64(12)
58Div
59Sub
60StLoc[4](loc1: u64)
B9:
61MoveLoc[4](loc1: u64)
62LdU64(3)
63MoveLoc[0](Arg0: u64)
64LdU64(4900)
65Add
66MoveLoc[7](loc4: u64)
67Sub
68LdU64(100)
69Div
70Mul
71LdU64(4)
72Div
73Sub
74LdU64(32075)
75Sub
76LdConst[3](u64: 2440..)
77Sub
78Ret
}
 
public days_to_date(Arg0: u64): u64 * u64 * u64 {
L1: loc0: u64
L2: loc1: u64
L3: loc2: u64
L4: loc3: u64
L5: loc4: u64
B0:
0MoveLoc[0](Arg0: u64)
1LdU64(68569)
2Add
3LdConst[3](u64: 2440..)
4Add
5StLoc[4](loc3: u64)
6LdU64(4)
7CopyLoc[4](loc3: u64)
8Mul
9LdU64(146097)
10Div
11StLoc[5](loc4: u64)
12MoveLoc[4](loc3: u64)
13LdU64(146097)
14CopyLoc[5](loc4: u64)
15Mul
16LdU64(3)
17Add
18LdU64(4)
19Div
20Sub
21StLoc[4](loc3: u64)
22LdU64(4000)
23CopyLoc[4](loc3: u64)
24LdU64(1)
25Add
26Mul
27LdU64(1461001)
28Div
29StLoc[3](loc2: u64)
30MoveLoc[4](loc3: u64)
31LdU64(1461)
32CopyLoc[3](loc2: u64)
33Mul
34LdU64(4)
35Div
36Sub
37LdU64(31)
38Add
39StLoc[4](loc3: u64)
40LdU64(80)
41CopyLoc[4](loc3: u64)
42Mul
43LdU64(2447)
44Div
45StLoc[2](loc1: u64)
46MoveLoc[4](loc3: u64)
47LdU64(2447)
48CopyLoc[2](loc1: u64)
49Mul
50LdU64(80)
51Div
52Sub
53StLoc[1](loc0: u64)
54CopyLoc[2](loc1: u64)
55LdU64(11)
56Div
57StLoc[4](loc3: u64)
58MoveLoc[2](loc1: u64)
59LdU64(2)
60Add
61LdU64(12)
62CopyLoc[4](loc3: u64)
63Mul
64Sub
65StLoc[2](loc1: u64)
66LdU64(100)
67MoveLoc[5](loc4: u64)
68LdU64(49)
69Sub
70Mul
71MoveLoc[3](loc2: u64)
72Add
73MoveLoc[4](loc3: u64)
74Add
75MoveLoc[2](loc1: u64)
76MoveLoc[1](loc0: u64)
77Ret
}
 
public timestamp_from_date(Arg0: u64, Arg1: u64, Arg2: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2MoveLoc[2](Arg2: u64)
3Call days_from_date(u64, u64, u64): u64
4LdConst[0](u64: 86400)
5Mul
6Ret
}
 
public timestamp_from_date_time(Arg0: u64, Arg1: u64, Arg2: u64, Arg3: u64, Arg4: u64, Arg5: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2MoveLoc[2](Arg2: u64)
3Call days_from_date(u64, u64, u64): u64
4LdConst[0](u64: 86400)
5Mul
6MoveLoc[3](Arg3: u64)
7LdConst[1](u64: 3600)
8Mul
9Add
10MoveLoc[4](Arg4: u64)
11LdConst[2](u64: 60)
12Mul
13Add
14MoveLoc[5](Arg5: u64)
15Add
16Ret
}
 
public timestamp_to_date(Arg0: u64): u64 * u64 * u64 {
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4Ret
}
 
public timestamp_to_date_time(Arg0: u64): u64 * u64 * u64 * u64 * u64 * u64 {
L1: loc0: u64
L2: loc1: u64
L3: loc2: u64
L4: loc3: u64
L5: loc4: u64
L6: loc5: u64
L7: loc6: u64
B0:
0CopyLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4StLoc[1](loc0: u64)
5StLoc[4](loc3: u64)
6StLoc[7](loc6: u64)
7MoveLoc[0](Arg0: u64)
8LdConst[0](u64: 86400)
9Mod
10StLoc[6](loc5: u64)
11CopyLoc[6](loc5: u64)
12LdConst[1](u64: 3600)
13Div
14StLoc[2](loc1: u64)
15MoveLoc[6](loc5: u64)
16LdConst[1](u64: 3600)
17Mod
18StLoc[6](loc5: u64)
19CopyLoc[6](loc5: u64)
20LdConst[2](u64: 60)
21Div
22StLoc[3](loc2: u64)
23MoveLoc[6](loc5: u64)
24LdConst[2](u64: 60)
25Mod
26StLoc[5](loc4: u64)
27MoveLoc[7](loc6: u64)
28MoveLoc[4](loc3: u64)
29MoveLoc[1](loc0: u64)
30MoveLoc[2](loc1: u64)
31MoveLoc[3](loc2: u64)
32MoveLoc[5](loc4: u64)
33Ret
}
 
public is_valid_date(Arg0: u64, Arg1: u64, Arg2: u64): bool {
L3: loc0: bool
L4: loc1: bool
L5: loc2: bool
L6: loc3: u64
B0:
0CopyLoc[0](Arg0: u64)
1LdU64(1970)
2Ge
3BrFalse(9)
B1:
4CopyLoc[1](Arg1: u64)
5LdU64(0)
6Gt
7StLoc[3](loc0: bool)
8Branch(11)
B2:
9LdFalse
10StLoc[3](loc0: bool)
B3:
11MoveLoc[3](loc0: bool)
12BrFalse(18)
B4:
13CopyLoc[1](Arg1: u64)
14LdU64(12)
15Le
16StLoc[4](loc1: bool)
17Branch(20)
B5:
18LdFalse
19StLoc[4](loc1: bool)
B6:
20MoveLoc[4](loc1: bool)
21BrFalse(41)
B7:
22MoveLoc[0](Arg0: u64)
23MoveLoc[1](Arg1: u64)
24Call get_days_in_year_month(u64, u64): u64
25StLoc[6](loc3: u64)
26CopyLoc[2](Arg2: u64)
27LdU64(0)
28Gt
29BrFalse(35)
B8:
30MoveLoc[2](Arg2: u64)
31MoveLoc[6](loc3: u64)
32Le
33StLoc[5](loc2: bool)
34Branch(37)
B9:
35LdFalse
36StLoc[5](loc2: bool)
B10:
37MoveLoc[5](loc2: bool)
38BrFalse(41)
B11:
39LdTrue
40Ret
B12:
41LdFalse
42Ret
}
 
public is_valid_date_time(Arg0: u64, Arg1: u64, Arg2: u64, Arg3: u64, Arg4: u64, Arg5: u64): bool {
L6: loc0: bool
L7: loc1: bool
L8: loc2: bool
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2MoveLoc[2](Arg2: u64)
3Call is_valid_date(u64, u64, u64): bool
4BrFalse(10)
B1:
5MoveLoc[3](Arg3: u64)
6LdU64(24)
7Lt
8StLoc[6](loc0: bool)
9Branch(12)
B2:
10LdFalse
11StLoc[6](loc0: bool)
B3:
12MoveLoc[6](loc0: bool)
13BrFalse(19)
B4:
14MoveLoc[4](Arg4: u64)
15LdU64(60)
16Lt
17StLoc[7](loc1: bool)
18Branch(21)
B5:
19LdFalse
20StLoc[7](loc1: bool)
B6:
21MoveLoc[7](loc1: bool)
22BrFalse(28)
B7:
23MoveLoc[5](Arg5: u64)
24LdU64(60)
25Lt
26StLoc[8](loc2: bool)
27Branch(30)
B8:
28LdFalse
29StLoc[8](loc2: bool)
B9:
30MoveLoc[8](loc2: bool)
31Ret
}
 
public is_timestamp_leap_year(Arg0: u64): bool {
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4Pop
5Pop
6Call is_year_leap_year(u64): bool
7Ret
}
 
public is_year_leap_year(Arg0: u64): bool {
L1: loc0: bool
L2: loc1: bool
B0:
0CopyLoc[0](Arg0: u64)
1LdU64(4)
2Mod
3LdU64(0)
4Eq
5BrFalse(13)
B1:
6CopyLoc[0](Arg0: u64)
7LdU64(100)
8Mod
9LdU64(0)
10Neq
11StLoc[1](loc0: bool)
12Branch(15)
B2:
13LdFalse
14StLoc[1](loc0: bool)
B3:
15MoveLoc[1](loc0: bool)
16BrFalse(20)
B4:
17LdTrue
18StLoc[2](loc1: bool)
19Branch(26)
B5:
20MoveLoc[0](Arg0: u64)
21LdU64(400)
22Mod
23LdU64(0)
24Eq
25StLoc[2](loc1: bool)
B6:
26MoveLoc[2](loc1: bool)
27Ret
}
 
public is_weekday(Arg0: u64): bool {
B0:
0MoveLoc[0](Arg0: u64)
1Call get_day_of_week(u64): u64
2LdConst[8](u64: 5)
3Le
4Ret
}
 
public is_weekend(Arg0: u64): bool {
B0:
0MoveLoc[0](Arg0: u64)
1Call get_day_of_week(u64): u64
2LdConst[9](u64: 6)
3Ge
4Ret
}
 
public get_days_in_timestamp_month(Arg0: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4Pop
5Call get_days_in_year_month(u64, u64): u64
6Ret
}
 
public get_days_in_year_month(Arg0: u64, Arg1: u64): u64 {
L2: loc0: bool
L3: loc1: bool
L4: loc2: bool
L5: loc3: bool
L6: loc4: bool
L7: loc5: bool
L8: loc6: u64
B0:
0CopyLoc[1](Arg1: u64)
1LdU64(1)
2Eq
3BrFalse(7)
B1:
4LdTrue
5StLoc[2](loc0: bool)
6Branch(11)
B2:
7CopyLoc[1](Arg1: u64)
8LdU64(3)
9Eq
10StLoc[2](loc0: bool)
B3:
11MoveLoc[2](loc0: bool)
12BrFalse(16)
B4:
13LdTrue
14StLoc[3](loc1: bool)
15Branch(20)
B5:
16CopyLoc[1](Arg1: u64)
17LdU64(5)
18Eq
19StLoc[3](loc1: bool)
B6:
20MoveLoc[3](loc1: bool)
21BrFalse(25)
B7:
22LdTrue
23StLoc[4](loc2: bool)
24Branch(29)
B8:
25CopyLoc[1](Arg1: u64)
26LdU64(7)
27Eq
28StLoc[4](loc2: bool)
B9:
29MoveLoc[4](loc2: bool)
30BrFalse(34)
B10:
31LdTrue
32StLoc[5](loc3: bool)
33Branch(38)
B11:
34CopyLoc[1](Arg1: u64)
35LdU64(8)
36Eq
37StLoc[5](loc3: bool)
B12:
38MoveLoc[5](loc3: bool)
39BrFalse(43)
B13:
40LdTrue
41StLoc[6](loc4: bool)
42Branch(47)
B14:
43CopyLoc[1](Arg1: u64)
44LdU64(10)
45Eq
46StLoc[6](loc4: bool)
B15:
47MoveLoc[6](loc4: bool)
48BrFalse(52)
B16:
49LdTrue
50StLoc[7](loc5: bool)
51Branch(56)
B17:
52CopyLoc[1](Arg1: u64)
53LdU64(12)
54Eq
55StLoc[7](loc5: bool)
B18:
56MoveLoc[7](loc5: bool)
57BrFalse(60)
B19:
58LdU64(31)
59Ret
B20:
60MoveLoc[1](Arg1: u64)
61LdU64(2)
62Neq
63BrFalse(66)
B21:
64LdU64(30)
65Ret
B22:
66MoveLoc[0](Arg0: u64)
67Call is_year_leap_year(u64): bool
68BrFalse(72)
B23:
69LdU64(29)
70StLoc[8](loc6: u64)
71Branch(74)
B24:
72LdU64(28)
73StLoc[8](loc6: u64)
B25:
74MoveLoc[8](loc6: u64)
75Ret
}
 
public get_day_of_week(Arg0: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3LdU64(3)
4Add
5LdU64(7)
6Mod
7LdU64(1)
8Add
9Ret
}
 
public get_year(Arg0: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4Pop
5Pop
6Ret
}
 
public get_month(Arg0: u64): u64 {
L1: loc0: u64
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4Pop
5StLoc[1](loc0: u64)
6Pop
7MoveLoc[1](loc0: u64)
8Ret
}
 
public get_day(Arg0: u64): u64 {
L1: loc0: u64
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4StLoc[1](loc0: u64)
5Pop
6Pop
7MoveLoc[1](loc0: u64)
8Ret
}
 
public get_hour(Arg0: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Mod
3LdConst[1](u64: 3600)
4Div
5Ret
}
 
public get_minute(Arg0: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[1](u64: 3600)
2Mod
3LdConst[2](u64: 60)
4Div
5Ret
}
 
public get_second(Arg0: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1LdConst[2](u64: 60)
2Mod
3Ret
}
 
public add_years(Arg0: u64, Arg1: u64): u64 {
L2: loc0: u64
L3: loc1: u64
L4: loc2: u64
L5: loc3: u64
L6: loc4: u64
B0:
0CopyLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4StLoc[2](loc0: u64)
5StLoc[4](loc2: u64)
6MoveLoc[1](Arg1: u64)
7Add
8StLoc[6](loc4: u64)
9CopyLoc[6](loc4: u64)
10CopyLoc[4](loc2: u64)
11Call get_days_in_year_month(u64, u64): u64
12StLoc[3](loc1: u64)
13CopyLoc[2](loc0: u64)
14CopyLoc[3](loc1: u64)
15Gt
16BrFalse(19)
B1:
17MoveLoc[3](loc1: u64)
18StLoc[2](loc0: u64)
B2:
19MoveLoc[6](loc4: u64)
20MoveLoc[4](loc2: u64)
21MoveLoc[2](loc0: u64)
22Call days_from_date(u64, u64, u64): u64
23LdConst[0](u64: 86400)
24Mul
25CopyLoc[0](Arg0: u64)
26LdConst[0](u64: 86400)
27Mod
28Add
29StLoc[5](loc3: u64)
30CopyLoc[5](loc3: u64)
31MoveLoc[0](Arg0: u64)
32Ge
33BrFalse(35)
B3:
34Branch(37)
B4:
35LdConst[12](u64: 720897)
36Abort
B5:
37MoveLoc[5](loc3: u64)
38Ret
}
 
public add_months(Arg0: u64, Arg1: u64): u64 {
L2: loc0: u64
L3: loc1: u64
L4: loc2: u64
L5: loc3: u64
L6: loc4: u64
B0:
0CopyLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4StLoc[2](loc0: u64)
5StLoc[4](loc2: u64)
6StLoc[6](loc4: u64)
7MoveLoc[4](loc2: u64)
8MoveLoc[1](Arg1: u64)
9Add
10StLoc[4](loc2: u64)
11MoveLoc[6](loc4: u64)
12CopyLoc[4](loc2: u64)
13LdU64(1)
14Sub
15LdU64(12)
16Div
17Add
18StLoc[6](loc4: u64)
19MoveLoc[4](loc2: u64)
20LdU64(1)
21Sub
22LdU64(12)
23Mod
24LdU64(1)
25Add
26StLoc[4](loc2: u64)
27CopyLoc[6](loc4: u64)
28CopyLoc[4](loc2: u64)
29Call get_days_in_year_month(u64, u64): u64
30StLoc[3](loc1: u64)
31CopyLoc[2](loc0: u64)
32CopyLoc[3](loc1: u64)
33Gt
34BrFalse(37)
B1:
35MoveLoc[3](loc1: u64)
36StLoc[2](loc0: u64)
B2:
37MoveLoc[6](loc4: u64)
38MoveLoc[4](loc2: u64)
39MoveLoc[2](loc0: u64)
40Call days_from_date(u64, u64, u64): u64
41LdConst[0](u64: 86400)
42Mul
43CopyLoc[0](Arg0: u64)
44LdConst[0](u64: 86400)
45Mod
46Add
47StLoc[5](loc3: u64)
48CopyLoc[5](loc3: u64)
49MoveLoc[0](Arg0: u64)
50Ge
51BrFalse(53)
B3:
52Branch(55)
B4:
53LdConst[12](u64: 720897)
54Abort
B5:
55MoveLoc[5](loc3: u64)
56Ret
}
 
public add_days(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2LdConst[0](u64: 86400)
3Mul
4Add
5Ret
}
 
public add_hours(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2LdConst[1](u64: 3600)
3Mul
4Add
5Ret
}
 
public add_minutes(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2LdConst[2](u64: 60)
3Mul
4Add
5Ret
}
 
public add_seconds(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2Add
3Ret
}
 
public sub_years(Arg0: u64, Arg1: u64): u64 {
L2: loc0: u64
L3: loc1: u64
L4: loc2: u64
L5: loc3: u64
L6: loc4: u64
B0:
0CopyLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4StLoc[2](loc0: u64)
5StLoc[4](loc2: u64)
6MoveLoc[1](Arg1: u64)
7Sub
8StLoc[6](loc4: u64)
9CopyLoc[6](loc4: u64)
10CopyLoc[4](loc2: u64)
11Call get_days_in_year_month(u64, u64): u64
12StLoc[3](loc1: u64)
13CopyLoc[2](loc0: u64)
14CopyLoc[3](loc1: u64)
15Gt
16BrFalse(19)
B1:
17MoveLoc[3](loc1: u64)
18StLoc[2](loc0: u64)
B2:
19MoveLoc[6](loc4: u64)
20MoveLoc[4](loc2: u64)
21MoveLoc[2](loc0: u64)
22Call days_from_date(u64, u64, u64): u64
23LdConst[0](u64: 86400)
24Mul
25CopyLoc[0](Arg0: u64)
26LdConst[0](u64: 86400)
27Mod
28Add
29StLoc[5](loc3: u64)
30CopyLoc[5](loc3: u64)
31MoveLoc[0](Arg0: u64)
32Le
33BrFalse(35)
B3:
34Branch(37)
B4:
35LdConst[13](u64: 720898)
36Abort
B5:
37MoveLoc[5](loc3: u64)
38Ret
}
 
public sub_months(Arg0: u64, Arg1: u64): u64 {
L2: loc0: u64
L3: loc1: u64
L4: loc2: u64
L5: loc3: u64
L6: loc4: u64
L7: loc5: u64
B0:
0CopyLoc[0](Arg0: u64)
1LdConst[0](u64: 86400)
2Div
3Call days_to_date(u64): u64 * u64 * u64
4StLoc[2](loc0: u64)
5StLoc[4](loc2: u64)
6LdU64(12)
7Mul
8MoveLoc[4](loc2: u64)
9LdU64(1)
10Sub
11Add
12MoveLoc[1](Arg1: u64)
13Sub
14StLoc[7](loc5: u64)
15CopyLoc[7](loc5: u64)
16LdU64(12)
17Div
18StLoc[6](loc4: u64)
19MoveLoc[7](loc5: u64)
20LdU64(12)
21Mod
22LdU64(1)
23Add
24StLoc[4](loc2: u64)
25CopyLoc[6](loc4: u64)
26CopyLoc[4](loc2: u64)
27Call get_days_in_year_month(u64, u64): u64
28StLoc[3](loc1: u64)
29CopyLoc[2](loc0: u64)
30CopyLoc[3](loc1: u64)
31Gt
32BrFalse(35)
B1:
33MoveLoc[3](loc1: u64)
34StLoc[2](loc0: u64)
B2:
35MoveLoc[6](loc4: u64)
36MoveLoc[4](loc2: u64)
37MoveLoc[2](loc0: u64)
38Call days_from_date(u64, u64, u64): u64
39LdConst[0](u64: 86400)
40Mul
41CopyLoc[0](Arg0: u64)
42LdConst[0](u64: 86400)
43Mod
44Add
45StLoc[5](loc3: u64)
46CopyLoc[5](loc3: u64)
47MoveLoc[0](Arg0: u64)
48Le
49BrFalse(51)
B3:
50Branch(53)
B4:
51LdConst[13](u64: 720898)
52Abort
B5:
53MoveLoc[5](loc3: u64)
54Ret
}
 
public sub_days(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2LdConst[0](u64: 86400)
3Mul
4Sub
5Ret
}
 
public sub_hours(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2LdConst[1](u64: 3600)
3Mul
4Sub
5Ret
}
 
public sub_minutes(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2LdConst[2](u64: 60)
3Mul
4Sub
5Ret
}
 
public sub_seconds(Arg0: u64, Arg1: u64): u64 {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2Sub
3Ret
}
 
public diff_years(Arg0: u64, Arg1: u64): u64 {
L2: loc0: u64
B0:
0CopyLoc[0](Arg0: u64)
1CopyLoc[1](Arg1: u64)
2Le
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[14](u64: 720899)
6Abort
B3:
7MoveLoc[0](Arg0: u64)
8LdConst[0](u64: 86400)
9Div
10Call days_to_date(u64): u64 * u64 * u64
11Pop
12Pop
13StLoc[2](loc0: u64)
14MoveLoc[1](Arg1: u64)
15LdConst[0](u64: 86400)
16Div
17Call days_to_date(u64): u64 * u64 * u64
18Pop
19Pop
20MoveLoc[2](loc0: u64)
21Sub
22Ret
}
 
public diff_months(Arg0: u64, Arg1: u64): u64 {
L2: loc0: u64
L3: loc1: u64
L4: loc2: u64
B0:
0CopyLoc[0](Arg0: u64)
1CopyLoc[1](Arg1: u64)
2Le
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[14](u64: 720899)
6Abort
B3:
7MoveLoc[0](Arg0: u64)
8LdConst[0](u64: 86400)
9Div
10Call days_to_date(u64): u64 * u64 * u64
11Pop
12StLoc[2](loc0: u64)
13StLoc[3](loc1: u64)
14MoveLoc[1](Arg1: u64)
15LdConst[0](u64: 86400)
16Div
17Call days_to_date(u64): u64 * u64 * u64
18Pop
19StLoc[4](loc2: u64)
20LdU64(12)
21Mul
22MoveLoc[4](loc2: u64)
23Add
24MoveLoc[3](loc1: u64)
25LdU64(12)
26Mul
27Sub
28MoveLoc[2](loc0: u64)
29Sub
30Ret
}
 
public diff_days(Arg0: u64, Arg1: u64): u64 {
B0:
0CopyLoc[0](Arg0: u64)
1CopyLoc[1](Arg1: u64)
2Le
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[14](u64: 720899)
6Abort
B3:
7MoveLoc[1](Arg1: u64)
8MoveLoc[0](Arg0: u64)
9Sub
10LdConst[0](u64: 86400)
11Div
12Ret
}
 
public diff_hours(Arg0: u64, Arg1: u64): u64 {
B0:
0CopyLoc[0](Arg0: u64)
1CopyLoc[1](Arg1: u64)
2Le
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[14](u64: 720899)
6Abort
B3:
7MoveLoc[1](Arg1: u64)
8MoveLoc[0](Arg0: u64)
9Sub
10LdConst[1](u64: 3600)
11Div
12Ret
}
 
public diff_minutes(Arg0: u64, Arg1: u64): u64 {
B0:
0CopyLoc[0](Arg0: u64)
1CopyLoc[1](Arg1: u64)
2Le
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[14](u64: 720899)
6Abort
B3:
7MoveLoc[1](Arg1: u64)
8MoveLoc[0](Arg0: u64)
9Sub
10LdConst[2](u64: 60)
11Div
12Ret
}
 
public diff_seconds(Arg0: u64, Arg1: u64): u64 {
B0:
0CopyLoc[0](Arg0: u64)
1CopyLoc[1](Arg1: u64)
2Le
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[14](u64: 720899)
6Abort
B3:
7MoveLoc[1](Arg1: u64)
8MoveLoc[0](Arg0: u64)
9Sub
10Ret
}
 
Constants [
0 => u64: 86400
1 => u64: 3600
2 => u64: 60
3 => u64: 2440588
4 => u64: 1
5 => u64: 2
6 => u64: 3
7 => u64: 4
8 => u64: 5
9 => u64: 6
10 => u64: 7
11 => u64: 65536
12 => u64: 720897
13 => u64: 720898
14 => u64: 720899
]
}