Files
lammps/lib/gpu/cmmc_msm_gpu_kernel.ptx

1418 lines
42 KiB
Plaintext

.version 2.3
.target sm_20
.address_size 64
// compiled with /usr/local/cuda/open64/lib//be
// nvopencc 4.0 built on 2011-05-12
//-----------------------------------------------------------
// Compiling /tmp/tmpxft_0000c0c5_00000000-9_cmmc_msm_gpu_kernel.cpp3.i (/home/sjplimp/ccBI#.giU2qD)
//-----------------------------------------------------------
//-----------------------------------------------------------
// Options:
//-----------------------------------------------------------
// Target:ptx, ISA:sm_20, Endian:little, Pointer Size:64
// -O3 (Optimization level)
// -g0 (Debug level)
// -m2 (Report advisories)
//-----------------------------------------------------------
.file 1 "<command-line>"
.file 2 "/tmp/tmpxft_0000c0c5_00000000-8_cmmc_msm_gpu_kernel.cudafe2.gpu"
.file 3 "/usr/lib/gcc/x86_64-redhat-linux/4.4.5/include/stddef.h"
.file 4 "/usr/local/cuda/include/crt/device_runtime.h"
.file 5 "/usr/local/cuda/include/host_defines.h"
.file 6 "/usr/local/cuda/include/builtin_types.h"
.file 7 "/usr/local/cuda/include/device_types.h"
.file 8 "/usr/local/cuda/include/driver_types.h"
.file 9 "/usr/local/cuda/include/surface_types.h"
.file 10 "/usr/local/cuda/include/texture_types.h"
.file 11 "/usr/local/cuda/include/vector_types.h"
.file 12 "/usr/local/cuda/include/device_launch_parameters.h"
.file 13 "/usr/local/cuda/include/crt/storage_class.h"
.file 14 "/usr/include/bits/types.h"
.file 15 "/usr/include/time.h"
.file 16 "cmmc_msm_gpu_kernel.cu"
.file 17 "/usr/local/cuda/include/common_functions.h"
.file 18 "/usr/local/cuda/include/math_functions.h"
.file 19 "/usr/local/cuda/include/math_constants.h"
.file 20 "/usr/local/cuda/include/device_functions.h"
.file 21 "/usr/local/cuda/include/sm_11_atomic_functions.h"
.file 22 "/usr/local/cuda/include/sm_12_atomic_functions.h"
.file 23 "/usr/local/cuda/include/sm_13_double_functions.h"
.file 24 "/usr/local/cuda/include/sm_20_atomic_functions.h"
.file 25 "/usr/local/cuda/include/sm_20_intrinsics.h"
.file 26 "/usr/local/cuda/include/surface_functions.h"
.file 27 "/usr/local/cuda/include/texture_fetch_functions.h"
.file 28 "/usr/local/cuda/include/math_functions_dbl_ptx3.h"
.global .texref pos_tex;
.global .texref q_tex;
.entry kernel_pair (
.param .u64 __cudaparm_kernel_pair_x_,
.param .u64 __cudaparm_kernel_pair_lj1,
.param .u64 __cudaparm_kernel_pair_lj3,
.param .s32 __cudaparm_kernel_pair_lj_types,
.param .u64 __cudaparm_kernel_pair_sp_lj_in,
.param .u64 __cudaparm_kernel_pair_dev_nbor,
.param .u64 __cudaparm_kernel_pair_dev_packed,
.param .u64 __cudaparm_kernel_pair_ans,
.param .u64 __cudaparm_kernel_pair_engv,
.param .s32 __cudaparm_kernel_pair_eflag,
.param .s32 __cudaparm_kernel_pair_vflag,
.param .s32 __cudaparm_kernel_pair_inum,
.param .s32 __cudaparm_kernel_pair_nbor_pitch,
.param .u64 __cudaparm_kernel_pair_q_,
.param .f32 __cudaparm_kernel_pair_cut_coulsq,
.param .f32 __cudaparm_kernel_pair_qqrd2e,
.param .s32 __cudaparm_kernel_pair_smooth,
.param .s32 __cudaparm_kernel_pair_t_per_atom)
{
.reg .u32 %r<90>;
.reg .u64 %rd<65>;
.reg .f32 %f<210>;
.reg .pred %p<25>;
.shared .f32 __cuda_local_var_32507_33_non_const__ia;
.shared .f32 __cuda_local_var_32508_33_non_const__ia2;
.shared .f32 __cuda_local_var_32509_33_non_const__ia3;
.shared .align 16 .b8 __cuda___cuda_local_var_32498_33_non_const_sp_lj112[32];
.shared .align 4 .b8 __cuda___cuda_local_var_32647_35_non_const_red_acc144[3072];
// __cuda_local_var_32513_10_non_const_f = 64
// __cuda_local_var_32517_9_non_const_virial = 16
// __cuda_local_var_32568_43_non_const_inv1 = 40
// __cuda_local_var_32568_49_non_const_inv2 = 44
// __cuda_local_var_32586_15_non_const_ir = 48
// __cuda_local_var_32586_19_non_const_r2_ia2 = 52
// __cuda_local_var_32586_27_non_const_r4_ia4 = 56
// __cuda_local_var_32586_35_non_const_r6_ia6 = 60
.loc 16 100 0
$LDWbegin_kernel_pair:
.loc 16 107 0
ld.param.u64 %rd1, [__cudaparm_kernel_pair_sp_lj_in];
ldu.global.f32 %f1, [%rd1+0];
.loc 16 108 0
ld.global.f32 %f2, [%rd1+4];
.loc 16 109 0
ld.global.f32 %f3, [%rd1+8];
.loc 16 110 0
ld.global.f32 %f4, [%rd1+12];
st.shared.v4.f32 [__cuda___cuda_local_var_32498_33_non_const_sp_lj112+0], {%f1,%f2,%f3,%f4};
.loc 16 111 0
ld.global.f32 %f5, [%rd1+16];
.loc 16 112 0
ld.global.f32 %f6, [%rd1+20];
.loc 16 113 0
ld.global.f32 %f7, [%rd1+24];
.loc 16 114 0
ld.global.f32 %f8, [%rd1+28];
st.shared.v4.f32 [__cuda___cuda_local_var_32498_33_non_const_sp_lj112+16], {%f5,%f6,%f7,%f8};
.loc 16 127 0
mov.f32 %f9, 0f00000000; // 0
mov.f32 %f10, %f9;
mov.f32 %f11, 0f00000000; // 0
mov.f32 %f12, %f11;
mov.f32 %f13, 0f00000000; // 0
mov.f32 %f14, %f13;
mov.f32 %f15, 0f00000000; // 0
mov.f32 %f16, %f15;
mov.f32 %f17, 0f00000000; // 0
mov.f32 %f18, %f17;
mov.f32 %f19, 0f00000000; // 0
mov.f32 %f20, %f19;
ld.param.s32 %r1, [__cudaparm_kernel_pair_t_per_atom];
cvt.s32.u32 %r2, %tid.x;
div.s32 %r3, %r2, %r1;
cvt.s32.u32 %r4, %ntid.x;
div.s32 %r5, %r4, %r1;
rem.s32 %r6, %r2, %r1;
cvt.s32.u32 %r7, %ctaid.x;
mul.lo.s32 %r8, %r7, %r5;
add.s32 %r9, %r3, %r8;
ld.param.s32 %r10, [__cudaparm_kernel_pair_inum];
setp.lt.s32 %p1, %r9, %r10;
@!%p1 bra $Lt_0_25346;
.loc 16 130 0
ld.param.f32 %f21, [__cudaparm_kernel_pair_cut_coulsq];
sqrt.approx.ftz.f32 %f22, %f21;
mov.f32 %f23, 0fbf800000; // -1
div.approx.ftz.f32 %f24, %f23, %f22;
st.shared.f32 [__cuda_local_var_32507_33_non_const__ia], %f24;
.loc 16 131 0
mov.f32 %f25, 0fbf800000; // -1
div.approx.ftz.f32 %f26, %f25, %f21;
st.shared.f32 [__cuda_local_var_32508_33_non_const__ia2], %f26;
.loc 16 132 0
mul.ftz.f32 %f27, %f26, %f24;
st.shared.f32 [__cuda_local_var_32509_33_non_const__ia3], %f27;
.loc 16 135 0
cvt.s64.s32 %rd2, %r9;
mul.wide.s32 %rd3, %r9, 4;
ld.param.u64 %rd4, [__cudaparm_kernel_pair_dev_nbor];
add.u64 %rd5, %rd3, %rd4;
ld.global.s32 %r11, [%rd5+0];
.loc 16 137 0
ld.param.s32 %r12, [__cudaparm_kernel_pair_nbor_pitch];
cvt.s64.s32 %rd6, %r12;
mul.wide.s32 %rd7, %r12, 4;
add.u64 %rd8, %rd7, %rd5;
ld.global.s32 %r13, [%rd8+0];
add.u64 %rd9, %rd7, %rd8;
ld.param.u64 %rd10, [__cudaparm_kernel_pair_dev_packed];
setp.ne.u64 %p2, %rd10, %rd4;
@%p2 bra $Lt_0_25858;
.loc 16 143 0
cvt.s32.s64 %r14, %rd6;
mul.lo.s32 %r15, %r14, %r13;
cvt.s64.s32 %rd11, %r15;
mul.wide.s32 %rd12, %r15, 4;
add.u64 %rd13, %rd9, %rd12;
.loc 16 144 0
mul.lo.s32 %r16, %r6, %r14;
cvt.s64.s32 %rd14, %r16;
mul.wide.s32 %rd15, %r16, 4;
add.u64 %rd16, %rd9, %rd15;
.loc 16 145 0
mul.lo.s32 %r17, %r14, %r1;
bra.uni $Lt_0_25602;
$Lt_0_25858:
.loc 16 147 0
ld.global.s32 %r18, [%rd9+0];
cvt.s64.s32 %rd17, %r18;
mul.wide.s32 %rd18, %r18, 4;
add.u64 %rd19, %rd10, %rd18;
.loc 16 148 0
cvt.s64.s32 %rd20, %r13;
mul.wide.s32 %rd21, %r13, 4;
add.u64 %rd13, %rd19, %rd21;
.loc 16 149 0
mov.s32 %r17, %r1;
.loc 16 150 0
cvt.s64.s32 %rd22, %r6;
mul.wide.s32 %rd23, %r6, 4;
add.u64 %rd16, %rd19, %rd23;
$Lt_0_25602:
.loc 16 153 0
mov.u32 %r19, %r11;
mov.s32 %r20, 0;
mov.u32 %r21, %r20;
mov.s32 %r22, 0;
mov.u32 %r23, %r22;
mov.s32 %r24, 0;
mov.u32 %r25, %r24;
tex.1d.v4.f32.s32 {%f28,%f29,%f30,%f31},[pos_tex,{%r19,%r21,%r23,%r25}];
mov.f32 %f32, %f28;
mov.f32 %f33, %f29;
mov.f32 %f34, %f30;
mov.f32 %f35, %f31;
.loc 16 154 0
mov.u32 %r26, %r11;
mov.s32 %r27, 0;
mov.u32 %r28, %r27;
mov.s32 %r29, 0;
mov.u32 %r30, %r29;
mov.s32 %r31, 0;
mov.u32 %r32, %r31;
tex.1d.v4.f32.s32 {%f36,%f37,%f38,%f39},[q_tex,{%r26,%r28,%r30,%r32}];
mov.f32 %f40, %f36;
setp.ge.u64 %p3, %rd16, %rd13;
@%p3 bra $Lt_0_38402;
cvt.rzi.ftz.s32.f32 %r33, %f35;
cvt.s64.s32 %rd24, %r17;
ld.param.s32 %r34, [__cudaparm_kernel_pair_lj_types];
mul.lo.s32 %r35, %r34, %r33;
ld.param.u64 %rd25, [__cudaparm_kernel_pair_lj1];
mov.f32 %f41, 0f00000000; // 0
mov.f32 %f42, 0f00000000; // 0
mov.f32 %f43, 0f00000000; // 0
mov.f32 %f44, 0f00000000; // 0
mov.f32 %f45, 0f00000000; // 0
mov.u64 %rd26, __cuda___cuda_local_var_32498_33_non_const_sp_lj112;
$Lt_0_26626:
//<loop> Loop body line 154, nesting depth: 1, estimated iterations: unknown
.loc 16 158 0
ld.global.s32 %r36, [%rd16+0];
.loc 16 161 0
shr.s32 %r37, %r36, 30;
and.b32 %r38, %r37, 3;
cvt.s64.s32 %rd27, %r38;
mul.wide.s32 %rd28, %r38, 4;
add.u64 %rd29, %rd26, %rd28;
ld.shared.f32 %f46, [%rd29+0];
.loc 16 162 0
mov.f32 %f47, 0f3f800000; // 1
ld.shared.f32 %f48, [%rd29+16];
sub.ftz.f32 %f49, %f47, %f48;
.loc 16 165 0
and.b32 %r39, %r36, 1073741823;
mov.u32 %r40, %r39;
mov.s32 %r41, 0;
mov.u32 %r42, %r41;
mov.s32 %r43, 0;
mov.u32 %r44, %r43;
mov.s32 %r45, 0;
mov.u32 %r46, %r45;
tex.1d.v4.f32.s32 {%f50,%f51,%f52,%f53},[pos_tex,{%r40,%r42,%r44,%r46}];
mov.f32 %f54, %f50;
mov.f32 %f55, %f51;
mov.f32 %f56, %f52;
mov.f32 %f57, %f53;
cvt.rzi.ftz.s32.f32 %r47, %f57;
sub.ftz.f32 %f58, %f33, %f55;
sub.ftz.f32 %f59, %f32, %f54;
sub.ftz.f32 %f60, %f34, %f56;
mul.ftz.f32 %f61, %f58, %f58;
fma.rn.ftz.f32 %f62, %f59, %f59, %f61;
fma.rn.ftz.f32 %f63, %f60, %f60, %f62;
add.s32 %r48, %r47, %r35;
cvt.s64.s32 %rd30, %r48;
mul.wide.s32 %rd31, %r48, 16;
add.u64 %rd32, %rd31, %rd25;
ld.global.f32 %f64, [%rd32+0];
setp.gt.ftz.f32 %p4, %f64, %f63;
@!%p4 bra $Lt_0_32002;
rcp.approx.ftz.f32 %f65, %f63;
ld.global.f32 %f66, [%rd32+4];
setp.lt.ftz.f32 %p5, %f63, %f66;
@!%p5 bra $Lt_0_27650;
ld.param.u64 %rd33, [__cudaparm_kernel_pair_lj3];
add.u64 %rd34, %rd33, %rd31;
ld.global.f32 %f67, [%rd34+0];
mov.f32 %f68, 0f40000000; // 2
setp.eq.ftz.f32 %p6, %f67, %f68;
@!%p6 bra $Lt_0_28162;
.loc 16 181 0
mul.ftz.f32 %f69, %f65, %f65;
mov.f32 %f70, %f69;
mov.f32 %f71, %f70;
.loc 16 182 0
mul.ftz.f32 %f72, %f69, %f69;
mov.f32 %f73, %f72;
bra.uni $Lt_0_28418;
$Lt_0_28162:
mov.f32 %f74, 0f3f800000; // 1
setp.eq.ftz.f32 %p7, %f67, %f74;
@!%p7 bra $Lt_0_28674;
.loc 16 184 0
sqrt.approx.ftz.f32 %f75, %f65;
mul.ftz.f32 %f76, %f65, %f75;
mov.f32 %f72, %f76;
mov.f32 %f73, %f72;
.loc 16 185 0
mul.ftz.f32 %f70, %f76, %f76;
mov.f32 %f71, %f70;
bra.uni $Lt_0_28418;
$Lt_0_28674:
.loc 16 187 0
mul.ftz.f32 %f77, %f65, %f65;
mul.ftz.f32 %f78, %f65, %f77;
mov.f32 %f70, %f78;
mov.f32 %f71, %f70;
.loc 16 188 0
mov.f32 %f72, %f78;
mov.f32 %f73, %f72;
$Lt_0_28418:
$Lt_0_27906:
.loc 16 190 0
mul.ftz.f32 %f79, %f46, %f70;
ld.global.v2.f32 {%f80,%f81}, [%rd32+8];
mul.ftz.f32 %f82, %f80, %f72;
sub.ftz.f32 %f83, %f82, %f81;
mul.ftz.f32 %f84, %f79, %f83;
bra.uni $Lt_0_27394;
$Lt_0_27650:
.loc 16 192 0
mov.f32 %f84, 0f00000000; // 0
$Lt_0_27394:
setp.lt.ftz.f32 %p8, %f63, %f21;
@!%p8 bra $Lt_0_29186;
.loc 16 196 0
sqrt.approx.ftz.f32 %f85, %f63;
rcp.approx.ftz.f32 %f86, %f85;
mov.f32 %f87, %f86;
.loc 16 197 0
mov.u32 %r49, %r39;
mov.s32 %r50, 0;
mov.u32 %r51, %r50;
mov.s32 %r52, 0;
mov.u32 %r53, %r52;
mov.s32 %r54, 0;
mov.u32 %r55, %r54;
tex.1d.v4.f32.s32 {%f88,%f89,%f90,%f91},[q_tex,{%r49,%r51,%r53,%r55}];
mov.f32 %f92, %f88;
ld.param.f32 %f93, [__cudaparm_kernel_pair_qqrd2e];
mul.ftz.f32 %f94, %f93, %f40;
mul.ftz.f32 %f95, %f94, %f92;
mov.f32 %f96, %f95;
.loc 16 198 0
mul.ftz.f32 %f97, %f63, %f26;
mov.f32 %f98, %f97;
.loc 16 199 0
mul.ftz.f32 %f99, %f97, %f97;
mov.f32 %f100, %f99;
ld.param.s32 %r56, [__cudaparm_kernel_pair_smooth];
mov.u32 %r57, 0;
setp.ne.s32 %p9, %r56, %r57;
@%p9 bra $Lt_0_29698;
.loc 16 201 0
div.approx.ftz.f32 %f101, %f86, %f63;
mov.f32 %f102, 0fc08c0000; // -4.375
mov.f32 %f103, 0f40a80000; // 5.25
fma.rn.ftz.f32 %f104, %f103, %f97, %f102;
mov.f32 %f105, 0f3ff00000; // 1.875
mul.ftz.f32 %f106, %f105, %f99;
sub.ftz.f32 %f107, %f104, %f106;
mul.ftz.f32 %f108, %f27, %f107;
sub.ftz.f32 %f109, %f108, %f101;
mul.ftz.f32 %f110, %f49, %f86;
sub.ftz.f32 %f111, %f109, %f110;
mul.ftz.f32 %f112, %f95, %f111;
bra.uni $Lt_0_28930;
$Lt_0_29698:
.loc 16 205 0
mul.ftz.f32 %f113, %f99, %f97;
mov.f32 %f114, %f113;
.loc 16 206 0
div.approx.ftz.f32 %f115, %f86, %f63;
mov.f32 %f116, 0fc0d20000; // -6.5625
mov.f32 %f117, 0f413d0000; // 11.8125
fma.rn.ftz.f32 %f118, %f117, %f97, %f116;
mov.f32 %f119, 0f41070000; // 8.4375
mul.ftz.f32 %f120, %f119, %f99;
sub.ftz.f32 %f121, %f118, %f120;
mov.f32 %f122, 0f400c0000; // 2.1875
fma.rn.ftz.f32 %f123, %f122, %f113, %f121;
mul.ftz.f32 %f124, %f27, %f123;
sub.ftz.f32 %f125, %f124, %f115;
mul.ftz.f32 %f126, %f49, %f86;
sub.ftz.f32 %f127, %f125, %f126;
mul.ftz.f32 %f112, %f95, %f127;
bra.uni $Lt_0_28930;
$Lt_0_29186:
.loc 16 213 0
mov.f32 %f96, 0f00000000; // 0
mov.f32 %f112, 0f00000000; // 0
$Lt_0_28930:
.loc 16 218 0
fma.rn.ftz.f32 %f128, %f84, %f65, %f112;
fma.rn.ftz.f32 %f43, %f59, %f128, %f43;
.loc 16 219 0
fma.rn.ftz.f32 %f42, %f58, %f128, %f42;
.loc 16 220 0
fma.rn.ftz.f32 %f41, %f60, %f128, %f41;
ld.param.s32 %r58, [__cudaparm_kernel_pair_eflag];
mov.u32 %r59, 0;
setp.le.s32 %p10, %r58, %r59;
@%p10 bra $Lt_0_31490;
@!%p8 bra $Lt_0_30978;
mov.f32 %f129, %f100;
mov.f32 %f130, %f98;
mov.f32 %f131, %f87;
ld.param.s32 %r60, [__cudaparm_kernel_pair_smooth];
mov.u32 %r61, 0;
setp.ne.s32 %p11, %r60, %r61;
@%p11 bra $Lt_0_31234;
.loc 16 225 0
mov.f32 %f132, 0f400c0000; // 2.1875
mov.f32 %f133, 0f400c0000; // 2.1875
mul.ftz.f32 %f134, %f133, %f130;
sub.ftz.f32 %f135, %f132, %f134;
mov.f32 %f136, 0f3fa80000; // 1.3125
fma.rn.ftz.f32 %f137, %f136, %f129, %f135;
mov.f32 %f138, 0f3ea00000; // 0.3125
mul.ftz.f32 %f139, %f129, %f138;
mul.ftz.f32 %f140, %f130, %f139;
sub.ftz.f32 %f141, %f137, %f140;
fma.rn.ftz.f32 %f142, %f24, %f141, %f131;
mul.ftz.f32 %f143, %f49, %f131;
sub.ftz.f32 %f144, %f142, %f143;
fma.rn.ftz.f32 %f44, %f96, %f144, %f44;
bra.uni $Lt_0_30978;
$Lt_0_31234:
.loc 16 230 0
mov.f32 %f145, 0f401d8000; // 2.46094
mov.f32 %f146, 0f40520000; // 3.28125
mul.ftz.f32 %f147, %f146, %f130;
sub.ftz.f32 %f148, %f145, %f147;
mov.f32 %f149, 0f403d0000; // 2.95312
fma.rn.ftz.f32 %f150, %f149, %f129, %f148;
mov.f32 %f151, 0f3fb40000; // 1.40625
mov.f32 %f152, %f114;
mul.ftz.f32 %f153, %f151, %f152;
sub.ftz.f32 %f154, %f150, %f153;
mov.f32 %f155, 0f3e8c0000; // 0.273438
mul.ftz.f32 %f156, %f129, %f155;
fma.rn.ftz.f32 %f157, %f129, %f156, %f154;
fma.rn.ftz.f32 %f158, %f24, %f157, %f131;
fma.rn.ftz.f32 %f44, %f96, %f158, %f44;
$Lt_0_30978:
$Lt_0_30466:
@!%p5 bra $Lt_0_31490;
.loc 16 236 0
ld.param.u64 %rd35, [__cudaparm_kernel_pair_lj3];
add.u64 %rd36, %rd35, %rd31;
ld.global.v4.f32 {_,%f159,%f160,%f161}, [%rd36+0];
mov.f32 %f162, %f71;
mul.ftz.f32 %f163, %f162, %f46;
mov.f32 %f164, %f73;
mul.ftz.f32 %f165, %f159, %f164;
sub.ftz.f32 %f166, %f165, %f160;
mul.ftz.f32 %f167, %f163, %f166;
sub.ftz.f32 %f168, %f167, %f161;
add.ftz.f32 %f45, %f45, %f168;
$Lt_0_31490:
$Lt_0_29954:
ld.param.s32 %r62, [__cudaparm_kernel_pair_vflag];
mov.u32 %r63, 0;
setp.le.s32 %p12, %r62, %r63;
@%p12 bra $Lt_0_32002;
.loc 16 241 0
mov.f32 %f169, %f10;
mul.ftz.f32 %f170, %f59, %f59;
fma.rn.ftz.f32 %f171, %f128, %f170, %f169;
mov.f32 %f10, %f171;
.loc 16 242 0
mov.f32 %f172, %f12;
fma.rn.ftz.f32 %f173, %f128, %f61, %f172;
mov.f32 %f12, %f173;
.loc 16 243 0
mov.f32 %f174, %f14;
mul.ftz.f32 %f175, %f60, %f60;
fma.rn.ftz.f32 %f176, %f128, %f175, %f174;
mov.f32 %f14, %f176;
.loc 16 244 0
mov.f32 %f177, %f16;
mul.ftz.f32 %f178, %f58, %f59;
fma.rn.ftz.f32 %f179, %f128, %f178, %f177;
mov.f32 %f16, %f179;
.loc 16 245 0
mov.f32 %f180, %f18;
mul.ftz.f32 %f181, %f59, %f60;
fma.rn.ftz.f32 %f182, %f128, %f181, %f180;
mov.f32 %f18, %f182;
.loc 16 246 0
mul.ftz.f32 %f183, %f58, %f60;
fma.rn.ftz.f32 %f19, %f128, %f183, %f19;
mov.f32 %f20, %f19;
$Lt_0_32002:
$Lt_0_26882:
.loc 16 157 0
mul.lo.u64 %rd37, %rd24, 4;
add.u64 %rd16, %rd16, %rd37;
setp.lt.u64 %p13, %rd16, %rd13;
@%p13 bra $Lt_0_26626;
bra.uni $Lt_0_25090;
$Lt_0_38402:
mov.f32 %f41, 0f00000000; // 0
mov.f32 %f42, 0f00000000; // 0
mov.f32 %f43, 0f00000000; // 0
mov.f32 %f44, 0f00000000; // 0
mov.f32 %f45, 0f00000000; // 0
bra.uni $Lt_0_25090;
$Lt_0_25346:
mov.f32 %f41, 0f00000000; // 0
mov.f32 %f42, 0f00000000; // 0
mov.f32 %f43, 0f00000000; // 0
mov.f32 %f44, 0f00000000; // 0
mov.f32 %f45, 0f00000000; // 0
$Lt_0_25090:
mov.u32 %r64, 1;
setp.le.s32 %p14, %r1, %r64;
@%p14 bra $Lt_0_34818;
.loc 16 257 0
mov.u64 %rd38, __cuda___cuda_local_var_32647_35_non_const_red_acc144;
cvt.s64.s32 %rd39, %r2;
mul.wide.s32 %rd40, %r2, 4;
add.u64 %rd41, %rd38, %rd40;
mov.f32 %f184, %f43;
st.shared.f32 [%rd41+0], %f184;
.loc 16 258 0
mov.f32 %f185, %f42;
st.shared.f32 [%rd41+512], %f185;
.loc 16 259 0
mov.f32 %f186, %f41;
st.shared.f32 [%rd41+1024], %f186;
.loc 16 260 0
mov.f32 %f187, %f45;
st.shared.f32 [%rd41+1536], %f187;
.loc 16 261 0
mov.f32 %f188, %f44;
st.shared.f32 [%rd41+2048], %f188;
.loc 16 263 0
shr.s32 %r65, %r1, 31;
mov.s32 %r66, 1;
and.b32 %r67, %r65, %r66;
add.s32 %r68, %r67, %r1;
shr.s32 %r69, %r68, 1;
mov.s32 %r70, %r69;
mov.u32 %r71, 0;
setp.ne.u32 %p15, %r69, %r71;
@!%p15 bra $Lt_0_33282;
$Lt_0_33794:
setp.ge.u32 %p16, %r6, %r70;
@%p16 bra $Lt_0_34050;
.loc 16 266 0
add.u32 %r72, %r2, %r70;
cvt.u64.u32 %rd42, %r72;
mul.wide.u32 %rd43, %r72, 4;
add.u64 %rd44, %rd38, %rd43;
ld.shared.f32 %f189, [%rd44+0];
add.ftz.f32 %f184, %f189, %f184;
st.shared.f32 [%rd41+0], %f184;
ld.shared.f32 %f190, [%rd44+512];
add.ftz.f32 %f185, %f190, %f185;
st.shared.f32 [%rd41+512], %f185;
ld.shared.f32 %f191, [%rd44+1024];
add.ftz.f32 %f186, %f191, %f186;
st.shared.f32 [%rd41+1024], %f186;
ld.shared.f32 %f192, [%rd44+1536];
add.ftz.f32 %f187, %f192, %f187;
st.shared.f32 [%rd41+1536], %f187;
ld.shared.f32 %f193, [%rd44+2048];
add.ftz.f32 %f188, %f193, %f188;
st.shared.f32 [%rd41+2048], %f188;
$Lt_0_34050:
.loc 16 263 0
shr.u32 %r70, %r70, 1;
mov.u32 %r73, 0;
setp.ne.u32 %p17, %r70, %r73;
@%p17 bra $Lt_0_33794;
$Lt_0_33282:
.loc 16 270 0
mov.f32 %f43, %f184;
.loc 16 271 0
mov.f32 %f42, %f185;
.loc 16 272 0
mov.f32 %f41, %f186;
.loc 16 273 0
mov.f32 %f45, %f187;
.loc 16 274 0
mov.f32 %f44, %f188;
ld.param.s32 %r74, [__cudaparm_kernel_pair_vflag];
mov.u32 %r75, 0;
setp.le.s32 %p18, %r74, %r75;
@%p18 bra $Lt_0_34818;
.loc 16 278 0
mov.f32 %f184, %f10;
st.shared.f32 [%rd41+0], %f184;
mov.f32 %f185, %f12;
st.shared.f32 [%rd41+512], %f185;
mov.f32 %f186, %f14;
st.shared.f32 [%rd41+1024], %f186;
mov.f32 %f187, %f16;
st.shared.f32 [%rd41+1536], %f187;
mov.f32 %f188, %f18;
st.shared.f32 [%rd41+2048], %f188;
mov.f32 %f194, %f20;
st.shared.f32 [%rd41+2560], %f194;
.loc 16 280 0
mov.s32 %r76, %r69;
@!%p15 bra $Lt_0_35330;
$Lt_0_35842:
setp.ge.u32 %p19, %r6, %r76;
@%p19 bra $Lt_0_36098;
.loc 16 283 0
add.u32 %r77, %r2, %r76;
cvt.u64.u32 %rd45, %r77;
mul.wide.u32 %rd46, %r77, 4;
add.u64 %rd47, %rd38, %rd46;
ld.shared.f32 %f195, [%rd47+0];
add.ftz.f32 %f184, %f195, %f184;
st.shared.f32 [%rd41+0], %f184;
ld.shared.f32 %f196, [%rd47+512];
add.ftz.f32 %f185, %f196, %f185;
st.shared.f32 [%rd41+512], %f185;
ld.shared.f32 %f197, [%rd47+1024];
add.ftz.f32 %f186, %f197, %f186;
st.shared.f32 [%rd41+1024], %f186;
ld.shared.f32 %f198, [%rd47+1536];
add.ftz.f32 %f187, %f198, %f187;
st.shared.f32 [%rd41+1536], %f187;
ld.shared.f32 %f199, [%rd47+2048];
add.ftz.f32 %f188, %f199, %f188;
st.shared.f32 [%rd41+2048], %f188;
ld.shared.f32 %f200, [%rd47+2560];
add.ftz.f32 %f194, %f200, %f194;
st.shared.f32 [%rd41+2560], %f194;
$Lt_0_36098:
.loc 16 280 0
shr.u32 %r76, %r76, 1;
mov.u32 %r78, 0;
setp.ne.u32 %p20, %r76, %r78;
@%p20 bra $Lt_0_35842;
$Lt_0_35330:
.loc 16 288 0
mov.f32 %f10, %f184;
mov.f32 %f12, %f185;
mov.f32 %f14, %f186;
mov.f32 %f16, %f187;
mov.f32 %f18, %f188;
mov.f32 %f20, %f194;
$Lt_0_34818:
$Lt_0_32770:
selp.s32 %r79, 1, 0, %p1;
mov.s32 %r80, 0;
set.eq.u32.s32 %r81, %r6, %r80;
neg.s32 %r82, %r81;
and.b32 %r83, %r79, %r82;
mov.u32 %r84, 0;
setp.eq.s32 %p21, %r83, %r84;
@%p21 bra $Lt_0_36866;
.loc 16 294 0
cvt.s64.s32 %rd48, %r9;
ld.param.u64 %rd49, [__cudaparm_kernel_pair_engv];
mul.wide.s32 %rd50, %r9, 4;
add.u64 %rd51, %rd49, %rd50;
ld.param.s32 %r85, [__cudaparm_kernel_pair_eflag];
mov.u32 %r86, 0;
setp.le.s32 %p22, %r85, %r86;
@%p22 bra $Lt_0_37378;
.loc 16 296 0
st.global.f32 [%rd51+0], %f45;
.loc 16 297 0
cvt.s64.s32 %rd52, %r10;
mul.wide.s32 %rd53, %r10, 4;
add.u64 %rd54, %rd53, %rd51;
.loc 16 298 0
st.global.f32 [%rd54+0], %f44;
.loc 16 299 0
add.u64 %rd51, %rd53, %rd54;
$Lt_0_37378:
ld.param.s32 %r87, [__cudaparm_kernel_pair_vflag];
mov.u32 %r88, 0;
setp.le.s32 %p23, %r87, %r88;
@%p23 bra $Lt_0_37890;
.loc 16 303 0
mov.f32 %f201, %f10;
st.global.f32 [%rd51+0], %f201;
.loc 16 304 0
cvt.s64.s32 %rd55, %r10;
mul.wide.s32 %rd56, %r10, 4;
add.u64 %rd57, %rd56, %rd51;
.loc 16 303 0
mov.f32 %f202, %f12;
st.global.f32 [%rd57+0], %f202;
.loc 16 304 0
add.u64 %rd58, %rd56, %rd57;
.loc 16 303 0
mov.f32 %f203, %f14;
st.global.f32 [%rd58+0], %f203;
.loc 16 304 0
add.u64 %rd59, %rd56, %rd58;
.loc 16 303 0
mov.f32 %f204, %f16;
st.global.f32 [%rd59+0], %f204;
.loc 16 304 0
add.u64 %rd51, %rd56, %rd59;
.loc 16 303 0
mov.f32 %f205, %f18;
st.global.f32 [%rd51+0], %f205;
mov.f32 %f206, %f20;
add.u64 %rd60, %rd56, %rd51;
st.global.f32 [%rd60+0], %f206;
$Lt_0_37890:
.loc 16 307 0
ld.param.u64 %rd61, [__cudaparm_kernel_pair_ans];
mul.lo.u64 %rd62, %rd48, 16;
add.u64 %rd63, %rd61, %rd62;
mov.f32 %f207, %f208;
st.global.v4.f32 [%rd63+0], {%f43,%f42,%f41,%f207};
$Lt_0_36866:
.loc 16 309 0
exit;
$LDWend_kernel_pair:
} // kernel_pair
.entry kernel_pair_fast (
.param .u64 __cudaparm_kernel_pair_fast_x_,
.param .u64 __cudaparm_kernel_pair_fast_lj1_in,
.param .u64 __cudaparm_kernel_pair_fast_lj3_in,
.param .u64 __cudaparm_kernel_pair_fast_sp_lj_in,
.param .u64 __cudaparm_kernel_pair_fast_dev_nbor,
.param .u64 __cudaparm_kernel_pair_fast_dev_packed,
.param .u64 __cudaparm_kernel_pair_fast_ans,
.param .u64 __cudaparm_kernel_pair_fast_engv,
.param .s32 __cudaparm_kernel_pair_fast_eflag,
.param .s32 __cudaparm_kernel_pair_fast_vflag,
.param .s32 __cudaparm_kernel_pair_fast_inum,
.param .s32 __cudaparm_kernel_pair_fast_nbor_pitch,
.param .u64 __cudaparm_kernel_pair_fast_q_,
.param .f32 __cudaparm_kernel_pair_fast_cut_coulsq,
.param .f32 __cudaparm_kernel_pair_fast_qqrd2e,
.param .s32 __cudaparm_kernel_pair_fast_smooth,
.param .s32 __cudaparm_kernel_pair_fast_t_per_atom)
{
.reg .u32 %r<90>;
.reg .u64 %rd<76>;
.reg .f32 %f<215>;
.reg .pred %p<27>;
.shared .f32 __cuda_local_var_32737_33_non_const__ia;
.shared .f32 __cuda_local_var_32738_33_non_const__ia2;
.shared .f32 __cuda_local_var_32739_33_non_const__ia3;
.shared .align 4 .b8 __cuda___cuda_local_var_32719_33_non_const_sp_lj3320[32];
.shared .align 16 .b8 __cuda___cuda_local_var_32717_34_non_const_lj13360[1936];
.shared .align 16 .b8 __cuda___cuda_local_var_32718_34_non_const_lj35296[1936];
.shared .align 4 .b8 __cuda___cuda_local_var_32866_35_non_const_red_acc7232[3072];
// __cuda_local_var_32729_10_non_const_f = 64
// __cuda_local_var_32733_9_non_const_virial = 16
// __cuda_local_var_32788_43_non_const_inv1 = 40
// __cuda_local_var_32788_49_non_const_inv2 = 44
// __cuda_local_var_32806_15_non_const_ir = 48
// __cuda_local_var_32806_19_non_const_r2_ia2 = 52
// __cuda_local_var_32806_27_non_const_r4_ia4 = 56
// __cuda_local_var_32806_35_non_const_r6_ia6 = 60
.loc 16 319 0
$LDWbegin_kernel_pair_fast:
cvt.s32.u32 %r1, %tid.x;
mov.u32 %r2, 7;
setp.gt.s32 %p1, %r1, %r2;
@%p1 bra $Lt_1_26626;
.loc 16 329 0
mov.u64 %rd1, __cuda___cuda_local_var_32719_33_non_const_sp_lj3320;
cvt.s64.s32 %rd2, %r1;
mul.wide.s32 %rd3, %r1, 4;
ld.param.u64 %rd4, [__cudaparm_kernel_pair_fast_sp_lj_in];
add.u64 %rd5, %rd4, %rd3;
ld.global.f32 %f1, [%rd5+0];
add.u64 %rd6, %rd3, %rd1;
st.shared.f32 [%rd6+0], %f1;
$Lt_1_26626:
mov.u64 %rd1, __cuda___cuda_local_var_32719_33_non_const_sp_lj3320;
mov.u32 %r3, 120;
setp.gt.s32 %p2, %r1, %r3;
@%p2 bra $Lt_1_27138;
.loc 16 331 0
mov.u64 %rd7, __cuda___cuda_local_var_32717_34_non_const_lj13360;
mov.u64 %rd8, __cuda___cuda_local_var_32718_34_non_const_lj35296;
cvt.s64.s32 %rd9, %r1;
mul.wide.s32 %rd10, %r1, 16;
ld.param.u64 %rd11, [__cudaparm_kernel_pair_fast_lj1_in];
add.u64 %rd12, %rd11, %rd10;
add.u64 %rd13, %rd10, %rd7;
ld.global.v4.f32 {%f2,%f3,%f4,%f5}, [%rd12+0];
st.shared.v4.f32 [%rd13+0], {%f2,%f3,%f4,%f5};
.loc 16 332 0
ld.param.u64 %rd14, [__cudaparm_kernel_pair_fast_lj3_in];
add.u64 %rd15, %rd14, %rd10;
add.u64 %rd16, %rd10, %rd8;
ld.global.v4.f32 {%f6,%f7,%f8,%f9}, [%rd15+0];
st.shared.v4.f32 [%rd16+0], {%f6,%f7,%f8,%f9};
$Lt_1_27138:
mov.u64 %rd7, __cuda___cuda_local_var_32717_34_non_const_lj13360;
mov.u64 %rd8, __cuda___cuda_local_var_32718_34_non_const_lj35296;
.loc 16 343 0
mov.f32 %f10, 0f00000000; // 0
mov.f32 %f11, %f10;
mov.f32 %f12, 0f00000000; // 0
mov.f32 %f13, %f12;
mov.f32 %f14, 0f00000000; // 0
mov.f32 %f15, %f14;
mov.f32 %f16, 0f00000000; // 0
mov.f32 %f17, %f16;
mov.f32 %f18, 0f00000000; // 0
mov.f32 %f19, %f18;
mov.f32 %f20, 0f00000000; // 0
mov.f32 %f21, %f20;
.loc 16 348 0
ld.param.f32 %f22, [__cudaparm_kernel_pair_fast_cut_coulsq];
sqrt.approx.ftz.f32 %f23, %f22;
mov.f32 %f24, 0fbf800000; // -1
div.approx.ftz.f32 %f25, %f24, %f23;
st.shared.f32 [__cuda_local_var_32737_33_non_const__ia], %f25;
.loc 16 349 0
rcp.approx.ftz.f32 %f26, %f22;
st.shared.f32 [__cuda_local_var_32738_33_non_const__ia2], %f26;
.loc 16 350 0
mul.ftz.f32 %f27, %f26, %f25;
st.shared.f32 [__cuda_local_var_32739_33_non_const__ia3], %f27;
.loc 16 351 0
bar.sync 0;
ld.param.s32 %r4, [__cudaparm_kernel_pair_fast_t_per_atom];
div.s32 %r5, %r1, %r4;
cvt.s32.u32 %r6, %ntid.x;
div.s32 %r7, %r6, %r4;
rem.s32 %r8, %r1, %r4;
cvt.s32.u32 %r9, %ctaid.x;
mul.lo.s32 %r10, %r9, %r7;
add.s32 %r11, %r5, %r10;
ld.param.s32 %r12, [__cudaparm_kernel_pair_fast_inum];
setp.lt.s32 %p3, %r11, %r12;
@!%p3 bra $Lt_1_27906;
.loc 16 355 0
cvt.s64.s32 %rd17, %r11;
mul.wide.s32 %rd18, %r11, 4;
ld.param.u64 %rd19, [__cudaparm_kernel_pair_fast_dev_nbor];
add.u64 %rd20, %rd18, %rd19;
ld.global.s32 %r13, [%rd20+0];
.loc 16 357 0
ld.param.s32 %r14, [__cudaparm_kernel_pair_fast_nbor_pitch];
cvt.s64.s32 %rd21, %r14;
mul.wide.s32 %rd22, %r14, 4;
add.u64 %rd23, %rd22, %rd20;
ld.global.s32 %r15, [%rd23+0];
add.u64 %rd24, %rd22, %rd23;
ld.param.u64 %rd25, [__cudaparm_kernel_pair_fast_dev_packed];
setp.ne.u64 %p4, %rd25, %rd19;
@%p4 bra $Lt_1_28418;
.loc 16 363 0
cvt.s32.s64 %r16, %rd21;
mul.lo.s32 %r17, %r16, %r15;
cvt.s64.s32 %rd26, %r17;
mul.wide.s32 %rd27, %r17, 4;
add.u64 %rd28, %rd24, %rd27;
.loc 16 364 0
mul.lo.s32 %r18, %r8, %r16;
cvt.s64.s32 %rd29, %r18;
mul.wide.s32 %rd30, %r18, 4;
add.u64 %rd31, %rd24, %rd30;
.loc 16 365 0
mul.lo.s32 %r19, %r16, %r4;
bra.uni $Lt_1_28162;
$Lt_1_28418:
.loc 16 367 0
ld.global.s32 %r20, [%rd24+0];
cvt.s64.s32 %rd32, %r20;
mul.wide.s32 %rd33, %r20, 4;
add.u64 %rd34, %rd25, %rd33;
.loc 16 368 0
cvt.s64.s32 %rd35, %r15;
mul.wide.s32 %rd36, %r15, 4;
add.u64 %rd28, %rd34, %rd36;
.loc 16 369 0
mov.s32 %r19, %r4;
.loc 16 370 0
cvt.s64.s32 %rd37, %r8;
mul.wide.s32 %rd38, %r8, 4;
add.u64 %rd31, %rd34, %rd38;
$Lt_1_28162:
.loc 16 373 0
mov.u32 %r21, %r13;
mov.s32 %r22, 0;
mov.u32 %r23, %r22;
mov.s32 %r24, 0;
mov.u32 %r25, %r24;
mov.s32 %r26, 0;
mov.u32 %r27, %r26;
tex.1d.v4.f32.s32 {%f28,%f29,%f30,%f31},[pos_tex,{%r21,%r23,%r25,%r27}];
mov.f32 %f32, %f28;
mov.f32 %f33, %f29;
mov.f32 %f34, %f30;
mov.f32 %f35, %f31;
.loc 16 374 0
mov.u32 %r28, %r13;
mov.s32 %r29, 0;
mov.u32 %r30, %r29;
mov.s32 %r31, 0;
mov.u32 %r32, %r31;
mov.s32 %r33, 0;
mov.u32 %r34, %r33;
tex.1d.v4.f32.s32 {%f36,%f37,%f38,%f39},[q_tex,{%r28,%r30,%r32,%r34}];
mov.f32 %f40, %f36;
setp.ge.u64 %p5, %rd31, %rd28;
@%p5 bra $Lt_1_40962;
cvt.rzi.ftz.s32.f32 %r35, %f35;
cvt.s64.s32 %rd39, %r19;
mul.lo.s32 %r36, %r35, 11;
cvt.rn.f32.s32 %f41, %r36;
mov.f32 %f42, 0f00000000; // 0
mov.f32 %f43, 0f00000000; // 0
mov.f32 %f44, 0f00000000; // 0
mov.f32 %f45, 0f00000000; // 0
mov.f32 %f46, 0f00000000; // 0
$Lt_1_29186:
//<loop> Loop body line 374, nesting depth: 1, estimated iterations: unknown
.loc 16 379 0
ld.global.s32 %r37, [%rd31+0];
.loc 16 382 0
shr.s32 %r38, %r37, 30;
and.b32 %r39, %r38, 3;
cvt.s64.s32 %rd40, %r39;
mul.wide.s32 %rd41, %r39, 4;
add.u64 %rd42, %rd1, %rd41;
ld.shared.f32 %f47, [%rd42+0];
.loc 16 383 0
mov.f32 %f48, 0f3f800000; // 1
ld.shared.f32 %f49, [%rd42+16];
sub.ftz.f32 %f50, %f48, %f49;
.loc 16 386 0
and.b32 %r40, %r37, 1073741823;
mov.u32 %r41, %r40;
mov.s32 %r42, 0;
mov.u32 %r43, %r42;
mov.s32 %r44, 0;
mov.u32 %r45, %r44;
mov.s32 %r46, 0;
mov.u32 %r47, %r46;
tex.1d.v4.f32.s32 {%f51,%f52,%f53,%f54},[pos_tex,{%r41,%r43,%r45,%r47}];
mov.f32 %f55, %f51;
mov.f32 %f56, %f52;
mov.f32 %f57, %f53;
mov.f32 %f58, %f54;
sub.ftz.f32 %f59, %f33, %f56;
sub.ftz.f32 %f60, %f32, %f55;
sub.ftz.f32 %f61, %f34, %f57;
mul.ftz.f32 %f62, %f59, %f59;
fma.rn.ftz.f32 %f63, %f60, %f60, %f62;
fma.rn.ftz.f32 %f64, %f61, %f61, %f63;
add.ftz.f32 %f65, %f41, %f58;
cvt.rzi.ftz.s32.f32 %r48, %f65;
cvt.s64.s32 %rd43, %r48;
mul.wide.s32 %rd44, %r48, 16;
add.u64 %rd45, %rd44, %rd7;
ld.shared.f32 %f66, [%rd45+0];
setp.gt.ftz.f32 %p6, %f66, %f64;
@!%p6 bra $Lt_1_34562;
rcp.approx.ftz.f32 %f67, %f64;
ld.shared.f32 %f68, [%rd45+4];
setp.lt.ftz.f32 %p7, %f64, %f68;
@!%p7 bra $Lt_1_30210;
add.u64 %rd46, %rd44, %rd8;
ld.shared.f32 %f69, [%rd46+0];
mov.f32 %f70, 0f40000000; // 2
setp.eq.ftz.f32 %p8, %f69, %f70;
@!%p8 bra $Lt_1_30722;
.loc 16 401 0
mul.ftz.f32 %f71, %f67, %f67;
mov.f32 %f72, %f71;
mov.f32 %f73, %f72;
.loc 16 402 0
mul.ftz.f32 %f74, %f71, %f71;
mov.f32 %f75, %f74;
bra.uni $Lt_1_30978;
$Lt_1_30722:
mov.f32 %f76, 0f3f800000; // 1
setp.eq.ftz.f32 %p9, %f69, %f76;
@!%p9 bra $Lt_1_31234;
.loc 16 404 0
sqrt.approx.ftz.f32 %f77, %f67;
mul.ftz.f32 %f78, %f67, %f77;
mov.f32 %f74, %f78;
mov.f32 %f75, %f74;
.loc 16 405 0
mul.ftz.f32 %f72, %f78, %f78;
mov.f32 %f73, %f72;
bra.uni $Lt_1_30978;
$Lt_1_31234:
.loc 16 407 0
mul.ftz.f32 %f79, %f67, %f67;
mul.ftz.f32 %f80, %f67, %f79;
mov.f32 %f72, %f80;
mov.f32 %f73, %f72;
.loc 16 408 0
mov.f32 %f74, %f80;
mov.f32 %f75, %f74;
$Lt_1_30978:
$Lt_1_30466:
.loc 16 410 0
mul.ftz.f32 %f81, %f47, %f72;
ld.shared.v2.f32 {%f82,%f83}, [%rd45+8];
mul.ftz.f32 %f84, %f82, %f74;
sub.ftz.f32 %f85, %f84, %f83;
mul.ftz.f32 %f86, %f81, %f85;
bra.uni $Lt_1_29954;
$Lt_1_30210:
.loc 16 412 0
mov.f32 %f86, 0f00000000; // 0
$Lt_1_29954:
setp.lt.ftz.f32 %p10, %f64, %f22;
@!%p10 bra $Lt_1_31746;
.loc 16 416 0
sqrt.approx.ftz.f32 %f87, %f64;
rcp.approx.ftz.f32 %f88, %f87;
mov.f32 %f89, %f88;
.loc 16 417 0
mov.u32 %r49, %r40;
mov.s32 %r50, 0;
mov.u32 %r51, %r50;
mov.s32 %r52, 0;
mov.u32 %r53, %r52;
mov.s32 %r54, 0;
mov.u32 %r55, %r54;
tex.1d.v4.f32.s32 {%f90,%f91,%f92,%f93},[q_tex,{%r49,%r51,%r53,%r55}];
mov.f32 %f94, %f90;
ld.param.f32 %f95, [__cudaparm_kernel_pair_fast_qqrd2e];
mul.ftz.f32 %f96, %f95, %f40;
mul.ftz.f32 %f97, %f96, %f94;
mov.f32 %f98, %f97;
.loc 16 418 0
ld.shared.f32 %f99, [__cuda_local_var_32738_33_non_const__ia2];
mul.ftz.f32 %f100, %f99, %f64;
mov.f32 %f101, %f100;
.loc 16 419 0
mul.ftz.f32 %f102, %f100, %f100;
mov.f32 %f103, %f102;
ld.shared.f32 %f104, [__cuda_local_var_32739_33_non_const__ia3];
ld.param.s32 %r56, [__cudaparm_kernel_pair_fast_smooth];
mov.u32 %r57, 0;
setp.ne.s32 %p11, %r56, %r57;
@%p11 bra $Lt_1_32258;
.loc 16 421 0
div.approx.ftz.f32 %f105, %f88, %f64;
mov.f32 %f106, 0fc08c0000; // -4.375
mov.f32 %f107, 0f40a80000; // 5.25
fma.rn.ftz.f32 %f108, %f107, %f100, %f106;
mov.f32 %f109, 0f3ff00000; // 1.875
mul.ftz.f32 %f110, %f109, %f102;
sub.ftz.f32 %f111, %f108, %f110;
mul.ftz.f32 %f112, %f104, %f111;
sub.ftz.f32 %f113, %f112, %f105;
mul.ftz.f32 %f114, %f50, %f88;
sub.ftz.f32 %f115, %f113, %f114;
mul.ftz.f32 %f116, %f97, %f115;
bra.uni $Lt_1_31490;
$Lt_1_32258:
.loc 16 425 0
mul.ftz.f32 %f117, %f102, %f100;
mov.f32 %f118, %f117;
.loc 16 426 0
div.approx.ftz.f32 %f119, %f88, %f64;
mov.f32 %f120, 0fc0d20000; // -6.5625
mov.f32 %f121, 0f413d0000; // 11.8125
fma.rn.ftz.f32 %f122, %f121, %f100, %f120;
mov.f32 %f123, 0f41070000; // 8.4375
mul.ftz.f32 %f124, %f123, %f102;
sub.ftz.f32 %f125, %f122, %f124;
mov.f32 %f126, 0f400c0000; // 2.1875
fma.rn.ftz.f32 %f127, %f126, %f117, %f125;
mul.ftz.f32 %f128, %f104, %f127;
sub.ftz.f32 %f129, %f128, %f119;
mul.ftz.f32 %f130, %f50, %f88;
sub.ftz.f32 %f131, %f129, %f130;
mul.ftz.f32 %f116, %f97, %f131;
bra.uni $Lt_1_31490;
$Lt_1_31746:
.loc 16 433 0
mov.f32 %f98, 0f00000000; // 0
mov.f32 %f116, 0f00000000; // 0
$Lt_1_31490:
.loc 16 438 0
fma.rn.ftz.f32 %f132, %f86, %f67, %f116;
fma.rn.ftz.f32 %f44, %f60, %f132, %f44;
.loc 16 439 0
fma.rn.ftz.f32 %f43, %f59, %f132, %f43;
.loc 16 440 0
fma.rn.ftz.f32 %f42, %f61, %f132, %f42;
ld.param.s32 %r58, [__cudaparm_kernel_pair_fast_eflag];
mov.u32 %r59, 0;
setp.le.s32 %p12, %r58, %r59;
@%p12 bra $Lt_1_34050;
@!%p10 bra $Lt_1_33538;
mov.f32 %f133, %f103;
mov.f32 %f134, %f101;
mov.f32 %f135, %f89;
ld.shared.f32 %f136, [__cuda_local_var_32737_33_non_const__ia];
ld.param.s32 %r60, [__cudaparm_kernel_pair_fast_smooth];
mov.u32 %r61, 0;
setp.ne.s32 %p13, %r60, %r61;
@%p13 bra $Lt_1_33794;
.loc 16 445 0
mov.f32 %f137, 0f400c0000; // 2.1875
mov.f32 %f138, 0f400c0000; // 2.1875
mul.ftz.f32 %f139, %f138, %f134;
sub.ftz.f32 %f140, %f137, %f139;
mov.f32 %f141, 0f3fa80000; // 1.3125
fma.rn.ftz.f32 %f142, %f141, %f133, %f140;
mov.f32 %f143, 0f3ea00000; // 0.3125
mul.ftz.f32 %f144, %f133, %f143;
mul.ftz.f32 %f145, %f134, %f144;
sub.ftz.f32 %f146, %f142, %f145;
fma.rn.ftz.f32 %f147, %f136, %f146, %f135;
mul.ftz.f32 %f148, %f50, %f135;
sub.ftz.f32 %f149, %f147, %f148;
fma.rn.ftz.f32 %f45, %f98, %f149, %f45;
bra.uni $Lt_1_33538;
$Lt_1_33794:
.loc 16 450 0
mov.f32 %f150, 0f401d8000; // 2.46094
mov.f32 %f151, 0f40520000; // 3.28125
mul.ftz.f32 %f152, %f151, %f134;
sub.ftz.f32 %f153, %f150, %f152;
mov.f32 %f154, 0f403d0000; // 2.95312
fma.rn.ftz.f32 %f155, %f154, %f133, %f153;
mov.f32 %f156, 0f3fb40000; // 1.40625
mov.f32 %f157, %f118;
mul.ftz.f32 %f158, %f156, %f157;
sub.ftz.f32 %f159, %f155, %f158;
mov.f32 %f160, 0f3e8c0000; // 0.273438
mul.ftz.f32 %f161, %f133, %f160;
fma.rn.ftz.f32 %f162, %f133, %f161, %f159;
fma.rn.ftz.f32 %f163, %f136, %f162, %f135;
fma.rn.ftz.f32 %f45, %f98, %f163, %f45;
$Lt_1_33538:
$Lt_1_33026:
@!%p7 bra $Lt_1_34050;
.loc 16 455 0
add.u64 %rd47, %rd44, %rd8;
ld.shared.v4.f32 {_,%f164,%f165,%f166}, [%rd47+0];
mov.f32 %f167, %f73;
mul.ftz.f32 %f168, %f167, %f47;
mov.f32 %f169, %f75;
mul.ftz.f32 %f170, %f164, %f169;
sub.ftz.f32 %f171, %f170, %f165;
mul.ftz.f32 %f172, %f168, %f171;
sub.ftz.f32 %f173, %f172, %f166;
add.ftz.f32 %f46, %f46, %f173;
$Lt_1_34050:
$Lt_1_32514:
ld.param.s32 %r62, [__cudaparm_kernel_pair_fast_vflag];
mov.u32 %r63, 0;
setp.le.s32 %p14, %r62, %r63;
@%p14 bra $Lt_1_34562;
.loc 16 460 0
mov.f32 %f174, %f11;
mul.ftz.f32 %f175, %f60, %f60;
fma.rn.ftz.f32 %f176, %f132, %f175, %f174;
mov.f32 %f11, %f176;
.loc 16 461 0
mov.f32 %f177, %f13;
fma.rn.ftz.f32 %f178, %f132, %f62, %f177;
mov.f32 %f13, %f178;
.loc 16 462 0
mov.f32 %f179, %f15;
mul.ftz.f32 %f180, %f61, %f61;
fma.rn.ftz.f32 %f181, %f132, %f180, %f179;
mov.f32 %f15, %f181;
.loc 16 463 0
mov.f32 %f182, %f17;
mul.ftz.f32 %f183, %f59, %f60;
fma.rn.ftz.f32 %f184, %f132, %f183, %f182;
mov.f32 %f17, %f184;
.loc 16 464 0
mov.f32 %f185, %f19;
mul.ftz.f32 %f186, %f60, %f61;
fma.rn.ftz.f32 %f187, %f132, %f186, %f185;
mov.f32 %f19, %f187;
.loc 16 465 0
mul.ftz.f32 %f188, %f59, %f61;
fma.rn.ftz.f32 %f20, %f132, %f188, %f20;
mov.f32 %f21, %f20;
$Lt_1_34562:
$Lt_1_29442:
.loc 16 378 0
mul.lo.u64 %rd48, %rd39, 4;
add.u64 %rd31, %rd31, %rd48;
setp.lt.u64 %p15, %rd31, %rd28;
@%p15 bra $Lt_1_29186;
bra.uni $Lt_1_27650;
$Lt_1_40962:
mov.f32 %f42, 0f00000000; // 0
mov.f32 %f43, 0f00000000; // 0
mov.f32 %f44, 0f00000000; // 0
mov.f32 %f45, 0f00000000; // 0
mov.f32 %f46, 0f00000000; // 0
bra.uni $Lt_1_27650;
$Lt_1_27906:
mov.f32 %f42, 0f00000000; // 0
mov.f32 %f43, 0f00000000; // 0
mov.f32 %f44, 0f00000000; // 0
mov.f32 %f45, 0f00000000; // 0
mov.f32 %f46, 0f00000000; // 0
$Lt_1_27650:
mov.u32 %r64, 1;
setp.le.s32 %p16, %r4, %r64;
@%p16 bra $Lt_1_37378;
.loc 16 476 0
mov.u64 %rd49, __cuda___cuda_local_var_32866_35_non_const_red_acc7232;
cvt.s64.s32 %rd50, %r1;
mul.wide.s32 %rd51, %r1, 4;
add.u64 %rd52, %rd49, %rd51;
mov.f32 %f189, %f44;
st.shared.f32 [%rd52+0], %f189;
.loc 16 477 0
mov.f32 %f190, %f43;
st.shared.f32 [%rd52+512], %f190;
.loc 16 478 0
mov.f32 %f191, %f42;
st.shared.f32 [%rd52+1024], %f191;
.loc 16 479 0
mov.f32 %f192, %f46;
st.shared.f32 [%rd52+1536], %f192;
.loc 16 480 0
mov.f32 %f193, %f45;
st.shared.f32 [%rd52+2048], %f193;
.loc 16 482 0
shr.s32 %r65, %r4, 31;
mov.s32 %r66, 1;
and.b32 %r67, %r65, %r66;
add.s32 %r68, %r67, %r4;
shr.s32 %r69, %r68, 1;
mov.s32 %r70, %r69;
mov.u32 %r71, 0;
setp.ne.u32 %p17, %r69, %r71;
@!%p17 bra $Lt_1_35842;
$Lt_1_36354:
setp.ge.u32 %p18, %r8, %r70;
@%p18 bra $Lt_1_36610;
.loc 16 485 0
add.u32 %r72, %r1, %r70;
cvt.u64.u32 %rd53, %r72;
mul.wide.u32 %rd54, %r72, 4;
add.u64 %rd55, %rd49, %rd54;
ld.shared.f32 %f194, [%rd55+0];
add.ftz.f32 %f189, %f194, %f189;
st.shared.f32 [%rd52+0], %f189;
ld.shared.f32 %f195, [%rd55+512];
add.ftz.f32 %f190, %f195, %f190;
st.shared.f32 [%rd52+512], %f190;
ld.shared.f32 %f196, [%rd55+1024];
add.ftz.f32 %f191, %f196, %f191;
st.shared.f32 [%rd52+1024], %f191;
ld.shared.f32 %f197, [%rd55+1536];
add.ftz.f32 %f192, %f197, %f192;
st.shared.f32 [%rd52+1536], %f192;
ld.shared.f32 %f198, [%rd55+2048];
add.ftz.f32 %f193, %f198, %f193;
st.shared.f32 [%rd52+2048], %f193;
$Lt_1_36610:
.loc 16 482 0
shr.u32 %r70, %r70, 1;
mov.u32 %r73, 0;
setp.ne.u32 %p19, %r70, %r73;
@%p19 bra $Lt_1_36354;
$Lt_1_35842:
.loc 16 489 0
mov.f32 %f44, %f189;
.loc 16 490 0
mov.f32 %f43, %f190;
.loc 16 491 0
mov.f32 %f42, %f191;
.loc 16 492 0
mov.f32 %f46, %f192;
.loc 16 493 0
mov.f32 %f45, %f193;
ld.param.s32 %r74, [__cudaparm_kernel_pair_fast_vflag];
mov.u32 %r75, 0;
setp.le.s32 %p20, %r74, %r75;
@%p20 bra $Lt_1_37378;
.loc 16 497 0
mov.f32 %f189, %f11;
st.shared.f32 [%rd52+0], %f189;
mov.f32 %f190, %f13;
st.shared.f32 [%rd52+512], %f190;
mov.f32 %f191, %f15;
st.shared.f32 [%rd52+1024], %f191;
mov.f32 %f192, %f17;
st.shared.f32 [%rd52+1536], %f192;
mov.f32 %f193, %f19;
st.shared.f32 [%rd52+2048], %f193;
mov.f32 %f199, %f21;
st.shared.f32 [%rd52+2560], %f199;
.loc 16 499 0
mov.s32 %r76, %r69;
@!%p17 bra $Lt_1_37890;
$Lt_1_38402:
setp.ge.u32 %p21, %r8, %r76;
@%p21 bra $Lt_1_38658;
.loc 16 502 0
add.u32 %r77, %r1, %r76;
cvt.u64.u32 %rd56, %r77;
mul.wide.u32 %rd57, %r77, 4;
add.u64 %rd58, %rd49, %rd57;
ld.shared.f32 %f200, [%rd58+0];
add.ftz.f32 %f189, %f200, %f189;
st.shared.f32 [%rd52+0], %f189;
ld.shared.f32 %f201, [%rd58+512];
add.ftz.f32 %f190, %f201, %f190;
st.shared.f32 [%rd52+512], %f190;
ld.shared.f32 %f202, [%rd58+1024];
add.ftz.f32 %f191, %f202, %f191;
st.shared.f32 [%rd52+1024], %f191;
ld.shared.f32 %f203, [%rd58+1536];
add.ftz.f32 %f192, %f203, %f192;
st.shared.f32 [%rd52+1536], %f192;
ld.shared.f32 %f204, [%rd58+2048];
add.ftz.f32 %f193, %f204, %f193;
st.shared.f32 [%rd52+2048], %f193;
ld.shared.f32 %f205, [%rd58+2560];
add.ftz.f32 %f199, %f205, %f199;
st.shared.f32 [%rd52+2560], %f199;
$Lt_1_38658:
.loc 16 499 0
shr.u32 %r76, %r76, 1;
mov.u32 %r78, 0;
setp.ne.u32 %p22, %r76, %r78;
@%p22 bra $Lt_1_38402;
$Lt_1_37890:
.loc 16 507 0
mov.f32 %f11, %f189;
mov.f32 %f13, %f190;
mov.f32 %f15, %f191;
mov.f32 %f17, %f192;
mov.f32 %f19, %f193;
mov.f32 %f21, %f199;
$Lt_1_37378:
$Lt_1_35330:
selp.s32 %r79, 1, 0, %p3;
mov.s32 %r80, 0;
set.eq.u32.s32 %r81, %r8, %r80;
neg.s32 %r82, %r81;
and.b32 %r83, %r79, %r82;
mov.u32 %r84, 0;
setp.eq.s32 %p23, %r83, %r84;
@%p23 bra $Lt_1_39426;
.loc 16 513 0
cvt.s64.s32 %rd59, %r11;
ld.param.u64 %rd60, [__cudaparm_kernel_pair_fast_engv];
mul.wide.s32 %rd61, %r11, 4;
add.u64 %rd62, %rd60, %rd61;
ld.param.s32 %r85, [__cudaparm_kernel_pair_fast_eflag];
mov.u32 %r86, 0;
setp.le.s32 %p24, %r85, %r86;
@%p24 bra $Lt_1_39938;
.loc 16 515 0
st.global.f32 [%rd62+0], %f46;
.loc 16 516 0
cvt.s64.s32 %rd63, %r12;
mul.wide.s32 %rd64, %r12, 4;
add.u64 %rd65, %rd64, %rd62;
.loc 16 517 0
st.global.f32 [%rd65+0], %f45;
.loc 16 518 0
add.u64 %rd62, %rd64, %rd65;
$Lt_1_39938:
ld.param.s32 %r87, [__cudaparm_kernel_pair_fast_vflag];
mov.u32 %r88, 0;
setp.le.s32 %p25, %r87, %r88;
@%p25 bra $Lt_1_40450;
.loc 16 522 0
mov.f32 %f206, %f11;
st.global.f32 [%rd62+0], %f206;
.loc 16 523 0
cvt.s64.s32 %rd66, %r12;
mul.wide.s32 %rd67, %r12, 4;
add.u64 %rd68, %rd67, %rd62;
.loc 16 522 0
mov.f32 %f207, %f13;
st.global.f32 [%rd68+0], %f207;
.loc 16 523 0
add.u64 %rd69, %rd67, %rd68;
.loc 16 522 0
mov.f32 %f208, %f15;
st.global.f32 [%rd69+0], %f208;
.loc 16 523 0
add.u64 %rd70, %rd67, %rd69;
.loc 16 522 0
mov.f32 %f209, %f17;
st.global.f32 [%rd70+0], %f209;
.loc 16 523 0
add.u64 %rd62, %rd67, %rd70;
.loc 16 522 0
mov.f32 %f210, %f19;
st.global.f32 [%rd62+0], %f210;
mov.f32 %f211, %f21;
add.u64 %rd71, %rd67, %rd62;
st.global.f32 [%rd71+0], %f211;
$Lt_1_40450:
.loc 16 526 0
ld.param.u64 %rd72, [__cudaparm_kernel_pair_fast_ans];
mul.lo.u64 %rd73, %rd59, 16;
add.u64 %rd74, %rd72, %rd73;
mov.f32 %f212, %f213;
st.global.v4.f32 [%rd74+0], {%f44,%f43,%f42,%f212};
$Lt_1_39426:
.loc 16 528 0
exit;
$LDWend_kernel_pair_fast:
} // kernel_pair_fast