Globals:
Function: take_by_reference
block 0
var return_value: void = None
var x: &int = None
var temp2: void = None
var temp3: {int/signed} = Some(MaybeSignedInt(2))
var temp4: void = None
temp4 = *x
var temp5: void = None
temp5 = temp3 * temp4
free(temp3)
free(temp4)
*x = temp5
free(temp5)
var temp6: void = None
free(temp6)
free(temp2)
free(x)
free(return_value)
-> block 1
block 1
-> return
Function: main
block 0
var return_value: int = None
var temp1: void = None
var input: void = None
var temp3: {int/signed} = Some(MaybeSignedInt(5))
input = temp3
free(temp3)
var temp4: void = None
var temp5: void = None
temp5 = &input
var temp6: int = None
var temp7: int = None
var temp8: void = None
var temp9: void = None
temp9 = temp5
temp8 = call take_by_reference(temp9)
temp4 = temp8
free(temp9)
free(temp8)
free(temp7)
free(temp6)
free(temp5)
free(temp4)
return_value = input
free(input)
free(temp1)
free(return_value)
-> block 2
block 1
-> return
block 2
-> block 1
block 3
free(return_value)
-> block 1