# common tests for expressions and assignments: expressions will
# assign the operands to suitable registers, execute a calculate
# statement assigning the result of the opcode being tested to
# another register, then check the result; assignments will work
# in reverse: assign the expected result to a register, then
# assign the result to the expression (opcode, operand, operand...)
# and finally run the opcode again to check that you get the result
# back; for example the 'BUT, base 3, spot, 1' is equivalent to:
#
#    expression                         assignment
#    DO .1 <- #15                       DO .2 <- #12
#    DO .2 <- .?1                       DO .?1 <- .2
#    (check that .2 == 12)              DO .2 <- .?1
#                                       (check that .2 == 12)
# in other words, the assignment tests must be done after the expression
# tests, and use expressions to check that assignments work

@all_tests = (
    ['Constant, 1', [], 2, [0], ['.5' => 0], undef],
    ['Constant, 2', [], 2, [1], ['.5' => 1], undef],
    ['Constant, 3', [], 2, [126], ['.5' => 126], undef],
    ['Constant, 4', [], 2, [127], ['.5' => 127], undef],
    ['Constant, 5', [], 2, [128], ['.5' => 128], undef],
    ['Constant, 6', [], 2, [129], ['.5' => 129], undef],
    ['Constant, 7', [], 2, [254], ['.5' => 254], undef],
    ['Constant, 8', [], 2, [255], ['.5' => 255], undef],
    ['Constant, 9', [], 2, [256], ['.5' => 256], undef],
    ['Constant, 10', [], 2, [257], ['.5' => 257], undef],
    ['Constant, 11', [], 2, [65534], ['.5' => 65534], undef],
    ['Constant, 12', [], 2, [65535], ['.5' => 65535], undef],
    ['BUT, base 3, spot, 1', [BC_BUT, BC(1)], 3, [['.1' => 15]], ['.2' => 12], undef],
    ['BUT, base 3, spot, 2', [BC_BUT, BC(1)], 3, [['.1' => 666]], ['.2' => 162], undef],
    ['BUT, base 3, spot, 3', [BC_BUT, BC(1)], 3, [['.1' => 4]], ['.2' => 19687], undef],
    ['BUT, base 3, two spot, 1', [BC_BUT, BC(1)], 3, [[':1' => 15]], [':2' => 12], undef],
    ['BUT, base 3, two spot, 2', [BC_BUT, BC(1)], 3, [[':1' => 666]], [':2' => 162], undef],
    ['BUT, base 3, two spot, 3', [BC_BUT, BC(1)], 3, [[':1' => 4]], [':2' => 1162261471], undef],
    ['BUT, base 4, spot, 1', [BC_BUT, BC(1)], 4, [['.1' => 23]], ['.2' => 21], undef],
    ['BUT, base 4, spot, 2', [BC_BUT, BC(1)], 4, [['.1' => 666]], ['.2' => 150], undef],
    ['BUT, base 4, spot, 3', [BC_BUT, BC(1)], 4, [['.1' => 5]], ['.2' => 16389], undef],
    ['BUT, base 4, two spot, 1', [BC_BUT, BC(1)], 4, [[':1' => 23]], [':2' => 21], undef],
    ['BUT, base 4, two spot, 2', [BC_BUT, BC(1)], 4, [[':1' => 666]], [':2' => 150], undef],
    ['BUT, base 4, two spot, 3', [BC_BUT, BC(1)], 4, [[':1' => 5]], [':2' => 1073741829], undef],
    ['2BUT, base 4, spot, 1', [BC_BUT, BC(2)], 4, [['.1' => 23]], ['.2' => 21], undef],
    ['2BUT, base 4, spot, 2', [BC_BUT, BC(2)], 4, [['.1' => 666]], ['.2' => 33450], undef],
    ['2BUT, base 4, spot, 3', [BC_BUT, BC(2)], 4, [['.1' => 5]], ['.2' => 16389], undef],
    ['2BUT, base 4, two spot, 1', [BC_BUT, BC(2)], 4, [[':1' => 23]], [':2' => 21], undef],
    ['2BUT, base 4, two spot, 2', [BC_BUT, BC(2)], 4, [[':1' => 666]], [':2' => 2147484330], undef],
    ['2BUT, base 4, two spot, 3', [BC_BUT, BC(2)], 4, [[':1' => 5]], [':2' => 1073741829], undef],
    ['SWB, base 2, spot, 1', BC_SWB, 2, [['.1' => 69]], ['.2' => 32871], undef],
    ['SWB, base 2, spot, 2', BC_SWB, 2, [['.1' => 666]], ['.2' => 983], undef],
    ['SWB, base 2, twospot, 1', BC_SWB, 2, [[':1' => 69]], [':2' => 2147483751], undef],
    ['SWB, base 2, twospot, 2', BC_SWB, 2, [[':1' => 666]], [':2' => 983], undef],
    ['SWB, base 3, spot, 1', BC_SWB, 3, [['.1' => 125]], ['.2' => 39534], undef],
    ['SWB, base 3, spot, 2', BC_SWB, 3, [['.1' => 666]], ['.2' => 312], undef],
    ['SWB, base 3, twospot, 1', BC_SWB, 3, [[':1' => 125]], [':2' => 2324523102], undef],
    ['SWB, base 3, twospot, 2', BC_SWB, 3, [[':1' => 666]], [':2' => 312], undef],
    ['SWB, base 4, spot, 1', BC_SWB, 4, [['.1' => 125]], ['.2' => 16610], undef],
    ['SWB, base 4, spot, 2', BC_SWB, 4, [['.1' => 666]], ['.2' => 33308], undef],
    ['SWB, base 4, twospot, 1', BC_SWB, 4, [[':1' => 125]], [':2' => 1073742050], undef],
    ['SWB, base 4, twospot, 2', BC_SWB, 4, [[':1' => 666]], [':2' => 2147484188], undef],
    ['SWB, base 5, spot, 1', BC_SWB, 5, [['.1' => 125]], ['.2' => 525], undef],
    ['SWB, base 5, spot, 2', BC_SWB, 5, [['.1' => 666]], ['.2' => 5867], undef],
    ['SWB, base 5, twospot, 1', BC_SWB, 5, [[':1' => 125]], [':2' => 525], undef],
    ['SWB, base 5, twospot, 2', BC_SWB, 5, [[':1' => 666]], [':2' => 48830867], undef],
    ['SWB, base 6, spot, 1', BC_SWB, 6, [['.1' => 125]], ['.2' => 38997], undef],
    ['SWB, base 6, spot, 2', BC_SWB, 6, [['.1' => 666]], ['.2' => 777], undef],
    ['SWB, base 6, twospot, 1', BC_SWB, 6, [[':1' => 125]], [':2' => 1813985397], undef],
    ['SWB, base 6, twospot, 2', BC_SWB, 6, [[':1' => 666]], [':2' => 777], undef],
    ['SWB, base 7, spot, 1', BC_SWB, 7, [['.1' => 125]], ['.2' => 14697], undef],
    ['SWB, base 7, spot, 2', BC_SWB, 7, [['.1' => 666]], ['.2' => 4574], undef],
    ['SWB, base 7, twospot, 1', BC_SWB, 7, [[':1' => 125]], [':2' => 242121933], undef],
    ['SWB, base 7, twospot, 2', BC_SWB, 7, [[':1' => 666]], [':2' => 40355780], undef],
    ['AWC, base 2, spot, 1', BC_AWC, 2, [['.1' => 69]], ['.2' => 32871], undef],
    ['AWC, base 2, spot, 2', BC_AWC, 2, [['.1' => 666]], ['.2' => 983], undef],
    ['AWC, base 2, twospot, 1', BC_AWC, 2, [[':1' => 69]], [':2' => 2147483751], undef],
    ['AWC, base 2, twospot, 2', BC_AWC, 2, [[':1' => 666]], [':2' => 983], undef],
    ['AWC, base 3, spot, 1', BC_AWC, 3, [['.1' => 125]], ['.2' => 39520], undef],
    ['AWC, base 3, spot, 2', BC_AWC, 3, [['.1' => 666]], ['.2' => 645], undef],
    ['AWC, base 3, twospot, 1', BC_AWC, 3, [[':1' => 125]], [':2' => 2324523088], undef],
    ['AWC, base 3, twospot, 2', BC_AWC, 3, [[':1' => 666]], [':2' => 645], undef],
    ['AWC, base 4, spot, 1', BC_AWC, 4, [['.1' => 125]], ['.2' => 16456], undef],
    ['AWC, base 4, spot, 2', BC_AWC, 4, [['.1' => 666]], ['.2' => 33340], undef],
    ['AWC, base 4, twospot, 1', BC_AWC, 4, [[':1' => 125]], [':2' => 1073741896], undef],
    ['AWC, base 4, twospot, 2', BC_AWC, 4, [[':1' => 666]], [':2' => 2147484220], undef],
    ['AWC, base 5, spot, 1', BC_AWC, 5, [['.1' => 125]], ['.2' => 150], undef],
    ['AWC, base 5, spot, 2', BC_AWC, 5, [['.1' => 666]], ['.2' => 3924], undef],
    ['AWC, base 5, twospot, 1', BC_AWC, 5, [[':1' => 125]], [':2' => 150], undef],
    ['AWC, base 5, twospot, 2', BC_AWC, 5, [[':1' => 666]], [':2' => 48828924], undef],
    ['AWC, base 6, spot, 1', BC_AWC, 6, [['.1' => 125]], ['.2' => 39019], undef],
    ['AWC, base 6, spot, 2', BC_AWC, 6, [['.1' => 666]], ['.2' => 777], undef],
    ['AWC, base 6, twospot, 1', BC_AWC, 6, [[':1' => 125]], [':2' => 1813985419], undef],
    ['AWC, base 6, twospot, 2', BC_AWC, 6, [[':1' => 666]], [':2' => 777], undef],
    ['AWC, base 7, spot, 1', BC_AWC, 7, [['.1' => 125]], ['.2' => 14541], undef],
    ['AWC, base 7, spot, 2', BC_AWC, 7, [['.1' => 666]], ['.2' => 2770], undef],
    ['AWC, base 7, twospot, 1', BC_AWC, 7, [[':1' => 125]], [':2' => 242121777], undef],
    ['AWC, base 7, twospot, 2', BC_AWC, 7, [[':1' => 666]], [':2' => 40353976], undef],
    ['SEL, base 2, spot, 1', BC_SEL, 2, [['.1' => 69], [ '.2' => 41]], ['.3' => 1], undef],
    ['SEL, base 2, spot, 2', BC_SEL, 2, [['.1' => 666], [ '.2' => 981]], ['.3' => 84], undef],
    ['SEL, base 2, twospot, 1', BC_SEL, 2, [[':1' => 69], [ ':2' => 41]], [':3' => 1], undef],
    ['SEL, base 2, twospot, 2', BC_SEL, 2, [[':1' => 666], [ ':2' => 981]], [':3' => 84], undef],
    ['SEL, base 3, spot, 1', BC_SEL, 3, [['.1' => 125], [ '.2' => 37]], ['.3' => 14], undef],
    ['SEL, base 3, spot, 2', BC_SEL, 3, [['.1' => 666], [ '.2' => 981]], ['.3' => 8], undef],
    ['SEL, base 3, twospot, 1', BC_SEL, 3, [[':1' => 125], [ ':2' => 37]], [':3' => 14], undef],
    ['SEL, base 3, twospot, 2', BC_SEL, 3, [[':1' => 666], [ ':2' => 981]], [':3' => 8], undef],
    ['SEL, base 4, spot, 1', BC_SEL, 4, [['.1' => 125], [ '.2' => 37]], ['.3' => 55], undef],
    ['SEL, base 4, spot, 2', BC_SEL, 4, [['.1' => 666], [ '.2' => 981]], ['.3' => 431], undef],
    ['SEL, base 4, twospot, 1', BC_SEL, 4, [[':1' => 125], [ ':2' => 37]], [':3' => 55], undef],
    ['SEL, base 4, twospot, 2', BC_SEL, 4, [[':1' => 666], [ ':2' => 981]], [':3' => 431], undef],
    ['SEL, base 5, spot, 1', BC_SEL, 5, [['.1' => 125], [ '.2' => 37]], ['.3' => 0], undef],
    ['SEL, base 5, spot, 2', BC_SEL, 5, [['.1' => 666], [ '.2' => 981]], ['.3' => 1029], undef],
    ['SEL, base 5, twospot, 1', BC_SEL, 5, [[':1' => 125], [ ':2' => 37]], [':3' => 0], undef],
    ['SEL, base 5, twospot, 2', BC_SEL, 5, [[':1' => 666], [ ':2' => 981]], [':3' => 1029], undef],
    ['SEL, base 6, spot, 1', BC_SEL, 6, [['.1' => 125], [ '.2' => 37]], ['.3' => 23], undef],
    ['SEL, base 6, spot, 2', BC_SEL, 6, [['.1' => 666], [ '.2' => 981]], ['.3' => 652], undef],
    ['SEL, base 6, twospot, 1', BC_SEL, 6, [[':1' => 125], [ ':2' => 37]], [':3' => 23], undef],
    ['SEL, base 6, twospot, 2', BC_SEL, 6, [[':1' => 666], [ ':2' => 981]], [':3' => 652], undef],
    ['SEL, base 7, spot, 1', BC_SEL, 7, [['.1' => 125], [ '.2' => 37]], ['.3' => 47], undef],
    ['SEL, base 7, spot, 2', BC_SEL, 7, [['.1' => 666], [ '.2' => 981]], ['.3' => 69], undef],
    ['SEL, base 7, twospot, 1', BC_SEL, 7, [[':1' => 125], [ ':2' => 37]], [':3' => 47], undef],
    ['SEL, base 7, twospot, 2', BC_SEL, 7, [[':1' => 666], [ ':2' => 981]], [':3' => 69], undef],
    ['INT, base 2, spot, 1', BC_INT, 2, [['.1' => 69], [ '.2' => 41]], ['.3' => 9315], undef],
    ['INT, base 2, spot, 2', BC_INT, 2, [['.1' => 666], [ '.2' => 981]], ['.3'], SP_SPOTS],
    ['INT, base 2, twospot, 1', BC_INT, 2, [[':1' => 69], [ ':2' => 41]], [':3' => 9315], undef],
    ['INT, base 2, twospot, 2', BC_INT, 2, [[':1' => 666], [ ':2' => 981]], [':3' => 906137], undef],
    ['INT, base 2, spot -> twospot, 1', BC_INT, 2, [['.1' => 69], [ '.2' => 41]], [':3' => 9315], undef],
    ['INT, base 2, spot -> twospot, 2', BC_INT, 2, [['.1' => 666], [ '.2' => 981]], [':3' => 906137], undef],
    ['INT, base 3, spot, 1', BC_INT, 3, [['.1' => 125], [ '.2' => 37]], ['.3' => 22984], undef],
    ['INT, base 3, spot, 2', BC_INT, 3, [['.1' => 666], [ '.2' => 981]], ['.3'], SP_SPOTS],
    ['INT, base 3, twospot, 1', BC_INT, 3, [[':1' => 125], [ ':2' => 37]], [':3' => 22984], undef],
    ['INT, base 3, twospot, 2', BC_INT, 3, [[':1' => 666], [ ':2' => 981]], [':3' => 984717], undef],
    ['INT, base 3, spot -> twospot, 1', BC_INT, 3, [['.1' => 125], [ '.2' => 37]], [':3' => 22984], undef],
    ['INT, base 3, spot -> twospot, 2', BC_INT, 3, [['.1' => 666], [ '.2' => 981]], [':3' => 984717], undef],
    ['INT, base 4, spot, 1', BC_INT, 4, [['.1' => 125], [ '.2' => 37]], ['.3' => 20181], undef],
    ['INT, base 4, spot, 2', BC_INT, 4, [['.1' => 666], [ '.2' => 981]], ['.3'], SP_SPOTS],
    ['INT, base 4, twospot, 1', BC_INT, 4, [[':1' => 125], [ ':2' => 37]], [':3' => 20181], undef],
    ['INT, base 4, twospot, 2', BC_INT, 4, [[':1' => 666], [ ':2' => 981]], [':3' => 767385], undef],
    ['INT, base 4, spot -> twospot, 1', BC_INT, 4, [['.1' => 125], [ '.2' => 37]], [':3' => 20181], undef],
    ['INT, base 4, spot -> twospot, 2', BC_INT, 4, [['.1' => 666], [ '.2' => 981]], [':3' => 767385], undef],
    ['INT, base 5, spot, 1', BC_INT, 5, [['.1' => 125], [ '.2' => 37]], ['.3'], SP_SPOTS],
    ['INT, base 5, spot, 2', BC_INT, 5, [['.1' => 666], [ '.2' => 981]], ['.3'], SP_SPOTS],
    ['INT, base 5, twospot, 1', BC_INT, 5, [[':1' => 125], [ ':2' => 37]], [':3' => 78802], undef],
    ['INT, base 5, twospot, 2', BC_INT, 5, [[':1' => 666], [ ':2' => 981]], [':3' => 2381031], undef],
    ['INT, base 5, spot -> twospot, 1', BC_INT, 5, [['.1' => 125], [ '.2' => 37]], [':3' => 78802], undef],
    ['INT, base 5, spot -> twospot, 2', BC_INT, 5, [['.1' => 666], [ '.2' => 981]], [':3' => 2381031], undef],
    ['INT, base 6, spot, 1', BC_INT, 6, [['.1' => 125], [ '.2' => 37]], ['.3' => 25087], undef],
    ['INT, base 6, spot, 2', BC_INT, 6, [['.1' => 666], [ '.2' => 981]], ['.3'], SP_SPOTS],
    ['INT, base 6, twospot, 1', BC_INT, 6, [[':1' => 125], [ ':2' => 37]], [':3' => 25087], undef],
    ['INT, base 6, twospot, 2', BC_INT, 6, [[':1' => 666], [ ':2' => 981]], [':3' => 1031007], undef],
    ['INT, base 6, spot -> twospot, 1', BC_INT, 6, [['.1' => 125], [ '.2' => 37]], [':3' => 25087], undef],
    ['INT, base 6, spot -> twospot, 2', BC_INT, 6, [['.1' => 666], [ '.2' => 981]], [':3' => 1031007], undef],
    ['INT, base 7, spot, 1', BC_INT, 7, [['.1' => 125], [ '.2' => 37]], ['.3' => 34932], undef],
    ['INT, base 7, spot, 2', BC_INT, 7, [['.1' => 666], [ '.2' => 981]], ['.3'], SP_SPOTS],
    ['INT, base 7, twospot, 1', BC_INT, 7, [[':1' => 125], [ ':2' => 37]], [':3' => 34932], undef],
    ['INT, base 7, twospot, 2', BC_INT, 7, [[':1' => 666], [ ':2' => 981]], [':3' => 1175469], undef],
    ['INT, base 7, spot -> twospot, 1', BC_INT, 7, [['.1' => 125], [ '.2' => 37]], [':3' => 34932], undef],
    ['INT, base 7, spot -> twospot, 2', BC_INT, 7, [['.1' => 666], [ '.2' => 981]], [':3' => 1175469], undef],
    ['SPL', BC_SPL, 2, [], ['.1'], SP_SPLAT],
    ['UDV aritmnetic, base 2, spot, 1', BC_UDV, 2, [['.1' => 1]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 2, spot, 2', BC_UDV, 2, [['.1' => 2]], ['.2' => 2], undef],
    ['UDV aritmnetic, base 2, spot, 3', BC_UDV, 2, [['.1' => 3]], ['.2' => 3], undef],
    ['UDV aritmnetic, base 2, spot, 4', BC_UDV, 2, [['.1' => 4]], ['.2' => 2], undef],
    ['UDV aritmnetic, base 2, spot, 5', BC_UDV, 2, [['.1' => 5]], ['.2' => 2], undef],
    ['UDV aritmnetic, base 2, spot, 6', BC_UDV, 2, [['.1' => 666]], ['.2' => 2], undef],
    ['UDV aritmnetic, base 2, twospot, 1', BC_UDV, 2, [[':1' => 1]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 2, twospot, 2', BC_UDV, 2, [[':1' => 2]], [':2' => 2], undef],
    ['UDV aritmnetic, base 2, twospot, 3', BC_UDV, 2, [[':1' => 3]], [':2' => 3], undef],
    ['UDV aritmnetic, base 2, twospot, 4', BC_UDV, 2, [[':1' => 4]], [':2' => 2], undef],
    ['UDV aritmnetic, base 2, twospot, 5', BC_UDV, 2, [[':1' => 5]], [':2' => 2], undef],
    ['UDV aritmnetic, base 2, twospot, 6', BC_UDV, 2, [[':1' => 666]], [':2' => 2], undef],
    ['UDV aritmnetic, base 3, spot, 1', BC_UDV, 3, [['.1' => 1]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 3, spot, 2', BC_UDV, 3, [['.1' => 2]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 3, spot, 3', BC_UDV, 3, [['.1' => 3]], ['.2' => 3], undef],
    ['UDV aritmnetic, base 3, spot, 4', BC_UDV, 3, [['.1' => 4]], ['.2' => 4], undef],
    ['UDV aritmnetic, base 3, spot, 5', BC_UDV, 3, [['.1' => 5]], ['.2' => 5], undef],
    ['UDV aritmnetic, base 3, spot, 6', BC_UDV, 3, [['.1' => 6]], ['.2' => 3], undef],
    ['UDV aritmnetic, base 3, spot, 7', BC_UDV, 3, [['.1' => 8]], ['.2' => 4], undef],
    ['UDV aritmnetic, base 3, spot, 8', BC_UDV, 3, [['.1' => 666]], ['.2' => 3], undef],
    ['UDV aritmnetic, base 3, twospot, 1', BC_UDV, 3, [[':1' => 1]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 3, twospot, 2', BC_UDV, 3, [[':1' => 2]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 3, twospot, 3', BC_UDV, 3, [[':1' => 3]], [':2' => 3], undef],
    ['UDV aritmnetic, base 3, twospot, 4', BC_UDV, 3, [[':1' => 4]], [':2' => 4], undef],
    ['UDV aritmnetic, base 3, twospot, 5', BC_UDV, 3, [[':1' => 5]], [':2' => 5], undef],
    ['UDV aritmnetic, base 3, twospot, 6', BC_UDV, 3, [[':1' => 6]], [':2' => 3], undef],
    ['UDV aritmnetic, base 3, twospot, 7', BC_UDV, 3, [[':1' => 8]], [':2' => 4], undef],
    ['UDV aritmnetic, base 3, twospot, 8', BC_UDV, 3, [[':1' => 666]], [':2' => 3], undef],
    ['UDV aritmnetic, base 4, spot, 1', BC_UDV, 4, [['.1' => 1]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 4, spot, 2', BC_UDV, 4, [['.1' => 2]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 4, spot, 3', BC_UDV, 4, [['.1' => 3]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 4, spot, 4', BC_UDV, 4, [['.1' => 4]], ['.2' => 4], undef],
    ['UDV aritmnetic, base 4, spot, 5', BC_UDV, 4, [['.1' => 5]], ['.2' => 5], undef],
    ['UDV aritmnetic, base 4, spot, 6', BC_UDV, 4, [['.1' => 6]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 4, spot, 7', BC_UDV, 4, [['.1' => 7]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 4, spot, 8', BC_UDV, 4, [['.1' => 8]], ['.2' => 4], undef],
    ['UDV aritmnetic, base 4, spot, 9', BC_UDV, 4, [['.1' => 10]], ['.2' => 5], undef],
    ['UDV aritmnetic, base 4, spot, 10', BC_UDV, 4, [['.1' => 11]], ['.2' => 5], undef],
    ['UDV aritmnetic, base 4, spot, 11', BC_UDV, 4, [['.1' => 15]], ['.2' => 5], undef],
    ['UDV aritmnetic, base 4, spot, 12', BC_UDV, 4, [['.1' => 666]], ['.2' => 4], undef],
    ['UDV aritmnetic, base 4, twospot, 1', BC_UDV, 4, [[':1' => 1]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 4, twospot, 2', BC_UDV, 4, [[':1' => 2]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 4, twospot, 3', BC_UDV, 4, [[':1' => 3]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 4, twospot, 4', BC_UDV, 4, [[':1' => 4]], [':2' => 4], undef],
    ['UDV aritmnetic, base 4, twospot, 5', BC_UDV, 4, [[':1' => 5]], [':2' => 5], undef],
    ['UDV aritmnetic, base 4, twospot, 6', BC_UDV, 4, [[':1' => 6]], [':2' => 6], undef],
    ['UDV aritmnetic, base 4, twospot, 7', BC_UDV, 4, [[':1' => 7]], [':2' => 7], undef],
    ['UDV aritmnetic, base 4, twospot, 8', BC_UDV, 4, [[':1' => 8]], [':2' => 4], undef],
    ['UDV aritmnetic, base 4, twospot, 9', BC_UDV, 4, [[':1' => 10]], [':2' => 5], undef],
    ['UDV aritmnetic, base 4, twospot, 10', BC_UDV, 4, [[':1' => 11]], [':2' => 5], undef],
    ['UDV aritmnetic, base 4, twospot, 11', BC_UDV, 4, [[':1' => 15]], [':2' => 5], undef],
    ['UDV aritmnetic, base 4, twospot, 12', BC_UDV, 4, [[':1' => 666]], [':2' => 4], undef],
    ['UDV aritmnetic, base 5, spot, 1', BC_UDV, 5, [['.1' => 1]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 5, spot, 2', BC_UDV, 5, [['.1' => 2]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 5, spot, 3', BC_UDV, 5, [['.1' => 3]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 5, spot, 4', BC_UDV, 5, [['.1' => 4]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 5, spot, 5', BC_UDV, 5, [['.1' => 5]], ['.2' => 5], undef],
    ['UDV aritmnetic, base 5, spot, 6', BC_UDV, 5, [['.1' => 6]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 5, spot, 7', BC_UDV, 5, [['.1' => 7]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 5, spot, 8', BC_UDV, 5, [['.1' => 8]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 5, spot, 9', BC_UDV, 5, [['.1' => 9]], ['.2' => 9], undef],
    ['UDV aritmnetic, base 5, spot, 10', BC_UDV, 5, [['.1' => 10]], ['.2' => 5], undef],
    ['UDV aritmnetic, base 5, spot, 11', BC_UDV, 5, [['.1' => 12]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 5, spot, 12', BC_UDV, 5, [['.1' => 13]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 5, spot, 13', BC_UDV, 5, [['.1' => 18]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 5, spot, 14', BC_UDV, 5, [['.1' => 19]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 5, spot, 15', BC_UDV, 5, [['.1' => 24]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 5, spot, 16', BC_UDV, 5, [['.1' => 666]], ['.2' => 5], undef],
    ['UDV aritmnetic, base 5, twospot, 1', BC_UDV, 5, [[':1' => 1]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 5, twospot, 2', BC_UDV, 5, [[':1' => 2]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 5, twospot, 3', BC_UDV, 5, [[':1' => 3]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 5, twospot, 4', BC_UDV, 5, [[':1' => 4]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 5, twospot, 5', BC_UDV, 5, [[':1' => 5]], [':2' => 5], undef],
    ['UDV aritmnetic, base 5, twospot, 6', BC_UDV, 5, [[':1' => 6]], [':2' => 6], undef],
    ['UDV aritmnetic, base 5, twospot, 7', BC_UDV, 5, [[':1' => 7]], [':2' => 7], undef],
    ['UDV aritmnetic, base 5, twospot, 8', BC_UDV, 5, [[':1' => 8]], [':2' => 8], undef],
    ['UDV aritmnetic, base 5, twospot, 9', BC_UDV, 5, [[':1' => 9]], [':2' => 9], undef],
    ['UDV aritmnetic, base 5, twospot, 10', BC_UDV, 5, [[':1' => 10]], [':2' => 5], undef],
    ['UDV aritmnetic, base 5, twospot, 11', BC_UDV, 5, [[':1' => 12]], [':2' => 6], undef],
    ['UDV aritmnetic, base 5, twospot, 12', BC_UDV, 5, [[':1' => 13]], [':2' => 6], undef],
    ['UDV aritmnetic, base 5, twospot, 13', BC_UDV, 5, [[':1' => 18]], [':2' => 6], undef],
    ['UDV aritmnetic, base 5, twospot, 14', BC_UDV, 5, [[':1' => 19]], [':2' => 6], undef],
    ['UDV aritmnetic, base 5, twospot, 15', BC_UDV, 5, [[':1' => 24]], [':2' => 6], undef],
    ['UDV aritmnetic, base 5, twospot, 16', BC_UDV, 5, [[':1' => 666]], [':2' => 5], undef],
    ['UDV aritmnetic, base 6, spot, 1', BC_UDV, 6, [['.1' => 1]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, spot, 2', BC_UDV, 6, [['.1' => 2]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, spot, 3', BC_UDV, 6, [['.1' => 3]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, spot, 4', BC_UDV, 6, [['.1' => 4]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, spot, 5', BC_UDV, 6, [['.1' => 5]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, spot, 6', BC_UDV, 6, [['.1' => 6]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 6, spot, 7', BC_UDV, 6, [['.1' => 7]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 6, spot, 8', BC_UDV, 6, [['.1' => 8]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 6, spot, 9', BC_UDV, 6, [['.1' => 9]], ['.2' => 9], undef],
    ['UDV aritmnetic, base 6, spot, 10', BC_UDV, 6, [['.1' => 10]], ['.2' => 10], undef],
    ['UDV aritmnetic, base 6, spot, 11', BC_UDV, 6, [['.1' => 11]], ['.2' => 11], undef],
    ['UDV aritmnetic, base 6, spot, 12', BC_UDV, 6, [['.1' => 12]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 6, spot, 13', BC_UDV, 6, [['.1' => 14]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 6, spot, 14', BC_UDV, 6, [['.1' => 15]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 6, spot, 15', BC_UDV, 6, [['.1' => 21]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 6, spot, 16', BC_UDV, 6, [['.1' => 22]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 6, spot, 17', BC_UDV, 6, [['.1' => 23]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 6, spot, 18', BC_UDV, 6, [['.1' => 28]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 6, spot, 19', BC_UDV, 6, [['.1' => 29]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 6, spot, 20', BC_UDV, 6, [['.1' => 35]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 6, spot, 21', BC_UDV, 6, [['.1' => 666]], ['.2' => 6], undef],
    ['UDV aritmnetic, base 6, twospot, 1', BC_UDV, 6, [[':1' => 1]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, twospot, 2', BC_UDV, 6, [[':1' => 2]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, twospot, 3', BC_UDV, 6, [[':1' => 3]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, twospot, 4', BC_UDV, 6, [[':1' => 4]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, twospot, 5', BC_UDV, 6, [[':1' => 5]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 6, twospot, 6', BC_UDV, 6, [[':1' => 6]], [':2' => 6], undef],
    ['UDV aritmnetic, base 6, twospot, 7', BC_UDV, 6, [[':1' => 7]], [':2' => 7], undef],
    ['UDV aritmnetic, base 6, twospot, 8', BC_UDV, 6, [[':1' => 8]], [':2' => 8], undef],
    ['UDV aritmnetic, base 6, twospot, 9', BC_UDV, 6, [[':1' => 9]], [':2' => 9], undef],
    ['UDV aritmnetic, base 6, twospot, 10', BC_UDV, 6, [[':1' => 10]], [':2' => 10], undef],
    ['UDV aritmnetic, base 6, twospot, 11', BC_UDV, 6, [[':1' => 11]], [':2' => 11], undef],
    ['UDV aritmnetic, base 6, twospot, 12', BC_UDV, 6, [[':1' => 12]], [':2' => 6], undef],
    ['UDV aritmnetic, base 6, twospot, 13', BC_UDV, 6, [[':1' => 14]], [':2' => 7], undef],
    ['UDV aritmnetic, base 6, twospot, 14', BC_UDV, 6, [[':1' => 15]], [':2' => 7], undef],
    ['UDV aritmnetic, base 6, twospot, 15', BC_UDV, 6, [[':1' => 21]], [':2' => 7], undef],
    ['UDV aritmnetic, base 6, twospot, 16', BC_UDV, 6, [[':1' => 22]], [':2' => 7], undef],
    ['UDV aritmnetic, base 6, twospot, 17', BC_UDV, 6, [[':1' => 23]], [':2' => 7], undef],
    ['UDV aritmnetic, base 6, twospot, 18', BC_UDV, 6, [[':1' => 28]], [':2' => 7], undef],
    ['UDV aritmnetic, base 6, twospot, 19', BC_UDV, 6, [[':1' => 29]], [':2' => 7], undef],
    ['UDV aritmnetic, base 6, twospot, 20', BC_UDV, 6, [[':1' => 35]], [':2' => 7], undef],
    ['UDV aritmnetic, base 6, twospot, 21', BC_UDV, 6, [[':1' => 666]], [':2' => 6], undef],
    ['UDV aritmnetic, base 7, spot, 1', BC_UDV, 7, [['.1' => 1]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, spot, 2', BC_UDV, 7, [['.1' => 2]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, spot, 3', BC_UDV, 7, [['.1' => 3]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, spot, 4', BC_UDV, 7, [['.1' => 4]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, spot, 5', BC_UDV, 7, [['.1' => 5]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, spot, 6', BC_UDV, 7, [['.1' => 6]], ['.2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, spot, 7', BC_UDV, 7, [['.1' => 7]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 7, spot, 8', BC_UDV, 7, [['.1' => 8]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 9', BC_UDV, 7, [['.1' => 9]], ['.2' => 9], undef],
    ['UDV aritmnetic, base 7, spot, 10', BC_UDV, 7, [['.1' => 10]], ['.2' => 10], undef],
    ['UDV aritmnetic, base 7, spot, 11', BC_UDV, 7, [['.1' => 11]], ['.2' => 11], undef],
    ['UDV aritmnetic, base 7, spot, 12', BC_UDV, 7, [['.1' => 12]], ['.2' => 12], undef],
    ['UDV aritmnetic, base 7, spot, 13', BC_UDV, 7, [['.1' => 13]], ['.2' => 13], undef],
    ['UDV aritmnetic, base 7, spot, 14', BC_UDV, 7, [['.1' => 14]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 7, spot, 15', BC_UDV, 7, [['.1' => 16]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 16', BC_UDV, 7, [['.1' => 17]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 17', BC_UDV, 7, [['.1' => 24]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 18', BC_UDV, 7, [['.1' => 25]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 19', BC_UDV, 7, [['.1' => 26]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 20', BC_UDV, 7, [['.1' => 32]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 21', BC_UDV, 7, [['.1' => 33]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 22', BC_UDV, 7, [['.1' => 34]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 23', BC_UDV, 7, [['.1' => 40]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 24', BC_UDV, 7, [['.1' => 41]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 25', BC_UDV, 7, [['.1' => 48]], ['.2' => 8], undef],
    ['UDV aritmnetic, base 7, spot, 26', BC_UDV, 7, [['.1' => 666]], ['.2' => 7], undef],
    ['UDV aritmnetic, base 7, twospot, 1', BC_UDV, 7, [[':1' => 1]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, twospot, 2', BC_UDV, 7, [[':1' => 2]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, twospot, 3', BC_UDV, 7, [[':1' => 3]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, twospot, 4', BC_UDV, 7, [[':1' => 4]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, twospot, 5', BC_UDV, 7, [[':1' => 5]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, twospot, 6', BC_UDV, 7, [[':1' => 6]], [':2'], SP_DIVIDE],
    ['UDV aritmnetic, base 7, twospot, 7', BC_UDV, 7, [[':1' => 7]], [':2' => 7], undef],
    ['UDV aritmnetic, base 7, twospot, 8', BC_UDV, 7, [[':1' => 8]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 9', BC_UDV, 7, [[':1' => 9]], [':2' => 9], undef],
    ['UDV aritmnetic, base 7, twospot, 10', BC_UDV, 7, [[':1' => 10]], [':2' => 10], undef],
    ['UDV aritmnetic, base 7, twospot, 11', BC_UDV, 7, [[':1' => 11]], [':2' => 11], undef],
    ['UDV aritmnetic, base 7, twospot, 12', BC_UDV, 7, [[':1' => 12]], [':2' => 12], undef],
    ['UDV aritmnetic, base 7, twospot, 13', BC_UDV, 7, [[':1' => 13]], [':2' => 13], undef],
    ['UDV aritmnetic, base 7, twospot, 14', BC_UDV, 7, [[':1' => 14]], [':2' => 7], undef],
    ['UDV aritmnetic, base 7, twospot, 15', BC_UDV, 7, [[':1' => 16]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 16', BC_UDV, 7, [[':1' => 17]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 17', BC_UDV, 7, [[':1' => 24]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 18', BC_UDV, 7, [[':1' => 25]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 19', BC_UDV, 7, [[':1' => 26]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 20', BC_UDV, 7, [[':1' => 32]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 21', BC_UDV, 7, [[':1' => 33]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 22', BC_UDV, 7, [[':1' => 34]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 23', BC_UDV, 7, [[':1' => 40]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 24', BC_UDV, 7, [[':1' => 41]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 25', BC_UDV, 7, [[':1' => 48]], [':2' => 8], undef],
    ['UDV aritmnetic, base 7, twospot, 26', BC_UDV, 7, [[':1' => 666]], [':2' => 7], undef],
    ['UDV bitwise, base 2, spot, 1', BC_UDV, 2, [['%DM' => 1], ['.1' => 0]], ['.2'], SP_DIVIDE],
    ['UDV bitwise, base 2, spot, 2', BC_UDV, 2, [['%DM' => 1], ['.1' => 1]], ['.2' => 32768], undef],
    ['UDV bitwise, base 2, spot, 3', BC_UDV, 2, [['%DM' => 1], ['.1' => 2]], ['.2' => 0], undef],
    ['UDV bitwise, base 2, spot, 4', BC_UDV, 2, [['%DM' => 1], ['.1' => 12]], ['.2' => 0], undef],
    ['UDV bitwise, base 2, spot, 5', BC_UDV, 2, [['%DM' => 1], ['.1' => 13]], ['.2' => 2521], undef],
    ['UDV bitwise, base 2, spot, 6', BC_UDV, 2, [['%DM' => 1], ['.1' => 65535]], ['.2' => 1], undef],
    ['UDV bitwise, base 2, spot, 7', BC_UDV, 2, [['%DM' => 1], ['.1' => 49723]], ['.2' => 1], undef],
    ['UDV bitwise, base 2, spot, 8', BC_UDV, 2, [['%DM' => 1], ['.1' => 69]], ['.2' => 475], undef],
    ['UDV bitwise, base 2, spot, 9', BC_UDV, 2, [['%DM' => 1], ['.1' => 29]], ['.2' => 1130], undef],
    ['UDV bitwise, base 2, twospot, 1', BC_UDV, 2, [['%DM' => 1], [':1' => 0]], [':2'], SP_DIVIDE],
    ['UDV bitwise, base 2, twospot, 2', BC_UDV, 2, [['%DM' => 1], [':1' => 1]], [':2' => 2147483648], undef],
    ['UDV bitwise, base 2, twospot, 3', BC_UDV, 2, [['%DM' => 1], [':1' => 2]], [':2' => 0], undef],
    ['UDV bitwise, base 2, twospot, 4', BC_UDV, 2, [['%DM' => 1], [':1' => 12]], [':2' => 0], undef],
    ['UDV bitwise, base 2, twospot, 5', BC_UDV, 2, [['%DM' => 1], [':1' => 13]], [':2' => 165191050], undef],
    ['UDV bitwise, base 2, twospot, 6', BC_UDV, 2, [['%DM' => 1], [':1' => 4294967295]], [':2' => 1], undef],
    ['UDV bitwise, base 2, twospot, 7', BC_UDV, 2, [['%DM' => 1], [':1' => 95]], [':2' => 22605091], undef],
    ['UDV bitwise, base 2, twospot, 8', BC_UDV, 2, [['%DM' => 1], [':1' => 667]], [':2' => 3219616], undef],
    ['UDV bitwise, base 2, twospot, 9', BC_UDV, 2, [['%DM' => 1], [':1' => 1667]], [':2' => 1288233], undef],
    ['UDV bitwise, base 2, twospot, 10', BC_UDV, 2, [['%DM' => 1], [':1' => 21667]], [':2' => 99113], undef],
    ['UDV bitwise, base 2, twospot, 11', BC_UDV, 2, [['%DM' => 1], [':1' => 69069]], [':2' => 31092], undef],
    ['UDV bitwise, base 3, spot, 1', BC_UDV, 3, [['%DM' => 1], ['.1' => 0]], ['.2'], SP_DIVIDE],
    ['UDV bitwise, base 3, spot, 2', BC_UDV, 3, [['%DM' => 1], ['.1' => 1]], ['.2' => 19683], undef],
    ['UDV bitwise, base 3, spot, 3', BC_UDV, 3, [['%DM' => 1], ['.1' => 5]], ['.2' => 7873], undef],
    ['UDV bitwise, base 3, spot, 4', BC_UDV, 3, [['%DM' => 1], ['.1' => 12]], ['.2' => 0], undef],
    ['UDV bitwise, base 3, spot, 5', BC_UDV, 3, [['%DM' => 1], ['.1' => 56]], ['.2' => 703], undef],
    ['UDV bitwise, base 3, spot, 6', BC_UDV, 3, [['%DM' => 1], ['.1' => 29593]], ['.2' => 0], undef],
    ['UDV bitwise, base 3, spot, 7', BC_UDV, 3, [['%DM' => 1], ['.1' => 59047]], ['.2' => 0], undef],
    ['UDV bitwise, base 3, spot, 8', BC_UDV, 3, [['%DM' => 1], ['.1' => 59048]], ['.2' => 1], undef],
    ['UDV bitwise, base 3, spot, 9', BC_UDV, 3, [['%DM' => 1], ['.1' => 7]], ['.2' => 2812], undef],
    ['UDV bitwise, base 3, spot, 10', BC_UDV, 3, [['%DM' => 1], ['.1' => 665]], ['.2' => 59], undef],
    ['UDV bitwise, base 3, spot, 11', BC_UDV, 3, [['%DM' => 1], ['.1' => 667]], ['.2' => 29], undef],
    ['UDV bitwise, base 3, twospot, 1', BC_UDV, 3, [['%DM' => 1], [':1' => 0]], [':2'], SP_DIVIDE],
    ['UDV bitwise, base 3, twospot, 2', BC_UDV, 3, [['%DM' => 1], [':1' => 1]], [':2' => 1162261467], undef],
    ['UDV bitwise, base 3, twospot, 3', BC_UDV, 3, [['%DM' => 1], [':1' => 5]], [':2' => 464904587], undef],
    ['UDV bitwise, base 3, twospot, 4', BC_UDV, 3, [['%DM' => 1], [':1' => 12]], [':2' => 0], undef],
    ['UDV bitwise, base 3, twospot, 5', BC_UDV, 3, [['%DM' => 1], [':1' => 56]], [':2' => 41509338], undef],
    ['UDV bitwise, base 3, twospot, 6', BC_UDV, 3, [['%DM' => 1], [':1' => 1743392200]], [':2' => 1], undef],
    ['UDV bitwise, base 3, twospot, 7', BC_UDV, 3, [['%DM' => 1], [':1' => 1743392203]], [':2' => 0], undef],
    ['UDV bitwise, base 3, twospot, 8', BC_UDV, 3, [['%DM' => 1], [':1' => 3486784399]], [':2' => 0], undef],
    ['UDV bitwise, base 3, twospot, 9', BC_UDV, 3, [['%DM' => 1], [':1' => 3486784400]], [':2' => 1], undef],
    ['UDV bitwise, base 3, twospot, 10', BC_UDV, 3, [['%DM' => 1], [':1' => 1743392201]], [':2' => 1], undef],
    ['UDV bitwise, base 3, twospot, 11', BC_UDV, 3, [['%DM' => 1], [':1' => 1743392264]], [':2' => 1], undef],
    ['UDV bitwise, base 3, twospot, 12', BC_UDV, 3, [['%DM' => 1], [':1' => 3486784397]], [':2' => 1], undef],
    ['UDV bitwise, base 3, twospot, 13', BC_UDV, 3, [['%DM' => 1], [':1' => 665]], [':2' => 3495523], undef],
    ['UDV bitwise, base 3, twospot, 14', BC_UDV, 3, [['%DM' => 1], [':1' => 667]], [':2' => 1742521], undef],
    ['UDV bitwise, base 4, spot, 1', BC_UDV, 4, [['%DM' => 1], ['.1' => 0]], ['.2'], SP_DIVIDE],
    ['UDV bitwise, base 4, spot, 2', BC_UDV, 4, [['%DM' => 1], ['.1' => 4]], ['.2' => 0], undef],
    ['UDV bitwise, base 4, spot, 3', BC_UDV, 4, [['%DM' => 1], ['.1' => 16384]], ['.2' => 0], undef],
    ['UDV bitwise, base 4, spot, 4', BC_UDV, 4, [['%DM' => 1], ['.1' => 45752]], ['.2' => 0], undef],
    ['UDV bitwise, base 4, spot, 5', BC_UDV, 4, [['%DM' => 1], ['.1' => 1]], ['.2' => 16384], undef],
    ['UDV bitwise, base 4, spot, 6', BC_UDV, 4, [['%DM' => 1], ['.1' => 2]], ['.2' => 16384], undef],
    ['UDV bitwise, base 4, spot, 7', BC_UDV, 4, [['%DM' => 1], ['.1' => 3]], ['.2' => 16384], undef],
    ['UDV bitwise, base 4, spot, 8', BC_UDV, 4, [['%DM' => 1], ['.1' => 65383]], ['.2' => 1], undef],
    ['UDV bitwise, base 4, spot, 9', BC_UDV, 4, [['%DM' => 1], ['.1' => 65531]], ['.2' => 1], undef],
    ['UDV bitwise, base 4, spot, 10', BC_UDV, 4, [['%DM' => 1], ['.1' => 21845]], ['.2' => 1], undef],
    ['UDV bitwise, base 4, spot, 11', BC_UDV, 4, [['%DM' => 1], ['.1' => 65474]], ['.2' => 0], undef],
    ['UDV bitwise, base 4, spot, 12', BC_UDV, 4, [['%DM' => 1], ['.1' => 65535]], ['.2' => 1], undef],
    ['UDV bitwise, base 4, spot, 13', BC_UDV, 4, [['%DM' => 1], ['.1' => 69]], ['.2' => 237], undef],
    ['UDV bitwise, base 4, spot, 14', BC_UDV, 4, [['%DM' => 1], ['.1' => 666]], ['.2' => 49], undef],
    ['UDV bitwise, base 4, twospot, 1', BC_UDV, 4, [['%DM' => 1], [':1' => 0]], [':2'], SP_DIVIDE],
    ['UDV bitwise, base 4, twospot, 2', BC_UDV, 4, [['%DM' => 1], [':1' => 4]], [':2' => 0], undef],
    ['UDV bitwise, base 4, twospot, 3', BC_UDV, 4, [['%DM' => 1], [':1' => 20938752]], [':2' => 0], undef],
    ['UDV bitwise, base 4, twospot, 4', BC_UDV, 4, [['%DM' => 1], [':1' => 209403904]], [':2' => 0], undef],
    ['UDV bitwise, base 4, twospot, 5', BC_UDV, 4, [['%DM' => 1], [':1' => 1]], [':2' => 1073741824], undef],
    ['UDV bitwise, base 4, twospot, 6', BC_UDV, 4, [['%DM' => 1], [':1' => 2]], [':2' => 1073741824], undef],
    ['UDV bitwise, base 4, twospot, 7', BC_UDV, 4, [['%DM' => 1], [':1' => 3]], [':2' => 1073741824], undef],
    ['UDV bitwise, base 4, twospot, 8', BC_UDV, 4, [['%DM' => 1], [':1' => 4294967003]], [':2' => 1], undef],
    ['UDV bitwise, base 4, twospot, 9', BC_UDV, 4, [['%DM' => 1], [':1' => 4294967291]], [':2' => 1], undef],
    ['UDV bitwise, base 4, twospot, 10', BC_UDV, 4, [['%DM' => 1], [':1' => 1431655765]], [':2' => 1], undef],
    ['UDV bitwise, base 4, twospot, 11', BC_UDV, 4, [['%DM' => 1], [':1' => 1431656997]], [':2' => 0], undef],
    ['UDV bitwise, base 4, twospot, 12', BC_UDV, 4, [['%DM' => 1], [':1' => 2431655005]], [':2' => 0], undef],
    ['UDV bitwise, base 4, twospot, 13', BC_UDV, 4, [['%DM' => 1], [':1' => 2431656997]], [':2' => 0], undef],
    ['UDV bitwise, base 4, twospot, 14', BC_UDV, 4, [['%DM' => 1], [':1' => 4294967295]], [':2' => 1], undef],
    ['UDV bitwise, base 4, twospot, 15', BC_UDV, 4, [['%DM' => 1], [':1' => 69]], [':2' => 15561475], undef],
    ['UDV bitwise, base 4, twospot, 16', BC_UDV, 4, [['%DM' => 1], [':1' => 666]], [':2' => 3224450], undef],
    ['UDV bitwise, base 5, spot, 1', BC_UDV, 5, [['%DM' => 1], ['.1' => 0]], ['.2'], SP_DIVIDE],
    ['UDV bitwise, base 5, spot, 2', BC_UDV, 5, [['%DM' => 1], ['.1' => 5]], ['.2' => 0], undef],
    ['UDV bitwise, base 5, spot, 3', BC_UDV, 5, [['%DM' => 1], ['.1' => 10525]], ['.2' => 0], undef],
    ['UDV bitwise, base 5, spot, 4', BC_UDV, 5, [['%DM' => 1], ['.1' => 15620]], ['.2' => 0], undef],
    ['UDV bitwise, base 5, spot, 5', BC_UDV, 5, [['%DM' => 1], ['.1' => 1]], ['.2' => 3125], undef],
    ['UDV bitwise, base 5, spot, 6', BC_UDV, 5, [['%DM' => 1], ['.1' => 2]], ['.2' => 3125], undef],
    ['UDV bitwise, base 5, spot, 7', BC_UDV, 5, [['%DM' => 1], ['.1' => 3]], ['.2' => 3125], undef],
    ['UDV bitwise, base 5, spot, 8', BC_UDV, 5, [['%DM' => 1], ['.1' => 15424]], ['.2' => 1], undef],
    ['UDV bitwise, base 5, spot, 9', BC_UDV, 5, [['%DM' => 1], ['.1' => 15619]], ['.2' => 1], undef],
    ['UDV bitwise, base 5, spot, 10', BC_UDV, 5, [['%DM' => 1], ['.1' => 3906]], ['.2' => 1], undef],
    ['UDV bitwise, base 5, spot, 11', BC_UDV, 5, [['%DM' => 1], ['.1' => 4099]], ['.2' => 3], undef],
    ['UDV bitwise, base 5, spot, 12', BC_UDV, 5, [['%DM' => 1], ['.1' => 5624]], ['.2' => 2], undef],
    ['UDV bitwise, base 5, spot, 13', BC_UDV, 5, [['%DM' => 1], ['.1' => 416]], ['.2' => 7], undef],
    ['UDV bitwise, base 5, spot, 14', BC_UDV, 5, [['%DM' => 1], ['.1' => 896]], ['.2' => 3], undef],
    ['UDV bitwise, base 5, spot, 15', BC_UDV, 5, [['%DM' => 1], ['.1' => 666]], ['.2' => 4], undef],
    ['UDV bitwise, base 5, spot, 16', BC_UDV, 5, [['%DM' => 1], ['.1' => 21]], ['.2' => 149], undef],
    ['UDV bitwise, base 5, twospot, 1', BC_UDV, 5, [['%DM' => 1], [':1' => 0]], [':2'], SP_DIVIDE],
    ['UDV bitwise, base 5, twospot, 2', BC_UDV, 5, [['%DM' => 1], [':1' => 5]], [':2' => 0], undef],
    ['UDV bitwise, base 5, twospot, 3', BC_UDV, 5, [['%DM' => 1], [':1' => 24440625]], [':2' => 0], undef],
    ['UDV bitwise, base 5, twospot, 4', BC_UDV, 5, [['%DM' => 1], [':1' => 244140620]], [':2' => 0], undef],
    ['UDV bitwise, base 5, twospot, 5', BC_UDV, 5, [['%DM' => 1], [':1' => 1]], [':2' => 48828125], undef],
    ['UDV bitwise, base 5, twospot, 6', BC_UDV, 5, [['%DM' => 1], [':1' => 2]], [':2' => 48828125], undef],
    ['UDV bitwise, base 5, twospot, 7', BC_UDV, 5, [['%DM' => 1], [':1' => 3]], [':2' => 48828125], undef],
    ['UDV bitwise, base 5, twospot, 8', BC_UDV, 5, [['%DM' => 1], [':1' => 999951]], [':2' => 49], undef],
    ['UDV bitwise, base 5, twospot, 9', BC_UDV, 5, [['%DM' => 1], [':1' => 244140619]], [':2' => 1], undef],
    ['UDV bitwise, base 5, twospot, 10', BC_UDV, 5, [['%DM' => 1], [':1' => 6035156]], [':2' => 8], undef],
    ['UDV bitwise, base 5, twospot, 11', BC_UDV, 5, [['%DM' => 1], [':1' => 610399]], [':2' => 320], undef],
    ['UDV bitwise, base 5, twospot, 12', BC_UDV, 5, [['%DM' => 1], [':1' => 710001]], [':2' => 68], undef],
    ['UDV bitwise, base 5, twospot, 13', BC_UDV, 5, [['%DM' => 1], [':1' => 39911]], [':2' => 1223], undef],
    ['UDV bitwise, base 5, twospot, 14', BC_UDV, 5, [['%DM' => 1], [':1' => 2441064]], [':2' => 80], undef],
    ['UDV bitwise, base 5, twospot, 15', BC_UDV, 5, [['%DM' => 1], [':1' => 1627416]], [':2' => 30], undef],
    ['UDV bitwise, base 5, twospot, 16', BC_UDV, 5, [['%DM' => 1], [':1' => 69]], [':2' => 2830616], undef],
    ['UDV bitwise, base 5, twospot, 17', BC_UDV, 5, [['%DM' => 1], [':1' => 666]], [':2' => 73315], undef],
    ['UDV bitwise, base 5, twospot, 18', BC_UDV, 5, [['%DM' => 1], [':1' => 2410621]], [':2' => 20], undef],
    ['UDV bitwise, base 6, spot, 1', BC_UDV, 6, [['%DM' => 1], ['.1' => 0]], ['.2'], SP_DIVIDE],
    ['UDV bitwise, base 6, spot, 2', BC_UDV, 6, [['%DM' => 1], ['.1' => 6]], ['.2' => 0], undef],
    ['UDV bitwise, base 6, spot, 3', BC_UDV, 6, [['%DM' => 1], ['.1' => 216]], ['.2' => 0], undef],
    ['UDV bitwise, base 6, spot, 4', BC_UDV, 6, [['%DM' => 1], ['.1' => 46650]], ['.2' => 0], undef],
    ['UDV bitwise, base 6, spot, 5', BC_UDV, 6, [['%DM' => 1], ['.1' => 1]], ['.2' => 7776], undef],
    ['UDV bitwise, base 6, spot, 6', BC_UDV, 6, [['%DM' => 1], ['.1' => 2]], ['.2' => 7776], undef],
    ['UDV bitwise, base 6, spot, 7', BC_UDV, 6, [['%DM' => 1], ['.1' => 3]], ['.2' => 7776], undef],
    ['UDV bitwise, base 6, spot, 8', BC_UDV, 6, [['%DM' => 1], ['.1' => 14656]], ['.2' => 2], undef],
    ['UDV bitwise, base 6, spot, 9', BC_UDV, 6, [['%DM' => 1], ['.1' => 46649]], ['.2' => 1], undef],
    ['UDV bitwise, base 6, spot, 10', BC_UDV, 6, [['%DM' => 1], ['.1' => 9331]], ['.2' => 1], undef],
    ['UDV bitwise, base 6, spot, 11', BC_UDV, 6, [['%DM' => 1], ['.1' => 1259]], ['.2' => 31], undef],
    ['UDV bitwise, base 6, spot, 12', BC_UDV, 6, [['%DM' => 1], ['.1' => 46655]], ['.2' => 1], undef],
    ['UDV bitwise, base 6, spot, 13', BC_UDV, 6, [['%DM' => 1], ['.1' => 2329]], ['.2' => 3], undef],
    ['UDV bitwise, base 6, spot, 14', BC_UDV, 6, [['%DM' => 1], ['.1' => 328]], ['.2' => 94], undef],
    ['UDV bitwise, base 6, spot, 15', BC_UDV, 6, [['%DM' => 1], ['.1' => 6651]], ['.2' => 3], undef],
    ['UDV bitwise, base 6, twospot, 1', BC_UDV, 6, [['%DM' => 1], [':1' => 0]], [':2'], SP_DIVIDE],
    ['UDV bitwise, base 6, twospot, 2', BC_UDV, 6, [['%DM' => 1], [':1' => 6]], [':2' => 0], undef],
    ['UDV bitwise, base 6, twospot, 3', BC_UDV, 6, [['%DM' => 1], [':1' => 774799458]], [':2' => 0], undef],
    ['UDV bitwise, base 6, twospot, 4', BC_UDV, 6, [['%DM' => 1], [':1' => 2176782330]], [':2' => 0], undef],
    ['UDV bitwise, base 6, twospot, 5', BC_UDV, 6, [['%DM' => 1], [':1' => 1]], [':2' => 362797056], undef],
    ['UDV bitwise, base 6, twospot, 6', BC_UDV, 6, [['%DM' => 1], [':1' => 2]], [':2' => 362797056], undef],
    ['UDV bitwise, base 6, twospot, 7', BC_UDV, 6, [['%DM' => 1], [':1' => 3]], [':2' => 362797056], undef],
    ['UDV bitwise, base 6, twospot, 8', BC_UDV, 6, [['%DM' => 1], [':1' => 9985601]], [':2' => 181], undef],
    ['UDV bitwise, base 6, twospot, 9', BC_UDV, 6, [['%DM' => 1], [':1' => 21782329]], [':2' => 16], undef],
    ['UDV bitwise, base 6, twospot, 10', BC_UDV, 6, [['%DM' => 1], [':1' => 35356467]], [':2' => 30], undef],
    ['UDV bitwise, base 6, twospot, 11', BC_UDV, 6, [['%DM' => 1], [':1' => 99999999]], [':2' => 11], undef],
    ['UDV bitwise, base 6, twospot, 12', BC_UDV, 6, [['%DM' => 1], [':1' => 999999999]], [':2' => 1], undef],
    ['UDV bitwise, base 6, twospot, 13', BC_UDV, 6, [['%DM' => 1], [':1' => 21768339]], [':2' => 50], undef],
    ['UDV bitwise, base 6, twospot, 14', BC_UDV, 6, [['%DM' => 1], [':1' => 21767819]], [':2' => 83], undef],
    ['UDV bitwise, base 6, twospot, 15', BC_UDV, 6, [['%DM' => 1], [':1' => 123456789]], [':2' => 8], undef],
    ['UDV bitwise, base 6, twospot, 16', BC_UDV, 6, [['%DM' => 1], [':1' => 12999997]], [':2' => 28], undef],
    ['UDV bitwise, base 6, twospot, 17', BC_UDV, 6, [['%DM' => 1], [':1' => 665]], [':2' => 2727797], undef],
    ['UDV bitwise, base 7, spot, 1', BC_UDV, 7, [['%DM' => 1], ['.1' => 0]], ['.2'], SP_DIVIDE],
    ['UDV bitwise, base 7, spot, 2', BC_UDV, 7, [['%DM' => 1], ['.1' => 7]], ['.2' => 0], undef],
    ['UDV bitwise, base 7, spot, 3', BC_UDV, 7, [['%DM' => 1], ['.1' => 8421]], ['.2' => 0], undef],
    ['UDV bitwise, base 7, spot, 4', BC_UDV, 7, [['%DM' => 1], ['.1' => 16800]], ['.2' => 0], undef],
    ['UDV bitwise, base 7, spot, 5', BC_UDV, 7, [['%DM' => 1], ['.1' => 1]], ['.2' => 2401], undef],
    ['UDV bitwise, base 7, spot, 6', BC_UDV, 7, [['%DM' => 1], ['.1' => 2]], ['.2' => 2401], undef],
    ['UDV bitwise, base 7, spot, 7', BC_UDV, 7, [['%DM' => 1], ['.1' => 3]], ['.2' => 2401], undef],
    ['UDV bitwise, base 7, spot, 8', BC_UDV, 7, [['%DM' => 1], ['.1' => 5583]], ['.2' => 1], undef],
    ['UDV bitwise, base 7, spot, 9', BC_UDV, 7, [['%DM' => 1], ['.1' => 16799]], ['.2' => 1], undef],
    ['UDV bitwise, base 7, spot, 10', BC_UDV, 7, [['%DM' => 1], ['.1' => 2801]], ['.2' => 1], undef],
    ['UDV bitwise, base 7, spot, 11', BC_UDV, 7, [['%DM' => 1], ['.1' => 11917]], ['.2' => 0], undef],
    ['UDV bitwise, base 7, spot, 12', BC_UDV, 7, [['%DM' => 1], ['.1' => 16806]], ['.2' => 1], undef],
    ['UDV bitwise, base 7, spot, 13', BC_UDV, 7, [['%DM' => 1], ['.1' => 666]], ['.2' => 3], undef],
    ['UDV bitwise, base 7, spot, 14', BC_UDV, 7, [['%DM' => 1], ['.1' => 113]], ['.2' => 21], undef],
    ['UDV bitwise, base 7, spot, 15', BC_UDV, 7, [['%DM' => 1], ['.1' => 1682]], ['.2' => 2], undef],
    ['UDV bitwise, base 7, spot, 16', BC_UDV, 7, [['%DM' => 1], ['.1' => 1268]], ['.2' => 2], undef],
    ['UDV bitwise, base 7, spot, 17', BC_UDV, 7, [['%DM' => 1], ['.1' => 1468]], ['.2' => 8], undef],
    ['UDV bitwise, base 7, spot, 18', BC_UDV, 7, [['%DM' => 1], ['.1' => 801]], ['.2' => 9], undef],
    ['UDV bitwise, base 7, twospot, 1', BC_UDV, 7, [['%DM' => 1], [':1' => 0]], [':2'], SP_DIVIDE],
    ['UDV bitwise, base 7, twospot, 2', BC_UDV, 7, [['%DM' => 1], [':1' => 7]], [':2' => 0], undef],
    ['UDV bitwise, base 7, twospot, 3', BC_UDV, 7, [['%DM' => 1], [':1' => 8623104]], [':2' => 0], undef],
    ['UDV bitwise, base 7, twospot, 4', BC_UDV, 7, [['%DM' => 1], [':1' => 282475242]], [':2' => 0], undef],
    ['UDV bitwise, base 7, twospot, 5', BC_UDV, 7, [['%DM' => 1], [':1' => 1]], [':2' => 40353607], undef],
    ['UDV bitwise, base 7, twospot, 6', BC_UDV, 7, [['%DM' => 1], [':1' => 2]], [':2' => 40353607], undef],
    ['UDV bitwise, base 7, twospot, 7', BC_UDV, 7, [['%DM' => 1], [':1' => 3]], [':2' => 40353607], undef],
    ['UDV bitwise, base 7, twospot, 8', BC_UDV, 7, [['%DM' => 1], [':1' => 9986001]], [':2' => 16], undef],
    ['UDV bitwise, base 7, twospot, 9', BC_UDV, 7, [['%DM' => 1], [':1' => 282475241]], [':2' => 1], undef],
    ['UDV bitwise, base 7, twospot, 10', BC_UDV, 7, [['%DM' => 1], [':1' => 47079208]], [':2' => 1], undef],
    ['UDV bitwise, base 7, twospot, 11', BC_UDV, 7, [['%DM' => 1], [':1' => 56916007]], [':2' => 0], undef],
    ['UDV bitwise, base 7, twospot, 12', BC_UDV, 7, [['%DM' => 1], [':1' => 2447253]], [':2' => 66], undef],
    ['UDV bitwise, base 7, twospot, 13', BC_UDV, 7, [['%DM' => 1], [':1' => 2461252]], [':2' => 49], undef],
    ['UDV bitwise, base 7, twospot, 14', BC_UDV, 7, [['%DM' => 1], [':1' => 22475248]], [':2' => 9], undef],
    ['UDV bitwise, base 7, twospot, 15', BC_UDV, 7, [['%DM' => 1], [':1' => 11290102]], [':2' => 18], undef],
    ['UDV bitwise, base 7, twospot, 16', BC_UDV, 7, [['%DM' => 1], [':1' => 11991600]], [':2' => 16], undef],
    ['UDV bitwise, base 7, twospot, 17', BC_UDV, 7, [['%DM' => 1], [':1' => 28275244]], [':2' => 5], undef],
    ['UDV bitwise, base 7, twospot, 18', BC_UDV, 7, [['%DM' => 1], [':1' => 21186436]], [':2' => 9], undef],
    ['UDV bitwise, base 7, twospot, 19', BC_UDV, 7, [['%DM' => 1], [':1' => 666]], [':2' => 60591], undef],
    ['UDV bitwise, base 7, twospot, 20', BC_UDV, 7, [['%DM' => 1], [':1' => 475243]], [':2' => 509], undef],
);

1;
