Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save pashu123/3c242beb5b632ad51579b231c98c2449 to your computer and use it in GitHub Desktop.
Save pashu123/3c242beb5b632ad51579b231c98c2449 to your computer and use it in GitHub Desktop.
hal.executable public @main$async_dispatch_140 {
hal.executable.variant public @rocm_hsaco_fb target(<"rocm", "rocm-hsaco-fb", {abi = "hip", iree.gpu.target = #iree_gpu.target<arch = "gfx942", features = "", wgp = <compute = fp64|fp32|fp16|int64|int32|int16|int8, storage = b64|b32|b16|b8, subgroup = shuffle|arithmetic, dot = dp4xi8toi32, mma = [<MFMA_F32_16x16x4_F32>, <MFMA_F32_16x16x16_F16>, <MFMA_F32_32x32x8_F16>, <MFMA_F64_16x16x4_F64>, <MFMA_F32_16x16x16_BF16>, <MFMA_F32_32x32x8_BF16>, <MFMA_F32_16x16x32_F8E5M2FNUZ>, <MFMA_F32_16x16x32_F8E5M2FNUZ_F8E4M3FNUZ>, <MFMA_F32_16x16x32_F8E4M3FNUZ>, <MFMA_F32_16x16x32_F8E4M3FNUZ_F8E5M2FNUZ>, <MFMA_F32_32x32x16_F8E5M2FNUZ>, <MFMA_F32_32x32x16_F8E5M2FNUZ_F8E4M3FNUZ>, <MFMA_F32_32x32x16_F8E4M3FNUZ>, <MFMA_F32_32x32x16_F8E4M3FNUZ_F8E5M2FNUZ>, <MFMA_I32_16x16x32_I8>, <MFMA_I32_32x32x16_I8>], subgroup_size_choices = [64], max_workgroup_sizes = [1024, 1024, 1024], max_thread_count_per_workgroup = 1024, max_workgroup_memory_bytes = 65536, max_workgroup_counts = [2147483647, 2147483647, 2147483647], max_load_instruction_bits = 128, simds_per_wgp = 4, vgpr_space_bits = 16384>>, ukernels = "none"}>) {
hal.executable.export public @main$async_dispatch_140_elementwise_2x1024x1280_f16xf32xf32xf16xf16xf16xf32xi8 ordinal(0) layout(#hal.pipeline.layout<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) {
^bb0(%arg0: !hal.device):
%x, %y, %z = flow.dispatch.workgroup_count_from_slice
hal.return %x, %y, %z : index, index, index
}
builtin.module {
func.func @main$async_dispatch_140_elementwise_2x1024x1280_f16xf32xf32xf16xf16xf16xf32xi8() {
%cst = arith.constant 1.270000e+02 : f16
%cst_0 = arith.constant -1.280000e+02 : f16
%cst_1 = arith.constant 9.99999974E-6 : f32
%cst_2 = arith.constant 1.280000e+03 : f32
%cst_3 = arith.constant 0.000000e+00 : f32
%0 = hal.interface.constant.load layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) ordinal(0) : i32
%1 = hal.interface.constant.load layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) ordinal(1) : i32
%2 = hal.interface.constant.load layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) ordinal(2) : i32
%3 = hal.interface.constant.load layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) ordinal(3) : i32
%4 = hal.interface.constant.load layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) ordinal(4) : i32
%5 = hal.interface.constant.load layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) ordinal(5) : i32
%6 = arith.index_castui %0 : i32 to index
%7 = arith.index_castui %1 : i32 to index
%8 = arith.index_castui %2 : i32 to index
%9 = arith.index_castui %3 : i32 to index
%10 = arith.index_castui %4 : i32 to index
%11 = arith.index_castui %5 : i32 to index
%12:6 = util.assume.int
%6[<umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 117058560, umax = 117058560, udiv = 117058560>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 111815680, umax = 111815680, udiv = 111815680>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 106572800, umax = 106572800, udiv = 106572800>, <umin = 48570880, umax = 48570880, udiv = 48570880>],
%7[<umin = 111036544, umax = 111036544, udiv = 111036544>, <umin = 117641664, umax = 117641664, udiv = 117641664>, <umin = 126217024, umax = 126217024, udiv = 126217024>, <umin = 145988032, umax = 145988032, udiv = 145988032>, <umin = 152593152, umax = 152593152, udiv = 152593152>, <umin = 161168512, umax = 161168512, udiv = 161168512>, <umin = 180939520, umax = 180939520, udiv = 180939520>, <umin = 187544640, umax = 187544640, udiv = 187544640>, <umin = 196120000, umax = 196120000, udiv = 196120000>, <umin = 215891008, umax = 215891008, udiv = 215891008>, <umin = 222496128, umax = 222496128, udiv = 222496128>, <umin = 231071488, umax = 231071488, udiv = 231071488>, <umin = 250842496, umax = 250842496, udiv = 250842496>, <umin = 257447616, umax = 257447616, udiv = 257447616>, <umin = 266022976, umax = 266022976, udiv = 266022976>, <umin = 285793984, umax = 285793984, udiv = 285793984>, <umin = 292399104, umax = 292399104, udiv = 292399104>, <umin = 300974464, umax = 300974464, udiv = 300974464>, <umin = 320745472, umax = 320745472, udiv = 320745472>, <umin = 327350592, umax = 327350592, udiv = 327350592>, <umin = 335925952, umax = 335925952, udiv = 335925952>, <umin = 355696960, umax = 355696960, udiv = 355696960>, <umin = 362302080, umax = 362302080, udiv = 362302080>, <umin = 370877440, umax = 370877440, udiv = 370877440>, <umin = 390648448, umax = 390648448, udiv = 390648448>, <umin = 397253568, umax = 397253568, udiv = 397253568>, <umin = 405828928, umax = 405828928, udiv = 405828928>, <umin = 425599936, umax = 425599936, udiv = 425599936>, <umin = 432205056, umax = 432205056, udiv = 432205056>, <umin = 440780416, umax = 440780416, udiv = 440780416>, <umin = 496668160, umax = 496668160, udiv = 496668160>, <umin = 503273280, umax = 503273280, udiv = 503273280>, <umin = 511848640, umax = 511848640, udiv = 511848640>, <umin = 531619648, umax = 531619648, udiv = 531619648>, <umin = 538224768, umax = 538224768, udiv = 538224768>, <umin = 546800128, umax = 546800128, udiv = 546800128>, <umin = 566571136, umax = 566571136, udiv = 566571136>, <umin = 573176256, umax = 573176256, udiv = 573176256>, <umin = 581751616, umax = 581751616, udiv = 581751616>, <umin = 601522624, umax = 601522624, udiv = 601522624>, <umin = 608127744, umax = 608127744, udiv = 608127744>, <umin = 616703104, umax = 616703104, udiv = 616703104>, <umin = 636474112, umax = 636474112, udiv = 636474112>, <umin = 643079232, umax = 643079232, udiv = 643079232>, <umin = 651654592, umax = 651654592, udiv = 651654592>, <umin = 671425600, umax = 671425600, udiv = 671425600>, <umin = 678030720, umax = 678030720, udiv = 678030720>, <umin = 686606080, umax = 686606080, udiv = 686606080>, <umin = 706377088, umax = 706377088, udiv = 706377088>, <umin = 712982208, umax = 712982208, udiv = 712982208>, <umin = 721557568, umax = 721557568, udiv = 721557568>, <umin = 741328576, umax = 741328576, udiv = 741328576>, <umin = 747933696, umax = 747933696, udiv = 747933696>, <umin = 756509056, umax = 756509056, udiv = 756509056>, <umin = 776280064, umax = 776280064, udiv = 776280064>, <umin = 782885184, umax = 782885184, udiv = 782885184>, <umin = 791460544, umax = 791460544, udiv = 791460544>, <umin = 811231552, umax = 811231552, udiv = 811231552>, <umin = 817836672, umax = 817836672, udiv = 817836672>, <umin = 826412032, umax = 826412032, udiv = 826412032>, <umin = 882299776, umax = 882299776, udiv = 882299776>, <umin = 888904896, umax = 888904896, udiv = 888904896>, <umin = 897480256, umax = 897480256, udiv = 897480256>, <umin = 917251264, umax = 917251264, udiv = 917251264>, <umin = 923856384, umax = 923856384, udiv = 923856384>, <umin = 932431744, umax = 932431744, udiv = 932431744>, <umin = 952202752, umax = 952202752, udiv = 952202752>, <umin = 958807872, umax = 958807872, udiv = 958807872>, <umin = 967383232, umax = 967383232, udiv = 967383232>, <umin = 987154240, umax = 987154240, udiv = 987154240>, <umin = 993759360, umax = 993759360, udiv = 993759360>, <umin = 1002334720, umax = 1002334720, udiv = 1002334720>, <umin = 1022105728, umax = 1022105728, udiv = 1022105728>, <umin = 1028710848, umax = 1028710848, udiv = 1028710848>, <umin = 1037286208, umax = 1037286208, udiv = 1037286208>, <umin = 1057057216, umax = 1057057216, udiv = 1057057216>, <umin = 1063662336, umax = 1063662336, udiv = 1063662336>, <umin = 1072237696, umax = 1072237696, udiv = 1072237696>, <umin = 1092008704, umax = 1092008704, udiv = 1092008704>, <umin = 1098613824, umax = 1098613824, udiv = 1098613824>, <umin = 1107189184, umax = 1107189184, udiv = 1107189184>, <umin = 1126960192, umax = 1126960192, udiv = 1126960192>, <umin = 1133565312, umax = 1133565312, udiv = 1133565312>, <umin = 1142140672, umax = 1142140672, udiv = 1142140672>, <umin = 1161911680, umax = 1161911680, udiv = 1161911680>, <umin = 1168516800, umax = 1168516800, udiv = 1168516800>, <umin = 1177092160, umax = 1177092160, udiv = 1177092160>, <umin = 1196863168, umax = 1196863168, udiv = 1196863168>, <umin = 1203468288, umax = 1203468288, udiv = 1203468288>, <umin = 1212043648, umax = 1212043648, udiv = 1212043648>, <umin = 1318785984, umax = 1318785984, udiv = 1318785984>, <umin = 1325391104, umax = 1325391104, udiv = 1325391104>, <umin = 1333966464, umax = 1333966464, udiv = 1333966464>, <umin = 1353737472, umax = 1353737472, udiv = 1353737472>, <umin = 1360342592, umax = 1360342592, udiv = 1360342592>, <umin = 1368917952, umax = 1368917952, udiv = 1368917952>, <umin = 1388688960, umax = 1388688960, udiv = 1388688960>, <umin = 1395294080, umax = 1395294080, udiv = 1395294080>, <umin = 1403869440, umax = 1403869440, udiv = 1403869440>, <umin = 1423640448, umax = 1423640448, udiv = 1423640448>, <umin = 1430245568, umax = 1430245568, udiv = 1430245568>, <umin = 1438820928, umax = 1438820928, udiv = 1438820928>, <umin = 1458591936, umax = 1458591936, udiv = 1458591936>, <umin = 1465197056, umax = 1465197056, udiv = 1465197056>, <umin = 1473772416, umax = 1473772416, udiv = 1473772416>, <umin = 1493543424, umax = 1493543424, udiv = 1493543424>, <umin = 1500148544, umax = 1500148544, udiv = 1500148544>, <umin = 1508723904, umax = 1508723904, udiv = 1508723904>, <umin = 1528494912, umax = 1528494912, udiv = 1528494912>, <umin = 1535100032, umax = 1535100032, udiv = 1535100032>, <umin = 1543675392, umax = 1543675392, udiv = 1543675392>, <umin = 1563446400, umax = 1563446400, udiv = 1563446400>, <umin = 1570051520, umax = 1570051520, udiv = 1570051520>, <umin = 1578626880, umax = 1578626880, udiv = 1578626880>, <umin = 1598397888, umax = 1598397888, udiv = 1598397888>, <umin = 1605003008, umax = 1605003008, udiv = 1605003008>, <umin = 1613578368, umax = 1613578368, udiv = 1613578368>, <umin = 1633349376, umax = 1633349376, udiv = 1633349376>, <umin = 1639954496, umax = 1639954496, udiv = 1639954496>, <umin = 1648529856, umax = 1648529856, udiv = 1648529856>, <umin = 1722463104, umax = 1722463104, udiv = 1722463104>, <umin = 1729068224, umax = 1729068224, udiv = 1729068224>, <umin = 1737643584, umax = 1737643584, udiv = 1737643584>, <umin = 1757414592, umax = 1757414592, udiv = 1757414592>, <umin = 1764019712, umax = 1764019712, udiv = 1764019712>, <umin = 1772595072, umax = 1772595072, udiv = 1772595072>, <umin = 1792366080, umax = 1792366080, udiv = 1792366080>, <umin = 1798971200, umax = 1798971200, udiv = 1798971200>, <umin = 1807546560, umax = 1807546560, udiv = 1807546560>, <umin = 1827317568, umax = 1827317568, udiv = 1827317568>, <umin = 1833922688, umax = 1833922688, udiv = 1833922688>, <umin = 1842498048, umax = 1842498048, udiv = 1842498048>, <umin = 1862269056, umax = 1862269056, udiv = 1862269056>, <umin = 1868874176, umax = 1868874176, udiv = 1868874176>, <umin = 1877449536, umax = 1877449536, udiv = 1877449536>, <umin = 1897220544, umax = 1897220544, udiv = 1897220544>, <umin = 1903825664, umax = 1903825664, udiv = 1903825664>, <umin = 1912401024, umax = 1912401024, udiv = 1912401024>, <umin = 1932172032, umax = 1932172032, udiv = 1932172032>, <umin = 1938777152, umax = 1938777152, udiv = 1938777152>, <umin = 1947352512, umax = 1947352512, udiv = 1947352512>, <umin = 1967123520, umax = 1967123520, udiv = 1967123520>, <umin = 1973728640, umax = 1973728640, udiv = 1973728640>, <umin = 1982304000, umax = 1982304000, udiv = 1982304000>, <umin = 2002075008, umax = 2002075008, udiv = 2002075008>, <umin = 2008680128, umax = 2008680128, udiv = 2008680128>, <umin = 2017255488, umax = 2017255488, udiv = 2017255488>, <umin = 2037026496, umax = 2037026496, udiv = 2037026496>, <umin = 2043631616, umax = 2043631616, udiv = 2043631616>, <umin = 2052206976, umax = 2052206976, udiv = 2052206976>, <umin = 2117943104, umax = 2117943104, udiv = 2117943104>, <umin = 2124548224, umax = 2124548224, udiv = 2124548224>, <umin = 2133123584, umax = 2133123584, udiv = 2133123584>, <umin = 2152894592, umax = 2152894592, udiv = 2152894592>, <umin = 2159499712, umax = 2159499712, udiv = 2159499712>, <umin = 2168075072, umax = 2168075072, udiv = 2168075072>, <umin = 2187846080, umax = 2187846080, udiv = 2187846080>, <umin = 2194451200, umax = 2194451200, udiv = 2194451200>, <umin = 2203026560, umax = 2203026560, udiv = 2203026560>, <umin = 2222797568, umax = 2222797568, udiv = 2222797568>, <umin = 2229402688, umax = 2229402688, udiv = 2229402688>, <umin = 2237978048, umax = 2237978048, udiv = 2237978048>, <umin = 2257749056, umax = 2257749056, udiv = 2257749056>, <umin = 2264354176, umax = 2264354176, udiv = 2264354176>, <umin = 2272929536, umax = 2272929536, udiv = 2272929536>, <umin = 2292700544, umax = 2292700544, udiv = 2292700544>, <umin = 2299305664, umax = 2299305664, udiv = 2299305664>, <umin = 2307881024, umax = 2307881024, udiv = 2307881024>, <umin = 2327652032, umax = 2327652032, udiv = 2327652032>, <umin = 2334257152, umax = 2334257152, udiv = 2334257152>, <umin = 2342832512, umax = 2342832512, udiv = 2342832512>, <umin = 2362603520, umax = 2362603520, udiv = 2362603520>, <umin = 2369208640, umax = 2369208640, udiv = 2369208640>, <umin = 2377784000, umax = 2377784000, udiv = 2377784000>, <umin = 2397555008, umax = 2397555008, udiv = 2397555008>, <umin = 2404160128, umax = 2404160128, udiv = 2404160128>, <umin = 2412735488, umax = 2412735488, udiv = 2412735488>, <umin = 2432506496, umax = 2432506496, udiv = 2432506496>, <umin = 2439111616, umax = 2439111616, udiv = 2439111616>, <umin = 2447686976, umax = 2447686976, udiv = 2447686976>],
%8[<umin = 111039104, umax = 111039104, udiv = 111039104>, <umin = 117644224, umax = 117644224, udiv = 117644224>, <umin = 126219584, umax = 126219584, udiv = 126219584>, <umin = 145990592, umax = 145990592, udiv = 145990592>, <umin = 152595712, umax = 152595712, udiv = 152595712>, <umin = 161171072, umax = 161171072, udiv = 161171072>, <umin = 180942080, umax = 180942080, udiv = 180942080>, <umin = 187547200, umax = 187547200, udiv = 187547200>, <umin = 196122560, umax = 196122560, udiv = 196122560>, <umin = 215893568, umax = 215893568, udiv = 215893568>, <umin = 222498688, umax = 222498688, udiv = 222498688>, <umin = 231074048, umax = 231074048, udiv = 231074048>, <umin = 250845056, umax = 250845056, udiv = 250845056>, <umin = 257450176, umax = 257450176, udiv = 257450176>, <umin = 266025536, umax = 266025536, udiv = 266025536>, <umin = 285796544, umax = 285796544, udiv = 285796544>, <umin = 292401664, umax = 292401664, udiv = 292401664>, <umin = 300977024, umax = 300977024, udiv = 300977024>, <umin = 320748032, umax = 320748032, udiv = 320748032>, <umin = 327353152, umax = 327353152, udiv = 327353152>, <umin = 335928512, umax = 335928512, udiv = 335928512>, <umin = 355699520, umax = 355699520, udiv = 355699520>, <umin = 362304640, umax = 362304640, udiv = 362304640>, <umin = 370880000, umax = 370880000, udiv = 370880000>, <umin = 390651008, umax = 390651008, udiv = 390651008>, <umin = 397256128, umax = 397256128, udiv = 397256128>, <umin = 405831488, umax = 405831488, udiv = 405831488>, <umin = 425602496, umax = 425602496, udiv = 425602496>, <umin = 432207616, umax = 432207616, udiv = 432207616>, <umin = 440782976, umax = 440782976, udiv = 440782976>, <umin = 496670720, umax = 496670720, udiv = 496670720>, <umin = 503275840, umax = 503275840, udiv = 503275840>, <umin = 511851200, umax = 511851200, udiv = 511851200>, <umin = 531622208, umax = 531622208, udiv = 531622208>, <umin = 538227328, umax = 538227328, udiv = 538227328>, <umin = 546802688, umax = 546802688, udiv = 546802688>, <umin = 566573696, umax = 566573696, udiv = 566573696>, <umin = 573178816, umax = 573178816, udiv = 573178816>, <umin = 581754176, umax = 581754176, udiv = 581754176>, <umin = 601525184, umax = 601525184, udiv = 601525184>, <umin = 608130304, umax = 608130304, udiv = 608130304>, <umin = 616705664, umax = 616705664, udiv = 616705664>, <umin = 636476672, umax = 636476672, udiv = 636476672>, <umin = 643081792, umax = 643081792, udiv = 643081792>, <umin = 651657152, umax = 651657152, udiv = 651657152>, <umin = 671428160, umax = 671428160, udiv = 671428160>, <umin = 678033280, umax = 678033280, udiv = 678033280>, <umin = 686608640, umax = 686608640, udiv = 686608640>, <umin = 706379648, umax = 706379648, udiv = 706379648>, <umin = 712984768, umax = 712984768, udiv = 712984768>, <umin = 721560128, umax = 721560128, udiv = 721560128>, <umin = 741331136, umax = 741331136, udiv = 741331136>, <umin = 747936256, umax = 747936256, udiv = 747936256>, <umin = 756511616, umax = 756511616, udiv = 756511616>, <umin = 776282624, umax = 776282624, udiv = 776282624>, <umin = 782887744, umax = 782887744, udiv = 782887744>, <umin = 791463104, umax = 791463104, udiv = 791463104>, <umin = 811234112, umax = 811234112, udiv = 811234112>, <umin = 817839232, umax = 817839232, udiv = 817839232>, <umin = 826414592, umax = 826414592, udiv = 826414592>, <umin = 882302336, umax = 882302336, udiv = 882302336>, <umin = 888907456, umax = 888907456, udiv = 888907456>, <umin = 897482816, umax = 897482816, udiv = 897482816>, <umin = 917253824, umax = 917253824, udiv = 917253824>, <umin = 923858944, umax = 923858944, udiv = 923858944>, <umin = 932434304, umax = 932434304, udiv = 932434304>, <umin = 952205312, umax = 952205312, udiv = 952205312>, <umin = 958810432, umax = 958810432, udiv = 958810432>, <umin = 967385792, umax = 967385792, udiv = 967385792>, <umin = 987156800, umax = 987156800, udiv = 987156800>, <umin = 993761920, umax = 993761920, udiv = 993761920>, <umin = 1002337280, umax = 1002337280, udiv = 1002337280>, <umin = 1022108288, umax = 1022108288, udiv = 1022108288>, <umin = 1028713408, umax = 1028713408, udiv = 1028713408>, <umin = 1037288768, umax = 1037288768, udiv = 1037288768>, <umin = 1057059776, umax = 1057059776, udiv = 1057059776>, <umin = 1063664896, umax = 1063664896, udiv = 1063664896>, <umin = 1072240256, umax = 1072240256, udiv = 1072240256>, <umin = 1092011264, umax = 1092011264, udiv = 1092011264>, <umin = 1098616384, umax = 1098616384, udiv = 1098616384>, <umin = 1107191744, umax = 1107191744, udiv = 1107191744>, <umin = 1126962752, umax = 1126962752, udiv = 1126962752>, <umin = 1133567872, umax = 1133567872, udiv = 1133567872>, <umin = 1142143232, umax = 1142143232, udiv = 1142143232>, <umin = 1161914240, umax = 1161914240, udiv = 1161914240>, <umin = 1168519360, umax = 1168519360, udiv = 1168519360>, <umin = 1177094720, umax = 1177094720, udiv = 1177094720>, <umin = 1196865728, umax = 1196865728, udiv = 1196865728>, <umin = 1203470848, umax = 1203470848, udiv = 1203470848>, <umin = 1212046208, umax = 1212046208, udiv = 1212046208>, <umin = 1318788544, umax = 1318788544, udiv = 1318788544>, <umin = 1325393664, umax = 1325393664, udiv = 1325393664>, <umin = 1333969024, umax = 1333969024, udiv = 1333969024>, <umin = 1353740032, umax = 1353740032, udiv = 1353740032>, <umin = 1360345152, umax = 1360345152, udiv = 1360345152>, <umin = 1368920512, umax = 1368920512, udiv = 1368920512>, <umin = 1388691520, umax = 1388691520, udiv = 1388691520>, <umin = 1395296640, umax = 1395296640, udiv = 1395296640>, <umin = 1403872000, umax = 1403872000, udiv = 1403872000>, <umin = 1423643008, umax = 1423643008, udiv = 1423643008>, <umin = 1430248128, umax = 1430248128, udiv = 1430248128>, <umin = 1438823488, umax = 1438823488, udiv = 1438823488>, <umin = 1458594496, umax = 1458594496, udiv = 1458594496>, <umin = 1465199616, umax = 1465199616, udiv = 1465199616>, <umin = 1473774976, umax = 1473774976, udiv = 1473774976>, <umin = 1493545984, umax = 1493545984, udiv = 1493545984>, <umin = 1500151104, umax = 1500151104, udiv = 1500151104>, <umin = 1508726464, umax = 1508726464, udiv = 1508726464>, <umin = 1528497472, umax = 1528497472, udiv = 1528497472>, <umin = 1535102592, umax = 1535102592, udiv = 1535102592>, <umin = 1543677952, umax = 1543677952, udiv = 1543677952>, <umin = 1563448960, umax = 1563448960, udiv = 1563448960>, <umin = 1570054080, umax = 1570054080, udiv = 1570054080>, <umin = 1578629440, umax = 1578629440, udiv = 1578629440>, <umin = 1598400448, umax = 1598400448, udiv = 1598400448>, <umin = 1605005568, umax = 1605005568, udiv = 1605005568>, <umin = 1613580928, umax = 1613580928, udiv = 1613580928>, <umin = 1633351936, umax = 1633351936, udiv = 1633351936>, <umin = 1639957056, umax = 1639957056, udiv = 1639957056>, <umin = 1648532416, umax = 1648532416, udiv = 1648532416>, <umin = 1722465664, umax = 1722465664, udiv = 1722465664>, <umin = 1729070784, umax = 1729070784, udiv = 1729070784>, <umin = 1737646144, umax = 1737646144, udiv = 1737646144>, <umin = 1757417152, umax = 1757417152, udiv = 1757417152>, <umin = 1764022272, umax = 1764022272, udiv = 1764022272>, <umin = 1772597632, umax = 1772597632, udiv = 1772597632>, <umin = 1792368640, umax = 1792368640, udiv = 1792368640>, <umin = 1798973760, umax = 1798973760, udiv = 1798973760>, <umin = 1807549120, umax = 1807549120, udiv = 1807549120>, <umin = 1827320128, umax = 1827320128, udiv = 1827320128>, <umin = 1833925248, umax = 1833925248, udiv = 1833925248>, <umin = 1842500608, umax = 1842500608, udiv = 1842500608>, <umin = 1862271616, umax = 1862271616, udiv = 1862271616>, <umin = 1868876736, umax = 1868876736, udiv = 1868876736>, <umin = 1877452096, umax = 1877452096, udiv = 1877452096>, <umin = 1897223104, umax = 1897223104, udiv = 1897223104>, <umin = 1903828224, umax = 1903828224, udiv = 1903828224>, <umin = 1912403584, umax = 1912403584, udiv = 1912403584>, <umin = 1932174592, umax = 1932174592, udiv = 1932174592>, <umin = 1938779712, umax = 1938779712, udiv = 1938779712>, <umin = 1947355072, umax = 1947355072, udiv = 1947355072>, <umin = 1967126080, umax = 1967126080, udiv = 1967126080>, <umin = 1973731200, umax = 1973731200, udiv = 1973731200>, <umin = 1982306560, umax = 1982306560, udiv = 1982306560>, <umin = 2002077568, umax = 2002077568, udiv = 2002077568>, <umin = 2008682688, umax = 2008682688, udiv = 2008682688>, <umin = 2017258048, umax = 2017258048, udiv = 2017258048>, <umin = 2037029056, umax = 2037029056, udiv = 2037029056>, <umin = 2043634176, umax = 2043634176, udiv = 2043634176>, <umin = 2052209536, umax = 2052209536, udiv = 2052209536>, <umin = 2117945664, umax = 2117945664, udiv = 2117945664>, <umin = 2124550784, umax = 2124550784, udiv = 2124550784>, <umin = 2133126144, umax = 2133126144, udiv = 2133126144>, <umin = 2152897152, umax = 2152897152, udiv = 2152897152>, <umin = 2159502272, umax = 2159502272, udiv = 2159502272>, <umin = 2168077632, umax = 2168077632, udiv = 2168077632>, <umin = 2187848640, umax = 2187848640, udiv = 2187848640>, <umin = 2194453760, umax = 2194453760, udiv = 2194453760>, <umin = 2203029120, umax = 2203029120, udiv = 2203029120>, <umin = 2222800128, umax = 2222800128, udiv = 2222800128>, <umin = 2229405248, umax = 2229405248, udiv = 2229405248>, <umin = 2237980608, umax = 2237980608, udiv = 2237980608>, <umin = 2257751616, umax = 2257751616, udiv = 2257751616>, <umin = 2264356736, umax = 2264356736, udiv = 2264356736>, <umin = 2272932096, umax = 2272932096, udiv = 2272932096>, <umin = 2292703104, umax = 2292703104, udiv = 2292703104>, <umin = 2299308224, umax = 2299308224, udiv = 2299308224>, <umin = 2307883584, umax = 2307883584, udiv = 2307883584>, <umin = 2327654592, umax = 2327654592, udiv = 2327654592>, <umin = 2334259712, umax = 2334259712, udiv = 2334259712>, <umin = 2342835072, umax = 2342835072, udiv = 2342835072>, <umin = 2362606080, umax = 2362606080, udiv = 2362606080>, <umin = 2369211200, umax = 2369211200, udiv = 2369211200>, <umin = 2377786560, umax = 2377786560, udiv = 2377786560>, <umin = 2397557568, umax = 2397557568, udiv = 2397557568>, <umin = 2404162688, umax = 2404162688, udiv = 2404162688>, <umin = 2412738048, umax = 2412738048, udiv = 2412738048>, <umin = 2432509056, umax = 2432509056, udiv = 2432509056>, <umin = 2439114176, umax = 2439114176, udiv = 2439114176>, <umin = 2447689536, umax = 2447689536, udiv = 2447689536>],
%9[<umin = 111041664, umax = 111041664, udiv = 111041664>, <umin = 117646784, umax = 117646784, udiv = 117646784>, <umin = 126222144, umax = 126222144, udiv = 126222144>, <umin = 145993152, umax = 145993152, udiv = 145993152>, <umin = 152598272, umax = 152598272, udiv = 152598272>, <umin = 161173632, umax = 161173632, udiv = 161173632>, <umin = 180944640, umax = 180944640, udiv = 180944640>, <umin = 187549760, umax = 187549760, udiv = 187549760>, <umin = 196125120, umax = 196125120, udiv = 196125120>, <umin = 215896128, umax = 215896128, udiv = 215896128>, <umin = 222501248, umax = 222501248, udiv = 222501248>, <umin = 231076608, umax = 231076608, udiv = 231076608>, <umin = 250847616, umax = 250847616, udiv = 250847616>, <umin = 257452736, umax = 257452736, udiv = 257452736>, <umin = 266028096, umax = 266028096, udiv = 266028096>, <umin = 285799104, umax = 285799104, udiv = 285799104>, <umin = 292404224, umax = 292404224, udiv = 292404224>, <umin = 300979584, umax = 300979584, udiv = 300979584>, <umin = 320750592, umax = 320750592, udiv = 320750592>, <umin = 327355712, umax = 327355712, udiv = 327355712>, <umin = 335931072, umax = 335931072, udiv = 335931072>, <umin = 355702080, umax = 355702080, udiv = 355702080>, <umin = 362307200, umax = 362307200, udiv = 362307200>, <umin = 370882560, umax = 370882560, udiv = 370882560>, <umin = 390653568, umax = 390653568, udiv = 390653568>, <umin = 397258688, umax = 397258688, udiv = 397258688>, <umin = 405834048, umax = 405834048, udiv = 405834048>, <umin = 425605056, umax = 425605056, udiv = 425605056>, <umin = 432210176, umax = 432210176, udiv = 432210176>, <umin = 440785536, umax = 440785536, udiv = 440785536>, <umin = 496673280, umax = 496673280, udiv = 496673280>, <umin = 503278400, umax = 503278400, udiv = 503278400>, <umin = 511853760, umax = 511853760, udiv = 511853760>, <umin = 531624768, umax = 531624768, udiv = 531624768>, <umin = 538229888, umax = 538229888, udiv = 538229888>, <umin = 546805248, umax = 546805248, udiv = 546805248>, <umin = 566576256, umax = 566576256, udiv = 566576256>, <umin = 573181376, umax = 573181376, udiv = 573181376>, <umin = 581756736, umax = 581756736, udiv = 581756736>, <umin = 601527744, umax = 601527744, udiv = 601527744>, <umin = 608132864, umax = 608132864, udiv = 608132864>, <umin = 616708224, umax = 616708224, udiv = 616708224>, <umin = 636479232, umax = 636479232, udiv = 636479232>, <umin = 643084352, umax = 643084352, udiv = 643084352>, <umin = 651659712, umax = 651659712, udiv = 651659712>, <umin = 671430720, umax = 671430720, udiv = 671430720>, <umin = 678035840, umax = 678035840, udiv = 678035840>, <umin = 686611200, umax = 686611200, udiv = 686611200>, <umin = 706382208, umax = 706382208, udiv = 706382208>, <umin = 712987328, umax = 712987328, udiv = 712987328>, <umin = 721562688, umax = 721562688, udiv = 721562688>, <umin = 741333696, umax = 741333696, udiv = 741333696>, <umin = 747938816, umax = 747938816, udiv = 747938816>, <umin = 756514176, umax = 756514176, udiv = 756514176>, <umin = 776285184, umax = 776285184, udiv = 776285184>, <umin = 782890304, umax = 782890304, udiv = 782890304>, <umin = 791465664, umax = 791465664, udiv = 791465664>, <umin = 811236672, umax = 811236672, udiv = 811236672>, <umin = 817841792, umax = 817841792, udiv = 817841792>, <umin = 826417152, umax = 826417152, udiv = 826417152>, <umin = 882304896, umax = 882304896, udiv = 882304896>, <umin = 888910016, umax = 888910016, udiv = 888910016>, <umin = 897485376, umax = 897485376, udiv = 897485376>, <umin = 917256384, umax = 917256384, udiv = 917256384>, <umin = 923861504, umax = 923861504, udiv = 923861504>, <umin = 932436864, umax = 932436864, udiv = 932436864>, <umin = 952207872, umax = 952207872, udiv = 952207872>, <umin = 958812992, umax = 958812992, udiv = 958812992>, <umin = 967388352, umax = 967388352, udiv = 967388352>, <umin = 987159360, umax = 987159360, udiv = 987159360>, <umin = 993764480, umax = 993764480, udiv = 993764480>, <umin = 1002339840, umax = 1002339840, udiv = 1002339840>, <umin = 1022110848, umax = 1022110848, udiv = 1022110848>, <umin = 1028715968, umax = 1028715968, udiv = 1028715968>, <umin = 1037291328, umax = 1037291328, udiv = 1037291328>, <umin = 1057062336, umax = 1057062336, udiv = 1057062336>, <umin = 1063667456, umax = 1063667456, udiv = 1063667456>, <umin = 1072242816, umax = 1072242816, udiv = 1072242816>, <umin = 1092013824, umax = 1092013824, udiv = 1092013824>, <umin = 1098618944, umax = 1098618944, udiv = 1098618944>, <umin = 1107194304, umax = 1107194304, udiv = 1107194304>, <umin = 1126965312, umax = 1126965312, udiv = 1126965312>, <umin = 1133570432, umax = 1133570432, udiv = 1133570432>, <umin = 1142145792, umax = 1142145792, udiv = 1142145792>, <umin = 1161916800, umax = 1161916800, udiv = 1161916800>, <umin = 1168521920, umax = 1168521920, udiv = 1168521920>, <umin = 1177097280, umax = 1177097280, udiv = 1177097280>, <umin = 1196868288, umax = 1196868288, udiv = 1196868288>, <umin = 1203473408, umax = 1203473408, udiv = 1203473408>, <umin = 1212048768, umax = 1212048768, udiv = 1212048768>, <umin = 1318791104, umax = 1318791104, udiv = 1318791104>, <umin = 1325396224, umax = 1325396224, udiv = 1325396224>, <umin = 1333971584, umax = 1333971584, udiv = 1333971584>, <umin = 1353742592, umax = 1353742592, udiv = 1353742592>, <umin = 1360347712, umax = 1360347712, udiv = 1360347712>, <umin = 1368923072, umax = 1368923072, udiv = 1368923072>, <umin = 1388694080, umax = 1388694080, udiv = 1388694080>, <umin = 1395299200, umax = 1395299200, udiv = 1395299200>, <umin = 1403874560, umax = 1403874560, udiv = 1403874560>, <umin = 1423645568, umax = 1423645568, udiv = 1423645568>, <umin = 1430250688, umax = 1430250688, udiv = 1430250688>, <umin = 1438826048, umax = 1438826048, udiv = 1438826048>, <umin = 1458597056, umax = 1458597056, udiv = 1458597056>, <umin = 1465202176, umax = 1465202176, udiv = 1465202176>, <umin = 1473777536, umax = 1473777536, udiv = 1473777536>, <umin = 1493548544, umax = 1493548544, udiv = 1493548544>, <umin = 1500153664, umax = 1500153664, udiv = 1500153664>, <umin = 1508729024, umax = 1508729024, udiv = 1508729024>, <umin = 1528500032, umax = 1528500032, udiv = 1528500032>, <umin = 1535105152, umax = 1535105152, udiv = 1535105152>, <umin = 1543680512, umax = 1543680512, udiv = 1543680512>, <umin = 1563451520, umax = 1563451520, udiv = 1563451520>, <umin = 1570056640, umax = 1570056640, udiv = 1570056640>, <umin = 1578632000, umax = 1578632000, udiv = 1578632000>, <umin = 1598403008, umax = 1598403008, udiv = 1598403008>, <umin = 1605008128, umax = 1605008128, udiv = 1605008128>, <umin = 1613583488, umax = 1613583488, udiv = 1613583488>, <umin = 1633354496, umax = 1633354496, udiv = 1633354496>, <umin = 1639959616, umax = 1639959616, udiv = 1639959616>, <umin = 1648534976, umax = 1648534976, udiv = 1648534976>, <umin = 1722468224, umax = 1722468224, udiv = 1722468224>, <umin = 1729073344, umax = 1729073344, udiv = 1729073344>, <umin = 1737648704, umax = 1737648704, udiv = 1737648704>, <umin = 1757419712, umax = 1757419712, udiv = 1757419712>, <umin = 1764024832, umax = 1764024832, udiv = 1764024832>, <umin = 1772600192, umax = 1772600192, udiv = 1772600192>, <umin = 1792371200, umax = 1792371200, udiv = 1792371200>, <umin = 1798976320, umax = 1798976320, udiv = 1798976320>, <umin = 1807551680, umax = 1807551680, udiv = 1807551680>, <umin = 1827322688, umax = 1827322688, udiv = 1827322688>, <umin = 1833927808, umax = 1833927808, udiv = 1833927808>, <umin = 1842503168, umax = 1842503168, udiv = 1842503168>, <umin = 1862274176, umax = 1862274176, udiv = 1862274176>, <umin = 1868879296, umax = 1868879296, udiv = 1868879296>, <umin = 1877454656, umax = 1877454656, udiv = 1877454656>, <umin = 1897225664, umax = 1897225664, udiv = 1897225664>, <umin = 1903830784, umax = 1903830784, udiv = 1903830784>, <umin = 1912406144, umax = 1912406144, udiv = 1912406144>, <umin = 1932177152, umax = 1932177152, udiv = 1932177152>, <umin = 1938782272, umax = 1938782272, udiv = 1938782272>, <umin = 1947357632, umax = 1947357632, udiv = 1947357632>, <umin = 1967128640, umax = 1967128640, udiv = 1967128640>, <umin = 1973733760, umax = 1973733760, udiv = 1973733760>, <umin = 1982309120, umax = 1982309120, udiv = 1982309120>, <umin = 2002080128, umax = 2002080128, udiv = 2002080128>, <umin = 2008685248, umax = 2008685248, udiv = 2008685248>, <umin = 2017260608, umax = 2017260608, udiv = 2017260608>, <umin = 2037031616, umax = 2037031616, udiv = 2037031616>, <umin = 2043636736, umax = 2043636736, udiv = 2043636736>, <umin = 2052212096, umax = 2052212096, udiv = 2052212096>, <umin = 2117948224, umax = 2117948224, udiv = 2117948224>, <umin = 2124553344, umax = 2124553344, udiv = 2124553344>, <umin = 2133128704, umax = 2133128704, udiv = 2133128704>, <umin = 2152899712, umax = 2152899712, udiv = 2152899712>, <umin = 2159504832, umax = 2159504832, udiv = 2159504832>, <umin = 2168080192, umax = 2168080192, udiv = 2168080192>, <umin = 2187851200, umax = 2187851200, udiv = 2187851200>, <umin = 2194456320, umax = 2194456320, udiv = 2194456320>, <umin = 2203031680, umax = 2203031680, udiv = 2203031680>, <umin = 2222802688, umax = 2222802688, udiv = 2222802688>, <umin = 2229407808, umax = 2229407808, udiv = 2229407808>, <umin = 2237983168, umax = 2237983168, udiv = 2237983168>, <umin = 2257754176, umax = 2257754176, udiv = 2257754176>, <umin = 2264359296, umax = 2264359296, udiv = 2264359296>, <umin = 2272934656, umax = 2272934656, udiv = 2272934656>, <umin = 2292705664, umax = 2292705664, udiv = 2292705664>, <umin = 2299310784, umax = 2299310784, udiv = 2299310784>, <umin = 2307886144, umax = 2307886144, udiv = 2307886144>, <umin = 2327657152, umax = 2327657152, udiv = 2327657152>, <umin = 2334262272, umax = 2334262272, udiv = 2334262272>, <umin = 2342837632, umax = 2342837632, udiv = 2342837632>, <umin = 2362608640, umax = 2362608640, udiv = 2362608640>, <umin = 2369213760, umax = 2369213760, udiv = 2369213760>, <umin = 2377789120, umax = 2377789120, udiv = 2377789120>, <umin = 2397560128, umax = 2397560128, udiv = 2397560128>, <umin = 2404165248, umax = 2404165248, udiv = 2404165248>, <umin = 2412740608, umax = 2412740608, udiv = 2412740608>, <umin = 2432511616, umax = 2432511616, udiv = 2432511616>, <umin = 2439116736, umax = 2439116736, udiv = 2439116736>, <umin = 2447692096, umax = 2447692096, udiv = 2447692096>],
%10[<umin = 111044224, umax = 111044224, udiv = 111044224>, <umin = 117649344, umax = 117649344, udiv = 117649344>, <umin = 126224704, umax = 126224704, udiv = 126224704>, <umin = 145995712, umax = 145995712, udiv = 145995712>, <umin = 152600832, umax = 152600832, udiv = 152600832>, <umin = 161176192, umax = 161176192, udiv = 161176192>, <umin = 180947200, umax = 180947200, udiv = 180947200>, <umin = 187552320, umax = 187552320, udiv = 187552320>, <umin = 196127680, umax = 196127680, udiv = 196127680>, <umin = 215898688, umax = 215898688, udiv = 215898688>, <umin = 222503808, umax = 222503808, udiv = 222503808>, <umin = 231079168, umax = 231079168, udiv = 231079168>, <umin = 250850176, umax = 250850176, udiv = 250850176>, <umin = 257455296, umax = 257455296, udiv = 257455296>, <umin = 266030656, umax = 266030656, udiv = 266030656>, <umin = 285801664, umax = 285801664, udiv = 285801664>, <umin = 292406784, umax = 292406784, udiv = 292406784>, <umin = 300982144, umax = 300982144, udiv = 300982144>, <umin = 320753152, umax = 320753152, udiv = 320753152>, <umin = 327358272, umax = 327358272, udiv = 327358272>, <umin = 335933632, umax = 335933632, udiv = 335933632>, <umin = 355704640, umax = 355704640, udiv = 355704640>, <umin = 362309760, umax = 362309760, udiv = 362309760>, <umin = 370885120, umax = 370885120, udiv = 370885120>, <umin = 390656128, umax = 390656128, udiv = 390656128>, <umin = 397261248, umax = 397261248, udiv = 397261248>, <umin = 405836608, umax = 405836608, udiv = 405836608>, <umin = 425607616, umax = 425607616, udiv = 425607616>, <umin = 432212736, umax = 432212736, udiv = 432212736>, <umin = 440788096, umax = 440788096, udiv = 440788096>, <umin = 496675840, umax = 496675840, udiv = 496675840>, <umin = 503280960, umax = 503280960, udiv = 503280960>, <umin = 511856320, umax = 511856320, udiv = 511856320>, <umin = 531627328, umax = 531627328, udiv = 531627328>, <umin = 538232448, umax = 538232448, udiv = 538232448>, <umin = 546807808, umax = 546807808, udiv = 546807808>, <umin = 566578816, umax = 566578816, udiv = 566578816>, <umin = 573183936, umax = 573183936, udiv = 573183936>, <umin = 581759296, umax = 581759296, udiv = 581759296>, <umin = 601530304, umax = 601530304, udiv = 601530304>, <umin = 608135424, umax = 608135424, udiv = 608135424>, <umin = 616710784, umax = 616710784, udiv = 616710784>, <umin = 636481792, umax = 636481792, udiv = 636481792>, <umin = 643086912, umax = 643086912, udiv = 643086912>, <umin = 651662272, umax = 651662272, udiv = 651662272>, <umin = 671433280, umax = 671433280, udiv = 671433280>, <umin = 678038400, umax = 678038400, udiv = 678038400>, <umin = 686613760, umax = 686613760, udiv = 686613760>, <umin = 706384768, umax = 706384768, udiv = 706384768>, <umin = 712989888, umax = 712989888, udiv = 712989888>, <umin = 721565248, umax = 721565248, udiv = 721565248>, <umin = 741336256, umax = 741336256, udiv = 741336256>, <umin = 747941376, umax = 747941376, udiv = 747941376>, <umin = 756516736, umax = 756516736, udiv = 756516736>, <umin = 776287744, umax = 776287744, udiv = 776287744>, <umin = 782892864, umax = 782892864, udiv = 782892864>, <umin = 791468224, umax = 791468224, udiv = 791468224>, <umin = 811239232, umax = 811239232, udiv = 811239232>, <umin = 817844352, umax = 817844352, udiv = 817844352>, <umin = 826419712, umax = 826419712, udiv = 826419712>, <umin = 882307456, umax = 882307456, udiv = 882307456>, <umin = 888912576, umax = 888912576, udiv = 888912576>, <umin = 897487936, umax = 897487936, udiv = 897487936>, <umin = 917258944, umax = 917258944, udiv = 917258944>, <umin = 923864064, umax = 923864064, udiv = 923864064>, <umin = 932439424, umax = 932439424, udiv = 932439424>, <umin = 952210432, umax = 952210432, udiv = 952210432>, <umin = 958815552, umax = 958815552, udiv = 958815552>, <umin = 967390912, umax = 967390912, udiv = 967390912>, <umin = 987161920, umax = 987161920, udiv = 987161920>, <umin = 993767040, umax = 993767040, udiv = 993767040>, <umin = 1002342400, umax = 1002342400, udiv = 1002342400>, <umin = 1022113408, umax = 1022113408, udiv = 1022113408>, <umin = 1028718528, umax = 1028718528, udiv = 1028718528>, <umin = 1037293888, umax = 1037293888, udiv = 1037293888>, <umin = 1057064896, umax = 1057064896, udiv = 1057064896>, <umin = 1063670016, umax = 1063670016, udiv = 1063670016>, <umin = 1072245376, umax = 1072245376, udiv = 1072245376>, <umin = 1092016384, umax = 1092016384, udiv = 1092016384>, <umin = 1098621504, umax = 1098621504, udiv = 1098621504>, <umin = 1107196864, umax = 1107196864, udiv = 1107196864>, <umin = 1126967872, umax = 1126967872, udiv = 1126967872>, <umin = 1133572992, umax = 1133572992, udiv = 1133572992>, <umin = 1142148352, umax = 1142148352, udiv = 1142148352>, <umin = 1161919360, umax = 1161919360, udiv = 1161919360>, <umin = 1168524480, umax = 1168524480, udiv = 1168524480>, <umin = 1177099840, umax = 1177099840, udiv = 1177099840>, <umin = 1196870848, umax = 1196870848, udiv = 1196870848>, <umin = 1203475968, umax = 1203475968, udiv = 1203475968>, <umin = 1212051328, umax = 1212051328, udiv = 1212051328>, <umin = 1318793664, umax = 1318793664, udiv = 1318793664>, <umin = 1325398784, umax = 1325398784, udiv = 1325398784>, <umin = 1333974144, umax = 1333974144, udiv = 1333974144>, <umin = 1353745152, umax = 1353745152, udiv = 1353745152>, <umin = 1360350272, umax = 1360350272, udiv = 1360350272>, <umin = 1368925632, umax = 1368925632, udiv = 1368925632>, <umin = 1388696640, umax = 1388696640, udiv = 1388696640>, <umin = 1395301760, umax = 1395301760, udiv = 1395301760>, <umin = 1403877120, umax = 1403877120, udiv = 1403877120>, <umin = 1423648128, umax = 1423648128, udiv = 1423648128>, <umin = 1430253248, umax = 1430253248, udiv = 1430253248>, <umin = 1438828608, umax = 1438828608, udiv = 1438828608>, <umin = 1458599616, umax = 1458599616, udiv = 1458599616>, <umin = 1465204736, umax = 1465204736, udiv = 1465204736>, <umin = 1473780096, umax = 1473780096, udiv = 1473780096>, <umin = 1493551104, umax = 1493551104, udiv = 1493551104>, <umin = 1500156224, umax = 1500156224, udiv = 1500156224>, <umin = 1508731584, umax = 1508731584, udiv = 1508731584>, <umin = 1528502592, umax = 1528502592, udiv = 1528502592>, <umin = 1535107712, umax = 1535107712, udiv = 1535107712>, <umin = 1543683072, umax = 1543683072, udiv = 1543683072>, <umin = 1563454080, umax = 1563454080, udiv = 1563454080>, <umin = 1570059200, umax = 1570059200, udiv = 1570059200>, <umin = 1578634560, umax = 1578634560, udiv = 1578634560>, <umin = 1598405568, umax = 1598405568, udiv = 1598405568>, <umin = 1605010688, umax = 1605010688, udiv = 1605010688>, <umin = 1613586048, umax = 1613586048, udiv = 1613586048>, <umin = 1633357056, umax = 1633357056, udiv = 1633357056>, <umin = 1639962176, umax = 1639962176, udiv = 1639962176>, <umin = 1648537536, umax = 1648537536, udiv = 1648537536>, <umin = 1722470784, umax = 1722470784, udiv = 1722470784>, <umin = 1729075904, umax = 1729075904, udiv = 1729075904>, <umin = 1737651264, umax = 1737651264, udiv = 1737651264>, <umin = 1757422272, umax = 1757422272, udiv = 1757422272>, <umin = 1764027392, umax = 1764027392, udiv = 1764027392>, <umin = 1772602752, umax = 1772602752, udiv = 1772602752>, <umin = 1792373760, umax = 1792373760, udiv = 1792373760>, <umin = 1798978880, umax = 1798978880, udiv = 1798978880>, <umin = 1807554240, umax = 1807554240, udiv = 1807554240>, <umin = 1827325248, umax = 1827325248, udiv = 1827325248>, <umin = 1833930368, umax = 1833930368, udiv = 1833930368>, <umin = 1842505728, umax = 1842505728, udiv = 1842505728>, <umin = 1862276736, umax = 1862276736, udiv = 1862276736>, <umin = 1868881856, umax = 1868881856, udiv = 1868881856>, <umin = 1877457216, umax = 1877457216, udiv = 1877457216>, <umin = 1897228224, umax = 1897228224, udiv = 1897228224>, <umin = 1903833344, umax = 1903833344, udiv = 1903833344>, <umin = 1912408704, umax = 1912408704, udiv = 1912408704>, <umin = 1932179712, umax = 1932179712, udiv = 1932179712>, <umin = 1938784832, umax = 1938784832, udiv = 1938784832>, <umin = 1947360192, umax = 1947360192, udiv = 1947360192>, <umin = 1967131200, umax = 1967131200, udiv = 1967131200>, <umin = 1973736320, umax = 1973736320, udiv = 1973736320>, <umin = 1982311680, umax = 1982311680, udiv = 1982311680>, <umin = 2002082688, umax = 2002082688, udiv = 2002082688>, <umin = 2008687808, umax = 2008687808, udiv = 2008687808>, <umin = 2017263168, umax = 2017263168, udiv = 2017263168>, <umin = 2037034176, umax = 2037034176, udiv = 2037034176>, <umin = 2043639296, umax = 2043639296, udiv = 2043639296>, <umin = 2052214656, umax = 2052214656, udiv = 2052214656>, <umin = 2117950784, umax = 2117950784, udiv = 2117950784>, <umin = 2124555904, umax = 2124555904, udiv = 2124555904>, <umin = 2133131264, umax = 2133131264, udiv = 2133131264>, <umin = 2152902272, umax = 2152902272, udiv = 2152902272>, <umin = 2159507392, umax = 2159507392, udiv = 2159507392>, <umin = 2168082752, umax = 2168082752, udiv = 2168082752>, <umin = 2187853760, umax = 2187853760, udiv = 2187853760>, <umin = 2194458880, umax = 2194458880, udiv = 2194458880>, <umin = 2203034240, umax = 2203034240, udiv = 2203034240>, <umin = 2222805248, umax = 2222805248, udiv = 2222805248>, <umin = 2229410368, umax = 2229410368, udiv = 2229410368>, <umin = 2237985728, umax = 2237985728, udiv = 2237985728>, <umin = 2257756736, umax = 2257756736, udiv = 2257756736>, <umin = 2264361856, umax = 2264361856, udiv = 2264361856>, <umin = 2272937216, umax = 2272937216, udiv = 2272937216>, <umin = 2292708224, umax = 2292708224, udiv = 2292708224>, <umin = 2299313344, umax = 2299313344, udiv = 2299313344>, <umin = 2307888704, umax = 2307888704, udiv = 2307888704>, <umin = 2327659712, umax = 2327659712, udiv = 2327659712>, <umin = 2334264832, umax = 2334264832, udiv = 2334264832>, <umin = 2342840192, umax = 2342840192, udiv = 2342840192>, <umin = 2362611200, umax = 2362611200, udiv = 2362611200>, <umin = 2369216320, umax = 2369216320, udiv = 2369216320>, <umin = 2377791680, umax = 2377791680, udiv = 2377791680>, <umin = 2397562688, umax = 2397562688, udiv = 2397562688>, <umin = 2404167808, umax = 2404167808, udiv = 2404167808>, <umin = 2412743168, umax = 2412743168, udiv = 2412743168>, <umin = 2432514176, umax = 2432514176, udiv = 2432514176>, <umin = 2439119296, umax = 2439119296, udiv = 2439119296>, <umin = 2447694656, umax = 2447694656, udiv = 2447694656>],
%11[<umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 82979840, umax = 82979840, udiv = 82979840>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 48570880, umax = 48570880, udiv = 48570880>, <umin = 80358400, umax = 80358400, udiv = 80358400>, <umin = 80358400, umax = 80358400, udiv = 80358400>]
: index, index, index, index, index, index
%13 = hal.interface.binding.subspan layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) binding(0) alignment(64) offset(%12#0) flags("ReadOnly|Indirect") : !flow.dispatch.tensor<readonly:tensor<2x1024x1280xf16>>
%14 = hal.interface.binding.subspan layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) binding(1) alignment(64) offset(%12#1) flags(ReadOnly) : !flow.dispatch.tensor<readonly:tensor<1280xf16>>
%15 = hal.interface.binding.subspan layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) binding(1) alignment(64) offset(%12#2) flags(ReadOnly) : !flow.dispatch.tensor<readonly:tensor<1280xf16>>
%16 = hal.interface.binding.subspan layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) binding(1) alignment(64) offset(%12#3) flags(ReadOnly) : !flow.dispatch.tensor<readonly:tensor<1280xf16>>
%17 = hal.interface.binding.subspan layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) binding(1) alignment(64) offset(%12#4) flags(ReadOnly) : !flow.dispatch.tensor<readonly:tensor<f32>>
%18 = hal.interface.binding.subspan layout(<constants = 6, bindings = [#hal.pipeline.binding<storage_buffer, "ReadOnly|Indirect">, #hal.pipeline.binding<storage_buffer, ReadOnly>, #hal.pipeline.binding<storage_buffer, Indirect>], flags = Indirect>) binding(2) alignment(64) offset(%12#5) flags(Indirect) : !flow.dispatch.tensor<writeonly:tensor<2x1024x1280xi8>>
%19 = flow.dispatch.tensor.load %13, offsets = [0, 0, 0], sizes = [2, 1024, 1280], strides = [1, 1, 1] : !flow.dispatch.tensor<readonly:tensor<2x1024x1280xf16>> -> tensor<2x1024x1280xf16>
%20 = flow.dispatch.tensor.load %14, offsets = [0], sizes = [1280], strides = [1] : !flow.dispatch.tensor<readonly:tensor<1280xf16>> -> tensor<1280xf16>
%21 = flow.dispatch.tensor.load %15, offsets = [0], sizes = [1280], strides = [1] : !flow.dispatch.tensor<readonly:tensor<1280xf16>> -> tensor<1280xf16>
%22 = flow.dispatch.tensor.load %16, offsets = [0], sizes = [1280], strides = [1] : !flow.dispatch.tensor<readonly:tensor<1280xf16>> -> tensor<1280xf16>
%23 = flow.dispatch.tensor.load %17, offsets = [], sizes = [], strides = [] : !flow.dispatch.tensor<readonly:tensor<f32>> -> tensor<f32>
%24 = tensor.empty() : tensor<2x1024x1280xi8>
%25 = tensor.empty() : tensor<2x1024xf32>
%26 = tensor.empty() : tensor<2x1024x1280xf32>
%27 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel"]} ins(%19 : tensor<2x1024x1280xf16>) outs(%26 : tensor<2x1024x1280xf32>) {
^bb0(%in: f16, %out: f32):
%33 = arith.extf %in : f16 to f32
linalg.yield %33 : f32
} -> tensor<2x1024x1280xf32>
%28 = linalg.fill ins(%cst_3 : f32) outs(%25 : tensor<2x1024xf32>) -> tensor<2x1024xf32>
%29 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1)>], iterator_types = ["parallel", "parallel", "reduction"]} ins(%27 : tensor<2x1024x1280xf32>) outs(%28 : tensor<2x1024xf32>) {
^bb0(%in: f32, %out: f32):
%33 = arith.addf %in, %out : f32
linalg.yield %33 : f32
} -> tensor<2x1024xf32>
%30 = linalg.generic {indexing_maps = [affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0, d1)>], iterator_types = ["parallel", "parallel"]} ins(%29 : tensor<2x1024xf32>) outs(%25 : tensor<2x1024xf32>) {
^bb0(%in: f32, %out: f32):
%33 = arith.divf %in, %cst_2 : f32
linalg.yield %33 : f32
} -> tensor<2x1024xf32>
%31 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1)>, affine_map<(d0, d1, d2) -> (d0, d1)>], iterator_types = ["parallel", "parallel", "reduction"]} ins(%27, %30 : tensor<2x1024x1280xf32>, tensor<2x1024xf32>) outs(%28 : tensor<2x1024xf32>) {
^bb0(%in: f32, %in_4: f32, %out: f32):
%33 = arith.subf %in, %in_4 : f32
%34 = arith.mulf %33, %33 : f32
%35 = arith.addf %34, %out : f32
linalg.yield %35 : f32
} -> tensor<2x1024xf32>
%32 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1)>, affine_map<(d0, d1, d2) -> (d0, d1)>, affine_map<(d0, d1, d2) -> (d2)>, affine_map<(d0, d1, d2) -> (d2)>, affine_map<(d0, d1, d2) -> (d2)>, affine_map<(d0, d1, d2) -> ()>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel"]} ins(%19, %30, %31, %20, %21, %22, %23 : tensor<2x1024x1280xf16>, tensor<2x1024xf32>, tensor<2x1024xf32>, tensor<1280xf16>, tensor<1280xf16>, tensor<1280xf16>, tensor<f32>) outs(%24 : tensor<2x1024x1280xi8>) {
^bb0(%in: f16, %in_4: f32, %in_5: f32, %in_6: f16, %in_7: f16, %in_8: f16, %in_9: f32, %out: i8):
%33 = arith.divf %in_5, %cst_2 : f32
%34 = arith.addf %33, %cst_1 : f32
%35 = math.rsqrt %34 : f32
%36 = arith.extf %in : f16 to f32
%37 = arith.subf %36, %in_4 : f32
%38 = arith.mulf %37, %35 : f32
%39 = arith.extf %in_6 : f16 to f32
%40 = arith.mulf %38, %39 : f32
%41 = arith.extf %in_7 : f16 to f32
%42 = arith.addf %40, %41 : f32
%43 = arith.truncf %42 : f32 to f16
%44 = arith.mulf %43, %in_8 : f16
%45 = arith.truncf %in_9 : f32 to f16
%46 = arith.divf %44, %45 : f16
%47 = math.roundeven %46 : f16
%48 = arith.cmpf ult, %47, %cst_0 : f16
%49 = arith.select %48, %cst_0, %47 : f16
%50 = arith.cmpf ugt, %49, %cst : f16
%51 = arith.select %50, %cst, %49 : f16
%52 = arith.fptosi %51 : f16 to i8
linalg.yield %52 : i8
} -> tensor<2x1024x1280xi8>
flow.dispatch.tensor.store %32, %18, offsets = [0, 0, 0], sizes = [2, 1024, 1280], strides = [1, 1, 1] : tensor<2x1024x1280xi8> -> !flow.dispatch.tensor<writeonly:tensor<2x1024x1280xi8>>
return
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment