Skip to content

Instantly share code, notes, and snippets.

@cf
Last active February 10, 2024 00:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save cf/044c05895777afca5a961b63b9a461b3 to your computer and use it in GitHub Desktop.
Save cf/044c05895777afca5a961b63b9a461b3 to your computer and use it in GitHub Desktop.
OP_MOD for Bitcoin Mainnet
/*
compute x % y given: q_lo = floor(x/y)&0x7fff, q_hi = floor(x/y)>>15, x_lo = x&0x7fff, x_hi = x>>15, y_lo = y&0x7ff, y_hi = y>>15
<q_hi>
<q_lo>
<x_hi>
<x_lo>
<y_hi>
<y_lo>
*/
// example x = 719261317 = ((21950<<15) | 3717), y = 11183463 = ((341<<15) | 9575), q = floor(719261317/11183463) = 64 = ((0<<15)|(64))
// expected answer = (3519685 = (107<<15) | (13509))
<0>
<64>
<21950>
<3717>
<341>
<9575>
OP_2OVER
OP_2OVER
OP_2SWAP
OP_ROT
OP_2DUP
OP_NUMEQUAL
OP_IF
OP_2DROP
OP_GREATERTHANOREQUAL
OP_ELSE
OP_GREATERTHAN
OP_IF
OP_2DROP
OP_1
OP_ELSE
OP_2DROP
OP_0
OP_ENDIF
OP_ENDIF
OP_IF
OP_2OVER
OP_ROT
OP_NUMEQUAL
OP_ROT
OP_ROT
OP_NUMEQUAL
OP_BOOLAND
OP_IF
OP_2DROP
OP_2DROP
OP_0
OP_0
OP_ELSE
OP_TOALTSTACK
OP_TOALTSTACK
OP_2DROP
OP_2DROP
OP_FROMALTSTACK
OP_FROMALTSTACK
OP_ENDIF
OP_ELSE
OP_ROT
OP_TOALTSTACK
OP_ROT
OP_TOALTSTACK
OP_DUP
<3>
OP_PICK
OP_2DUP
OP_DUP
<16384>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<16384>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<8192>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<8192>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<4096>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<4096>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<2048>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<2048>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<1024>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<1024>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<512>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<512>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<256>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<256>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<128>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<128>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<64>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<64>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<32>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<32>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<16>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<16>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<8>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<8>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<4>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<4>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<2>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<2>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
<15>
OP_ROLL
OP_SWAP
OP_IF
OP_DUP
OP_ELSE
OP_0
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_NIP
OP_0
OP_TOALTSTACK
OP_DUP
<536870912>
OP_GREATERTHANOREQUAL
OP_IF
<16384>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<536870912>
OP_SUB
OP_ENDIF
OP_DUP
<268435456>
OP_GREATERTHANOREQUAL
OP_IF
<8192>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<268435456>
OP_SUB
OP_ENDIF
OP_DUP
<134217728>
OP_GREATERTHANOREQUAL
OP_IF
<4096>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<134217728>
OP_SUB
OP_ENDIF
OP_DUP
<67108864>
OP_GREATERTHANOREQUAL
OP_IF
<2048>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<67108864>
OP_SUB
OP_ENDIF
OP_DUP
<33554432>
OP_GREATERTHANOREQUAL
OP_IF
<1024>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<33554432>
OP_SUB
OP_ENDIF
OP_DUP
<16777216>
OP_GREATERTHANOREQUAL
OP_IF
<512>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<16777216>
OP_SUB
OP_ENDIF
OP_DUP
<8388608>
OP_GREATERTHANOREQUAL
OP_IF
<256>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<8388608>
OP_SUB
OP_ENDIF
OP_DUP
<4194304>
OP_GREATERTHANOREQUAL
OP_IF
<128>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<4194304>
OP_SUB
OP_ENDIF
OP_DUP
<2097152>
OP_GREATERTHANOREQUAL
OP_IF
<64>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<2097152>
OP_SUB
OP_ENDIF
OP_DUP
<1048576>
OP_GREATERTHANOREQUAL
OP_IF
<32>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<1048576>
OP_SUB
OP_ENDIF
OP_DUP
<524288>
OP_GREATERTHANOREQUAL
OP_IF
<16>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<524288>
OP_SUB
OP_ENDIF
OP_DUP
<262144>
OP_GREATERTHANOREQUAL
OP_IF
<8>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<262144>
OP_SUB
OP_ENDIF
OP_DUP
<131072>
OP_GREATERTHANOREQUAL
OP_IF
<4>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<131072>
OP_SUB
OP_ENDIF
OP_DUP
<65536>
OP_GREATERTHANOREQUAL
OP_IF
<2>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<65536>
OP_SUB
OP_ENDIF
OP_DUP
<32768>
OP_GREATERTHANOREQUAL
OP_IF
<1>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<32768>
OP_SUB
OP_ENDIF
OP_FROMALTSTACK
OP_SWAP
OP_TOALTSTACK
OP_TOALTSTACK
<3>
OP_PICK
OP_DUP
<16384>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<16384>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<8192>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<8192>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<4096>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<4096>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<2048>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<2048>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<1024>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<1024>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<512>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<512>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<256>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<256>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<128>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<128>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<64>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<64>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<32>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<32>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<16>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<16>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<8>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<8>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<4>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<4>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<2>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<2>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
<15>
OP_ROLL
OP_SWAP
OP_IF
OP_DUP
OP_ELSE
OP_0
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_NIP
OP_0
OP_TOALTSTACK
OP_DUP
<536870912>
OP_GREATERTHANOREQUAL
OP_IF
<16384>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<536870912>
OP_SUB
OP_ENDIF
OP_DUP
<268435456>
OP_GREATERTHANOREQUAL
OP_IF
<8192>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<268435456>
OP_SUB
OP_ENDIF
OP_DUP
<134217728>
OP_GREATERTHANOREQUAL
OP_IF
<4096>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<134217728>
OP_SUB
OP_ENDIF
OP_DUP
<67108864>
OP_GREATERTHANOREQUAL
OP_IF
<2048>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<67108864>
OP_SUB
OP_ENDIF
OP_DUP
<33554432>
OP_GREATERTHANOREQUAL
OP_IF
<1024>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<33554432>
OP_SUB
OP_ENDIF
OP_DUP
<16777216>
OP_GREATERTHANOREQUAL
OP_IF
<512>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<16777216>
OP_SUB
OP_ENDIF
OP_DUP
<8388608>
OP_GREATERTHANOREQUAL
OP_IF
<256>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<8388608>
OP_SUB
OP_ENDIF
OP_DUP
<4194304>
OP_GREATERTHANOREQUAL
OP_IF
<128>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<4194304>
OP_SUB
OP_ENDIF
OP_DUP
<2097152>
OP_GREATERTHANOREQUAL
OP_IF
<64>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<2097152>
OP_SUB
OP_ENDIF
OP_DUP
<1048576>
OP_GREATERTHANOREQUAL
OP_IF
<32>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<1048576>
OP_SUB
OP_ENDIF
OP_DUP
<524288>
OP_GREATERTHANOREQUAL
OP_IF
<16>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<524288>
OP_SUB
OP_ENDIF
OP_DUP
<262144>
OP_GREATERTHANOREQUAL
OP_IF
<8>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<262144>
OP_SUB
OP_ENDIF
OP_DUP
<131072>
OP_GREATERTHANOREQUAL
OP_IF
<4>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<131072>
OP_SUB
OP_ENDIF
OP_DUP
<65536>
OP_GREATERTHANOREQUAL
OP_IF
<2>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<65536>
OP_SUB
OP_ENDIF
OP_DUP
<32768>
OP_GREATERTHANOREQUAL
OP_IF
<1>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<32768>
OP_SUB
OP_ENDIF
OP_FROMALTSTACK
OP_SWAP
OP_ROT
<6>
OP_PICK
OP_DUP
<16384>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<16384>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<8192>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<8192>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<4096>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<4096>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<2048>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<2048>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<1024>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<1024>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<512>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<512>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<256>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<256>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<128>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<128>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<64>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<64>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<32>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<32>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<16>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<16>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<8>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<8>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<4>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<4>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<2>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<2>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
<15>
OP_ROLL
OP_SWAP
OP_IF
OP_DUP
OP_ELSE
OP_0
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_NIP
OP_0
OP_TOALTSTACK
OP_DUP
<536870912>
OP_GREATERTHANOREQUAL
OP_IF
<16384>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<536870912>
OP_SUB
OP_ENDIF
OP_DUP
<268435456>
OP_GREATERTHANOREQUAL
OP_IF
<8192>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<268435456>
OP_SUB
OP_ENDIF
OP_DUP
<134217728>
OP_GREATERTHANOREQUAL
OP_IF
<4096>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<134217728>
OP_SUB
OP_ENDIF
OP_DUP
<67108864>
OP_GREATERTHANOREQUAL
OP_IF
<2048>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<67108864>
OP_SUB
OP_ENDIF
OP_DUP
<33554432>
OP_GREATERTHANOREQUAL
OP_IF
<1024>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<33554432>
OP_SUB
OP_ENDIF
OP_DUP
<16777216>
OP_GREATERTHANOREQUAL
OP_IF
<512>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<16777216>
OP_SUB
OP_ENDIF
OP_DUP
<8388608>
OP_GREATERTHANOREQUAL
OP_IF
<256>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<8388608>
OP_SUB
OP_ENDIF
OP_DUP
<4194304>
OP_GREATERTHANOREQUAL
OP_IF
<128>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<4194304>
OP_SUB
OP_ENDIF
OP_DUP
<2097152>
OP_GREATERTHANOREQUAL
OP_IF
<64>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<2097152>
OP_SUB
OP_ENDIF
OP_DUP
<1048576>
OP_GREATERTHANOREQUAL
OP_IF
<32>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<1048576>
OP_SUB
OP_ENDIF
OP_DUP
<524288>
OP_GREATERTHANOREQUAL
OP_IF
<16>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<524288>
OP_SUB
OP_ENDIF
OP_DUP
<262144>
OP_GREATERTHANOREQUAL
OP_IF
<8>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<262144>
OP_SUB
OP_ENDIF
OP_DUP
<131072>
OP_GREATERTHANOREQUAL
OP_IF
<4>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<131072>
OP_SUB
OP_ENDIF
OP_DUP
<65536>
OP_GREATERTHANOREQUAL
OP_IF
<2>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<65536>
OP_SUB
OP_ENDIF
OP_DUP
<32768>
OP_GREATERTHANOREQUAL
OP_IF
<1>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<32768>
OP_SUB
OP_ENDIF
OP_FROMALTSTACK
OP_ROT
OP_ROT
OP_ADD
<32768>
OP_2DUP
OP_GREATERTHANOREQUAL
OP_IF
OP_SUB
OP_1
OP_ELSE
OP_DROP
OP_0
OP_ENDIF
OP_SWAP
OP_FROMALTSTACK
OP_ADD
<32768>
OP_2DUP
OP_GREATERTHANOREQUAL
OP_IF
OP_SUB
OP_1
OP_ELSE
OP_DROP
OP_0
OP_ENDIF
OP_SWAP
OP_TOALTSTACK
OP_ADD
OP_ADD
<32768>
OP_2DUP
OP_GREATERTHANOREQUAL
OP_IF
OP_SUB
OP_1
OP_ELSE
OP_DROP
OP_0
OP_ENDIF
OP_ROT
OP_ROT
OP_ADD
<32768>
OP_2DUP
OP_GREATERTHANOREQUAL
OP_IF
OP_SUB
OP_1
OP_ELSE
OP_DROP
OP_0
OP_ENDIF
OP_SWAP
<6>
OP_ROLL
<5>
OP_ROLL
OP_DUP
<16384>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<16384>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<8192>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<8192>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<4096>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<4096>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<2048>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<2048>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<1024>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<1024>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<512>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<512>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<256>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<256>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<128>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<128>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<64>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<64>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<32>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<32>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<16>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<16>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<8>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<8>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<4>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<4>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
OP_DUP
<2>
OP_LESSTHAN
OP_IF
OP_0
OP_SWAP
OP_ELSE
<2>
OP_SUB
OP_1
OP_SWAP
OP_ENDIF
<15>
OP_ROLL
OP_SWAP
OP_IF
OP_DUP
OP_ELSE
OP_0
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_SWAP
OP_DUP
OP_ADD
OP_ROT
OP_IF
OP_DUP
OP_ROT
OP_ADD
OP_ELSE
OP_SWAP
OP_ENDIF
OP_NIP
OP_0
OP_TOALTSTACK
OP_DUP
<536870912>
OP_GREATERTHANOREQUAL
OP_IF
<16384>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<536870912>
OP_SUB
OP_ENDIF
OP_DUP
<268435456>
OP_GREATERTHANOREQUAL
OP_IF
<8192>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<268435456>
OP_SUB
OP_ENDIF
OP_DUP
<134217728>
OP_GREATERTHANOREQUAL
OP_IF
<4096>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<134217728>
OP_SUB
OP_ENDIF
OP_DUP
<67108864>
OP_GREATERTHANOREQUAL
OP_IF
<2048>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<67108864>
OP_SUB
OP_ENDIF
OP_DUP
<33554432>
OP_GREATERTHANOREQUAL
OP_IF
<1024>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<33554432>
OP_SUB
OP_ENDIF
OP_DUP
<16777216>
OP_GREATERTHANOREQUAL
OP_IF
<512>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<16777216>
OP_SUB
OP_ENDIF
OP_DUP
<8388608>
OP_GREATERTHANOREQUAL
OP_IF
<256>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<8388608>
OP_SUB
OP_ENDIF
OP_DUP
<4194304>
OP_GREATERTHANOREQUAL
OP_IF
<128>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<4194304>
OP_SUB
OP_ENDIF
OP_DUP
<2097152>
OP_GREATERTHANOREQUAL
OP_IF
<64>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<2097152>
OP_SUB
OP_ENDIF
OP_DUP
<1048576>
OP_GREATERTHANOREQUAL
OP_IF
<32>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<1048576>
OP_SUB
OP_ENDIF
OP_DUP
<524288>
OP_GREATERTHANOREQUAL
OP_IF
<16>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<524288>
OP_SUB
OP_ENDIF
OP_DUP
<262144>
OP_GREATERTHANOREQUAL
OP_IF
<8>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<262144>
OP_SUB
OP_ENDIF
OP_DUP
<131072>
OP_GREATERTHANOREQUAL
OP_IF
<4>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<131072>
OP_SUB
OP_ENDIF
OP_DUP
<65536>
OP_GREATERTHANOREQUAL
OP_IF
<2>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<65536>
OP_SUB
OP_ENDIF
OP_DUP
<32768>
OP_GREATERTHANOREQUAL
OP_IF
<1>
OP_FROMALTSTACK
OP_ADD
OP_TOALTSTACK
<32768>
OP_SUB
OP_ENDIF
OP_FROMALTSTACK
OP_ROT
OP_ROT
OP_ADD
<32768>
OP_2DUP
OP_GREATERTHANOREQUAL
OP_IF
OP_SUB
OP_1
OP_ELSE
OP_DROP
OP_0
OP_ENDIF
OP_SWAP
OP_TOALTSTACK
OP_ROT
OP_ADD
OP_ROT
OP_ADD
OP_ADD
<32768>
OP_2DUP
OP_GREATERTHANOREQUAL
OP_IF
OP_SUB
OP_1
OP_ELSE
OP_DROP
OP_0
OP_ENDIF
OP_DROP
OP_TOALTSTACK
OP_2DROP
OP_FROMALTSTACK
OP_FROMALTSTACK
OP_FROMALTSTACK
OP_FROMALTSTACK
OP_ROT
OP_0
OP_NUMEQUALVERIFY
OP_ROT
OP_0
OP_NUMEQUALVERIFY
OP_FROMALTSTACK
OP_ROT
OP_FROMALTSTACK
OP_2SWAP
OP_ROT
OP_2SWAP
OP_2OVER
OP_2OVER
OP_0
OP_GREATERTHANOREQUAL
OP_VERIFY
OP_0
OP_GREATERTHANOREQUAL
OP_VERIFY
OP_0
OP_GREATERTHANOREQUAL
OP_VERIFY
OP_0
OP_GREATERTHANOREQUAL
OP_VERIFY
OP_2OVER
OP_2OVER
OP_2SWAP
OP_ROT
OP_2DUP
OP_NUMEQUAL
OP_IF
OP_2DROP
OP_GREATERTHAN
OP_ELSE
OP_GREATERTHAN
OP_IF
OP_2DROP
OP_1
OP_ELSE
OP_2DROP
OP_0
OP_ENDIF
OP_ENDIF
OP_NOT
OP_VERIFY
OP_ROT
OP_2SWAP
OP_SUB
OP_DUP
OP_0
OP_GREATERTHANOREQUAL
OP_VERIFY
OP_TOALTSTACK
OP_SWAP
OP_SUB
OP_DUP
OP_0
OP_LESSTHAN
OP_IF
<32768>
OP_ADD
OP_1
OP_ELSE
OP_0
OP_ENDIF
OP_FROMALTSTACK
OP_SWAP
OP_SUB
OP_SWAP
OP_ENDIF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment