

/*
 * DO NOT EDIT THIS FILE.
 *
 * It is generated by pel_gen.py
 *
 */
mnemonic arity	description
drop	1	Discard the top of stack,
swap	2	Swap top two stack values,
dup	1	Duplicate the top stack value,
	0	Push a constant,
	0	Push a field of the tuple,
pop	1	Pop a value into the result tuple,
popall	1	Pop remaining stack to result tuple,
peek	1	Push a duplicate of a stack element,
ifelse	3	If first arg, then return second, else third,
ifpop	2	If first arg, then pop second, else nothing,
ifpoptuple	1	If first arg, then pop entire tuple, else nothing,
ifstop	1	If first arg, then stop execution,
dumpStack	1	Dump the contents of the stack prefixed by the string arg,
sha1	1	Replace the top of the stack with its SHA-1 value,
dummy	1	Fill data with dummy string,
->t	1	Create a tuple out of the argument,
append	2	Append first argument to second tuple,
unbox	1	Replaces a tuple value with its fields top to bottom,
unboxPop	1	Pops the fields of the argument tuple value in order,
field	2	Extracts a field of a tuple value,
swallow	0	Swallows the entire input tuple into a single tuple value in the stack,
mac	3	Calculate MAC based on the three parameters,
auth	3	Calculate Authenticator cost based on three parameters,
digest	2	Calculate digest-bound time based on the input parameters, currently upper bounded by 10,
digestraw	1	Calculate the time taken to calculate digest of bytes specified in the parameter,
network	2	Calculate network-bound time based on the input parameters, currently upper-bounded by 10,
networkraw	1	Calculate the time taken to calculate network cost of bytes specified in the parameter,
getOrderOfCandidate	3	Q/U specific: finds order of a candidate in OHS,
getLTInCandidate	1	Q/U specific: finds LT in the candidate,
getLTInOHS	2	Q/U specific: finds LT in OHS,
getCandidateInOHS	3	Q/U specific: finds Candidate in OHS,
getLatestTimeInRH	1	Q/U specific: find latest time in RH,
getOID	1	Q/U specific: find OID in the LT,
getOHSInRH	1	Q/U specific: find OHS in RH,
getTimeInLT	1	Q/U specific: find Time in LT,
getOpInLT	1	Q/U specific: find Op in LT,
updateOHSWithRH	3	Q/U specific: update RH for a given replica in OHS,
trimRH	2	Q/U specific: trims RH for a given LT_CO,
greaterThanLT	2	Q/U specific comparision of LTs,
uniformProb	0	Returns probability with uniform distribution,
existInSet	2	Checks if a hash exists in a set of hashes, used by PBFT,
typeOf	1	Get the type name of a value,
totalComp	2	Compare two value in the total order of the type system,
lappend	2	Insert first element into second list, or create liust if second list is null,
concat	2	Insert all elements of first list into second list,
member	2	Push 1 if first arg is in second list, 0 otherwise,
intersect	2	Intersects first list with second, using Lisp intersection rules,
msintersect	2	Intersects first list with second, using multiset intersection rules,
initvec	1	Create a vector with size of the argument,
getvectoroffset	2	Extracts a value from an vector offset,
setvectoroffset	3	Insert first item into the offset specified in second item of vector in 3rd item,
vectorcompare	2	Compare 2 vectors,
initmat	2	Create a matrix of arg1 by arg2,
getmatrixoffset	3	Extracts a value from a matrix,
setmatrixoffset	4	Insert first item into the offsets specified in second and 3rd items of matrix in 4th item,
matrixcompare	3	Compare 2 matrices,
not	1	Boolean negation,
and	2	Boolean AND,
or	2	Boolean inclusive-OR,
rand	0	A random Int32,
coin	1	A coin flip biased to 1 with probability given as the argument,
initlist	2	Initialize a list with 2 arguments,
conslist	2	Add two lists together. If one argument is not a list, convert to list,
inlist	2	Check if second argument contained in first,
removeLast	1	Remove last item in list,
last	1	Get last item in list,
size	1	numbers of items in list,
>>	2	Arithmetic shift right,
<<	2	Arithmetic shift left,
&	2	Bitwise AND,
|	2	Bitwise inclusive-OR,
^	2	Bitwise exclusive-OR,
~	1	1's complement,
%	2	Integer modulus,
<time	2	Time less-than comparison,
<=time	2	Time less-than-or-eq comparison,
>time	2	Time greater-than comparison,
>=time	2	Time greater-than-or-eq comparison,
==time	2	Time compare equality,
-time	2	Time subtraction,
now	0	The current time token,
<time_duration	2	Time_Duration less-than comparison,
<=time_duration	2	Time_Duration less-than-or-eq comparison,
>time_duration	2	Time_Duration greater-than comparison,
>=time_duration	2	Time_Duration greater-than-or-eq comparison,
==time_duration	2	Time_Duration compare equality,
+time_duration	2	Time_Duration addition,
-time_duration	2	Time_Duration subtraction,
--	1	decrement by one,
++	1	increment by one,
()	3	Interval open-open containment,
(]	3	Interval open-closed containment,
[)	3	Interval closed-open containment,
[]	3	Interval closed-closed containment,
strcat	2	String concatenation,
strlen	1	String length,
upper	1	Convert string to upper case,
lower	1	Convert string to lower case,
substr	3	Extract substring,
match	2	Perl regular expression matching,
tostr	1	Convert to a string (not ->s),
neg	1	negation for polymorphic types.,
+	2	addition for polymorphic types.,
-	2	subtraction for polymorphic types.,
*	2	multiplication for polymorphic types.,
/	2	division for polymorphic types.,
==	2	Compare equality for polymorphic types.,
<	2	less-than comparison for polymorphic types.,
<=	2	less-than-or-eq comparison for polymorphic types.,
>	2	greater-than comparison for polymorphic types.,
>=	2	greater-than-or-eq comparison for polymorphic types.,
abs	1	Absolute value,
floor	1	Next lowest integer,
ceil	1	Next highest integer,
exp	1	Natural exponentiation,
ln	1	Natural logarithm,
drand48	0	Generate a random number,
->i32	1	Convert to type i32,
->u32	1	Convert to type u32,
->i64	1	Convert to type i64,
->u64	1	Convert to type u64,
->dbl	1	Convert to type dbl,
->str	1	Convert to type str,
->time	1	Convert to type time,
->time_duration	1	Convert to type time_duration,
->id	1	Convert to type id
