/* This is a generated file. DO NOT EDIT! */

static const FoldFunc fold_func[] = {
  fold_kfold_numarith,
  fold_kfold_ldexp,
  fold_kfold_fpmath,
  fold_kfold_numpow,
  fold_kfold_numcomp,
  fold_kfold_intarith,
  fold_kfold_intovarith,
  fold_kfold_bnot,
  fold_kfold_bswap,
  fold_kfold_intcomp,
  fold_kfold_intcomp0,
  fold_kfold_int64arith,
  fold_kfold_int64arith2,
  fold_kfold_int64shift,
  fold_kfold_bnot64,
  fold_kfold_bswap64,
  fold_kfold_int64comp,
  fold_kfold_int64comp0,
  fold_kfold_snew_kptr,
  fold_kfold_snew_empty,
  fold_kfold_strref,
  fold_kfold_strref_snew,
  fold_kfold_strcmp,
  fold_kfold_add_kgc,
  fold_kfold_add_kptr,
  fold_kfold_tobit,
  fold_kfold_conv_kint_num,
  fold_kfold_conv_kintu32_num,
  fold_kfold_conv_kint_i64,
  fold_kfold_conv_kint64_num_i64,
  fold_kfold_conv_kint64_num_u64,
  fold_kfold_conv_kint64_int_i64,
  fold_kfold_conv_knum_int_num,
  fold_kfold_conv_knum_u32_num,
  fold_kfold_conv_knum_i64_num,
  fold_kfold_conv_knum_u64_num,
  fold_kfold_tostr_knum,
  fold_kfold_tostr_kint,
  fold_kfold_strto,
  lj_opt_cse,
  fold_kfold_kref,
  fold_shortcut_round,
  fold_shortcut_left,
  fold_shortcut_dropleft,
  fold_shortcut_leftleft,
  fold_simplify_numadd_negx,
  fold_simplify_numadd_xneg,
  fold_simplify_numsub_k,
  fold_simplify_numsub_negk,
  fold_simplify_numsub_xneg,
  fold_simplify_nummuldiv_k,
  fold_simplify_nummuldiv_negk,
  fold_simplify_nummuldiv_negneg,
  fold_simplify_numpow_xk,
  fold_simplify_numpow_kx,
  fold_shortcut_conv_num_int,
  fold_simplify_conv_int_num,
  fold_simplify_conv_u32_num,
  fold_simplify_conv_i64_num,
  fold_simplify_conv_int_i64,
  fold_simplify_conv_flt_num,
  fold_simplify_tobit_conv,
  fold_simplify_floor_conv,
  fold_simplify_conv_sext,
  fold_simplify_conv_narrow,
  fold_cse_conv,
  fold_narrow_convert,
  fold_simplify_intadd_k,
  fold_simplify_intmul_k,
  fold_simplify_intsub_k,
  fold_simplify_intsub_kleft,
  fold_simplify_intadd_k64,
  fold_simplify_intsub_k64,
  fold_simplify_intmul_k32,
  fold_simplify_intmul_k64,
  fold_simplify_intmod_k,
  fold_simplify_intmod_kleft,
  fold_simplify_intsub,
  fold_simplify_intsubadd_leftcancel,
  fold_simplify_intsubsub_leftcancel,
  fold_simplify_intsubsub_rightcancel,
  fold_simplify_intsubadd_rightcancel,
  fold_simplify_intsubaddadd_cancel,
  fold_simplify_band_k,
  fold_simplify_bor_k,
  fold_simplify_bxor_k,
  fold_simplify_shift_ik,
  fold_simplify_shift_andk,
  fold_simplify_shift1_ki,
  fold_simplify_shift2_ki,
  fold_simplify_shiftk_andk,
  fold_simplify_andk_shiftk,
  fold_reassoc_intarith_k,
  fold_reassoc_intarith_k64,
  fold_reassoc_dup,
  fold_reassoc_bxor,
  fold_reassoc_shift,
  fold_reassoc_minmax_k,
  fold_reassoc_minmax_left,
  fold_reassoc_minmax_right,
  fold_abc_fwd,
  fold_abc_k,
  fold_abc_invar,
  fold_comm_swap,
  fold_comm_equal,
  fold_comm_comp,
  fold_comm_dup,
  fold_comm_bxor,
  fold_merge_eqne_snew_kgc,
  lj_opt_fwd_aload,
  fold_kfold_hload_kkptr,
  lj_opt_fwd_hload,
  lj_opt_fwd_uload,
  lj_opt_fwd_tab_len,
  fold_cse_uref,
  fold_fwd_href_tnew,
  fold_fwd_href_tdup,
  fold_fload_tab_tnew_asize,
  fold_fload_tab_tnew_hmask,
  fold_fload_tab_tdup_asize,
  fold_fload_tab_tdup_hmask,
  fold_fload_tab_ah,
  fold_fload_str_len_kgc,
  fold_fload_str_len_snew,
  fold_fload_cdata_typeid_kgc,
  fold_fload_cdata_int64_kgc,
  fold_fload_cdata_typeid_cnew,
  fold_fload_cdata_ptr_int64_cnew,
  lj_opt_cse,
  lj_opt_fwd_fload,
  fold_fwd_sload,
  fold_xload_kptr,
  lj_opt_fwd_xload,
  fold_barrier_tab,
  fold_barrier_tnew_tdup,
  lj_opt_dse_ahstore,
  lj_opt_dse_ustore,
  lj_opt_dse_fstore,
  lj_opt_dse_xstore,
  lj_ir_emit
};

