math
Module0x0a16…e2f4
- Move path
- 0x859e…b7cb::math
- Functions
- 33 public, 0 entry
- Structs
- 0
- Friend modules
- None
Bytecode100 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 859eb18bd5b5e8cc32deb6dfb1c39941008ab3c6e27f0b8ce2364be7102bb7cb.math {
public mul(Arg0: u64, Arg1: u64): u64 {
L2: loc0: u128
L3: loc1: u128
B0:
0MoveLoc[0](Arg0: u64)
1CastU128
2StLoc[2](loc0: u128)
3MoveLoc[1](Arg1: u64)
4CastU128
5StLoc[3](loc1: u128)
6MoveLoc[2](loc0: u128)
7MoveLoc[3](loc1: u128)
8Mul
9LdConst[1](u128: 1000..)
10Div
11CastU64
12Ret
}
public mul_round(Arg0: u64, Arg1: u64): bool * u64 {
L2: loc0: bool
L3: loc1: u128
L4: loc2: u128
B0:
0MoveLoc[0](Arg0: u64)
1CastU128
2StLoc[3](loc1: u128)
3MoveLoc[1](Arg1: u64)
4CastU128
5StLoc[4](loc2: u128)
6LdTrue
7StLoc[2](loc0: bool)
8CopyLoc[3](loc1: u128)
9CopyLoc[4](loc2: u128)
10Mul
11LdConst[1](u128: 1000..)
12Mod
13LdU128(0)
14Eq
15BrFalse(18)
B1:
16LdFalse
17StLoc[2](loc0: bool)
B2:
18MoveLoc[2](loc0: bool)
19MoveLoc[3](loc1: u128)
20MoveLoc[4](loc2: u128)
21Mul
22LdConst[1](u128: 1000..)
23Div
24CastU64
25Ret
}
public div_round(Arg0: u64, Arg1: u64): bool * u64 {
L2: loc0: bool
L3: loc1: u128
L4: loc2: u128
B0:
0MoveLoc[0](Arg0: u64)
1CastU128
2StLoc[3](loc1: u128)
3MoveLoc[1](Arg1: u64)
4CastU128
5StLoc[4](loc2: u128)
6LdTrue
7StLoc[2](loc0: bool)
8CopyLoc[3](loc1: u128)
9LdConst[0](u64: 1000..)
10CastU128
11Mul
12CopyLoc[4](loc2: u128)
13Mod
14LdU128(0)
15Eq
16BrFalse(19)
B1:
17LdFalse
18StLoc[2](loc0: bool)
B2:
19MoveLoc[2](loc0: bool)
20MoveLoc[3](loc1: u128)
21LdConst[0](u64: 1000..)
22CastU128
23Mul
24MoveLoc[4](loc2: u128)
25Div
26CastU64
27Ret
}
Constants [
0 => u64: 1000000000
1 => u128: 1000000000
]
}