math_bit
Module0x84d1…80af
- Move path
- 0x91bf…9ca1::math_bit
- Functions
- 22 public, 0 entry
- Structs
- 0
- Friend modules
- None
math_bit
- fee4
- fee10000bps1
- fee100bps1
- fee3000bps1
- fee500bps1
- full_math_u1286
- full_math_u326
- full_math_u646
- i12831
- i3230
- i6428
- math_bit2
- math_liquidity7
- math_sqrt_price8
- math_swap3
- math_tick7
- math_u12817
- math_u2565
- math_u647
- pool71
- pool_factory18
- pool_fetcher1
- position_manager25
- position_nft5
- reward_manager7
- string_tools5
- swap_router7
Bytecode292 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 91bfbc386a41afcfd9b2533058d7e915a1d3829089cc268ff4333d54d6339ca1.math_bit {
public most_significant_bit(Arg0: u256): u8 {
L1: loc0: u8
B0:
0CopyLoc[0](Arg0: u256)
1LdU256(0)
2Gt
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[0](u64: 0)
6Abort
B3:
7LdU8(0)
8StLoc[1](loc0: u8)
9CopyLoc[0](Arg0: u256)
10LdU256(340282366920938463463374607431768211456)
11Ge
12BrFalse(21)
B4:
13MoveLoc[0](Arg0: u256)
14LdU8(128)
15Shr
16StLoc[0](Arg0: u256)
17MoveLoc[1](loc0: u8)
18LdU8(128)
19Add
20StLoc[1](loc0: u8)
B5:
21CopyLoc[0](Arg0: u256)
22LdU256(18446744073709551616)
23Ge
24BrFalse(33)
B6:
25MoveLoc[0](Arg0: u256)
26LdU8(64)
27Shr
28StLoc[0](Arg0: u256)
29MoveLoc[1](loc0: u8)
30LdU8(64)
31Add
32StLoc[1](loc0: u8)
B7:
33CopyLoc[0](Arg0: u256)
34LdU256(4294967296)
35Ge
36BrFalse(45)
B8:
37MoveLoc[0](Arg0: u256)
38LdU8(32)
39Shr
40StLoc[0](Arg0: u256)
41MoveLoc[1](loc0: u8)
42LdU8(32)
43Add
44StLoc[1](loc0: u8)
B9:
45CopyLoc[0](Arg0: u256)
46LdU256(65536)
47Ge
48BrFalse(57)
B10:
49MoveLoc[0](Arg0: u256)
50LdU8(16)
51Shr
52StLoc[0](Arg0: u256)
53MoveLoc[1](loc0: u8)
54LdU8(16)
55Add
56StLoc[1](loc0: u8)
B11:
57CopyLoc[0](Arg0: u256)
58LdU256(256)
59Ge
60BrFalse(69)
B12:
61MoveLoc[0](Arg0: u256)
62LdU8(8)
63Shr
64StLoc[0](Arg0: u256)
65MoveLoc[1](loc0: u8)
66LdU8(8)
67Add
68StLoc[1](loc0: u8)
B13:
69CopyLoc[0](Arg0: u256)
70LdU256(16)
71Ge
72BrFalse(81)
B14:
73MoveLoc[0](Arg0: u256)
74LdU8(4)
75Shr
76StLoc[0](Arg0: u256)
77MoveLoc[1](loc0: u8)
78LdU8(4)
79Add
80StLoc[1](loc0: u8)
B15:
81CopyLoc[0](Arg0: u256)
82LdU256(4)
83Ge
84BrFalse(93)
B16:
85MoveLoc[0](Arg0: u256)
86LdU8(2)
87Shr
88StLoc[0](Arg0: u256)
89MoveLoc[1](loc0: u8)
90LdU8(2)
91Add
92StLoc[1](loc0: u8)
B17:
93MoveLoc[0](Arg0: u256)
94LdU256(2)
95Ge
96BrFalse(101)
B18:
97MoveLoc[1](loc0: u8)
98LdU8(1)
99Add
100StLoc[1](loc0: u8)
B19:
101MoveLoc[1](loc0: u8)
102Ret
}
public least_significant_bit(Arg0: u256): u8 {
L1: loc0: u8
B0:
0CopyLoc[0](Arg0: u256)
1LdU256(0)
2Gt
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[0](u64: 0)
6Abort
B3:
7LdU8(255)
8StLoc[1](loc0: u8)
9CopyLoc[0](Arg0: u256)
10LdU256(340282366920938463463374607431768211455)
11BitAnd
12LdU256(0)
13Gt
14BrFalse(20)
B4:
15MoveLoc[1](loc0: u8)
16LdU8(128)
17Sub
18StLoc[1](loc0: u8)
19Branch(24)
B5:
20MoveLoc[0](Arg0: u256)
21LdU8(128)
22Shr
23StLoc[0](Arg0: u256)
B6:
24CopyLoc[0](Arg0: u256)
25LdU256(18446744073709551615)
26BitAnd
27LdU256(0)
28Gt
29BrFalse(35)
B7:
30MoveLoc[1](loc0: u8)
31LdU8(64)
32Sub
33StLoc[1](loc0: u8)
34Branch(39)
B8:
35MoveLoc[0](Arg0: u256)
36LdU8(64)
37Shr
38StLoc[0](Arg0: u256)
B9:
39CopyLoc[0](Arg0: u256)
40LdU256(4294967295)
41BitAnd
42LdU256(0)
43Gt
44BrFalse(50)
B10:
45MoveLoc[1](loc0: u8)
46LdU8(32)
47Sub
48StLoc[1](loc0: u8)
49Branch(54)
B11:
50MoveLoc[0](Arg0: u256)
51LdU8(32)
52Shr
53StLoc[0](Arg0: u256)
B12:
54CopyLoc[0](Arg0: u256)
55LdU256(65535)
56BitAnd
57LdU256(0)
58Gt
59BrFalse(65)
B13:
60MoveLoc[1](loc0: u8)
61LdU8(16)
62Sub
63StLoc[1](loc0: u8)
64Branch(69)
B14:
65MoveLoc[0](Arg0: u256)
66LdU8(16)
67Shr
68StLoc[0](Arg0: u256)
B15:
69CopyLoc[0](Arg0: u256)
70LdU256(255)
71BitAnd
72LdU256(0)
73Gt
74BrFalse(80)
B16:
75MoveLoc[1](loc0: u8)
76LdU8(8)
77Sub
78StLoc[1](loc0: u8)
79Branch(84)
B17:
80MoveLoc[0](Arg0: u256)
81LdU8(8)
82Shr
83StLoc[0](Arg0: u256)
B18:
84CopyLoc[0](Arg0: u256)
85LdU256(15)
86BitAnd
87LdU256(0)
88Gt
89BrFalse(95)
B19:
90MoveLoc[1](loc0: u8)
91LdU8(4)
92Sub
93StLoc[1](loc0: u8)
94Branch(99)
B20:
95MoveLoc[0](Arg0: u256)
96LdU8(4)
97Shr
98StLoc[0](Arg0: u256)
B21:
99CopyLoc[0](Arg0: u256)
100LdU256(3)
101BitAnd
102LdU256(0)
103Gt
104BrFalse(110)
B22:
105MoveLoc[1](loc0: u8)
106LdU8(2)
107Sub
108StLoc[1](loc0: u8)
109Branch(114)
B23:
110MoveLoc[0](Arg0: u256)
111LdU8(2)
112Shr
113StLoc[0](Arg0: u256)
B24:
114MoveLoc[0](Arg0: u256)
115LdU256(1)
116BitAnd
117LdU256(0)
118Gt
119BrFalse(124)
B25:
120MoveLoc[1](loc0: u8)
121LdU8(1)
122Sub
123StLoc[1](loc0: u8)
B26:
124MoveLoc[1](loc0: u8)
125Ret
}
Constants [
0 => u64: 0
]
}