%%%------------------------------------------------------------------- %%% @copyright (C) 2019, Aeternity Anstalt %%% %%% === === N O T E : This file is generated do not edit. === === %%% %%% Source is in aeb_fate_generate_ops.erl %%% @doc %%% Provide pretty printing functuions for Fate instructions. %%% @end %%%------------------------------------------------------------------- -module(aeb_fate_pp). -export([format_op/2]). format_arg(li, {immediate, LI}) -> aeb_fate_data:format(LI); format_arg(_, {immediate, I}) -> aeb_fate_data:format(I); format_arg(a, {arg, N}) -> io_lib:format("arg~p", [N]); format_arg(a, {var, N}) when N < 0 -> io_lib:format("store~p", [-N]); format_arg(a, {var, N}) -> io_lib:format("var~p", [N]); format_arg(a, {stack, 0}) -> "a". lookup(Name, Symbols) -> maps:get(Name, Symbols, io_lib:format("~p",[Name])). format_op('RETURN', _) -> ["RETURN"]; format_op({'RETURNR', Arg0}, _) -> ["RETURNR ", format_arg(a, Arg0)]; format_op({'CALL', Arg0}, _) -> ["CALL ", format_arg(a, Arg0)]; format_op({'CALL_R', {immediate, Contract}, {immediate, Function}, ArgType, RetType, Value}, Symbols) -> ["CALL_R ", lookup(Contract, Symbols), ".", lookup(Function, Symbols), " ", format_arg(a, ArgType), " ", format_arg(a, RetType), " ", format_arg(a, Value)]; format_op({'CALL_R', Contract, {immediate, Function}, ArgType, RetType, Value}, Symbols) -> ["CALL_R ", format_arg(a, Contract), ".", lookup(Function, Symbols), " ", format_arg(a, ArgType), " ", format_arg(a, RetType), " ", format_arg(a, Value)]; format_op({'CALL_T', Arg0}, _) -> ["CALL_T ", format_arg(a, Arg0)]; format_op({'CALL_GR', {immediate, Contract}, {immediate, Function}, ArgType, RetType, Value, Gas}, Symbols) -> ["CALL_GR ", lookup(Contract, Symbols), ".", lookup(Function, Symbols), " ", format_arg(a, ArgType), " ", format_arg(a, RetType), " ", format_arg(a, Value), " ", format_arg(a, Gas)]; format_op({'CALL_GR', Contract, {immediate, Function}, ArgType, RetType, Value, Gas}, Symbols) -> ["CALL_GR ", format_arg(a, Contract), ".", lookup(Function, Symbols), " ", format_arg(a, ArgType), " ", format_arg(a, RetType), " ", format_arg(a, Value), " ", format_arg(a, Gas)]; format_op({'JUMP', Arg0}, _) -> ["JUMP ", format_arg(ii, Arg0)]; format_op({'JUMPIF', Arg0, Arg1}, _) -> ["JUMPIF ", format_arg(a, Arg0), " ", format_arg(ii, Arg1)]; format_op({'SWITCH_V2', Arg0, Arg1, Arg2}, _) -> ["SWITCH_V2 ", format_arg(a, Arg0), " ", format_arg(ii, Arg1)," ", format_arg(ii, Arg2)]; format_op({'SWITCH_V3', Arg0, Arg1, Arg2, Arg3}, _) -> ["SWITCH_V3 ", format_arg(a, Arg0), " ", format_arg(ii, Arg1)," ", format_arg(ii, Arg2)," ", format_arg(ii, Arg3)]; format_op({'SWITCH_VN', Arg0, Arg1}, _) -> ["SWITCH_VN ", format_arg(a, Arg0), " ", format_arg(li, Arg1)]; format_op({'CALL_VALUE', Arg0}, _) -> ["CALL_VALUE ", format_arg(a, Arg0)]; format_op({'PUSH', Arg0}, _) -> ["PUSH ", format_arg(a, Arg0)]; format_op('DUPA', _) -> ["DUPA"]; format_op({'DUP', Arg0}, _) -> ["DUP ", format_arg(a, Arg0)]; format_op({'POP', Arg0}, _) -> ["POP ", format_arg(a, Arg0)]; format_op('INCA', _) -> ["INCA"]; format_op({'INC', Arg0}, _) -> ["INC ", format_arg(a, Arg0)]; format_op('DECA', _) -> ["DECA"]; format_op({'DEC', Arg0}, _) -> ["DEC ", format_arg(a, Arg0)]; format_op({'ADD', Arg0, Arg1, Arg2}, _) -> ["ADD ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'SUB', Arg0, Arg1, Arg2}, _) -> ["SUB ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'MUL', Arg0, Arg1, Arg2}, _) -> ["MUL ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'DIV', Arg0, Arg1, Arg2}, _) -> ["DIV ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'MOD', Arg0, Arg1, Arg2}, _) -> ["MOD ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'POW', Arg0, Arg1, Arg2}, _) -> ["POW ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'STORE', Arg0, Arg1}, _) -> ["STORE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'SHA3', Arg0, Arg1}, _) -> ["SHA3 ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'SHA256', Arg0, Arg1}, _) -> ["SHA256 ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'BLAKE2B', Arg0, Arg1}, _) -> ["BLAKE2B ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'LT', Arg0, Arg1, Arg2}, _) -> ["LT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'GT', Arg0, Arg1, Arg2}, _) -> ["GT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'EQ', Arg0, Arg1, Arg2}, _) -> ["EQ ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'ELT', Arg0, Arg1, Arg2}, _) -> ["ELT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'EGT', Arg0, Arg1, Arg2}, _) -> ["EGT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'NEQ', Arg0, Arg1, Arg2}, _) -> ["NEQ ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'AND', Arg0, Arg1, Arg2}, _) -> ["AND ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'OR', Arg0, Arg1, Arg2}, _) -> ["OR ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'NOT', Arg0, Arg1}, _) -> ["NOT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'TUPLE', Arg0, Arg1}, _) -> ["TUPLE ", format_arg(a, Arg0), " ", format_arg(ii, Arg1)]; format_op({'ELEMENT', Arg0, Arg1, Arg2}, _) -> ["ELEMENT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'SETELEMENT', Arg0, Arg1, Arg2, Arg3}, _) -> ["SETELEMENT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'MAP_EMPTY', Arg0}, _) -> ["MAP_EMPTY ", format_arg(a, Arg0)]; format_op({'MAP_LOOKUP', Arg0, Arg1, Arg2}, _) -> ["MAP_LOOKUP ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'MAP_LOOKUPD', Arg0, Arg1, Arg2, Arg3}, _) -> ["MAP_LOOKUPD ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'MAP_UPDATE', Arg0, Arg1, Arg2, Arg3}, _) -> ["MAP_UPDATE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'MAP_DELETE', Arg0, Arg1, Arg2}, _) -> ["MAP_DELETE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'MAP_MEMBER', Arg0, Arg1, Arg2}, _) -> ["MAP_MEMBER ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'MAP_FROM_LIST', Arg0, Arg1}, _) -> ["MAP_FROM_LIST ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'MAP_SIZE', Arg0, Arg1}, _) -> ["MAP_SIZE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'MAP_TO_LIST', Arg0, Arg1}, _) -> ["MAP_TO_LIST ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'IS_NIL', Arg0, Arg1}, _) -> ["IS_NIL ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'CONS', Arg0, Arg1, Arg2}, _) -> ["CONS ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'HD', Arg0, Arg1}, _) -> ["HD ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'TL', Arg0, Arg1}, _) -> ["TL ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'LENGTH', Arg0, Arg1}, _) -> ["LENGTH ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'NIL', Arg0}, _) -> ["NIL ", format_arg(a, Arg0)]; format_op({'APPEND', Arg0, Arg1, Arg2}, _) -> ["APPEND ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'STR_JOIN', Arg0, Arg1, Arg2}, _) -> ["STR_JOIN ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'INT_TO_STR', Arg0, Arg1}, _) -> ["INT_TO_STR ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'ADDR_TO_STR', Arg0, Arg1}, _) -> ["ADDR_TO_STR ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'STR_REVERSE', Arg0, Arg1}, _) -> ["STR_REVERSE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'STR_LENGTH', Arg0, Arg1}, _) -> ["STR_LENGTH ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'BYTES_TO_INT', Arg0, Arg1}, _) -> ["BYTES_TO_INT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'BYTES_TO_STR', Arg0, Arg1}, _) -> ["BYTES_TO_STR ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'BYTES_CONCAT', Arg0, Arg1, Arg2}, _) -> ["BYTES_CONCAT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'BYTES_SPLIT', Arg0, Arg1, Arg2}, _) -> ["BYTES_SPLIT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'INT_TO_ADDR', Arg0, Arg1}, _) -> ["INT_TO_ADDR ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'VARIANT', Arg0, Arg1, Arg2, Arg3}, _) -> ["VARIANT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'VARIANT_TEST', Arg0, Arg1, Arg2}, _) -> ["VARIANT_TEST ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'VARIANT_ELEMENT', Arg0, Arg1, Arg2}, _) -> ["VARIANT_ELEMENT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op('BITS_NONEA', _) -> ["BITS_NONEA"]; format_op({'BITS_NONE', Arg0}, _) -> ["BITS_NONE ", format_arg(a, Arg0)]; format_op('BITS_ALLA', _) -> ["BITS_ALLA"]; format_op({'BITS_ALL', Arg0}, _) -> ["BITS_ALL ", format_arg(a, Arg0)]; format_op({'BITS_ALL_N', Arg0, Arg1}, _) -> ["BITS_ALL_N ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'BITS_SET', Arg0, Arg1, Arg2}, _) -> ["BITS_SET ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'BITS_CLEAR', Arg0, Arg1, Arg2}, _) -> ["BITS_CLEAR ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'BITS_TEST', Arg0, Arg1, Arg2}, _) -> ["BITS_TEST ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'BITS_SUM', Arg0, Arg1}, _) -> ["BITS_SUM ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'BITS_OR', Arg0, Arg1, Arg2}, _) -> ["BITS_OR ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'BITS_AND', Arg0, Arg1, Arg2}, _) -> ["BITS_AND ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'BITS_DIFF', Arg0, Arg1, Arg2}, _) -> ["BITS_DIFF ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'BALANCE', Arg0}, _) -> ["BALANCE ", format_arg(a, Arg0)]; format_op({'ORIGIN', Arg0}, _) -> ["ORIGIN ", format_arg(a, Arg0)]; format_op({'CALLER', Arg0}, _) -> ["CALLER ", format_arg(a, Arg0)]; format_op({'BLOCKHASH', Arg0, Arg1}, _) -> ["BLOCKHASH ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'BENEFICIARY', Arg0}, _) -> ["BENEFICIARY ", format_arg(a, Arg0)]; format_op({'TIMESTAMP', Arg0}, _) -> ["TIMESTAMP ", format_arg(a, Arg0)]; format_op({'GENERATION', Arg0}, _) -> ["GENERATION ", format_arg(a, Arg0)]; format_op({'MICROBLOCK', Arg0}, _) -> ["MICROBLOCK ", format_arg(a, Arg0)]; format_op({'DIFFICULTY', Arg0}, _) -> ["DIFFICULTY ", format_arg(a, Arg0)]; format_op({'GASLIMIT', Arg0}, _) -> ["GASLIMIT ", format_arg(a, Arg0)]; format_op({'GAS', Arg0}, _) -> ["GAS ", format_arg(a, Arg0)]; format_op({'ADDRESS', Arg0}, _) -> ["ADDRESS ", format_arg(a, Arg0)]; format_op({'GASPRICE', Arg0}, _) -> ["GASPRICE ", format_arg(a, Arg0)]; format_op({'LOG0', Arg0}, _) -> ["LOG0 ", format_arg(a, Arg0)]; format_op({'LOG1', Arg0, Arg1}, _) -> ["LOG1 ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'LOG2', Arg0, Arg1, Arg2}, _) -> ["LOG2 ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'LOG3', Arg0, Arg1, Arg2, Arg3}, _) -> ["LOG3 ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'LOG4', Arg0, Arg1, Arg2, Arg3, Arg4}, _) -> ["LOG4 ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)," ", format_arg(a, Arg4)]; format_op({'SPEND', Arg0, Arg1}, _) -> ["SPEND ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'ORACLE_REGISTER', Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6}, _) -> ["ORACLE_REGISTER ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)," ", format_arg(a, Arg4)," ", format_arg(a, Arg5)," ", format_arg(a, Arg6)]; format_op({'ORACLE_QUERY', Arg0, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7}, _) -> ["ORACLE_QUERY ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)," ", format_arg(a, Arg4)," ", format_arg(a, Arg5)," ", format_arg(a, Arg6)," ", format_arg(a, Arg7)]; format_op({'ORACLE_RESPOND', Arg0, Arg1, Arg2, Arg3, Arg4, Arg5}, _) -> ["ORACLE_RESPOND ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)," ", format_arg(a, Arg4)," ", format_arg(a, Arg5)]; format_op({'ORACLE_EXTEND', Arg0, Arg1, Arg2}, _) -> ["ORACLE_EXTEND ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'ORACLE_GET_ANSWER', Arg0, Arg1, Arg2, Arg3, Arg4}, _) -> ["ORACLE_GET_ANSWER ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)," ", format_arg(a, Arg4)]; format_op({'ORACLE_GET_QUESTION', Arg0, Arg1, Arg2, Arg3, Arg4}, _) -> ["ORACLE_GET_QUESTION ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)," ", format_arg(a, Arg4)]; format_op({'ORACLE_QUERY_FEE', Arg0, Arg1}, _) -> ["ORACLE_QUERY_FEE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'AENS_RESOLVE', Arg0, Arg1, Arg2, Arg3}, _) -> ["AENS_RESOLVE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'AENS_PRECLAIM', Arg0, Arg1, Arg2}, _) -> ["AENS_PRECLAIM ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'AENS_CLAIM', Arg0, Arg1, Arg2, Arg3, Arg4}, _) -> ["AENS_CLAIM ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)," ", format_arg(a, Arg4)]; format_op('AENS_UPDATE', _) -> ["AENS_UPDATE"]; format_op({'AENS_TRANSFER', Arg0, Arg1, Arg2, Arg3}, _) -> ["AENS_TRANSFER ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'AENS_REVOKE', Arg0, Arg1, Arg2}, _) -> ["AENS_REVOKE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op({'BALANCE_OTHER', Arg0, Arg1}, _) -> ["BALANCE_OTHER ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'VERIFY_SIG', Arg0, Arg1, Arg2, Arg3}, _) -> ["VERIFY_SIG ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'VERIFY_SIG_SECP256K1', Arg0, Arg1, Arg2, Arg3}, _) -> ["VERIFY_SIG_SECP256K1 ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'CONTRACT_TO_ADDRESS', Arg0, Arg1}, _) -> ["CONTRACT_TO_ADDRESS ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'AUTH_TX_HASH', Arg0}, _) -> ["AUTH_TX_HASH ", format_arg(a, Arg0)]; format_op({'ORACLE_CHECK', Arg0, Arg1, Arg2, Arg3}, _) -> ["ORACLE_CHECK ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'ORACLE_CHECK_QUERY', Arg0, Arg1, Arg2, Arg3, Arg4}, _) -> ["ORACLE_CHECK_QUERY ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)," ", format_arg(a, Arg4)]; format_op({'IS_ORACLE', Arg0, Arg1}, _) -> ["IS_ORACLE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'IS_CONTRACT', Arg0, Arg1}, _) -> ["IS_CONTRACT ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'IS_PAYABLE', Arg0, Arg1}, _) -> ["IS_PAYABLE ", format_arg(a, Arg0), " ", format_arg(a, Arg1)]; format_op({'CREATOR', Arg0}, _) -> ["CREATOR ", format_arg(a, Arg0)]; format_op({'ECVERIFY_SECP256K1', Arg0, Arg1, Arg2, Arg3}, _) -> ["ECVERIFY_SECP256K1 ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)," ", format_arg(a, Arg3)]; format_op({'ECRECOVER_SECP256K1', Arg0, Arg1, Arg2}, _) -> ["ECRECOVER_SECP256K1 ", format_arg(a, Arg0), " ", format_arg(a, Arg1)," ", format_arg(a, Arg2)]; format_op('DEACTIVATE', _) -> ["DEACTIVATE"]; format_op({'ABORT', Arg0}, _) -> ["ABORT ", format_arg(a, Arg0)]; format_op({'EXIT', Arg0}, _) -> ["EXIT ", format_arg(a, Arg0)]; format_op('NOP', _) -> ["NOP"]; format_op(Op, _Symbols) -> io_lib:format(";; Bad Op: ~w\n", [Op]).