417 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -O3 < %s -mcpu=haswell -mtriple=x86_64 | FileCheck %s3 4; Verify that we are not exponentially increasing compiling time.5define void @tester(float %0, float %1, float %2, float %3, float %4, float %5, float %6, float %7, float %8, float %9, float %10, float %11, float %12, float %13, float %14, float %15, float %16, float %17, float %18, float %19, float %20, float %21, float %22, float %23, float %24, float %25, float %26, float %27, float %28, float %29, float %30, float %31, float %32, float %33, float %34, float %35, float %36, float %37, float %38, float %39, float %40, float %41, float %42, float %43, float %44, float %45, float %46, float %47, float %48, float %49, float %50, float %51, float %52, float %53, float %54, float %55, float %56, float %57, float %58, float %59, float %60, float %61, float %62, float %63, float %64, float %65, float %66, float %67, float %68, float %69, float %70, float %71, float %72, float %73, float %74, float %75, float %76, float %77, float %78, float %79, ptr %80) {6; CHECK-LABEL: tester:7; CHECK: # %bb.0: # %entry8; CHECK-NEXT: vmovaps %xmm3, %xmm139; CHECK-NEXT: vmovaps %xmm1, %xmm1410; CHECK-NEXT: vmovss {{.*#+}} xmm11 = mem[0],zero,zero,zero11; CHECK-NEXT: vmovss {{.*#+}} xmm8 = mem[0],zero,zero,zero12; CHECK-NEXT: vmovss {{.*#+}} xmm9 = mem[0],zero,zero,zero13; CHECK-NEXT: vsubss %xmm1, %xmm0, %xmm1214; CHECK-NEXT: vmulss %xmm2, %xmm1, %xmm115; CHECK-NEXT: vfmsub213ss {{.*#+}} xmm1 = (xmm3 * xmm1) - xmm016; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm5 = -(xmm12 * xmm5) + xmm017; CHECK-NEXT: vmulss %xmm4, %xmm5, %xmm218; CHECK-NEXT: vmulss %xmm1, %xmm2, %xmm119; CHECK-NEXT: vmulss %xmm6, %xmm12, %xmm220; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm2 = -(xmm7 * xmm2) + xmm021; CHECK-NEXT: vmulss %xmm1, %xmm2, %xmm122; CHECK-NEXT: vmulss %xmm0, %xmm9, %xmm223; CHECK-NEXT: vmovss %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill24; CHECK-NEXT: vmulss %xmm2, %xmm8, %xmm225; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm2 = -(xmm2 * mem) + xmm026; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm7, %xmm327; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm3 = -(xmm3 * mem) + xmm028; CHECK-NEXT: vmulss %xmm2, %xmm3, %xmm229; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm0, %xmm330; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm431; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm4 = -(xmm11 * xmm4) + xmm032; CHECK-NEXT: vmulss %xmm1, %xmm4, %xmm433; CHECK-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero34; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm1 = -(xmm1 * mem) + xmm035; CHECK-NEXT: vmulss %xmm2, %xmm1, %xmm236; CHECK-NEXT: vmovss {{.*#+}} xmm6 = mem[0],zero,zero,zero37; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm6, %xmm538; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm5 = -(xmm8 * xmm5) + xmm039; CHECK-NEXT: vmulss %xmm4, %xmm5, %xmm440; CHECK-NEXT: vmovss {{.*#+}} xmm15 = mem[0],zero,zero,zero41; CHECK-NEXT: vmulss %xmm0, %xmm15, %xmm142; CHECK-NEXT: vmovss %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill43; CHECK-NEXT: vmulss %xmm1, %xmm11, %xmm544; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm5 = -(xmm12 * xmm5) + xmm045; CHECK-NEXT: vmulss %xmm2, %xmm5, %xmm246; CHECK-NEXT: vmovss {{.*#+}} xmm5 = mem[0],zero,zero,zero47; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm5 = -(xmm9 * xmm5) + xmm048; CHECK-NEXT: vmulss %xmm4, %xmm5, %xmm449; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm950; CHECK-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero51; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm3 = -(xmm9 * xmm3) + xmm052; CHECK-NEXT: vmulss %xmm2, %xmm3, %xmm253; CHECK-NEXT: vmulss %xmm4, %xmm2, %xmm254; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm2, %xmm255; CHECK-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero56; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm3 = -(xmm13 * xmm3) + xmm057; CHECK-NEXT: vmulss %xmm2, %xmm3, %xmm258; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm2, %xmm359; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm14, %xmm560; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm5 = -(xmm5 * mem) + xmm061; CHECK-NEXT: vmovss {{.*#+}} xmm7 = mem[0],zero,zero,zero62; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm7, %xmm1063; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm10 = -(xmm10 * mem) + xmm064; CHECK-NEXT: vmulss %xmm5, %xmm10, %xmm565; CHECK-NEXT: vmulss %xmm3, %xmm5, %xmm366; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm367; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm368; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm369; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm8, %xmm570; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm5 = -(xmm5 * mem) + xmm071; CHECK-NEXT: vmulss %xmm3, %xmm5, %xmm372; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm373; CHECK-NEXT: vmovss {{.*#+}} xmm5 = mem[0],zero,zero,zero74; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm5 = -(xmm14 * xmm5) + xmm075; CHECK-NEXT: vmovss {{.*#+}} xmm10 = mem[0],zero,zero,zero76; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm10 = -(xmm10 * mem) + xmm077; CHECK-NEXT: vmulss %xmm5, %xmm10, %xmm578; CHECK-NEXT: vmulss %xmm3, %xmm5, %xmm379; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm380; CHECK-NEXT: vmovss {{.*#+}} xmm10 = mem[0],zero,zero,zero81; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm15, %xmm182; CHECK-NEXT: vmovss %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill83; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm10 = -(xmm1 * xmm10) + xmm084; CHECK-NEXT: vmulss %xmm3, %xmm10, %xmm385; CHECK-NEXT: vmulss %xmm0, %xmm12, %xmm1586; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm15, %xmm1087; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm10 = -(xmm10 * mem) + xmm088; CHECK-NEXT: vmovss {{.*#+}} xmm4 = mem[0],zero,zero,zero89; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm4, %xmm1290; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm12 = -(xmm6 * xmm12) + xmm091; CHECK-NEXT: vmulss %xmm10, %xmm12, %xmm1092; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm393; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm394; CHECK-NEXT: vmulss %xmm3, %xmm10, %xmm1295; CHECK-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero96; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm2 = -(xmm6 * xmm2) + xmm097; CHECK-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero98; CHECK-NEXT: vmulss %xmm3, %xmm15, %xmm199; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm1 = -(xmm1 * mem) + xmm0100; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm0, %xmm8101; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm8, %xmm5102; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm5 = -(xmm5 * mem) + xmm0103; CHECK-NEXT: vmulss %xmm2, %xmm1, %xmm1104; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm2105; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm2 = -(xmm2 * mem) + xmm0106; CHECK-NEXT: vmulss %xmm1, %xmm5, %xmm1107; CHECK-NEXT: vmulss %xmm1, %xmm2, %xmm1108; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm3, %xmm2109; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm2 = -(xmm4 * xmm2) + xmm0110; CHECK-NEXT: vmulss %xmm1, %xmm2, %xmm1111; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm12, %xmm2112; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm2, %xmm2113; CHECK-NEXT: vmulss %xmm2, %xmm1, %xmm4114; CHECK-NEXT: vmovss {{.*#+}} xmm12 = mem[0],zero,zero,zero115; CHECK-NEXT: vmovss {{.*#+}} xmm5 = mem[0],zero,zero,zero116; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm5, %xmm3117; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm3 = -(xmm12 * xmm3) + xmm0118; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm15, %xmm1119; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm1 = -(xmm1 * mem) + xmm0120; CHECK-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 4-byte Reload121; CHECK-NEXT: # xmm2 = mem[0],zero,zero,zero122; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm2, %xmm2123; CHECK-NEXT: vmulss %xmm3, %xmm1, %xmm1124; CHECK-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero125; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm2 = -(xmm3 * xmm2) + xmm0126; CHECK-NEXT: vmulss %xmm1, %xmm2, %xmm1127; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm4, %xmm2128; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm2, %xmm2129; CHECK-NEXT: vmulss %xmm2, %xmm1, %xmm1130; CHECK-NEXT: vmovss {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 4-byte Reload131; CHECK-NEXT: # xmm10 = mem[0],zero,zero,zero132; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm10, %xmm2133; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm6 = -(xmm6 * mem) + xmm0134; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm2 = -(xmm12 * xmm2) + xmm0135; CHECK-NEXT: vmulss %xmm2, %xmm6, %xmm2136; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm1, %xmm1137; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm1, %xmm1138; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm7 = -(xmm7 * mem) + xmm0139; CHECK-NEXT: vmulss %xmm2, %xmm7, %xmm2140; CHECK-NEXT: vmulss %xmm1, %xmm2, %xmm1141; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm1, %xmm1142; CHECK-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero143; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm2 = -(xmm13 * xmm2) + xmm0144; CHECK-NEXT: vmulss %xmm1, %xmm2, %xmm2145; CHECK-NEXT: vmulss %xmm0, %xmm5, %xmm1146; CHECK-NEXT: vmulss %xmm3, %xmm1, %xmm1147; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm1 = -(xmm1 * mem) + xmm0148; CHECK-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero149; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm3 = -(xmm5 * xmm3) + xmm0150; CHECK-NEXT: vmulss %xmm3, %xmm1, %xmm3151; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm8, %xmm1152; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm8, %xmm4153; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm4 = -(xmm4 * mem) + xmm0154; CHECK-NEXT: vmulss %xmm3, %xmm4, %xmm3155; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm2, %xmm2156; CHECK-NEXT: vmulss %xmm2, %xmm3, %xmm2157; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm9 = -(xmm5 * xmm9) + xmm0158; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm15, %xmm3159; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm3 = -(xmm13 * xmm3) + xmm0160; CHECK-NEXT: vmovss {{.*#+}} xmm4 = mem[0],zero,zero,zero161; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm4, %xmm4162; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm4 = -(xmm4 * mem) + xmm0163; CHECK-NEXT: vmulss %xmm3, %xmm9, %xmm3164; CHECK-NEXT: vmulss %xmm3, %xmm4, %xmm3165; CHECK-NEXT: vfnmadd132ss {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm11 # 4-byte Folded Reload166; CHECK-NEXT: # xmm11 = -(xmm11 * mem) + xmm0167; CHECK-NEXT: vmulss %xmm3, %xmm11, %xmm3168; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm0, %xmm4169; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm4, %xmm4170; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm4 = -(xmm4 * mem) + xmm0171; CHECK-NEXT: vmovss {{.*#+}} xmm5 = mem[0],zero,zero,zero172; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm5, %xmm6173; CHECK-NEXT: vmulss %xmm5, %xmm14, %xmm5174; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm15, %xmm7175; CHECK-NEXT: vmulss %xmm15, %xmm13, %xmm8176; CHECK-NEXT: vmovss {{.*#+}} xmm11 = mem[0],zero,zero,zero177; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm8 = -(xmm11 * xmm8) + xmm0178; CHECK-NEXT: vmovss {{.*#+}} xmm9 = mem[0],zero,zero,zero179; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm9, %xmm9180; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm9 = -(xmm11 * xmm9) + xmm0181; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm6 = -(xmm11 * xmm6) + xmm0182; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm5 = -(xmm11 * xmm5) + xmm0183; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm10, %xmm10184; CHECK-NEXT: vmulss %xmm0, %xmm12, %xmm11185; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm11, %xmm11186; CHECK-NEXT: vmovss {{.*#+}} xmm12 = mem[0],zero,zero,zero187; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm11 = -(xmm12 * xmm11) + xmm0188; CHECK-NEXT: vfnmadd213ss {{.*#+}} xmm10 = -(xmm12 * xmm10) + xmm0189; CHECK-NEXT: vfmsub213ss {{.*#+}} xmm7 = (xmm13 * xmm7) - xmm0190; CHECK-NEXT: vfnmadd132ss {{.*#+}} xmm1 = -(xmm1 * mem) + xmm0191; CHECK-NEXT: vmulss %xmm3, %xmm1, %xmm0192; CHECK-NEXT: vmulss %xmm0, %xmm8, %xmm0193; CHECK-NEXT: vmulss %xmm0, %xmm9, %xmm0194; CHECK-NEXT: vmulss %xmm0, %xmm6, %xmm0195; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm2, %xmm1196; CHECK-NEXT: vmulss %xmm1, %xmm0, %xmm0197; CHECK-NEXT: vmulss %xmm4, %xmm5, %xmm1198; CHECK-NEXT: vmulss %xmm1, %xmm11, %xmm1199; CHECK-NEXT: vmulss %xmm1, %xmm10, %xmm1200; CHECK-NEXT: vmulss {{[0-9]+}}(%rsp), %xmm0, %xmm0201; CHECK-NEXT: vmulss %xmm1, %xmm7, %xmm1202; CHECK-NEXT: vmulss %xmm0, %xmm1, %xmm0203; CHECK-NEXT: vmovss %xmm0, (%rdi)204; CHECK-NEXT: retq205entry:206 %81 = fsub reassoc nsz contract float %0, %1207 %82 = fmul reassoc nsz contract float %1, %2208 %83 = fmul reassoc nsz contract float %3, %82209 %84 = fsub reassoc nsz contract float %0, %83210 %85 = fmul reassoc nsz contract float %84, %4211 %86 = fmul reassoc nsz contract float %81, %5212 %87 = fsub reassoc nsz contract float %0, %86213 %88 = fmul reassoc nsz contract float %87, %85214 %89 = fmul reassoc nsz contract float %81, %6215 %90 = fmul reassoc nsz contract float %89, %7216 %91 = fsub reassoc nsz contract float %0, %90217 %92 = fmul reassoc nsz contract float %91, %88218 %93 = fmul reassoc nsz contract float %8, %0219 %94 = fmul reassoc nsz contract float %93, %9220 %95 = fmul reassoc nsz contract float %94, %10221 %96 = fsub reassoc nsz contract float %0, %95222 %97 = fmul reassoc nsz contract float %96, %92223 %98 = fmul reassoc nsz contract float %11, %7224 %99 = fmul reassoc nsz contract float %98, %12225 %100 = fsub reassoc nsz contract float %0, %99226 %101 = fmul reassoc nsz contract float %100, %97227 %102 = fmul reassoc nsz contract float %13, %0228 %103 = fmul reassoc nsz contract float %102, %14229 %104 = fmul reassoc nsz contract float %103, %15230 %105 = fsub reassoc nsz contract float %0, %104231 %106 = fmul reassoc nsz contract float %105, %101232 %107 = fmul reassoc nsz contract float %16, %17233 %108 = fsub reassoc nsz contract float %0, %107234 %109 = fmul reassoc nsz contract float %108, %106235 %110 = fmul reassoc nsz contract float %18, %19236 %111 = fmul reassoc nsz contract float %110, %9237 %112 = fsub reassoc nsz contract float %0, %111238 %113 = fmul reassoc nsz contract float %112, %109239 %114 = fmul reassoc nsz contract float %20, %0240 %115 = fmul reassoc nsz contract float %114, %15241 %116 = fmul reassoc nsz contract float %81, %115242 %117 = fsub reassoc nsz contract float %0, %116243 %118 = fmul reassoc nsz contract float %117, %113244 %119 = fmul reassoc nsz contract float %8, %21245 %120 = fsub reassoc nsz contract float %0, %119246 %121 = fmul reassoc nsz contract float %120, %118247 %122 = fmul reassoc nsz contract float %102, %22248 %123 = fmul reassoc nsz contract float %122, %23249 %124 = fsub reassoc nsz contract float %0, %123250 %125 = fmul reassoc nsz contract float %124, %121251 %126 = fmul reassoc nsz contract float %125, %24252 %127 = fmul reassoc nsz contract float %3, %25253 %128 = fsub reassoc nsz contract float %0, %127254 %129 = fmul reassoc nsz contract float %128, %126255 %130 = fmul reassoc nsz contract float %129, %26256 %131 = fmul reassoc nsz contract float %27, %1257 %132 = fmul reassoc nsz contract float %131, %28258 %133 = fsub reassoc nsz contract float %0, %132259 %134 = fmul reassoc nsz contract float %133, %130260 %135 = fmul reassoc nsz contract float %29, %30261 %136 = fmul reassoc nsz contract float %135, %31262 %137 = fsub reassoc nsz contract float %0, %136263 %138 = fmul reassoc nsz contract float %137, %134264 %139 = fmul reassoc nsz contract float %138, %32265 %140 = fmul reassoc nsz contract float %139, %33266 %141 = fmul reassoc nsz contract float %140, %34267 %142 = fmul reassoc nsz contract float %35, %9268 %143 = fmul reassoc nsz contract float %142, %36269 %144 = fsub reassoc nsz contract float %0, %143270 %145 = fmul reassoc nsz contract float %144, %141271 %146 = fmul reassoc nsz contract float %145, %37272 %147 = fmul reassoc nsz contract float %1, %38273 %148 = fsub reassoc nsz contract float %0, %147274 %149 = fmul reassoc nsz contract float %148, %146275 %150 = fmul reassoc nsz contract float %39, %40276 %151 = fsub reassoc nsz contract float %0, %150277 %152 = fmul reassoc nsz contract float %151, %149278 %153 = fmul reassoc nsz contract float %152, %41279 %154 = fmul reassoc nsz contract float %20, %42280 %155 = fmul reassoc nsz contract float %154, %43281 %156 = fsub reassoc nsz contract float %0, %155282 %157 = fmul reassoc nsz contract float %156, %153283 %158 = fmul reassoc nsz contract float %157, %44284 %159 = fmul reassoc nsz contract float %158, %45285 %160 = fmul reassoc nsz contract float %81, %0286 %161 = fmul reassoc nsz contract float %160, %46287 %162 = fmul reassoc nsz contract float %161, %14288 %163 = fsub reassoc nsz contract float %0, %162289 %164 = fmul reassoc nsz contract float %163, %159290 %165 = fmul reassoc nsz contract float %8, %47291 %166 = fmul reassoc nsz contract float %18, %165292 %167 = fsub reassoc nsz contract float %0, %166293 %168 = fmul reassoc nsz contract float %167, %164294 %169 = fmul reassoc nsz contract float %168, %48295 %170 = fmul reassoc nsz contract float %169, %49296 %171 = fmul reassoc nsz contract float %18, %50297 %172 = fsub reassoc nsz contract float %0, %171298 %173 = fmul reassoc nsz contract float %172, %170299 %174 = fmul reassoc nsz contract float %16, %160300 %175 = fmul reassoc nsz contract float %174, %12301 %176 = fsub reassoc nsz contract float %0, %175302 %177 = fmul reassoc nsz contract float %176, %173303 %178 = fmul reassoc nsz contract float %51, %0304 %179 = fmul reassoc nsz contract float %178, %22305 %180 = fmul reassoc nsz contract float %179, %52306 %181 = fsub reassoc nsz contract float %0, %180307 %182 = fmul reassoc nsz contract float %181, %177308 %183 = fmul reassoc nsz contract float %27, %16309 %184 = fmul reassoc nsz contract float %183, %53310 %185 = fsub reassoc nsz contract float %0, %184311 %186 = fmul reassoc nsz contract float %185, %182312 %187 = fmul reassoc nsz contract float %16, %54313 %188 = fmul reassoc nsz contract float %8, %187314 %189 = fsub reassoc nsz contract float %0, %188315 %190 = fmul reassoc nsz contract float %189, %186316 %191 = fmul reassoc nsz contract float %190, %55317 %192 = fmul reassoc nsz contract float %191, %56318 %193 = fmul reassoc nsz contract float %57, %58319 %194 = fmul reassoc nsz contract float %193, %59320 %195 = fsub reassoc nsz contract float %0, %194321 %196 = fmul reassoc nsz contract float %195, %192322 %197 = fmul reassoc nsz contract float %13, %160323 %198 = fmul reassoc nsz contract float %197, %36324 %199 = fsub reassoc nsz contract float %0, %198325 %200 = fmul reassoc nsz contract float %199, %196326 %201 = fmul reassoc nsz contract float %93, %60327 %202 = fmul reassoc nsz contract float %201, %61328 %203 = fsub reassoc nsz contract float %0, %202329 %204 = fmul reassoc nsz contract float %203, %200330 %205 = fmul reassoc nsz contract float %204, %62331 %206 = fmul reassoc nsz contract float %205, %63332 %207 = fmul reassoc nsz contract float %114, %9333 %208 = fmul reassoc nsz contract float %207, %59334 %209 = fsub reassoc nsz contract float %0, %208335 %210 = fmul reassoc nsz contract float %209, %206336 %211 = fmul reassoc nsz contract float %18, %64337 %212 = fsub reassoc nsz contract float %0, %211338 %213 = fmul reassoc nsz contract float %212, %210339 %214 = fmul reassoc nsz contract float %29, %65340 %215 = fsub reassoc nsz contract float %0, %214341 %216 = fmul reassoc nsz contract float %215, %213342 %217 = fmul reassoc nsz contract float %216, %66343 %218 = fmul reassoc nsz contract float %3, %67344 %219 = fsub reassoc nsz contract float %0, %218345 %220 = fmul reassoc nsz contract float %219, %217346 %221 = fmul reassoc nsz contract float %220, %68347 %222 = fmul reassoc nsz contract float %57, %69348 %223 = fsub reassoc nsz contract float %0, %222349 %224 = fmul reassoc nsz contract float %223, %221350 %225 = fmul reassoc nsz contract float %57, %0351 %226 = fmul reassoc nsz contract float %225, %61352 %227 = fmul reassoc nsz contract float %226, %12353 %228 = fsub reassoc nsz contract float %0, %227354 %229 = fmul reassoc nsz contract float %228, %224355 %230 = fmul reassoc nsz contract float %178, %70356 %231 = fmul reassoc nsz contract float %230, %46357 %232 = fsub reassoc nsz contract float %0, %231358 %233 = fmul reassoc nsz contract float %232, %229359 %234 = fmul reassoc nsz contract float %233, %71360 %235 = fmul reassoc nsz contract float %57, %122361 %236 = fsub reassoc nsz contract float %0, %235362 %237 = fmul reassoc nsz contract float %236, %234363 %238 = fmul reassoc nsz contract float %20, %160364 %239 = fmul reassoc nsz contract float %3, %238365 %240 = fsub reassoc nsz contract float %0, %239366 %241 = fmul reassoc nsz contract float %240, %237367 %242 = fmul reassoc nsz contract float %16, %72368 %243 = fmul reassoc nsz contract float %242, %73369 %244 = fsub reassoc nsz contract float %0, %243370 %245 = fmul reassoc nsz contract float %244, %241371 %246 = fmul reassoc nsz contract float %154, %15372 %247 = fsub reassoc nsz contract float %0, %246373 %248 = fmul reassoc nsz contract float %247, %245374 %249 = fmul reassoc nsz contract float %178, %23375 %250 = fmul reassoc nsz contract float %249, %74376 %251 = fsub reassoc nsz contract float %0, %250377 %252 = fmul reassoc nsz contract float %251, %248378 %253 = fmul reassoc nsz contract float %3, %160379 %254 = fmul reassoc nsz contract float %51, %253380 %255 = fsub reassoc nsz contract float %0, %254381 %256 = fmul reassoc nsz contract float %255, %252382 %257 = fmul reassoc nsz contract float %13, %75383 %258 = fmul reassoc nsz contract float %257, %51384 %259 = fsub reassoc nsz contract float %0, %258385 %260 = fmul reassoc nsz contract float %259, %256386 %261 = fmul reassoc nsz contract float %8, %76387 %262 = fmul reassoc nsz contract float %51, %261388 %263 = fsub reassoc nsz contract float %0, %262389 %264 = fmul reassoc nsz contract float %263, %260390 %265 = fmul reassoc nsz contract float %264, %77391 %266 = fmul reassoc nsz contract float %39, %0392 %267 = fmul reassoc nsz contract float %266, %78393 %268 = fmul reassoc nsz contract float %267, %14394 %269 = fsub reassoc nsz contract float %0, %268395 %270 = fmul reassoc nsz contract float %269, %265396 %271 = fmul reassoc nsz contract float %1, %76397 %272 = fmul reassoc nsz contract float %51, %271398 %273 = fsub reassoc nsz contract float %0, %272399 %274 = fmul reassoc nsz contract float %273, %270400 %275 = fmul reassoc nsz contract float %0, %59401 %276 = fmul reassoc nsz contract float %275, %79402 %277 = fmul reassoc nsz contract float %276, %36403 %278 = fsub reassoc nsz contract float %0, %277404 %279 = fmul reassoc nsz contract float %278, %274405 %280 = fmul reassoc nsz contract float %114, %22406 %281 = fmul reassoc nsz contract float %280, %36407 %282 = fsub reassoc nsz contract float %0, %281408 %283 = fmul reassoc nsz contract float %282, %279409 %284 = fmul reassoc nsz contract float %0, %43410 %285 = fmul reassoc nsz contract float %284, %81411 %286 = fmul reassoc nsz contract float %3, %285412 %287 = fsub reassoc nsz contract float %0, %286413 %288 = fmul reassoc nsz contract float %287, %283414 store float %288, ptr %80, align 4415 ret void416}417