static const uint32_t fold_hash[810] = {
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x5a427814,
0x0c52681a,
0x5d40801a,
0x6907ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x8991ffff,
0x74713415,
0xffffffff,
0x86a13000,
0x0b3e681a,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x06665014,
0x147a5414,
0x86a13400,
0xffffffff,
0xffffffff,
0x564bfc14,
0x8083fc0c,
0x4e4e9bff,
0x00586419,
0x4d69ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x60428414,
0x28105415,
0xffffffff,
0xffffffff,
0x4f4e9fff,
0x76833007,
0xffffffff,
0xffffffff,
0x053e5014,
0xffffffff,
0x2f4ffc19,
0x1fa66a95,
0x594a6bff,
0xffffffff,
0xffffffff,
0xffffffff,
0x6b41ffff,
0x78833407,
0xffffffff,
0xffffffff,
0xffffffff,
0x42a69a6e,
0x594853ff,
0xffffffff,
0x8b9bfc00,
0x83845fff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x10046814,
0xffffffff,
0x42a69e6e,
0xffffffff,
0xffffffff,
0x5d3e7c1a,
0x504ffc27,
0x04086419,
0xffffffff,
0xffffffff,
0x09025014,
0xffffffff,
0x85a3ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x0b50681a,
0xffffffff,
0x6905ffff,
0x7d82540d,
0xffffffff,
0xffffffff,
0xffffffff,
0x888fffff,
0xffffffff,
0x22a666ae,
0xffffffff,
0x0b3c681a,
0xffffffff,
0xffffffff,
0xffffffff,
0x71b1fc08,
0xffffffff,
0xffffffff,
0x524e9826,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x5c408014,
0xffffffff,
0xffffffff,
0x5649fc14,
0xffffffff,
0xffffffff,
0x6767ffff,
0xffffffff,
0xffffffff,
0x05505014,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x110bfc1a,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x053c5014,
0xffffffff,
0x3e654c00,
0xffffffff,
0x59486bff,
0x7983fc06,
0xffffffff,
0xffffffff,
0x6a3fffff,
0xffffffff,
0xffffffff,
0x6262c3ff,
0xffffffff,
0xffffffff,
0x594653ff,
0xffffffff,
0x5d3c781a,
0x42a89819,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x09145014,
0x10026814,
0x5e62c7ff,
0x8bb5ffff,
0xffffffff,
0xffffffff,
0x42a89c19,
0xffffffff,
0x04066419,
0x8b17ffff,
0xffffffff,
0x09005014,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x0b4e681a,
0xffffffff,
0x6903ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x878dffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x5c3e7c14,
0x2b5ab019,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x2d4cb3ff,
0xffffffff,
0xffffffff,
0xffffffff,
0x05625014,
0x174c541a,
0x2a5ab419,
0x40a69a76,
0xffffffff,
0x5647fc14,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x054e5014,
0x2812681a,
0x184c581a,
0x40a69e76,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x6751ffff,
0x3ba74e75,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x184c5c1a,
0x59466bff,
0x40a6a276,
0xffffffff,
0x1ca652b3,
0x6a3dffff,
0xffffffff,
0xffffffff,
0x5e60c3ff,
0xffffffff,
0xffffffff,
0x584453ff,
0xffffffff,
0x0a0bfc14,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x1395fc14,
0x28125014,
0x10006814,
0x6260c7ff,
0x8bb3ffff,
0x1da669d5,
0x8083fc00,
0xffffffff,
0xffffffff,
0x04046419,
0x6615ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x5c3c7814,
0x0b4c681a,
0x7e83380c,
0x42a69aae,
0x6901ffff,
0x5d50a01a,
0xffffffff,
0xffffffff,
0x2964c801,
0x878bffff,
0x314ffc2c,
0xffffffff,
0xffffffff,
0xffffffff,
0x7e833c0c,
0x42a69eae,
0x8083fc0e,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x05605014,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x5645fc14,
0x157b2bff,
0xffffffff,
0x00526419,
0x6a63ffff,
0xffffffff,
0x054c5014,
0x2810681a,
0xffffffff,
0x5b3c8414,
0xffffffff,
0xffffffff,
0x083a5000,
0xffffffff,
0x4d4fffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x174c5414,
0xffffffff,
0xffffffff,
0x5b3c8814,
0x58446bff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x184c5814,
0x584253ff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x6415fc26,
0x28105014,
0x39a74e8e,
0x8bb1ffff,
0x184c5c14,
0xffffffff,
0x7081fc00,
0xffffffff,
0xffffffff,
0x04026419,
0x6813ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x8b9dffff,
0xffffffff,
0xffffffff,
0x75833006,
0xffffffff,
0xffffffff,
0x1fa66a75,
0xffffffff,
0x5541fc1a,
0x446bfc14,
0xffffffff,
0x8089ffff,
0xffffffff,
0x2e4dfc2c,
0xffffffff,
0x77833406,
0xffffffff,
0xffffffff,
0xffffffff,
0x3557fc14,
0xffffffff,
0xffffffff,
0x8575ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x365667ff,
0xffffffff,
0x5643fc14,
0x5c50a014,
0x0f3a6800,
0x00506419,
0x6a61ffff,
0x514ffc26,
0x054a5014,
0xffffffff,
0x3e654c02,
0xffffffff,
0xffffffff,
0x2813fc18,
0x07385000,
0xffffffff,
0x674dffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x7c82540c,
0xffffffff,
0x4c5453ff,
0x58426bff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x5d4c981a,
0xffffffff,
0x2c3a7400,
0x574bfc1e,
0x090e5014,
0xffffffff,
0xffffffff,
0xffffffff,
0x6f7ffc00,
0xffffffff,
0xffffffff,
0x04006419,
0x6811ffff,
0xffffffff,
0x3fa7fed3,
0xffffffff,
0xffffffff,
0x7b832800,
0xffffffff,
0x015e6414,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x543ffc1a,
0x4369fc14,
0xffffffff,
0x7983fc05,
0x8287ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x21a6668e,
0x4b55fc14,
0x16af6c00,
0xffffffff,
0x00626419,
0x8b73ffff,
0x27130418,
0xffffffff,
0x0d4a6814,
0xffffffff,
0xffffffff,
0xffffffff,
0x5541fc14,
0xffffffff,
0x0e386800,
0x004e6419,
0xffffffff,
0xffffffff,
0x05485014,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x2811fc18,
0x1ba651d4,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x2c387000,
0xffffffff,
0xffffffff,
0x100e6814,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x04126419,
0xffffffff,
0x5749fc1e,
0x40a69a75,
0x090c5014,
0x26ac5400,
0x74713419,
0xffffffff,
0x5a4a7814,
0x6d7dfc00,
0xffffffff,
0x690fffff,
0xffffffff,
0x4a51fc1a,
0x40a69e75,
0xffffffff,
0x8b99ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x5c4c9814,
0x7f833c0e,
0x533dfc1a,
0x4367fc14,
0x2c58b3ff,
0x40a6a275,
0x8485ffff,
0xffffffff,
0x3aa74ece,
0x3352b019,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x6361fc31,
0x00606419,
0x7971ffff,
0x27110418,
0xffffffff,
0x0d486814,
0xffffffff,
0xffffffff,
0xffffffff,
0x543ffc14,
0xffffffff,
0xffffffff,
0x004c6419,
0xffffffff,
0xffffffff,
0x05465014,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x5f4083ff,
0xffffffff,
0xffffffff,
0xffffffff,
0x6162c414,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x2964c800,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x25aa5000,
0x100c6814,
0x8083fc0d,
0xffffffff,
0xffffffff,
0xffffffff,
0x8ba40000,
0xffffffff,
0x04106419,
0xffffffff,
0x5747fc1e,
0x090a5014,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x5a487814,
0xffffffff,
0x604a9414,
0x690dffff,
0xffffffff,
0x484ffc1a,
0xffffffff,
0xffffffff,
0x8b97ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x7a825400,
0x8183ffff,
0x74713413,
0xffffffff,
0xffffffff,
0x3350b019,
0xffffffff,
0x026467ff,
0xffffffff,
0x4951fc14,
0x6c132815,
0xffffffff,
0x005e6419,
0xffffffff,
0xffffffff,
0x05585014,
0x0d466814,
0x38a74e6e,
0x12945c14,
0x5e3e7fff,
0x533dfc14,
0xffffffff,
0xffffffff,
0x6160c014,
0xffffffff,
0xffffffff,
0x05445014,
0x24aa6400,
0x7d82540e,
0xffffffff,
0x727657ff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x23a666ce,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x464e53ff,
0xffffffff,
0x6515fc14,
0x85a1fc00,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x100a6814,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x60489014,
0xffffffff,
0x040e6419,
0xffffffff,
0x5745fc1e,
0x09085014,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x0c56681a,
0xffffffff,
0x690bffff,
0xffffffff,
0x474dfc1a,
0x3e654c01,
0xffffffff,
0x7983fc07,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x066a5014,
0x304eb019,
0xffffffff,
0x5e3c7bff,
0xffffffff,
0x454ffc14,
0x6c112815,
0xffffffff,
0x005c6419,
0xffffffff,
0xffffffff,
0xffffffff,
0x0d446814,
0xffffffff,
0xffffffff,
0x3da94c19,
0x37a74dd3,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x05425014,
0x3fa7feb3,
0x3253fc19,
0xffffffff,
0x464e6bff,
0x727457ff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x281263ff,
0xffffffff,
0xffffffff,
0x60468c14,
0x7983fc04,
0xffffffff,
0x737133ff,
0xffffffff,
0x20a6666e,
0xffffffff,
0x10086814,
0xffffffff,
0x3452b02c,
0x6363fc30,
0xffffffff,
0x6162c419,
0xffffffff,
0x040c6419,
0xffffffff,
0x5743fc1e,
0x09065014,
0xffffffff,
0x41a7ffff,
0xffffffff,
0xffffffff,
0x5a447814,
0x0c54681a,
0x3ba74e76,
0x6909ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x8a93ffff,
0x1aa651d3,
0xffffffff,
0x03566414,
0x0b40681a,
0x1ca652d3,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x06685014,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x434dfc14,
0xffffffff,
0x1ea669d6,
0x005a6419,
0x676bffff,
0xffffffff,
0x05545014,
0x0d426814,
0xffffffff,
0xffffffff,
0x28125415,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x6e7e5c00,
0xffffffff,
0x05405014,
0xffffffff,
0x3251fc19,
0xffffffff,
0x60448814,
0x2964c802,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x7f833c0d,
0xffffffff,
0x281063ff,
0x594a53ff,
0x3ca74dae,
0x6160c019,
0x3aa74eae,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x10066814,
0x19a86419,
0x3450b02c,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0x040a6419,
0xffffffff,
0xffffffff,
0x09045014,
0xffffffff
};

#define fold_hashkey(k)	(lj_rol(lj_rol((k),2)-(k),24)%809)

