move-stackless-bytecode 0.3.2

Move stackless bytecode
Documentation
============ initial translation from Move ================

[variant baseline]
public fun Test::test_pack(): Test::R {
     var $t0|r: Test::R
     var $t1|s: Test::S
     var $t2: u64
     var $t3: u64
     var $t4: Test::S
     var $t5: Test::R
  0: $t2 := 3
  1: $t3 := 1
  2: $t4 := pack Test::S($t3)
  3: $t5 := pack Test::R($t2, $t4)
  4: return $t5
}

============ after pipeline `data_invariant_instrumentation` ================

[variant verification]
public fun Test::test_pack(): Test::R {
     var $t0|r: Test::R
     var $t1|s: Test::S
     var $t2: u64
     var $t3: u64
     var $t4: Test::S
     var $t5: Test::R
  0: $t2 := 3
  1: $t3 := 1
  2: $t4 := pack Test::S($t3)
     # data invariant at tests/data_invariant_instrumentation/pack.move:16:9+16
     # VC: data invariant does not hold at tests/data_invariant_instrumentation/pack.move:16:9+16
  3: assert Gt(select Test::S.y($t4), 0)
  4: $t5 := pack Test::R($t2, $t4)
     # data invariant at tests/data_invariant_instrumentation/pack.move:12:9+18
     # VC: data invariant does not hold at tests/data_invariant_instrumentation/pack.move:12:9+18
  5: assert Gt(select Test::R.x($t5), select Test::S.y(select Test::R.s($t5)))
  6: label L1
  7: return $t5
}