{ "program": "heap_malloc:\n.LBL17_0:\n mov r3 18446744060824649731\n mload r0 [r3]\n add r2 r0 r1\n mov r1 18446744060824649731\n mstore [r1] r2\n ret\nvector_new:\n.LBL18_0:\n mov r4 18446744060824649731\n mload r0 [r4]\n add r2 r1 1\n add r3 r0 r2\n mov r2 18446744060824649731\n mstore [r2] r3\n mstore [r0] r1\n ret\nsplit_field:\n.LBL19_0:\n mov r6 r1\n mov r1 r6\n.PROPHET19_0:\n mov r0 psp\n mload r0 [r0]\n mov r7 r0\n range r7\n mov r1 r6\n.PROPHET19_1:\n mov r0 psp\n mload r0 [r0]\n mov r1 r0\n range r1\n mul r4 r7 4294967296\n add r5 r4 r1\n eq r4 r6 r5\n assert r4\n mstore [r2] r7\n mstore [r3] r1\n ret\nmemcpy:\n.LBL20_0:\n add r9 r9 1\n mov r4 0\n mstore [r9,-1] r4\n jmp .LBL20_1\n.LBL20_1:\n mload r4 [r9,-1]\n gte r5 r3 r4\n neq r6 r4 r3\n and r5 r5 r6\n cjmp r5 .LBL20_2\n jmp .LBL20_3\n.LBL20_2:\n mload r6 [r1,r4]\n mstore [r2,r4] r6\n add r5 r4 1\n mstore [r9,-1] r5\n jmp .LBL20_1\n.LBL20_3:\n add r9 r9 -1\n ret\nmemcmp_eq:\n.LBL21_0:\n add r9 r9 1\n mov r4 0\n mstore [r9,-1] r4\n jmp .LBL21_1\n.LBL21_1:\n mload r4 [r9,-1]\n gte r5 r3 r4\n neq r6 r4 r3\n and r5 r5 r6\n cjmp r5 .LBL21_2\n mov r0 1\n jmp .LBL21_3\n.LBL21_2:\n mload r6 [r1,r4]\n mload r7 [r2,r4]\n add r5 r4 1\n mstore [r9,-1] r5\n eq r4 r6 r7\n cjmp r4 .LBL21_1\n mov r0 0\n jmp .LBL21_3\n.LBL21_3:\n add r9 r9 -1\n ret\nmemcmp_ne:\n.LBL22_0:\n add r9 r9 1\n mov r4 0\n mstore [r9,-1] r4\n jmp .LBL22_1\n.LBL22_1:\n mload r4 [r9,-1]\n gte r5 r3 r4\n neq r6 r4 r3\n and r5 r5 r6\n cjmp r5 .LBL22_2\n mov r0 0\n jmp .LBL22_3\n.LBL22_2:\n mload r6 [r1,r4]\n mload r7 [r2,r4]\n add r5 r4 1\n mstore [r9,-1] r5\n eq r4 r6 r7\n cjmp r4 .LBL22_1\n mov r0 1\n jmp .LBL22_3\n.LBL22_3:\n add r9 r9 -1\n ret\nmemcmp_ugt:\n.LBL23_0:\n add r9 r9 1\n mov r4 0\n mstore [r9,-1] r4\n jmp .LBL23_1\n.LBL23_1:\n mload r4 [r9,-1]\n gte r5 r3 r4\n neq r6 r4 r3\n and r5 r5 r6\n cjmp r5 .LBL23_2\n mov r0 0\n jmp .LBL23_3\n.LBL23_2:\n mload r6 [r1,r4]\n mload r7 [r2,r4]\n add r5 r4 1\n mstore [r9,-1] r5\n gte r4 r7 r6\n cjmp r4 .LBL23_1\n mov r0 1\n jmp .LBL23_3\n.LBL23_3:\n add r9 r9 -1\n ret\nmemcmp_uge:\n.LBL24_0:\n add r9 r9 1\n mov r4 0\n mstore [r9,-1] r4\n jmp .LBL24_1\n.LBL24_1:\n mload r4 [r9,-1]\n gte r5 r3 r4\n neq r6 r4 r3\n and r5 r5 r6\n cjmp r5 .LBL24_2\n mov r0 1\n jmp .LBL24_3\n.LBL24_2:\n mload r6 [r1,r4]\n mload r7 [r2,r4]\n add r5 r4 1\n mstore [r9,-1] r5\n gte r4 r6 r7\n cjmp r4 .LBL24_1\n mov r0 0\n jmp .LBL24_3\n.LBL24_3:\n add r9 r9 -1\n ret\nmemcmp_ult:\n.LBL25_0:\n add r9 r9 1\n mov r4 0\n mstore [r9,-1] r4\n jmp .LBL25_1\n.LBL25_1:\n mload r4 [r9,-1]\n gte r5 r3 r4\n neq r6 r4 r3\n and r5 r5 r6\n cjmp r5 .LBL25_2\n mov r0 0\n jmp .LBL25_3\n.LBL25_2:\n mload r6 [r1,r4]\n mload r7 [r2,r4]\n add r5 r4 1\n mstore [r9,-1] r5\n gte r4 r6 r7\n cjmp r4 .LBL25_1\n mov r0 1\n jmp .LBL25_3\n.LBL25_3:\n add r9 r9 -1\n ret\nmemcmp_ule:\n.LBL26_0:\n add r9 r9 1\n mov r4 0\n mstore [r9,-1] r4\n jmp .LBL26_1\n.LBL26_1:\n mload r4 [r9,-1]\n gte r5 r3 r4\n neq r6 r4 r3\n and r5 r5 r6\n cjmp r5 .LBL26_2\n mov r0 1\n jmp .LBL26_3\n.LBL26_2:\n mload r6 [r1,r4]\n mload r7 [r2,r4]\n add r5 r4 1\n mstore [r9,-1] r5\n gte r4 r7 r6\n cjmp r4 .LBL26_1\n mov r0 0\n jmp .LBL26_3\n.LBL26_3:\n add r9 r9 -1\n ret\nfield_memcmp_ugt:\n.LBL27_0:\n add r9 r9 20\n mstore [r9,-2] r9\n mstore [r9,-8] r1\n mov r1 r2\n mstore [r9,-13] r1\n mov r1 r3\n mstore [r9,-10] r1\n mov r1 0\n mstore [r9,-7] r1\n jmp .LBL27_1\n.LBL27_1:\n mload r1 [r9,-7]\n mstore [r9,-12] r1\n mload r1 [r9,-10]\n mload r2 [r9,-12]\n gte r1 r1 r2\n mload r2 [r9,-10]\n mload r3 [r9,-12]\n neq r2 r3 r2\n and r1 r1 r2\n cjmp r1 .LBL27_2\n mov r0 0\n jmp .LBL27_4\n.LBL27_2:\n mload r1 [r9,-8]\n mload r2 [r9,-12]\n mload r1 [r1,r2]\n mload r2 [r9,-12]\n mload r3 [r9,-13]\n mload r2 [r3,r2]\n mstore [r9,-9] r2\n add r3 r9 -5\n add r2 r9 -6\n call split_field\n mload r1 [r9,-6]\n mstore [r9,-20] r1\n mload r1 [r9,-5]\n mstore [r9,-17] r1\n add r3 r9 -3\n add r2 r9 -4\n mload r1 [r9,-9]\n call split_field\n mload r1 [r9,-4]\n mload r2 [r9,-3]\n mload r3 [r9,-12]\n add r3 r3 1\n mstore [r9,-11] r3\n mload r3 [r9,-11]\n mstore [r9,-7] r3\n mload r3 [r9,-20]\n gte r1 r1 r3\n cjmp r1 .LBL27_3\n mov r0 1\n jmp .LBL27_4\n.LBL27_3:\n mload r1 [r9,-17]\n gte r1 r2 r1\n cjmp r1 .LBL27_1\n mov r0 1\n jmp .LBL27_4\n.LBL27_4:\n add r9 r9 -20\n ret\nfield_memcmp_uge:\n.LBL28_0:\n add r9 r9 20\n mstore [r9,-2] r9\n mstore [r9,-8] r1\n mov r1 r2\n mstore [r9,-13] r1\n mov r1 r3\n mstore [r9,-10] r1\n mov r1 0\n mstore [r9,-7] r1\n jmp .LBL28_1\n.LBL28_1:\n mload r1 [r9,-7]\n mstore [r9,-12] r1\n mload r1 [r9,-10]\n mload r2 [r9,-12]\n gte r1 r1 r2\n mload r2 [r9,-10]\n mload r3 [r9,-12]\n neq r2 r3 r2\n and r1 r1 r2\n cjmp r1 .LBL28_2\n mov r0 1\n jmp .LBL28_4\n.LBL28_2:\n mload r1 [r9,-8]\n mload r2 [r9,-12]\n mload r1 [r1,r2]\n mload r2 [r9,-12]\n mload r3 [r9,-13]\n mload r2 [r3,r2]\n mstore [r9,-9] r2\n add r3 r9 -5\n add r2 r9 -6\n call split_field\n mload r1 [r9,-6]\n mstore [r9,-20] r1\n mload r1 [r9,-5]\n mstore [r9,-17] r1\n add r3 r9 -3\n add r2 r9 -4\n mload r1 [r9,-9]\n call split_field\n mload r1 [r9,-4]\n mload r2 [r9,-3]\n mload r3 [r9,-12]\n add r3 r3 1\n mstore [r9,-11] r3\n mload r3 [r9,-11]\n mstore [r9,-7] r3\n mload r3 [r9,-20]\n gte r1 r3 r1\n cjmp r1 .LBL28_3\n mov r0 0\n jmp .LBL28_4\n.LBL28_3:\n mload r1 [r9,-17]\n gte r1 r1 r2\n cjmp r1 .LBL28_1\n mov r0 0\n jmp .LBL28_4\n.LBL28_4:\n add r9 r9 -20\n ret\nfield_memcmp_ule:\n.LBL29_0:\n add r9 r9 20\n mstore [r9,-2] r9\n mstore [r9,-8] r1\n mov r1 r2\n mstore [r9,-13] r1\n mov r1 r3\n mstore [r9,-10] r1\n mov r1 0\n mstore [r9,-7] r1\n jmp .LBL29_1\n.LBL29_1:\n mload r1 [r9,-7]\n mstore [r9,-12] r1\n mload r1 [r9,-10]\n mload r2 [r9,-12]\n gte r1 r1 r2\n mload r2 [r9,-10]\n mload r3 [r9,-12]\n neq r2 r3 r2\n and r1 r1 r2\n cjmp r1 .LBL29_2\n mov r0 1\n jmp .LBL29_4\n.LBL29_2:\n mload r1 [r9,-8]\n mload r2 [r9,-12]\n mload r1 [r1,r2]\n mload r2 [r9,-12]\n mload r3 [r9,-13]\n mload r2 [r3,r2]\n mstore [r9,-9] r2\n add r3 r9 -5\n add r2 r9 -6\n call split_field\n mload r1 [r9,-6]\n mstore [r9,-20] r1\n mload r1 [r9,-5]\n mstore [r9,-17] r1\n add r3 r9 -3\n add r2 r9 -4\n mload r1 [r9,-9]\n call split_field\n mload r1 [r9,-4]\n mload r2 [r9,-3]\n mload r3 [r9,-12]\n add r3 r3 1\n mstore [r9,-11] r3\n mload r3 [r9,-11]\n mstore [r9,-7] r3\n mload r3 [r9,-20]\n gte r1 r1 r3\n cjmp r1 .LBL29_3\n mov r0 0\n jmp .LBL29_4\n.LBL29_3:\n mload r1 [r9,-17]\n gte r1 r2 r1\n cjmp r1 .LBL29_1\n mov r0 0\n jmp .LBL29_4\n.LBL29_4:\n add r9 r9 -20\n ret\nfield_memcmp_ult:\n.LBL30_0:\n add r9 r9 20\n mstore [r9,-2] r9\n mstore [r9,-8] r1\n mov r1 r2\n mstore [r9,-13] r1\n mov r1 r3\n mstore [r9,-10] r1\n mov r1 0\n mstore [r9,-7] r1\n jmp .LBL30_1\n.LBL30_1:\n mload r1 [r9,-7]\n mstore [r9,-12] r1\n mload r1 [r9,-10]\n mload r2 [r9,-12]\n gte r1 r1 r2\n mload r2 [r9,-10]\n mload r3 [r9,-12]\n neq r2 r3 r2\n and r1 r1 r2\n cjmp r1 .LBL30_2\n mov r0 0\n jmp .LBL30_4\n.LBL30_2:\n mload r1 [r9,-8]\n mload r2 [r9,-12]\n mload r1 [r1,r2]\n mload r2 [r9,-12]\n mload r3 [r9,-13]\n mload r2 [r3,r2]\n mstore [r9,-9] r2\n add r3 r9 -5\n add r2 r9 -6\n call split_field\n mload r1 [r9,-6]\n mstore [r9,-20] r1\n mload r1 [r9,-5]\n mstore [r9,-17] r1\n add r3 r9 -3\n add r2 r9 -4\n mload r1 [r9,-9]\n call split_field\n mload r1 [r9,-4]\n mload r2 [r9,-3]\n mload r3 [r9,-12]\n add r3 r3 1\n mstore [r9,-11] r3\n mload r3 [r9,-11]\n mstore [r9,-7] r3\n mload r3 [r9,-20]\n gte r1 r3 r1\n cjmp r1 .LBL30_3\n mov r0 1\n jmp .LBL30_4\n.LBL30_3:\n mload r1 [r9,-17]\n gte r1 r1 r2\n cjmp r1 .LBL30_1\n mov r0 1\n jmp .LBL30_4\n.LBL30_4:\n add r9 r9 -20\n ret\nu32_div_mod:\n.LBL31_0:\n add r9 r9 5\n mstore [r9,-3] r1\n mov r1 r2\n mstore [r9,-4] r1\n mload r1 [r9,-4]\n mov r2 r1\n mload r1 [r9,-3]\n.PROPHET31_0:\n mov r0 psp\n mload r0 [r0]\n mov r1 r0\n mstore [r9,-5] r1\n mload r1 [r9,-5]\n range r1\n mload r1 [r9,-5]\n add r5 r1 1\n not r7 r5\n add r7 r7 1\n mload r1 [r9,-4]\n add r6 r1 r7\n range r6\n mload r1 [r9,-4]\n mov r2 r1\n mload r1 [r9,-3]\n.PROPHET31_1:\n mov r0 psp\n mload r0 [r0]\n mov r1 r0\n range r3\n mload r2 [r9,-4]\n mul r2 r1 r2\n mstore [r9,-1] r2\n mload r2 [r9,-1]\n mload r5 [r9,-5]\n add r2 r2 r5\n mstore [r9,-2] r2\n mload r2 [r9,-2]\n mload r5 [r9,-3]\n eq r2 r2 r5\n assert r2\n mstore [r3] r1\n mload r1 [r9,-5]\n mstore [r4] r1\n add r9 r9 -5\n ret\nu32_power:\n.LBL32_0:\n mov r0 1\n mov r3 0\n jmp .LBL32_1\n.LBL32_1:\n add r5 r3 1\n mul r4 r0 r1\n gte r3 r2 r5\n cjmp r3 .LBL32_1\n mov r0 r4\n mov r3 r5\n jmp .LBL32_2\n.LBL32_2:\n range r0\n ret\nsetNonce:\n.LBL33_0:\n add r9 r9 96\n mstore [r9,-2] r9\n mov r5 r1\n mov r6 r2\n mstore [r9,-4] r5\n mstore [r9,-3] r6\n mload r5 [r9,-4]\n mstore [r9,-5] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-9] r5\n mov r5 0\n mload r6 [r9,-9]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-9]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-9]\n mstore [r6,+2] r5\n mov r5 0\n mload r6 [r9,-9]\n mstore [r6,+3] r5\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-12] r5\n mov r3 4\n mload r2 [r9,-12]\n mload r1 [r9,-9]\n call memcpy\n mov r3 4\n mload r5 [r9,-12]\n add r2 r5 4\n mload r1 [r9,-5]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-25] r5\n mload r5 [r9,-12]\n poseidon r5 r5 8\n mstore [r9,-25] r5\n mload r5 [r9,-3]\n mstore [r9,-22] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-26] r5\n mov r5 0\n mload r6 [r9,-26]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-26]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-26]\n mstore [r6,+2] r5\n mload r5 [r9,-22]\n mload r6 [r9,-26]\n mstore [r6,+3] r5\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-30] r5\n mov r3 4\n mload r2 [r9,-30]\n mload r1 [r9,-25]\n call memcpy\n mov r3 4\n mload r5 [r9,-30]\n add r2 r5 4\n mload r1 [r9,-26]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-41] r5\n mload r5 [r9,-30]\n poseidon r5 r5 8\n mstore [r9,-41] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mload r6 [r9,-41]\n sload r6 r5\n mload r5 [r5,+3]\n mload r6 [r9,-41]\n mload r6 [r6,+3]\n add r6 r6 1\n mstore [r9,-6] r6\n mload r6 [r9,-6]\n mload r7 [r9,-41]\n mstore [r7,+3] r6\n eq r5 r5 0\n assert r5\n mload r5 [r9,-4]\n mstore [r9,-43] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-46] r5\n mov r5 0\n mload r6 [r9,-46]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-46]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-46]\n mstore [r6,+2] r5\n mov r5 0\n mload r6 [r9,-46]\n mstore [r6,+3] r5\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-48] r5\n mov r3 4\n mload r2 [r9,-48]\n mload r1 [r9,-46]\n call memcpy\n mov r3 4\n mload r5 [r9,-48]\n add r2 r5 4\n mload r1 [r9,-43]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-55] r5\n mload r5 [r9,-48]\n poseidon r5 r5 8\n mstore [r9,-55] r5\n mload r5 [r9,-3]\n mstore [r9,-57] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-58] r5\n mov r5 0\n mload r6 [r9,-58]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-58]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-58]\n mstore [r6,+2] r5\n mload r5 [r9,-57]\n mload r6 [r9,-58]\n mstore [r6,+3] r5\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-63] r5\n mov r3 4\n mload r2 [r9,-63]\n mload r1 [r9,-55]\n call memcpy\n mov r3 4\n mload r5 [r9,-63]\n add r2 r5 4\n mload r1 [r9,-58]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-68] r5\n mload r5 [r9,-63]\n poseidon r5 r5 8\n mstore [r9,-68] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mov r6 0\n mstore [r5] r6\n mov r6 0\n mstore [r5,+1] r6\n mov r6 0\n mstore [r5,+2] r6\n mov r6 1\n mstore [r5,+3] r6\n mload r6 [r9,-68]\n sstore r6 r5\n mload r5 [r9,-4]\n mstore [r9,-70] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-73] r5\n mov r5 0\n mload r6 [r9,-73]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-73]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-73]\n mstore [r6,+2] r5\n mov r5 0\n mload r6 [r9,-73]\n mstore [r6,+3] r5\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-75] r5\n mov r3 4\n mload r2 [r9,-75]\n mload r1 [r9,-73]\n call memcpy\n mov r3 4\n mload r5 [r9,-75]\n add r2 r5 4\n mload r1 [r9,-70]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-82] r5\n mload r5 [r9,-75]\n poseidon r5 r5 8\n mstore [r9,-82] r5\n mload r5 [r9,-3]\n mstore [r9,-83] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-86] r5\n mov r5 0\n mload r6 [r9,-86]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-86]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-86]\n mstore [r6,+2] r5\n mload r5 [r9,-83]\n mload r6 [r9,-86]\n mstore [r6,+3] r5\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-88] r5\n mov r3 4\n mload r2 [r9,-88]\n mload r1 [r9,-82]\n call memcpy\n mov r3 4\n mload r5 [r9,-88]\n add r2 r5 4\n mload r1 [r9,-86]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-96] r5\n mload r5 [r9,-88]\n poseidon r5 r5 8\n mstore [r9,-96] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mload r6 [r9,-96]\n sload r6 r5\n mload r5 [r5,+3]\n mload r6 [r9,-96]\n mload r6 [r6,+3]\n add r6 r6 1\n mstore [r9,-7] r6\n mload r6 [r9,-7]\n mload r7 [r9,-96]\n mstore [r7,+3] r6\n assert r5\n add r9 r9 -96\n ret\nvote_for:\n.LBL34_0:\n add r9 r9 56\n mstore [r9,-2] r9\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-4] r5\n mov r5 0\n mload r6 [r9,-4]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-4]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-4]\n mstore [r6,+2] r5\n mov r5 1\n mload r6 [r9,-4]\n mstore [r6,+3] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-8] r5\n mov r5 0\n mload r6 [r9,-8]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-8]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-8]\n mstore [r6,+2] r5\n mov r5 10\n mload r6 [r9,-8]\n mstore [r6,+3] r5\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-9] r5\n mov r3 4\n mload r2 [r9,-9]\n mload r1 [r9,-4]\n call memcpy\n mov r3 4\n mload r5 [r9,-9]\n add r2 r5 4\n mload r1 [r9,-8]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-17] r5\n mload r5 [r9,-9]\n poseidon r5 r5 8\n mstore [r9,-17] r5\n mov r1 12\n call heap_malloc\n mov r5 r0\n mstore [r9,-20] r5\n mov r5 1\n mload r6 [r9,-20]\n tload r6 r5 12\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-22] r5\n mov r3 4\n mload r2 [r9,-22]\n mload r1 [r9,-17]\n call memcpy\n mov r3 4\n mload r5 [r9,-22]\n add r2 r5 4\n mload r1 [r9,-20]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-29] r5\n mload r5 [r9,-22]\n poseidon r5 r5 8\n mstore [r9,-29] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mov r6 0\n mstore [r5] r6\n mov r6 0\n mstore [r5,+1] r6\n mov r6 0\n mstore [r5,+2] r6\n mov r6 99\n mstore [r5,+3] r6\n mload r6 [r9,-29]\n sstore r6 r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-32] r5\n mov r5 0\n mload r6 [r9,-32]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-32]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-32]\n mstore [r6,+2] r5\n mov r5 1\n mload r6 [r9,-32]\n mstore [r6,+3] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-34] r5\n mov r5 0\n mload r6 [r9,-34]\n mstore [r6] r5\n mov r5 0\n mload r6 [r9,-34]\n mstore [r6,+1] r5\n mov r5 0\n mload r6 [r9,-34]\n mstore [r6,+2] r5\n mov r5 10\n mload r6 [r9,-34]\n mstore [r6,+3] r5\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-36] r5\n mov r3 4\n mload r2 [r9,-36]\n mload r1 [r9,-32]\n call memcpy\n mov r3 4\n mload r5 [r9,-36]\n add r2 r5 4\n mload r1 [r9,-34]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-44] r5\n mload r5 [r9,-36]\n poseidon r5 r5 8\n mstore [r9,-44] r5\n mov r1 12\n call heap_malloc\n mov r5 r0\n mstore [r9,-47] r5\n mov r5 1\n mload r6 [r9,-47]\n tload r6 r5 12\n mov r1 8\n call heap_malloc\n mov r5 r0\n mstore [r9,-49] r5\n mov r3 4\n mload r2 [r9,-49]\n mload r1 [r9,-44]\n call memcpy\n mov r3 4\n mload r5 [r9,-49]\n add r2 r5 4\n mload r1 [r9,-47]\n call memcpy\n mov r1 4\n call heap_malloc\n mov r5 r0\n mstore [r9,-56] r5\n mload r5 [r9,-49]\n poseidon r5 r5 8\n mstore [r9,-56] r5\n mov r1 4\n call heap_malloc\n mov r5 r0\n mload r6 [r9,-56]\n sload r6 r5\n mload r1 [r5,+3]\n mload r5 [r9,-56]\n mload r5 [r5,+3]\n add r5 r5 1\n mstore [r9,-3] r5\n mload r5 [r9,-3]\n mload r6 [r9,-56]\n mstore [r6,+3] r5\n mov r2 3\n.PROPHET34_0:\n add r9 r9 -56\n ret\nfunction_dispatch:\n.LBL35_0:\n add r9 r9 2\n mstore [r9,-2] r9\n mov r2 r3\n eq r8 r1 1093482716\n cjmp r8 .LBL35_2\n eq r8 r1 1303130570\n cjmp r8 .LBL35_3\n jmp .LBL35_1\n.LBL35_1:\n ret\n.LBL35_2:\n add r1 r2 0\n mload r2 [r1,+4]\n call setNonce\n mov r1 1\n call heap_malloc\n mov r1 r0\n mov r2 0\n mstore [r1] r2\n tstore r1 1\n add r9 r9 -2\n ret\n.LBL35_3:\n call vote_for\n mov r1 1\n call heap_malloc\n mov r1 r0\n mov r2 0\n mstore [r1] r2\n tstore r1 1\n add r9 r9 -2\n ret\nmain:\n.LBL36_0:\n add r9 r9 8\n mstore [r9,-2] r9\n mov r1 13\n call heap_malloc\n mov r5 r0\n mov r6 1\n tload r5 r6 13\n mload r5 [r5]\n mstore [r9,-4] r5\n mov r1 14\n call heap_malloc\n mov r5 r0\n mov r6 1\n tload r5 r6 14\n mload r5 [r5]\n mstore [r9,-6] r5\n mload r5 [r9,-6]\n add r5 r5 14\n mstore [r9,-3] r5\n mload r1 [r9,-3]\n call heap_malloc\n mov r3 r0\n mov r5 1\n mload r6 [r9,-3]\n tload r3 r5 r6\n mload r2 [r9,-6]\n mload r1 [r9,-4]\n call function_dispatch\n add r9 r9 -8\n end\n", "prophets": [ { "label": ".PROPHET19_0", "code": "%{\n function split_hi(felt in) -> felt {\n return in / 4294967296;\n }\n entry() {\n cid.out = split_hi(cid.in);\n }\n%}", "inputs": [ { "name": "cid.in", "length": 1, "is_ref": false, "is_input_output": false } ], "outputs": [ { "name": "cid.out", "length": 1, "is_ref": false, "is_input_output": false } ] }, { "label": ".PROPHET19_1", "code": "%{\n function split_lo(felt in) -> felt {\n return in % 4294967296;\n }\n entry() {\n cid.out = split_lo(cid.in);\n }\n%}", "inputs": [ { "name": "cid.in", "length": 1, "is_ref": false, "is_input_output": false } ], "outputs": [ { "name": "cid.out", "length": 1, "is_ref": false, "is_input_output": false } ] }, { "label": ".PROPHET31_0", "code": "%{\n function mod(felt x, felt y) -> felt {\n return x % y;\n }\n entry() {\n cid.r = mod(cid.x, cid.y);\n }\n%}", "inputs": [ { "name": "cid.x", "length": 1, "is_ref": false, "is_input_output": false }, { "name": "cid.y", "length": 1, "is_ref": false, "is_input_output": false } ], "outputs": [ { "name": "cid.r", "length": 1, "is_ref": false, "is_input_output": false } ] }, { "label": ".PROPHET31_1", "code": "%{\n function div(felt x, felt y) -> felt {\n return x / y;\n }\n entry() {\n cid.q = div(cid.x, cid.y);\n }\n%}", "inputs": [ { "name": "cid.x", "length": 1, "is_ref": false, "is_input_output": false }, { "name": "cid.y", "length": 1, "is_ref": false, "is_input_output": false } ], "outputs": [ { "name": "cid.q", "length": 1, "is_ref": false, "is_input_output": false } ] }, { "label": ".PROPHET34_0", "code": "%{\n entry() {\n printf(cid.base, cid.flag);\n }\n%}", "inputs": [ { "name": "cid.base", "length": 1, "is_ref": false, "is_input_output": false }, { "name": "cid.flag", "length": 1, "is_ref": false, "is_input_output": false } ], "outputs": [] } ] }