somni 0.2.0

Somni scripting language and VM
Documentation
Globals:

Function: noop
block 0
  var return_value: void = None
  var temp1: void = None
  var n: void = None
  var temp3: {int/signed} = Some(MaybeSignedInt(2))
  n = temp3
  free(temp3)
  free(n)
  free(temp1)
  free(return_value)
  -> block 1

block 1
  -> return

Function: multiply
block 0
  var return_value: int = None
  var number: int = None
  var n: int = None
  var add: bool = None
  var temp4: void = None
  var temp5: void = None
  if add -> block 3 else block 13

block 1
  -> return

block 2
  free(temp5)
  free(temp4)
  free(add)
  free(n)
  free(number)
  free(return_value)
  -> block 1

block 3
  var temp6: void = None
  var acc: void = None
  var temp8: {int/signed} = Some(MaybeSignedInt(0))
  acc = temp8
  free(temp8)
  var temp9: void = None
  -> block 5

block 4
  return_value = acc
  free(temp9)
  free(acc)
  free(temp6)
  free(temp5)
  free(temp4)
  free(add)
  free(n)
  free(number)
  free(return_value)
  -> block 11

block 5
  var temp10: void = None
  var temp11: void = None
  var temp12: {int/signed} = Some(MaybeSignedInt(0))
  var temp13: void = None
  temp13 = n > temp12
  free(temp12)
  if temp13 -> block 7 else block 8

block 6
  free(temp13)
  free(temp11)
  free(temp10)
  -> block 5

block 7
  var temp14: void = None
  var temp15: void = None
  temp15 = acc + number
  acc = temp15
  free(temp15)
  var temp16: void = None
  free(temp16)
  var temp17: {int/signed} = Some(MaybeSignedInt(1))
  var temp18: void = None
  temp18 = n - temp17
  free(temp17)
  n = temp18
  free(temp18)
  var temp19: void = None
  free(temp19)
  free(temp14)
  -> block 6

block 8
  var temp20: void = None
  free(temp20)
  free(temp13)
  free(temp11)
  free(temp10)
  -> block 9

block 9
  -> block 4

block 10
  -> block 6

block 11
  -> block 1

block 12
  -> block 2

block 13
  var temp21: void = None
  var temp22: void = None
  var temp23: int = None
  var temp24: int = None
  var temp25: void = None
  temp25 = call noop()
  temp22 = temp25
  free(temp25)
  free(temp24)
  free(temp23)
  free(temp22)
  var temp26: void = None
  temp26 = number * n
  return_value = temp26
  free(temp26)
  free(temp21)
  free(temp5)
  free(temp4)
  free(add)
  free(n)
  free(number)
  free(return_value)
  -> block 14

block 14
  -> block 1

block 15
  -> block 2