blob: df88fbe415ffe98cc151f1493c627edfe14c774b [file] [log] [blame]
/* Constant multiply table for TILE-Gx.
Copyright (C) 2011-2020 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 3, or (at your
option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* Note this file is auto-generated from gen-mul-tables.cc.
Make any required changes there. */
#define IN_TARGET_CODE 1
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "backend.h"
#include "rtl.h"
#include "expmed.h"
#include "tilegx-multiply.h"
const enum insn_code tilegx_multiply_insn_seq_decode_opcode[] = {
CODE_FOR_nothing /* must be first */ ,
CODE_FOR_adddi3,
CODE_FOR_subdi3,
CODE_FOR_insn_shl1add,
CODE_FOR_insn_shl2add,
CODE_FOR_insn_shl3add,
CODE_FOR_ashldi3
};
const struct tilegx_multiply_insn_seq tilegx_multiply_insn_seq_table[] = {
{-9223372036854775807ll - 1 /* 0x8000000000000000 */ ,
{{6, 1, 63}} /* shli r2, r1, 63 */
},
{-9223372036854775807ll /* 0x8000000000000001 */ ,
{{6, 1, 63}, /* shli r2, r1, 63 */
{1, 1, 2}} /* add r3, r1, r2 */
},
{-9223372036854775806ll /* 0x8000000000000002 */ ,
{{6, 1, 63}, /* shli r2, r1, 63 */
{3, 1, 2}} /* shl1add r3, r1, r2 */
},
{-9223372036854775805ll /* 0x8000000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854775804ll /* 0x8000000000000004 */ ,
{{6, 1, 63}, /* shli r2, r1, 63 */
{4, 1, 2}} /* shl2add r3, r1, r2 */
},
{-9223372036854775803ll /* 0x8000000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854775802ll /* 0x8000000000000006 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 63}, /* shli r3, r1, 63 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-9223372036854775801ll /* 0x8000000000000007 */ ,
{{6, 1, 63}, /* shli r2, r1, 63 */
{2, 2, 1}, /* sub r3, r2, r1 */
{5, 1, 3}} /* shl3add r4, r1, r3 */
},
{-9223372036854775800ll /* 0x8000000000000008 */ ,
{{6, 1, 63}, /* shli r2, r1, 63 */
{5, 1, 2}} /* shl3add r3, r1, r2 */
},
{-9223372036854775799ll /* 0x8000000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854775798ll /* 0x800000000000000a */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 63}, /* shli r3, r1, 63 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-9223372036854775792ll /* 0x8000000000000010 */ ,
{{6, 1, 4}, /* shli r2, r1, 4 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854775776ll /* 0x8000000000000020 */ ,
{{6, 1, 5}, /* shli r2, r1, 5 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854775744ll /* 0x8000000000000040 */ ,
{{6, 1, 6}, /* shli r2, r1, 6 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854775680ll /* 0x8000000000000080 */ ,
{{6, 1, 7}, /* shli r2, r1, 7 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854775552ll /* 0x8000000000000100 */ ,
{{6, 1, 8}, /* shli r2, r1, 8 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854775296ll /* 0x8000000000000200 */ ,
{{6, 1, 9}, /* shli r2, r1, 9 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854774784ll /* 0x8000000000000400 */ ,
{{6, 1, 10}, /* shli r2, r1, 10 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854773760ll /* 0x8000000000000800 */ ,
{{6, 1, 11}, /* shli r2, r1, 11 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854771712ll /* 0x8000000000001000 */ ,
{{6, 1, 12}, /* shli r2, r1, 12 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854767616ll /* 0x8000000000002000 */ ,
{{6, 1, 13}, /* shli r2, r1, 13 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854759424ll /* 0x8000000000004000 */ ,
{{6, 1, 14}, /* shli r2, r1, 14 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854743040ll /* 0x8000000000008000 */ ,
{{6, 1, 15}, /* shli r2, r1, 15 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854710272ll /* 0x8000000000010000 */ ,
{{6, 1, 16}, /* shli r2, r1, 16 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854644736ll /* 0x8000000000020000 */ ,
{{6, 1, 17}, /* shli r2, r1, 17 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854513664ll /* 0x8000000000040000 */ ,
{{6, 1, 18}, /* shli r2, r1, 18 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036854251520ll /* 0x8000000000080000 */ ,
{{6, 1, 19}, /* shli r2, r1, 19 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036853727232ll /* 0x8000000000100000 */ ,
{{6, 1, 20}, /* shli r2, r1, 20 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036852678656ll /* 0x8000000000200000 */ ,
{{6, 1, 21}, /* shli r2, r1, 21 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036850581504ll /* 0x8000000000400000 */ ,
{{6, 1, 22}, /* shli r2, r1, 22 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036846387200ll /* 0x8000000000800000 */ ,
{{6, 1, 23}, /* shli r2, r1, 23 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036837998592ll /* 0x8000000001000000 */ ,
{{6, 1, 24}, /* shli r2, r1, 24 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036821221376ll /* 0x8000000002000000 */ ,
{{6, 1, 25}, /* shli r2, r1, 25 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036787666944ll /* 0x8000000004000000 */ ,
{{6, 1, 26}, /* shli r2, r1, 26 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036720558080ll /* 0x8000000008000000 */ ,
{{6, 1, 27}, /* shli r2, r1, 27 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036586340352ll /* 0x8000000010000000 */ ,
{{6, 1, 28}, /* shli r2, r1, 28 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372036317904896ll /* 0x8000000020000000 */ ,
{{6, 1, 29}, /* shli r2, r1, 29 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372035781033984ll /* 0x8000000040000000 */ ,
{{6, 1, 30}, /* shli r2, r1, 30 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372034707292160ll /* 0x8000000080000000 */ ,
{{6, 1, 31}, /* shli r2, r1, 31 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372032559808512ll /* 0x8000000100000000 */ ,
{{6, 1, 32}, /* shli r2, r1, 32 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372028264841216ll /* 0x8000000200000000 */ ,
{{6, 1, 33}, /* shli r2, r1, 33 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372019674906624ll /* 0x8000000400000000 */ ,
{{6, 1, 34}, /* shli r2, r1, 34 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223372002495037440ll /* 0x8000000800000000 */ ,
{{6, 1, 35}, /* shli r2, r1, 35 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223371968135299072ll /* 0x8000001000000000 */ ,
{{6, 1, 36}, /* shli r2, r1, 36 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223371899415822336ll /* 0x8000002000000000 */ ,
{{6, 1, 37}, /* shli r2, r1, 37 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223371761976868864ll /* 0x8000004000000000 */ ,
{{6, 1, 38}, /* shli r2, r1, 38 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223371487098961920ll /* 0x8000008000000000 */ ,
{{6, 1, 39}, /* shli r2, r1, 39 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223370937343148032ll /* 0x8000010000000000 */ ,
{{6, 1, 40}, /* shli r2, r1, 40 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223369837831520256ll /* 0x8000020000000000 */ ,
{{6, 1, 41}, /* shli r2, r1, 41 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223367638808264704ll /* 0x8000040000000000 */ ,
{{6, 1, 42}, /* shli r2, r1, 42 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223363240761753600ll /* 0x8000080000000000 */ ,
{{6, 1, 43}, /* shli r2, r1, 43 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223354444668731392ll /* 0x8000100000000000 */ ,
{{6, 1, 44}, /* shli r2, r1, 44 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223336852482686976ll /* 0x8000200000000000 */ ,
{{6, 1, 45}, /* shli r2, r1, 45 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223301668110598144ll /* 0x8000400000000000 */ ,
{{6, 1, 46}, /* shli r2, r1, 46 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223231299366420480ll /* 0x8000800000000000 */ ,
{{6, 1, 47}, /* shli r2, r1, 47 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9223090561878065152ll /* 0x8001000000000000 */ ,
{{6, 1, 48}, /* shli r2, r1, 48 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9222809086901354496ll /* 0x8002000000000000 */ ,
{{6, 1, 49}, /* shli r2, r1, 49 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9222246136947933184ll /* 0x8004000000000000 */ ,
{{6, 1, 50}, /* shli r2, r1, 50 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9221120237041090560ll /* 0x8008000000000000 */ ,
{{6, 1, 51}, /* shli r2, r1, 51 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9218868437227405312ll /* 0x8010000000000000 */ ,
{{6, 1, 52}, /* shli r2, r1, 52 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9214364837600034816ll /* 0x8020000000000000 */ ,
{{6, 1, 53}, /* shli r2, r1, 53 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9205357638345293824ll /* 0x8040000000000000 */ ,
{{6, 1, 54}, /* shli r2, r1, 54 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9187343239835811840ll /* 0x8080000000000000 */ ,
{{6, 1, 55}, /* shli r2, r1, 55 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9151314442816847872ll /* 0x8100000000000000 */ ,
{{6, 1, 56}, /* shli r2, r1, 56 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-9079256848778919936ll /* 0x8200000000000000 */ ,
{{6, 1, 57}, /* shli r2, r1, 57 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-8935141660703064064ll /* 0x8400000000000000 */ ,
{{6, 1, 58}, /* shli r2, r1, 58 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-8646911284551352320ll /* 0x8800000000000000 */ ,
{{6, 1, 59}, /* shli r2, r1, 59 */
{6, 1, 63}, /* shli r3, r1, 63 */
{1, 2, 3}} /* add r4, r2, r3 */
},
{-8070450532247928832ll /* 0x9000000000000000 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 2, 60}} /* shli r3, r2, 60 */
},
{-6917529027641081857ll /* 0x9fffffffffffffff */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 2, 61}, /* shli r3, r2, 61 */
{2, 3, 1}} /* sub r4, r3, r1 */
},
{-6917529027641081856ll /* 0xa000000000000000 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 2, 61}} /* shli r3, r2, 61 */
},
{-4611686018427387912ll /* 0xbffffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 62}, /* shli r3, r2, 62 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-4611686018427387911ll /* 0xbffffffffffffff9 */ ,
{{6, 1, 62}, /* shli r2, r1, 62 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-4611686018427387908ll /* 0xbffffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 62}, /* shli r3, r2, 62 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-4611686018427387907ll /* 0xbffffffffffffffd */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 2, 62}, /* shli r3, r2, 62 */
{2, 3, 2}} /* sub r4, r3, r2 */
},
{-4611686018427387906ll /* 0xbffffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 62}, /* shli r3, r2, 62 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-4611686018427387905ll /* 0xbfffffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 62}, /* shli r3, r1, 62 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4611686018427387904ll /* 0xc000000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 62}} /* shli r3, r2, 62 */
},
{-4611686018427387903ll /* 0xc000000000000001 */ ,
{{6, 1, 62}, /* shli r2, r1, 62 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-4611686018427387902ll /* 0xc000000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 62}, /* shli r3, r1, 62 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4611686018427387901ll /* 0xc000000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 62}, /* shli r3, r1, 62 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4611686018427387900ll /* 0xc000000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 62}, /* shli r3, r1, 62 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4611686018427387899ll /* 0xc000000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 62}, /* shli r3, r1, 62 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4611686018427387898ll /* 0xc000000000000006 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 2, 62}, /* shli r3, r2, 62 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-4611686018427387896ll /* 0xc000000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 62}, /* shli r3, r1, 62 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4611686018427387895ll /* 0xc000000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 62}, /* shli r3, r1, 62 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-3458764513820540929ll /* 0xcfffffffffffffff */ ,
{{6, 1, 60}, /* shli r2, r1, 60 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2305843009213693960ll /* 0xdffffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 61}, /* shli r3, r2, 61 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-2305843009213693959ll /* 0xdffffffffffffff9 */ ,
{{6, 1, 61}, /* shli r2, r1, 61 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-2305843009213693956ll /* 0xdffffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 61}, /* shli r3, r2, 61 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-2305843009213693955ll /* 0xdffffffffffffffd */ ,
{{6, 1, 61}, /* shli r2, r1, 61 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-2305843009213693954ll /* 0xdffffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 61}, /* shli r3, r2, 61 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-2305843009213693953ll /* 0xdfffffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 61}, /* shli r3, r1, 61 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2305843009213693952ll /* 0xe000000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 61}} /* shli r3, r2, 61 */
},
{-2305843009213693951ll /* 0xe000000000000001 */ ,
{{6, 1, 61}, /* shli r2, r1, 61 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-2305843009213693950ll /* 0xe000000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 61}, /* shli r3, r1, 61 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2305843009213693949ll /* 0xe000000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 61}, /* shli r3, r1, 61 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2305843009213693948ll /* 0xe000000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 61}, /* shli r3, r1, 61 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2305843009213693947ll /* 0xe000000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 61}, /* shli r3, r1, 61 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2305843009213693944ll /* 0xe000000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 61}, /* shli r3, r1, 61 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2305843009213693943ll /* 0xe000000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 61}, /* shli r3, r1, 61 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1729382256910270465ll /* 0xe7ffffffffffffff */ ,
{{6, 1, 59}, /* shli r2, r1, 59 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1152921504606846984ll /* 0xeffffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 60}, /* shli r3, r2, 60 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-1152921504606846983ll /* 0xeffffffffffffff9 */ ,
{{6, 1, 60}, /* shli r2, r1, 60 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-1152921504606846980ll /* 0xeffffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 60}, /* shli r3, r2, 60 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-1152921504606846979ll /* 0xeffffffffffffffd */ ,
{{6, 1, 60}, /* shli r2, r1, 60 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-1152921504606846978ll /* 0xeffffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 60}, /* shli r3, r2, 60 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-1152921504606846977ll /* 0xefffffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 60}, /* shli r3, r1, 60 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1152921504606846976ll /* 0xf000000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 60}} /* shli r3, r2, 60 */
},
{-1152921504606846975ll /* 0xf000000000000001 */ ,
{{6, 1, 60}, /* shli r2, r1, 60 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-1152921504606846974ll /* 0xf000000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 60}, /* shli r3, r1, 60 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1152921504606846973ll /* 0xf000000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 60}, /* shli r3, r1, 60 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1152921504606846972ll /* 0xf000000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 60}, /* shli r3, r1, 60 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1152921504606846971ll /* 0xf000000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 60}, /* shli r3, r1, 60 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1152921504606846968ll /* 0xf000000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 60}, /* shli r3, r1, 60 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1152921504606846967ll /* 0xf000000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 60}, /* shli r3, r1, 60 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-864691128455135233ll /* 0xf3ffffffffffffff */ ,
{{6, 1, 58}, /* shli r2, r1, 58 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-576460752303423496ll /* 0xf7fffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 59}, /* shli r3, r2, 59 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-576460752303423495ll /* 0xf7fffffffffffff9 */ ,
{{6, 1, 59}, /* shli r2, r1, 59 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-576460752303423492ll /* 0xf7fffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 59}, /* shli r3, r2, 59 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-576460752303423491ll /* 0xf7fffffffffffffd */ ,
{{6, 1, 59}, /* shli r2, r1, 59 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-576460752303423490ll /* 0xf7fffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 59}, /* shli r3, r2, 59 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-576460752303423489ll /* 0xf7ffffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 59}, /* shli r3, r1, 59 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-576460752303423488ll /* 0xf800000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 59}} /* shli r3, r2, 59 */
},
{-576460752303423487ll /* 0xf800000000000001 */ ,
{{6, 1, 59}, /* shli r2, r1, 59 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-576460752303423486ll /* 0xf800000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 59}, /* shli r3, r1, 59 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-576460752303423485ll /* 0xf800000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 59}, /* shli r3, r1, 59 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-576460752303423484ll /* 0xf800000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 59}, /* shli r3, r1, 59 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-576460752303423483ll /* 0xf800000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 59}, /* shli r3, r1, 59 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-576460752303423480ll /* 0xf800000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 59}, /* shli r3, r1, 59 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-576460752303423479ll /* 0xf800000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 59}, /* shli r3, r1, 59 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-432345564227567617ll /* 0xf9ffffffffffffff */ ,
{{6, 1, 57}, /* shli r2, r1, 57 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-288230376151711752ll /* 0xfbfffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 58}, /* shli r3, r2, 58 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-288230376151711751ll /* 0xfbfffffffffffff9 */ ,
{{6, 1, 58}, /* shli r2, r1, 58 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-288230376151711748ll /* 0xfbfffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 58}, /* shli r3, r2, 58 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-288230376151711747ll /* 0xfbfffffffffffffd */ ,
{{6, 1, 58}, /* shli r2, r1, 58 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-288230376151711746ll /* 0xfbfffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 58}, /* shli r3, r2, 58 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-288230376151711745ll /* 0xfbffffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 58}, /* shli r3, r1, 58 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-288230376151711744ll /* 0xfc00000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 58}} /* shli r3, r2, 58 */
},
{-288230376151711743ll /* 0xfc00000000000001 */ ,
{{6, 1, 58}, /* shli r2, r1, 58 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-288230376151711742ll /* 0xfc00000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 58}, /* shli r3, r1, 58 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-288230376151711741ll /* 0xfc00000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 58}, /* shli r3, r1, 58 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-288230376151711740ll /* 0xfc00000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 58}, /* shli r3, r1, 58 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-288230376151711739ll /* 0xfc00000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 58}, /* shli r3, r1, 58 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-288230376151711736ll /* 0xfc00000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 58}, /* shli r3, r1, 58 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-288230376151711735ll /* 0xfc00000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 58}, /* shli r3, r1, 58 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-216172782113783809ll /* 0xfcffffffffffffff */ ,
{{6, 1, 56}, /* shli r2, r1, 56 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-144115188075855880ll /* 0xfdfffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 57}, /* shli r3, r2, 57 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-144115188075855879ll /* 0xfdfffffffffffff9 */ ,
{{6, 1, 57}, /* shli r2, r1, 57 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-144115188075855876ll /* 0xfdfffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 57}, /* shli r3, r2, 57 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-144115188075855875ll /* 0xfdfffffffffffffd */ ,
{{6, 1, 57}, /* shli r2, r1, 57 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-144115188075855874ll /* 0xfdfffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 57}, /* shli r3, r2, 57 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-144115188075855873ll /* 0xfdffffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 57}, /* shli r3, r1, 57 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-144115188075855872ll /* 0xfe00000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 57}} /* shli r3, r2, 57 */
},
{-144115188075855871ll /* 0xfe00000000000001 */ ,
{{6, 1, 57}, /* shli r2, r1, 57 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-144115188075855870ll /* 0xfe00000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 57}, /* shli r3, r1, 57 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-144115188075855869ll /* 0xfe00000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 57}, /* shli r3, r1, 57 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-144115188075855868ll /* 0xfe00000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 57}, /* shli r3, r1, 57 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-144115188075855867ll /* 0xfe00000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 57}, /* shli r3, r1, 57 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-144115188075855864ll /* 0xfe00000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 57}, /* shli r3, r1, 57 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-144115188075855863ll /* 0xfe00000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 57}, /* shli r3, r1, 57 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-108086391056891905ll /* 0xfe7fffffffffffff */ ,
{{6, 1, 55}, /* shli r2, r1, 55 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-72057594037927944ll /* 0xfefffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 56}, /* shli r3, r2, 56 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-72057594037927943ll /* 0xfefffffffffffff9 */ ,
{{6, 1, 56}, /* shli r2, r1, 56 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-72057594037927940ll /* 0xfefffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 56}, /* shli r3, r2, 56 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-72057594037927939ll /* 0xfefffffffffffffd */ ,
{{6, 1, 56}, /* shli r2, r1, 56 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-72057594037927938ll /* 0xfefffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 56}, /* shli r3, r2, 56 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-72057594037927937ll /* 0xfeffffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 56}, /* shli r3, r1, 56 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-72057594037927936ll /* 0xff00000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 56}} /* shli r3, r2, 56 */
},
{-72057594037927935ll /* 0xff00000000000001 */ ,
{{6, 1, 56}, /* shli r2, r1, 56 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-72057594037927934ll /* 0xff00000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 56}, /* shli r3, r1, 56 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-72057594037927933ll /* 0xff00000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 56}, /* shli r3, r1, 56 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-72057594037927932ll /* 0xff00000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 56}, /* shli r3, r1, 56 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-72057594037927931ll /* 0xff00000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 56}, /* shli r3, r1, 56 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-72057594037927928ll /* 0xff00000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 56}, /* shli r3, r1, 56 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-72057594037927927ll /* 0xff00000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 56}, /* shli r3, r1, 56 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-54043195528445953ll /* 0xff3fffffffffffff */ ,
{{6, 1, 54}, /* shli r2, r1, 54 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-36028797018963976ll /* 0xff7ffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 55}, /* shli r3, r2, 55 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-36028797018963975ll /* 0xff7ffffffffffff9 */ ,
{{6, 1, 55}, /* shli r2, r1, 55 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-36028797018963972ll /* 0xff7ffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 55}, /* shli r3, r2, 55 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-36028797018963971ll /* 0xff7ffffffffffffd */ ,
{{6, 1, 55}, /* shli r2, r1, 55 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-36028797018963970ll /* 0xff7ffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 55}, /* shli r3, r2, 55 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-36028797018963969ll /* 0xff7fffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 55}, /* shli r3, r1, 55 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-36028797018963968ll /* 0xff80000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 55}} /* shli r3, r2, 55 */
},
{-36028797018963967ll /* 0xff80000000000001 */ ,
{{6, 1, 55}, /* shli r2, r1, 55 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-36028797018963966ll /* 0xff80000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 55}, /* shli r3, r1, 55 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-36028797018963965ll /* 0xff80000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 55}, /* shli r3, r1, 55 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-36028797018963964ll /* 0xff80000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 55}, /* shli r3, r1, 55 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-36028797018963963ll /* 0xff80000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 55}, /* shli r3, r1, 55 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-36028797018963960ll /* 0xff80000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 55}, /* shli r3, r1, 55 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-36028797018963959ll /* 0xff80000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 55}, /* shli r3, r1, 55 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-27021597764222977ll /* 0xff9fffffffffffff */ ,
{{6, 1, 53}, /* shli r2, r1, 53 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-18014398509481992ll /* 0xffbffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 54}, /* shli r3, r2, 54 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-18014398509481991ll /* 0xffbffffffffffff9 */ ,
{{6, 1, 54}, /* shli r2, r1, 54 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-18014398509481988ll /* 0xffbffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 54}, /* shli r3, r2, 54 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-18014398509481987ll /* 0xffbffffffffffffd */ ,
{{6, 1, 54}, /* shli r2, r1, 54 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-18014398509481986ll /* 0xffbffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 54}, /* shli r3, r2, 54 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-18014398509481985ll /* 0xffbfffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 54}, /* shli r3, r1, 54 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-18014398509481984ll /* 0xffc0000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 54}} /* shli r3, r2, 54 */
},
{-18014398509481983ll /* 0xffc0000000000001 */ ,
{{6, 1, 54}, /* shli r2, r1, 54 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-18014398509481982ll /* 0xffc0000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 54}, /* shli r3, r1, 54 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-18014398509481981ll /* 0xffc0000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 54}, /* shli r3, r1, 54 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-18014398509481980ll /* 0xffc0000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 54}, /* shli r3, r1, 54 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-18014398509481979ll /* 0xffc0000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 54}, /* shli r3, r1, 54 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-18014398509481976ll /* 0xffc0000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 54}, /* shli r3, r1, 54 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-18014398509481975ll /* 0xffc0000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 54}, /* shli r3, r1, 54 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-13510798882111489ll /* 0xffcfffffffffffff */ ,
{{6, 1, 52}, /* shli r2, r1, 52 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-9007199254741000ll /* 0xffdffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 53}, /* shli r3, r2, 53 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-9007199254740999ll /* 0xffdffffffffffff9 */ ,
{{6, 1, 53}, /* shli r2, r1, 53 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-9007199254740996ll /* 0xffdffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 53}, /* shli r3, r2, 53 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-9007199254740995ll /* 0xffdffffffffffffd */ ,
{{6, 1, 53}, /* shli r2, r1, 53 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-9007199254740994ll /* 0xffdffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 53}, /* shli r3, r2, 53 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-9007199254740993ll /* 0xffdfffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 53}, /* shli r3, r1, 53 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-9007199254740992ll /* 0xffe0000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 53}} /* shli r3, r2, 53 */
},
{-9007199254740991ll /* 0xffe0000000000001 */ ,
{{6, 1, 53}, /* shli r2, r1, 53 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-9007199254740990ll /* 0xffe0000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 53}, /* shli r3, r1, 53 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-9007199254740989ll /* 0xffe0000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 53}, /* shli r3, r1, 53 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-9007199254740988ll /* 0xffe0000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 53}, /* shli r3, r1, 53 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-9007199254740987ll /* 0xffe0000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 53}, /* shli r3, r1, 53 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-9007199254740984ll /* 0xffe0000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 53}, /* shli r3, r1, 53 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-9007199254740983ll /* 0xffe0000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 53}, /* shli r3, r1, 53 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-6755399441055745ll /* 0xffe7ffffffffffff */ ,
{{6, 1, 51}, /* shli r2, r1, 51 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4503599627370504ll /* 0xffeffffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 52}, /* shli r3, r2, 52 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-4503599627370503ll /* 0xffeffffffffffff9 */ ,
{{6, 1, 52}, /* shli r2, r1, 52 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-4503599627370500ll /* 0xffeffffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 52}, /* shli r3, r2, 52 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-4503599627370499ll /* 0xffeffffffffffffd */ ,
{{6, 1, 52}, /* shli r2, r1, 52 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-4503599627370498ll /* 0xffeffffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 52}, /* shli r3, r2, 52 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-4503599627370497ll /* 0xffefffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 52}, /* shli r3, r1, 52 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4503599627370496ll /* 0xfff0000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 52}} /* shli r3, r2, 52 */
},
{-4503599627370495ll /* 0xfff0000000000001 */ ,
{{6, 1, 52}, /* shli r2, r1, 52 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-4503599627370494ll /* 0xfff0000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 52}, /* shli r3, r1, 52 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4503599627370493ll /* 0xfff0000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 52}, /* shli r3, r1, 52 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4503599627370492ll /* 0xfff0000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 52}, /* shli r3, r1, 52 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4503599627370491ll /* 0xfff0000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 52}, /* shli r3, r1, 52 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4503599627370488ll /* 0xfff0000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 52}, /* shli r3, r1, 52 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4503599627370487ll /* 0xfff0000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 52}, /* shli r3, r1, 52 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-3377699720527873ll /* 0xfff3ffffffffffff */ ,
{{6, 1, 50}, /* shli r2, r1, 50 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2251799813685256ll /* 0xfff7fffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 51}, /* shli r3, r2, 51 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-2251799813685255ll /* 0xfff7fffffffffff9 */ ,
{{6, 1, 51}, /* shli r2, r1, 51 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-2251799813685252ll /* 0xfff7fffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 51}, /* shli r3, r2, 51 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-2251799813685251ll /* 0xfff7fffffffffffd */ ,
{{6, 1, 51}, /* shli r2, r1, 51 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-2251799813685250ll /* 0xfff7fffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 51}, /* shli r3, r2, 51 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-2251799813685249ll /* 0xfff7ffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 51}, /* shli r3, r1, 51 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2251799813685248ll /* 0xfff8000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 51}} /* shli r3, r2, 51 */
},
{-2251799813685247ll /* 0xfff8000000000001 */ ,
{{6, 1, 51}, /* shli r2, r1, 51 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-2251799813685246ll /* 0xfff8000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 51}, /* shli r3, r1, 51 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2251799813685245ll /* 0xfff8000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 51}, /* shli r3, r1, 51 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2251799813685244ll /* 0xfff8000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 51}, /* shli r3, r1, 51 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2251799813685243ll /* 0xfff8000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 51}, /* shli r3, r1, 51 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2251799813685240ll /* 0xfff8000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 51}, /* shli r3, r1, 51 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2251799813685239ll /* 0xfff8000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 51}, /* shli r3, r1, 51 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1688849860263937ll /* 0xfff9ffffffffffff */ ,
{{6, 1, 49}, /* shli r2, r1, 49 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1125899906842632ll /* 0xfffbfffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 50}, /* shli r3, r2, 50 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-1125899906842631ll /* 0xfffbfffffffffff9 */ ,
{{6, 1, 50}, /* shli r2, r1, 50 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-1125899906842628ll /* 0xfffbfffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 50}, /* shli r3, r2, 50 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-1125899906842627ll /* 0xfffbfffffffffffd */ ,
{{6, 1, 50}, /* shli r2, r1, 50 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-1125899906842626ll /* 0xfffbfffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 50}, /* shli r3, r2, 50 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-1125899906842625ll /* 0xfffbffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 50}, /* shli r3, r1, 50 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1125899906842624ll /* 0xfffc000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 50}} /* shli r3, r2, 50 */
},
{-1125899906842623ll /* 0xfffc000000000001 */ ,
{{6, 1, 50}, /* shli r2, r1, 50 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-1125899906842622ll /* 0xfffc000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 50}, /* shli r3, r1, 50 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1125899906842621ll /* 0xfffc000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 50}, /* shli r3, r1, 50 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1125899906842620ll /* 0xfffc000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 50}, /* shli r3, r1, 50 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1125899906842619ll /* 0xfffc000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 50}, /* shli r3, r1, 50 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1125899906842616ll /* 0xfffc000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 50}, /* shli r3, r1, 50 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1125899906842615ll /* 0xfffc000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 50}, /* shli r3, r1, 50 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-844424930131969ll /* 0xfffcffffffffffff */ ,
{{6, 1, 48}, /* shli r2, r1, 48 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-562949953421320ll /* 0xfffdfffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 49}, /* shli r3, r2, 49 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-562949953421319ll /* 0xfffdfffffffffff9 */ ,
{{6, 1, 49}, /* shli r2, r1, 49 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-562949953421316ll /* 0xfffdfffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 49}, /* shli r3, r2, 49 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-562949953421315ll /* 0xfffdfffffffffffd */ ,
{{6, 1, 49}, /* shli r2, r1, 49 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-562949953421314ll /* 0xfffdfffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 49}, /* shli r3, r2, 49 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-562949953421313ll /* 0xfffdffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 49}, /* shli r3, r1, 49 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-562949953421312ll /* 0xfffe000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 49}} /* shli r3, r2, 49 */
},
{-562949953421311ll /* 0xfffe000000000001 */ ,
{{6, 1, 49}, /* shli r2, r1, 49 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-562949953421310ll /* 0xfffe000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 49}, /* shli r3, r1, 49 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-562949953421309ll /* 0xfffe000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 49}, /* shli r3, r1, 49 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-562949953421308ll /* 0xfffe000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 49}, /* shli r3, r1, 49 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-562949953421307ll /* 0xfffe000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 49}, /* shli r3, r1, 49 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-562949953421304ll /* 0xfffe000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 49}, /* shli r3, r1, 49 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-562949953421303ll /* 0xfffe000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 49}, /* shli r3, r1, 49 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-422212465065985ll /* 0xfffe7fffffffffff */ ,
{{6, 1, 47}, /* shli r2, r1, 47 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-281474976710664ll /* 0xfffefffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 48}, /* shli r3, r2, 48 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-281474976710663ll /* 0xfffefffffffffff9 */ ,
{{6, 1, 48}, /* shli r2, r1, 48 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-281474976710660ll /* 0xfffefffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 48}, /* shli r3, r2, 48 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-281474976710659ll /* 0xfffefffffffffffd */ ,
{{6, 1, 48}, /* shli r2, r1, 48 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-281474976710658ll /* 0xfffefffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 48}, /* shli r3, r2, 48 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-281474976710657ll /* 0xfffeffffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 48}, /* shli r3, r1, 48 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-281474976710656ll /* 0xffff000000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 48}} /* shli r3, r2, 48 */
},
{-281474976710655ll /* 0xffff000000000001 */ ,
{{6, 1, 48}, /* shli r2, r1, 48 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-281474976710654ll /* 0xffff000000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 48}, /* shli r3, r1, 48 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-281474976710653ll /* 0xffff000000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 48}, /* shli r3, r1, 48 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-281474976710652ll /* 0xffff000000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 48}, /* shli r3, r1, 48 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-281474976710651ll /* 0xffff000000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 48}, /* shli r3, r1, 48 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-281474976710648ll /* 0xffff000000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 48}, /* shli r3, r1, 48 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-281474976710647ll /* 0xffff000000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 48}, /* shli r3, r1, 48 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-211106232532993ll /* 0xffff3fffffffffff */ ,
{{6, 1, 46}, /* shli r2, r1, 46 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-140737488355336ll /* 0xffff7ffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 47}, /* shli r3, r2, 47 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-140737488355335ll /* 0xffff7ffffffffff9 */ ,
{{6, 1, 47}, /* shli r2, r1, 47 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-140737488355332ll /* 0xffff7ffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 47}, /* shli r3, r2, 47 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-140737488355331ll /* 0xffff7ffffffffffd */ ,
{{6, 1, 47}, /* shli r2, r1, 47 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-140737488355330ll /* 0xffff7ffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 47}, /* shli r3, r2, 47 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-140737488355329ll /* 0xffff7fffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 47}, /* shli r3, r1, 47 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-140737488355328ll /* 0xffff800000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 47}} /* shli r3, r2, 47 */
},
{-140737488355327ll /* 0xffff800000000001 */ ,
{{6, 1, 47}, /* shli r2, r1, 47 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-140737488355326ll /* 0xffff800000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 47}, /* shli r3, r1, 47 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-140737488355325ll /* 0xffff800000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 47}, /* shli r3, r1, 47 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-140737488355324ll /* 0xffff800000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 47}, /* shli r3, r1, 47 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-140737488355323ll /* 0xffff800000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 47}, /* shli r3, r1, 47 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-140737488355320ll /* 0xffff800000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 47}, /* shli r3, r1, 47 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-140737488355319ll /* 0xffff800000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 47}, /* shli r3, r1, 47 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-105553116266497ll /* 0xffff9fffffffffff */ ,
{{6, 1, 45}, /* shli r2, r1, 45 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-70368744177672ll /* 0xffffbffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 46}, /* shli r3, r2, 46 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-70368744177671ll /* 0xffffbffffffffff9 */ ,
{{6, 1, 46}, /* shli r2, r1, 46 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-70368744177668ll /* 0xffffbffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 46}, /* shli r3, r2, 46 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-70368744177667ll /* 0xffffbffffffffffd */ ,
{{6, 1, 46}, /* shli r2, r1, 46 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-70368744177666ll /* 0xffffbffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 46}, /* shli r3, r2, 46 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-70368744177665ll /* 0xffffbfffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 46}, /* shli r3, r1, 46 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-70368744177664ll /* 0xffffc00000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 46}} /* shli r3, r2, 46 */
},
{-70368744177663ll /* 0xffffc00000000001 */ ,
{{6, 1, 46}, /* shli r2, r1, 46 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-70368744177662ll /* 0xffffc00000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 46}, /* shli r3, r1, 46 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-70368744177661ll /* 0xffffc00000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 46}, /* shli r3, r1, 46 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-70368744177660ll /* 0xffffc00000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 46}, /* shli r3, r1, 46 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-70368744177659ll /* 0xffffc00000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 46}, /* shli r3, r1, 46 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-70368744177656ll /* 0xffffc00000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 46}, /* shli r3, r1, 46 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-70368744177655ll /* 0xffffc00000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 46}, /* shli r3, r1, 46 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-52776558133249ll /* 0xffffcfffffffffff */ ,
{{6, 1, 44}, /* shli r2, r1, 44 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-35184372088840ll /* 0xffffdffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 45}, /* shli r3, r2, 45 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-35184372088839ll /* 0xffffdffffffffff9 */ ,
{{6, 1, 45}, /* shli r2, r1, 45 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-35184372088836ll /* 0xffffdffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 45}, /* shli r3, r2, 45 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-35184372088835ll /* 0xffffdffffffffffd */ ,
{{6, 1, 45}, /* shli r2, r1, 45 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-35184372088834ll /* 0xffffdffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 45}, /* shli r3, r2, 45 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-35184372088833ll /* 0xffffdfffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 45}, /* shli r3, r1, 45 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-35184372088832ll /* 0xffffe00000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 45}} /* shli r3, r2, 45 */
},
{-35184372088831ll /* 0xffffe00000000001 */ ,
{{6, 1, 45}, /* shli r2, r1, 45 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-35184372088830ll /* 0xffffe00000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 45}, /* shli r3, r1, 45 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-35184372088829ll /* 0xffffe00000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 45}, /* shli r3, r1, 45 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-35184372088828ll /* 0xffffe00000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 45}, /* shli r3, r1, 45 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-35184372088827ll /* 0xffffe00000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 45}, /* shli r3, r1, 45 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-35184372088824ll /* 0xffffe00000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 45}, /* shli r3, r1, 45 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-35184372088823ll /* 0xffffe00000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 45}, /* shli r3, r1, 45 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-26388279066625ll /* 0xffffe7ffffffffff */ ,
{{6, 1, 43}, /* shli r2, r1, 43 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-17592186044424ll /* 0xffffeffffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 44}, /* shli r3, r2, 44 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-17592186044423ll /* 0xffffeffffffffff9 */ ,
{{6, 1, 44}, /* shli r2, r1, 44 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-17592186044420ll /* 0xffffeffffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 44}, /* shli r3, r2, 44 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-17592186044419ll /* 0xffffeffffffffffd */ ,
{{6, 1, 44}, /* shli r2, r1, 44 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-17592186044418ll /* 0xffffeffffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 44}, /* shli r3, r2, 44 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-17592186044417ll /* 0xffffefffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 44}, /* shli r3, r1, 44 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-17592186044416ll /* 0xfffff00000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 44}} /* shli r3, r2, 44 */
},
{-17592186044415ll /* 0xfffff00000000001 */ ,
{{6, 1, 44}, /* shli r2, r1, 44 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-17592186044414ll /* 0xfffff00000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 44}, /* shli r3, r1, 44 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-17592186044413ll /* 0xfffff00000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 44}, /* shli r3, r1, 44 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-17592186044412ll /* 0xfffff00000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 44}, /* shli r3, r1, 44 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-17592186044411ll /* 0xfffff00000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 44}, /* shli r3, r1, 44 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-17592186044408ll /* 0xfffff00000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 44}, /* shli r3, r1, 44 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-17592186044407ll /* 0xfffff00000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 44}, /* shli r3, r1, 44 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-13194139533313ll /* 0xfffff3ffffffffff */ ,
{{6, 1, 42}, /* shli r2, r1, 42 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-8796093022216ll /* 0xfffff7fffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 43}, /* shli r3, r2, 43 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-8796093022215ll /* 0xfffff7fffffffff9 */ ,
{{6, 1, 43}, /* shli r2, r1, 43 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-8796093022212ll /* 0xfffff7fffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 43}, /* shli r3, r2, 43 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-8796093022211ll /* 0xfffff7fffffffffd */ ,
{{6, 1, 43}, /* shli r2, r1, 43 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-8796093022210ll /* 0xfffff7fffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 43}, /* shli r3, r2, 43 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-8796093022209ll /* 0xfffff7ffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 43}, /* shli r3, r1, 43 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-8796093022208ll /* 0xfffff80000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 43}} /* shli r3, r2, 43 */
},
{-8796093022207ll /* 0xfffff80000000001 */ ,
{{6, 1, 43}, /* shli r2, r1, 43 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-8796093022206ll /* 0xfffff80000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 43}, /* shli r3, r1, 43 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-8796093022205ll /* 0xfffff80000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 43}, /* shli r3, r1, 43 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-8796093022204ll /* 0xfffff80000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 43}, /* shli r3, r1, 43 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-8796093022203ll /* 0xfffff80000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 43}, /* shli r3, r1, 43 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-8796093022200ll /* 0xfffff80000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 43}, /* shli r3, r1, 43 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-8796093022199ll /* 0xfffff80000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 43}, /* shli r3, r1, 43 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-6597069766657ll /* 0xfffff9ffffffffff */ ,
{{6, 1, 41}, /* shli r2, r1, 41 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4398046511112ll /* 0xfffffbfffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 42}, /* shli r3, r2, 42 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-4398046511111ll /* 0xfffffbfffffffff9 */ ,
{{6, 1, 42}, /* shli r2, r1, 42 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-4398046511108ll /* 0xfffffbfffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 42}, /* shli r3, r2, 42 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-4398046511107ll /* 0xfffffbfffffffffd */ ,
{{6, 1, 42}, /* shli r2, r1, 42 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-4398046511106ll /* 0xfffffbfffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 42}, /* shli r3, r2, 42 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-4398046511105ll /* 0xfffffbffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 42}, /* shli r3, r1, 42 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4398046511104ll /* 0xfffffc0000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 42}} /* shli r3, r2, 42 */
},
{-4398046511103ll /* 0xfffffc0000000001 */ ,
{{6, 1, 42}, /* shli r2, r1, 42 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-4398046511102ll /* 0xfffffc0000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 42}, /* shli r3, r1, 42 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4398046511101ll /* 0xfffffc0000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 42}, /* shli r3, r1, 42 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4398046511100ll /* 0xfffffc0000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 42}, /* shli r3, r1, 42 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4398046511099ll /* 0xfffffc0000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 42}, /* shli r3, r1, 42 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4398046511096ll /* 0xfffffc0000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 42}, /* shli r3, r1, 42 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-4398046511095ll /* 0xfffffc0000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 42}, /* shli r3, r1, 42 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-3298534883329ll /* 0xfffffcffffffffff */ ,
{{6, 1, 40}, /* shli r2, r1, 40 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2199023255560ll /* 0xfffffdfffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 41}, /* shli r3, r2, 41 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-2199023255559ll /* 0xfffffdfffffffff9 */ ,
{{6, 1, 41}, /* shli r2, r1, 41 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-2199023255556ll /* 0xfffffdfffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 41}, /* shli r3, r2, 41 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-2199023255555ll /* 0xfffffdfffffffffd */ ,
{{6, 1, 41}, /* shli r2, r1, 41 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-2199023255554ll /* 0xfffffdfffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 41}, /* shli r3, r2, 41 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-2199023255553ll /* 0xfffffdffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 41}, /* shli r3, r1, 41 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2199023255552ll /* 0xfffffe0000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 41}} /* shli r3, r2, 41 */
},
{-2199023255551ll /* 0xfffffe0000000001 */ ,
{{6, 1, 41}, /* shli r2, r1, 41 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-2199023255550ll /* 0xfffffe0000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 41}, /* shli r3, r1, 41 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2199023255549ll /* 0xfffffe0000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 41}, /* shli r3, r1, 41 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2199023255548ll /* 0xfffffe0000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 41}, /* shli r3, r1, 41 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2199023255547ll /* 0xfffffe0000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 41}, /* shli r3, r1, 41 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2199023255544ll /* 0xfffffe0000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 41}, /* shli r3, r1, 41 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-2199023255543ll /* 0xfffffe0000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 41}, /* shli r3, r1, 41 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1649267441665ll /* 0xfffffe7fffffffff */ ,
{{6, 1, 39}, /* shli r2, r1, 39 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1099511627784ll /* 0xfffffefffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 40}, /* shli r3, r2, 40 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-1099511627783ll /* 0xfffffefffffffff9 */ ,
{{6, 1, 40}, /* shli r2, r1, 40 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-1099511627780ll /* 0xfffffefffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 40}, /* shli r3, r2, 40 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-1099511627779ll /* 0xfffffefffffffffd */ ,
{{6, 1, 40}, /* shli r2, r1, 40 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-1099511627778ll /* 0xfffffefffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 40}, /* shli r3, r2, 40 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-1099511627777ll /* 0xfffffeffffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 40}, /* shli r3, r1, 40 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1099511627776ll /* 0xffffff0000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 40}} /* shli r3, r2, 40 */
},
{-1099511627775ll /* 0xffffff0000000001 */ ,
{{6, 1, 40}, /* shli r2, r1, 40 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-1099511627774ll /* 0xffffff0000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 40}, /* shli r3, r1, 40 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1099511627773ll /* 0xffffff0000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 40}, /* shli r3, r1, 40 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1099511627772ll /* 0xffffff0000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 40}, /* shli r3, r1, 40 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1099511627771ll /* 0xffffff0000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 40}, /* shli r3, r1, 40 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1099511627768ll /* 0xffffff0000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 40}, /* shli r3, r1, 40 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-1099511627767ll /* 0xffffff0000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 40}, /* shli r3, r1, 40 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-824633720833ll /* 0xffffff3fffffffff */ ,
{{6, 1, 38}, /* shli r2, r1, 38 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-549755813896ll /* 0xffffff7ffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 39}, /* shli r3, r2, 39 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-549755813895ll /* 0xffffff7ffffffff9 */ ,
{{6, 1, 39}, /* shli r2, r1, 39 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-549755813892ll /* 0xffffff7ffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 39}, /* shli r3, r2, 39 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-549755813891ll /* 0xffffff7ffffffffd */ ,
{{6, 1, 39}, /* shli r2, r1, 39 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-549755813890ll /* 0xffffff7ffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 39}, /* shli r3, r2, 39 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-549755813889ll /* 0xffffff7fffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 39}, /* shli r3, r1, 39 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-549755813888ll /* 0xffffff8000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 39}} /* shli r3, r2, 39 */
},
{-549755813887ll /* 0xffffff8000000001 */ ,
{{6, 1, 39}, /* shli r2, r1, 39 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-549755813886ll /* 0xffffff8000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 39}, /* shli r3, r1, 39 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-549755813885ll /* 0xffffff8000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 39}, /* shli r3, r1, 39 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-549755813884ll /* 0xffffff8000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 39}, /* shli r3, r1, 39 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-549755813883ll /* 0xffffff8000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 39}, /* shli r3, r1, 39 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-549755813880ll /* 0xffffff8000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 39}, /* shli r3, r1, 39 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-549755813879ll /* 0xffffff8000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 39}, /* shli r3, r1, 39 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-412316860417ll /* 0xffffff9fffffffff */ ,
{{6, 1, 37}, /* shli r2, r1, 37 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-274877906952ll /* 0xffffffbffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 38}, /* shli r3, r2, 38 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-274877906951ll /* 0xffffffbffffffff9 */ ,
{{6, 1, 38}, /* shli r2, r1, 38 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-274877906948ll /* 0xffffffbffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 38}, /* shli r3, r2, 38 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-274877906947ll /* 0xffffffbffffffffd */ ,
{{6, 1, 38}, /* shli r2, r1, 38 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-274877906946ll /* 0xffffffbffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 38}, /* shli r3, r2, 38 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-274877906945ll /* 0xffffffbfffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 38}, /* shli r3, r1, 38 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-274877906944ll /* 0xffffffc000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 38}} /* shli r3, r2, 38 */
},
{-274877906943ll /* 0xffffffc000000001 */ ,
{{6, 1, 38}, /* shli r2, r1, 38 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-274877906942ll /* 0xffffffc000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 38}, /* shli r3, r1, 38 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-274877906941ll /* 0xffffffc000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 38}, /* shli r3, r1, 38 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-274877906940ll /* 0xffffffc000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 38}, /* shli r3, r1, 38 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-274877906939ll /* 0xffffffc000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 38}, /* shli r3, r1, 38 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-274877906936ll /* 0xffffffc000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 38}, /* shli r3, r1, 38 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-274877906935ll /* 0xffffffc000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 38}, /* shli r3, r1, 38 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-206158430209ll /* 0xffffffcfffffffff */ ,
{{6, 1, 36}, /* shli r2, r1, 36 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-137438953480ll /* 0xffffffdffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 37}, /* shli r3, r2, 37 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-137438953479ll /* 0xffffffdffffffff9 */ ,
{{6, 1, 37}, /* shli r2, r1, 37 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-137438953476ll /* 0xffffffdffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 37}, /* shli r3, r2, 37 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-137438953475ll /* 0xffffffdffffffffd */ ,
{{6, 1, 37}, /* shli r2, r1, 37 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-137438953474ll /* 0xffffffdffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 37}, /* shli r3, r2, 37 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-137438953473ll /* 0xffffffdfffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 37}, /* shli r3, r1, 37 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-137438953472ll /* 0xffffffe000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 37}} /* shli r3, r2, 37 */
},
{-137438953471ll /* 0xffffffe000000001 */ ,
{{6, 1, 37}, /* shli r2, r1, 37 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-137438953470ll /* 0xffffffe000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 37}, /* shli r3, r1, 37 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-137438953469ll /* 0xffffffe000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 37}, /* shli r3, r1, 37 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-137438953468ll /* 0xffffffe000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 37}, /* shli r3, r1, 37 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-137438953467ll /* 0xffffffe000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 37}, /* shli r3, r1, 37 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-137438953464ll /* 0xffffffe000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 37}, /* shli r3, r1, 37 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-137438953463ll /* 0xffffffe000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 37}, /* shli r3, r1, 37 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-103079215105ll /* 0xffffffe7ffffffff */ ,
{{6, 1, 35}, /* shli r2, r1, 35 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-68719476744ll /* 0xffffffeffffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 36}, /* shli r3, r2, 36 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-68719476743ll /* 0xffffffeffffffff9 */ ,
{{6, 1, 36}, /* shli r2, r1, 36 */
{5, 1, 2}, /* shl3add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-68719476740ll /* 0xffffffeffffffffc */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 36}, /* shli r3, r2, 36 */
{4, 2, 3}} /* shl2add r4, r2, r3 */
},
{-68719476739ll /* 0xffffffeffffffffd */ ,
{{6, 1, 36}, /* shli r2, r1, 36 */
{4, 1, 2}, /* shl2add r3, r1, r2 */
{2, 1, 3}} /* sub r4, r1, r3 */
},
{-68719476738ll /* 0xffffffeffffffffe */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 36}, /* shli r3, r2, 36 */
{3, 2, 3}} /* shl1add r4, r2, r3 */
},
{-68719476737ll /* 0xffffffefffffffff */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 1, 36}, /* shli r3, r1, 36 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-68719476736ll /* 0xfffffff000000000 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 36}} /* shli r3, r2, 36 */
},
{-68719476735ll /* 0xfffffff000000001 */ ,
{{6, 1, 36}, /* shli r2, r1, 36 */
{2, 1, 2}} /* sub r3, r1, r2 */
},
{-68719476734ll /* 0xfffffff000000002 */ ,
{{6, 1, 1}, /* shli r2, r1, 1 */
{6, 1, 36}, /* shli r3, r1, 36 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-68719476733ll /* 0xfffffff000000003 */ ,
{{3, 1, 1}, /* shl1add r2, r1, r1 */
{6, 1, 36}, /* shli r3, r1, 36 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-68719476732ll /* 0xfffffff000000004 */ ,
{{6, 1, 2}, /* shli r2, r1, 2 */
{6, 1, 36}, /* shli r3, r1, 36 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-68719476731ll /* 0xfffffff000000005 */ ,
{{4, 1, 1}, /* shl2add r2, r1, r1 */
{6, 1, 36}, /* shli r3, r1, 36 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-68719476728ll /* 0xfffffff000000008 */ ,
{{6, 1, 3}, /* shli r2, r1, 3 */
{6, 1, 36}, /* shli r3, r1, 36 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-68719476727ll /* 0xfffffff000000009 */ ,
{{5, 1, 1}, /* shl3add r2, r1, r1 */
{6, 1, 36}, /* shli r3, r1, 36 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-51539607553ll /* 0xfffffff3ffffffff */ ,
{{6, 1, 34}, /* shli r2, r1, 34 */
{4, 2, 1}, /* shl2add r3, r2, r1 */
{2, 2, 3}} /* sub r4, r2, r3 */
},
{-34359738376ll /* 0xfffffff7fffffff8 */ ,
{{2, 0, 1}, /* sub r2, zero, r1 */
{6, 2, 35}, /* shli r3, r2, 35 */
{5, 2, 3}} /* shl3add r4, r2, r3 */
},
{-34359738375ll /* 0xfffffff7fffffff9 */ ,
{{6, 1, 35}, /* shli r2, r1, 35 */
{