Skip to content

Instantly share code, notes, and snippets.

@denismerigoux
Created April 30, 2021 15:43
Show Gist options
  • Save denismerigoux/372851a31c9f446186d888fe53aba463 to your computer and use it in GitHub Desktop.
Save denismerigoux/372851a31c9f446186d888fe53aba463 to your computer and use it in GitHub Desktop.
{
"items": [
[
{
"ArrayDecl": [
[
"State",
null
],
[
{
"Lit": {
"Usize": 16
}
},
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
],
[
"StateIdx",
null
]
]
},
null
],
[
{
"ArrayDecl": [
[
"StateBytes",
null
],
[
{
"Lit": {
"Usize": 64
}
},
null
],
[
{
"Named": [
[
"U8",
null
],
null
]
},
null
],
null
]
},
null
],
[
{
"ArrayDecl": [
[
"IV",
null
],
[
{
"Lit": {
"Usize": 12
}
},
null
],
[
{
"Named": [
[
"U8",
null
],
null
]
},
null
],
null
]
},
null
],
[
{
"ArrayDecl": [
[
"Key",
null
],
[
{
"Lit": {
"Usize": 32
}
},
null
],
[
{
"Named": [
[
"U8",
null
],
null
]
},
null
],
null
]
},
null
],
[
{
"FnDecl": [
[
"state_to_bytes",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1885,
"name": "x"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Named": [
[
"StateBytes",
null
],
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1886,
"name": "r"
}
}
},
null
],
null,
[
{
"FuncCall": [
[
{
"Named": [
[
"StateBytes",
null
],
null
]
},
null
],
[
"new",
null
],
[]
]
},
null
]
]
},
null
],
[
{
"ForLoop": [
[
{
"Local": {
"id": 1887,
"name": "i"
}
},
null
],
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"MethodCall": [
[
[
{
"Named": {
"Local": {
"id": 1885,
"name": "x"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
],
[
"len",
null
],
[]
]
},
null
],
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1888,
"name": "bytes"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"U32_to_be_bytes",
null
],
[
[
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1885,
"name": "x"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1887,
"name": "i"
}
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1886,
"name": "r"
}
},
null
],
[
{
"Binary": [
[
"Mul",
null
],
[
{
"Named": {
"Local": {
"id": 1887,
"name": "i"
}
}
},
null
],
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
[
"Consumed",
null
],
[
"Usize",
null
]
]
]
},
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1888,
"name": "bytes"
}
},
null
],
[
{
"Lit": {
"Usize": 3
}
},
null
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1886,
"name": "r"
}
},
null
],
[
{
"Binary": [
[
"Add",
null
],
[
{
"Binary": [
[
"Mul",
null
],
[
{
"Named": {
"Local": {
"id": 1887,
"name": "i"
}
}
},
null
],
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
[
"Consumed",
null
],
[
"Usize",
null
]
]
]
},
null
],
[
{
"Lit": {
"Usize": 1
}
},
null
],
[
[
"Consumed",
null
],
[
"Usize",
null
]
]
]
},
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1888,
"name": "bytes"
}
},
null
],
[
{
"Lit": {
"Usize": 2
}
},
null
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1886,
"name": "r"
}
},
null
],
[
{
"Binary": [
[
"Add",
null
],
[
{
"Binary": [
[
"Mul",
null
],
[
{
"Named": {
"Local": {
"id": 1887,
"name": "i"
}
}
},
null
],
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
[
"Consumed",
null
],
[
"Usize",
null
]
]
]
},
null
],
[
{
"Lit": {
"Usize": 2
}
},
null
],
[
[
"Consumed",
null
],
[
"Usize",
null
]
]
]
},
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1888,
"name": "bytes"
}
},
null
],
[
{
"Lit": {
"Usize": 1
}
},
null
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1886,
"name": "r"
}
},
null
],
[
{
"Binary": [
[
"Add",
null
],
[
{
"Binary": [
[
"Mul",
null
],
[
{
"Named": {
"Local": {
"id": 1887,
"name": "i"
}
}
},
null
],
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
[
"Consumed",
null
],
[
"Usize",
null
]
]
]
},
null
],
[
{
"Lit": {
"Usize": 3
}
},
null
],
[
[
"Consumed",
null
],
[
"Usize",
null
]
]
]
},
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1888,
"name": "bytes"
}
},
null
],
[
{
"Lit": {
"Usize": 0
}
},
null
]
]
},
null
]
]
},
null
]
],
"mutated": {
"vars": [
{
"id": 1886,
"name": "r"
}
],
"stmt": {
"ReturnExp": {
"Tuple": [
[
{
"Named": {
"Local": {
"id": 1886,
"name": "r"
}
}
},
null
]
]
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
"Unit",
null
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"Named": {
"Local": {
"id": 1886,
"name": "r"
}
}
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Named": [
[
"StateBytes",
null
],
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha_line",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1889,
"name": "a"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateIdx",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1890,
"name": "b"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateIdx",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1891,
"name": "d"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateIdx",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1892,
"name": "s"
}
},
null
],
[
[
[
"Consumed",
null
],
[
"Usize",
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1893,
"name": "m"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Named": [
[
"State",
null
],
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1894,
"name": "state"
}
}
},
null
],
null,
[
{
"Named": {
"Local": {
"id": 1893,
"name": "m"
}
}
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1894,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1889,
"name": "a"
}
}
},
null
],
[
{
"Binary": [
[
"Add",
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1894,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1889,
"name": "a"
}
}
},
null
]
]
},
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1894,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1890,
"name": "b"
}
}
},
null
]
]
},
null
],
[
[
"Consumed",
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1894,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1891,
"name": "d"
}
}
},
null
],
[
{
"Binary": [
[
"BitXor",
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1894,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1891,
"name": "d"
}
}
},
null
]
]
},
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1894,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1889,
"name": "a"
}
}
},
null
]
]
},
null
],
[
[
"Consumed",
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1894,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1891,
"name": "d"
}
}
},
null
],
[
{
"MethodCall": [
[
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1894,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1891,
"name": "d"
}
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
],
[
[
"Consumed",
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
],
[
"rotate_left",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1892,
"name": "s"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"Named": {
"Local": {
"id": 1894,
"name": "state"
}
}
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha_quarter_round",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1895,
"name": "a"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateIdx",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1896,
"name": "b"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateIdx",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1897,
"name": "c"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateIdx",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1898,
"name": "d"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateIdx",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1899,
"name": "state"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Named": [
[
"State",
null
],
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1900,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_line",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1895,
"name": "a"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1896,
"name": "b"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1898,
"name": "d"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 16
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1899,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1901,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_line",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1897,
"name": "c"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1898,
"name": "d"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1896,
"name": "b"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 12
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1900,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1902,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_line",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1895,
"name": "a"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1896,
"name": "b"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1898,
"name": "d"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 8
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1901,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"FuncCall": [
null,
[
"chacha_line",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1897,
"name": "c"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1898,
"name": "d"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1896,
"name": "b"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 7
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1902,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha_double_round",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1903,
"name": "state"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Named": [
[
"State",
null
],
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1904,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_quarter_round",
null
],
[
[
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 8
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 12
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1903,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1905,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_quarter_round",
null
],
[
[
[
{
"Lit": {
"Usize": 1
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 5
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 9
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 13
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1904,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1906,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_quarter_round",
null
],
[
[
[
{
"Lit": {
"Usize": 2
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 6
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 10
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 14
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1905,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1907,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_quarter_round",
null
],
[
[
[
{
"Lit": {
"Usize": 3
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 7
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 11
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 15
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1906,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1908,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_quarter_round",
null
],
[
[
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 5
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 10
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 15
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1907,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1909,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_quarter_round",
null
],
[
[
[
{
"Lit": {
"Usize": 1
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 6
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 11
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 12
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1908,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1910,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_quarter_round",
null
],
[
[
[
{
"Lit": {
"Usize": 2
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 7
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 8
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 13
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1909,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"FuncCall": [
null,
[
"chacha_quarter_round",
null
],
[
[
[
{
"Lit": {
"Usize": 3
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 9
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Lit": {
"Usize": 14
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1910,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha20_constants_init",
null
],
{
"args": [],
"ret": [
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1911,
"name": "constants"
}
}
},
null
],
null,
[
{
"FuncCall": [
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
],
[
"new",
null
],
[
[
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1911,
"name": "constants"
}
},
null
],
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32",
null
],
[
[
[
{
"Lit": {
"UInt32": 1634760805
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1911,
"name": "constants"
}
},
null
],
[
{
"Lit": {
"Usize": 1
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32",
null
],
[
[
[
{
"Lit": {
"UInt32": 857760878
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1911,
"name": "constants"
}
},
null
],
[
{
"Lit": {
"Usize": 2
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32",
null
],
[
[
[
{
"Lit": {
"UInt32": 2036477234
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1911,
"name": "constants"
}
},
null
],
[
{
"Lit": {
"Usize": 3
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32",
null
],
[
[
[
{
"Lit": {
"UInt32": 1797285236
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"Named": {
"Local": {
"id": 1911,
"name": "constants"
}
}
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha20_key_to_u32s",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1912,
"name": "key"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"Key",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1913,
"name": "uints"
}
}
},
null
],
null,
[
{
"FuncCall": [
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
],
[
"new",
null
],
[
[
[
{
"Lit": {
"Usize": 8
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1913,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1912,
"name": "key"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"Lit": {
"Usize": 4
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1913,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 1
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1912,
"name": "key"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
{
"Lit": {
"Usize": 8
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1913,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 2
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1912,
"name": "key"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 8
}
},
null
],
[
{
"Lit": {
"Usize": 12
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1913,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 3
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1912,
"name": "key"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 12
}
},
null
],
[
{
"Lit": {
"Usize": 16
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1913,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1912,
"name": "key"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 16
}
},
null
],
[
{
"Lit": {
"Usize": 20
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1913,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 5
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1912,
"name": "key"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 20
}
},
null
],
[
{
"Lit": {
"Usize": 24
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1913,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 6
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1912,
"name": "key"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 24
}
},
null
],
[
{
"Lit": {
"Usize": 28
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1913,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 7
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1912,
"name": "key"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 28
}
},
null
],
[
{
"Lit": {
"Usize": 32
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"Named": {
"Local": {
"id": 1913,
"name": "uints"
}
}
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha20_iv_to_u32s",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1914,
"name": "iv"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"IV",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1915,
"name": "uints"
}
}
},
null
],
null,
[
{
"FuncCall": [
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
],
[
"new",
null
],
[
[
[
{
"Lit": {
"Usize": 3
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1915,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1914,
"name": "iv"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"Lit": {
"Usize": 4
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1915,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 1
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1914,
"name": "iv"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 4
}
},
null
],
[
{
"Lit": {
"Usize": 8
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1915,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 2
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32_from_le_bytes",
null
],
[
[
[
{
"FuncCall": [
[
{
"Named": [
[
"U32Word",
null
],
null
]
},
null
],
[
"from_slice_range",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1914,
"name": "iv"
}
}
},
null
],
[
"Borrowed",
null
]
],
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 8
}
},
null
],
[
{
"Lit": {
"Usize": 12
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"Named": {
"Local": {
"id": 1915,
"name": "uints"
}
}
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha20_ctr_to_seq",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1916,
"name": "ctr"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1917,
"name": "uints"
}
}
},
null
],
null,
[
{
"FuncCall": [
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
],
[
"new",
null
],
[
[
[
{
"Lit": {
"Usize": 1
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1917,
"name": "uints"
}
},
null
],
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1916,
"name": "ctr"
}
}
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"Named": {
"Local": {
"id": 1917,
"name": "uints"
}
}
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha_block_init",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1918,
"name": "key"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"Key",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1919,
"name": "ctr"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1920,
"name": "iv"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"IV",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Named": [
[
"State",
null
],
null
]
},
null
]
},
[
{
"stmts": [
[
{
"ReturnExp": {
"FuncCall": [
[
{
"Named": [
[
"State",
null
],
null
]
},
null
],
[
"from_seq",
null
],
[
[
[
{
"MethodCall": [
[
[
{
"MethodCall": [
[
[
{
"MethodCall": [
[
[
{
"FuncCall": [
null,
[
"chacha20_constants_init",
null
],
[]
]
},
null
],
[
"Borrowed",
null
]
],
[
[
"Consumed",
null
],
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
],
[
"concat",
null
],
[
[
[
{
"FuncCall": [
null,
[
"chacha20_key_to_u32s",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1918,
"name": "key"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Borrowed",
null
]
]
]
]
},
null
],
[
"Borrowed",
null
]
],
[
[
"Consumed",
null
],
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
],
[
"concat",
null
],
[
[
[
{
"FuncCall": [
null,
[
"chacha20_ctr_to_seq",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1919,
"name": "ctr"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Borrowed",
null
]
]
]
]
},
null
],
[
"Borrowed",
null
]
],
[
[
"Consumed",
null
],
[
{
"Seq": [
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
},
null
]
],
[
"concat",
null
],
[
[
[
{
"FuncCall": [
null,
[
"chacha20_iv_to_u32s",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1920,
"name": "iv"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Borrowed",
null
]
]
]
]
},
null
],
[
"Borrowed",
null
]
]
]
]
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha_block_inner",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1921,
"name": "key"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"Key",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1922,
"name": "ctr"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1923,
"name": "iv"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"IV",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Named": [
[
"State",
null
],
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1924,
"name": "st"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_block_init",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1921,
"name": "key"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1922,
"name": "ctr"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1923,
"name": "iv"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1925,
"name": "state"
}
}
},
null
],
null,
[
{
"Named": {
"Local": {
"id": 1924,
"name": "st"
}
}
},
null
]
]
},
null
],
[
{
"ForLoop": [
[
{
"Local": {
"id": 1926,
"name": "_i"
}
},
null
],
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"Lit": {
"Usize": 10
}
},
null
],
[
{
"stmts": [
[
{
"Reassignment": [
[
{
"Local": {
"id": 1925,
"name": "state"
}
},
null
],
[
{
"FuncCall": [
null,
[
"chacha_double_round",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1925,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
]
],
"mutated": {
"vars": [
{
"id": 1925,
"name": "state"
}
],
"stmt": {
"ReturnExp": {
"Tuple": [
[
{
"Named": {
"Local": {
"id": 1925,
"name": "state"
}
}
},
null
]
]
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
"Unit",
null
]
]
},
null
]
]
},
null
],
[
{
"ForLoop": [
[
{
"Local": {
"id": 1927,
"name": "i"
}
},
null
],
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"Lit": {
"Usize": 16
}
},
null
],
[
{
"stmts": [
[
{
"ArrayUpdate": [
[
{
"Local": {
"id": 1925,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1927,
"name": "i"
}
}
},
null
],
[
{
"Binary": [
[
"Add",
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1925,
"name": "state"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1927,
"name": "i"
}
}
},
null
]
]
},
null
],
[
{
"ArrayIndex": [
[
{
"Local": {
"id": 1924,
"name": "st"
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1927,
"name": "i"
}
}
},
null
]
]
},
null
],
[
[
"Consumed",
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
]
]
},
null
]
]
},
null
]
],
"mutated": {
"vars": [
{
"id": 1925,
"name": "state"
}
],
"stmt": {
"ReturnExp": {
"Tuple": [
[
{
"Named": {
"Local": {
"id": 1925,
"name": "state"
}
}
},
null
]
]
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
"Unit",
null
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"Named": {
"Local": {
"id": 1925,
"name": "state"
}
}
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Named": [
[
"State",
null
],
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha_block",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1928,
"name": "key"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"Key",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1929,
"name": "ctr"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1930,
"name": "iv"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"IV",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Named": [
[
"StateBytes",
null
],
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1931,
"name": "state"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_block_inner",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1928,
"name": "key"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1929,
"name": "ctr"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1930,
"name": "iv"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"FuncCall": [
null,
[
"state_to_bytes",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1931,
"name": "state"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Named": [
[
"StateBytes",
null
],
null
]
},
null
]
]
},
null
]
]
},
null
],
[
{
"FnDecl": [
[
"chacha",
null
],
{
"args": [
[
[
{
"Local": {
"id": 1932,
"name": "key"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"Key",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1933,
"name": "iv"
}
},
null
],
[
[
[
"Consumed",
null
],
[
{
"Named": [
[
"IV",
null
],
null
]
},
null
]
],
null
]
],
[
[
{
"Local": {
"id": 1934,
"name": "m"
}
},
null
],
[
[
[
"Borrowed",
null
],
[
{
"Named": [
[
"ByteSeq",
null
],
null
]
},
null
]
],
null
]
]
],
"ret": [
{
"Named": [
[
"ByteSeq",
null
],
null
]
},
null
]
},
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1935,
"name": "ctr"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"U32",
null
],
[
[
[
{
"Lit": {
"UInt32": 1
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1936,
"name": "blocks_out"
}
}
},
null
],
null,
[
{
"FuncCall": [
[
{
"Named": [
[
"ByteSeq",
null
],
null
]
},
null
],
[
"new",
null
],
[
[
[
{
"MethodCall": [
[
[
{
"Named": {
"Local": {
"id": 1934,
"name": "m"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
"Borrowed",
null
],
[
{
"Named": [
[
"ByteSeq",
null
],
null
]
},
null
]
],
[
"len",
null
],
[]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"ForLoop": [
[
{
"Local": {
"id": 1937,
"name": "i"
}
},
null
],
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"MethodCall": [
[
[
{
"Named": {
"Local": {
"id": 1934,
"name": "m"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
"Borrowed",
null
],
[
{
"Named": [
[
"ByteSeq",
null
],
null
]
},
null
]
],
[
"num_chunks",
null
],
[
[
[
{
"Lit": {
"Usize": 64
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
{
"stmts": [
[
{
"LetBinding": [
[
{
"Tuple": [
[
{
"IdentPat": {
"Local": {
"id": 1938,
"name": "block_len"
}
}
},
null
],
[
{
"IdentPat": {
"Local": {
"id": 1939,
"name": "msg_block"
}
}
},
null
]
]
},
null
],
null,
[
{
"MethodCall": [
[
[
{
"Named": {
"Local": {
"id": 1934,
"name": "m"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
"Borrowed",
null
],
[
{
"Named": [
[
"ByteSeq",
null
],
null
]
},
null
]
],
[
"get_chunk",
null
],
[
[
[
{
"Lit": {
"Usize": 64
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1937,
"name": "i"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1940,
"name": "key_block"
}
}
},
null
],
null,
[
{
"FuncCall": [
null,
[
"chacha_block",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1932,
"name": "key"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1935,
"name": "ctr"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1933,
"name": "iv"
}
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1941,
"name": "msg_block_padded"
}
}
},
null
],
null,
[
{
"FuncCall": [
[
{
"Named": [
[
"StateBytes",
null
],
null
]
},
null
],
[
"new",
null
],
[]
]
},
null
]
]
},
null
],
[
{
"LetBinding": [
[
{
"IdentPat": {
"Local": {
"id": 1942,
"name": "msg_block_padded"
}
}
},
null
],
null,
[
{
"MethodCall": [
[
[
{
"Named": {
"Local": {
"id": 1941,
"name": "msg_block_padded"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateBytes",
null
],
null
]
},
null
]
],
[
"update_start",
null
],
[
[
[
{
"Named": {
"Local": {
"id": 1939,
"name": "msg_block"
}
}
},
null
],
[
"Borrowed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"Reassignment": [
[
{
"Local": {
"id": 1936,
"name": "blocks_out"
}
},
null
],
[
{
"MethodCall": [
[
[
{
"Named": {
"Local": {
"id": 1936,
"name": "blocks_out"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
"Consumed",
null
],
[
{
"Seq": [
{
"Named": [
[
"U8",
null
],
null
]
},
null
]
},
null
]
],
[
"set_chunk",
null
],
[
[
[
{
"Lit": {
"Usize": 64
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"Named": {
"Local": {
"id": 1937,
"name": "i"
}
}
},
null
],
[
"Consumed",
null
]
],
[
[
{
"MethodCall": [
[
[
{
"Binary": [
[
"BitXor",
null
],
[
{
"Named": {
"Local": {
"id": 1942,
"name": "msg_block_padded"
}
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1940,
"name": "key_block"
}
}
},
null
],
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateBytes",
null
],
null
]
},
null
]
]
]
},
null
],
[
"Borrowed",
null
]
],
[
[
"Consumed",
null
],
[
{
"Named": [
[
"StateBytes",
null
],
null
]
},
null
]
],
[
"slice_range",
null
],
[
[
[
{
"Tuple": [
[
{
"Lit": {
"Usize": 0
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1938,
"name": "block_len"
}
}
},
null
]
]
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
"Borrowed",
null
]
]
]
]
},
null
]
]
},
null
],
[
{
"Reassignment": [
[
{
"Local": {
"id": 1935,
"name": "ctr"
}
},
null
],
[
{
"Binary": [
[
"Add",
null
],
[
{
"Named": {
"Local": {
"id": 1935,
"name": "ctr"
}
}
},
null
],
[
{
"FuncCall": [
null,
[
"U32",
null
],
[
[
[
{
"Lit": {
"UInt32": 1
}
},
null
],
[
"Consumed",
null
]
]
]
]
},
null
],
[
[
"Consumed",
null
],
[
{
"Named": [
[
"U32",
null
],
null
]
},
null
]
]
]
},
null
]
]
},
null
]
],
"mutated": {
"vars": [
{
"id": 1936,
"name": "blocks_out"
},
{
"id": 1935,
"name": "ctr"
}
],
"stmt": {
"ReturnExp": {
"Tuple": [
[
{
"Named": {
"Local": {
"id": 1935,
"name": "ctr"
}
}
},
null
],
[
{
"Named": {
"Local": {
"id": 1936,
"name": "blocks_out"
}
}
},
null
]
]
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
"Unit",
null
]
]
},
null
]
]
},
null
],
[
{
"ReturnExp": {
"Named": {
"Local": {
"id": 1936,
"name": "blocks_out"
}
}
}
},
null
]
],
"mutated": {
"vars": [],
"stmt": {
"ReturnExp": {
"Lit": "Unit"
}
}
},
"return_typ": [
[
"Consumed",
null
],
[
{
"Seq": [
{
"Named": [
[
"U8",
null
],
null
]
},
null
]
},
null
]
]
},
null
]
]
},
null
]
],
"imported_crates": [
[
"hacspec_lib",
null
]
],
"ty_aliases": []
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment