... | ... | @@ -159,14 +159,16 @@ define |
|
|
- c = if pop2.is_zero() { pop1 } else { push }
|
|
|
- d = pop1
|
|
|
```
|
|
|
- a_abs,b_abs,c_abs,d_abs
|
|
|
```
|
|
|
关于补码的相关约束如下
|
|
|
- x_abs_lo == lo when x >= 0
|
|
|
- x_abs_hi == hi when x >= 0
|
|
|
- sum == 0 when x < 0 (小于0证明存在补码,同时我们有x+x_abs = 1 <<256。x + x_abs 约束请参考add部分)
|
|
|
- carry_hi == 1 when x < 0
|
|
|
```
|
|
|
a_abs,b_abs,c_abs,d_abs
|
|
|
|
|
|
```
|
|
|
关于补码的相关约束如下
|
|
|
- x_abs_lo == lo when x >= 0
|
|
|
- x_abs_hi == hi when x >= 0
|
|
|
- sum == 0 when x < 0 (小于0证明存在补码,同时我们有x+x_abs = 1 <<256。x + x_abs 约束请参考add部分)
|
|
|
- carry_hi == 1 when x < 0
|
|
|
```
|
|
|
|
|
|
- mul_add_words (请参考mul部分约束内容)
|
|
|
- abs(remainder) < abs(divisor) when divisor != 0
|
|
|
- mul_add_words中的carry_hi == 0
|
... | ... | |