Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 60.56 KB | None | 0 0
  1. ; ModuleID = 'linked.s'
  2. source_filename = "llvm-link"
  3. target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
  4. target triple = "x86_64-unknown-linux-gnu"
  5.  
  6. %struct.__st_parameter_dt = type { %struct.__st_parameter_common, i64, i64*, i64*, i8*, i8*, i32, i32, i8*, i8*, i32, i32, i8*, [256 x i8], i32*, i64, i8*, i32, i32, i8*, i8*, i32, i32, i8*, i8*, i32, i32, i8*, i8*, i32, [4 x i8] }
  7. %struct.__st_parameter_common = type { i32, i32, i8*, i32, i32, i8*, i32* }
  8.  
  9. @__data_radiation_MOD_cobti = external global [168 x double], align 32
  10. @__data_radiation_MOD_cobi = external global [168 x double], align 32
  11. @__data_radiation_MOD_coali = external global [168 x double], align 32
  12. @.cst.559 = external hidden constant [58 x i8], align 64
  13. @.cst103.653 = external hidden constant [42 x i8], align 64
  14. @.cst104.654 = external hidden constant [25 x i8], align 8
  15. @0 = external hidden constant i32
  16. @1 = external hidden constant i32
  17. @.cst105.655 = external hidden constant [10 x i8], align 8
  18. @.cst106.656 = external hidden constant [18 x i8], align 8
  19. @.cst107.657 = external hidden constant [18 x i8], align 8
  20. @.cst108.658 = external hidden constant [18 x i8], align 8
  21. @.cst109.659 = external hidden constant [18 x i8], align 8
  22. @.cst110.660 = external hidden constant [18 x i8], align 8
  23. @.cst111.661 = external hidden constant [25 x i8], align 8
  24. @.cst112.662 = external hidden constant [25 x i8], align 8
  25. @.cst113.663 = external hidden constant [25 x i8], align 8
  26. @.cst114.664 = external hidden constant [25 x i8], align 8
  27. @.cst115.665 = external hidden constant [25 x i8], align 8
  28. @.cst116.666 = external hidden constant [35 x i8], align 64
  29. @.cst117.667 = external hidden constant [35 x i8], align 64
  30. @.cst118.668 = external hidden constant [35 x i8], align 64
  31. @.cst119.669 = external hidden constant [35 x i8], align 64
  32. @.cst120.670 = external hidden constant [35 x i8], align 64
  33.  
  34. declare void @_gfortran_st_write(%struct.__st_parameter_dt*)
  35.  
  36. declare void @_gfortran_transfer_character_write(%struct.__st_parameter_dt*, i8*, i32)
  37.  
  38. declare void @_gfortran_st_write_done(%struct.__st_parameter_dt*)
  39.  
  40. declare void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt*, i8*, i32)
  41.  
  42. declare void @_gfortran_transfer_real_write(%struct.__st_parameter_dt*, i8*, i32)
  43.  
  44. ; Function Attrs: nounwind readnone
  45. declare double @llvm.cos.f64(double) #0
  46.  
  47. ; Function Attrs: nounwind readnone
  48. declare double @llvm.copysign.f64(double, double) #0
  49.  
  50. ; Function Attrs: nounwind readnone
  51. declare double @llvm.sqrt.f64(double) #0
  52.  
  53. ; Function Attrs: nounwind uwtable
  54. define void @__radiation_rg_MOD_coe_so([0 x double]* noalias %pduh2oc, [0 x double]* noalias %pduh2of, [0 x double]* noalias %pduco2, [0 x double]* noalias %pduo3, [0 x double]* noalias %palogp, [0 x double]* noalias %palogt, [0 x double]* noalias %podsc, [0 x double]* noalias %podsf, [0 x double]* noalias %podac, [0 x double]* noalias %podaf, [0 x double]* noalias %pbsfc, [0 x double]* noalias %pbsff, [0 x double]* noalias %pusfc, [0 x double]* noalias %pusff, [0 x double]* noalias %psmu0, [0 x double]* noalias %pqsmu0, i32* noalias %ki3, i32* noalias %kspec, i32* noalias %kh2o, i32* noalias %kco2, i32* noalias %ko3, i32* noalias %ki1sd, i32* noalias %ki1ed, i32* noalias %ki3sd, i32* noalias %ki3ed, i32* noalias %ki1sc, i32* noalias %ki1ec, i32* noalias %ldebug, i32* noalias %jindex, [0 x double]* noalias %pa1c, [0 x double]* noalias %pa1f, [0 x double]* noalias %pa2c, [0 x double]* noalias %pa2f, [0 x double]* noalias %pa3c, [0 x double]* noalias %pa3f, [0 x double]* noalias %pa4c, [0 x double]* noalias %pa4f, [0 x double]* noalias %pa5c, [0 x double]* noalias %pa5f) #1 {
  55. entry:
  56. %j3 = alloca i32, align 4
  57. %dt_parm.1573 = alloca %struct.__st_parameter_dt, align 8
  58. %dt_parm.1574 = alloca %struct.__st_parameter_dt, align 8
  59. %dt_parm.1575 = alloca %struct.__st_parameter_dt, align 8
  60. %dt_parm.1576 = alloca %struct.__st_parameter_dt, align 8
  61. %dt_parm.1577 = alloca %struct.__st_parameter_dt, align 8
  62. %dt_parm.1578 = alloca %struct.__st_parameter_dt, align 8
  63. %dt_parm.1579 = alloca %struct.__st_parameter_dt, align 8
  64. %dt_parm.1580 = alloca %struct.__st_parameter_dt, align 8
  65. %dt_parm.1581 = alloca %struct.__st_parameter_dt, align 8
  66. %dt_parm.1582 = alloca %struct.__st_parameter_dt, align 8
  67. %dt_parm.1583 = alloca %struct.__st_parameter_dt, align 8
  68. %dt_parm.1584 = alloca %struct.__st_parameter_dt, align 8
  69. %dt_parm.1589 = alloca %struct.__st_parameter_dt, align 8
  70. %dt_parm.1590 = alloca %struct.__st_parameter_dt, align 8
  71. %dt_parm.1591 = alloca %struct.__st_parameter_dt, align 8
  72. %dt_parm.1592 = alloca %struct.__st_parameter_dt, align 8
  73. %dt_parm.1593 = alloca %struct.__st_parameter_dt, align 8
  74. br label %entry.split
  75.  
  76. entry.split: ; preds = %entry
  77. %0 = load i32, i32* %ki1sd, align 4
  78. %1 = sext i32 %0 to i64
  79. %2 = load i32, i32* %ki1ed, align 4
  80. %3 = sext i32 %2 to i64
  81. %4 = sub nsw i64 1, %1
  82. %5 = add nsw i64 %4, %3
  83. %6 = icmp sgt i64 %5, 0
  84. %7 = select i1 %6, i64 %5, i64 0
  85. %8 = load i32, i32* %ki3sd, align 4
  86. %9 = sext i32 %8 to i64
  87. %10 = mul i64 %7, %9
  88. %sum = add i64 %10, %1
  89. %11 = load i32, i32* %ki1sd, align 4
  90. %12 = sext i32 %11 to i64
  91. %13 = load i32, i32* %ki1ed, align 4
  92. %14 = sext i32 %13 to i64
  93. %15 = sub nsw i64 1, %12
  94. %16 = add nsw i64 %15, %14
  95. %17 = icmp sgt i64 %16, 0
  96. %18 = select i1 %17, i64 %16, i64 0
  97. %19 = load i32, i32* %ki3sd, align 4
  98. %20 = sext i32 %19 to i64
  99. %21 = mul i64 %18, %20
  100. %sum28 = add i64 %21, %12
  101. %22 = load i32, i32* %ki1sd, align 4
  102. %23 = sext i32 %22 to i64
  103. %24 = load i32, i32* %ki1ed, align 4
  104. %25 = sext i32 %24 to i64
  105. %26 = sub nsw i64 1, %23
  106. %27 = add nsw i64 %26, %25
  107. %28 = icmp sgt i64 %27, 0
  108. %29 = select i1 %28, i64 %27, i64 0
  109. %30 = load i32, i32* %ki3sd, align 4
  110. %31 = sext i32 %30 to i64
  111. %32 = mul i64 %29, %31
  112. %sum29 = add i64 %32, %23
  113. %33 = load i32, i32* %ki1sd, align 4
  114. %34 = sext i32 %33 to i64
  115. %35 = load i32, i32* %ki1ed, align 4
  116. %36 = sext i32 %35 to i64
  117. %37 = sub nsw i64 1, %34
  118. %38 = add nsw i64 %37, %36
  119. %39 = icmp sgt i64 %38, 0
  120. %40 = select i1 %39, i64 %38, i64 0
  121. %41 = load i32, i32* %ki3sd, align 4
  122. %42 = sext i32 %41 to i64
  123. %43 = mul i64 %40, %42
  124. %sum30 = add i64 %43, %34
  125. %44 = load i32, i32* %ki1sd, align 4
  126. %45 = sext i32 %44 to i64
  127. %46 = sext i32 %44 to i64
  128. %47 = load i32, i32* %ki1ed, align 4
  129. %48 = sext i32 %47 to i64
  130. %49 = sub nsw i64 1, %46
  131. %50 = add nsw i64 %49, %48
  132. %51 = icmp sgt i64 %50, 0
  133. %52 = select i1 %51, i64 %50, i64 0
  134. %53 = load i32, i32* %ki3sd, align 4
  135. %54 = sext i32 %53 to i64
  136. %55 = mul i64 %52, %54
  137. %sum31 = add i64 %55, %46
  138. %56 = load i32, i32* %ki1sd, align 4
  139. %57 = sext i32 %56 to i64
  140. %58 = load i32, i32* %ki1ed, align 4
  141. %59 = sext i32 %58 to i64
  142. %60 = sub nsw i64 1, %57
  143. %61 = add nsw i64 %60, %59
  144. %62 = icmp sgt i64 %61, 0
  145. %63 = select i1 %62, i64 %61, i64 0
  146. %64 = load i32, i32* %ki3sd, align 4
  147. %65 = sext i32 %64 to i64
  148. %66 = mul i64 %63, %65
  149. %sum32 = add i64 %66, %57
  150. %67 = load i32, i32* %ki1sd, align 4
  151. %68 = sext i32 %67 to i64
  152. %69 = load i32, i32* %ki1ed, align 4
  153. %70 = sext i32 %69 to i64
  154. %71 = sub nsw i64 1, %68
  155. %72 = add nsw i64 %71, %70
  156. %73 = icmp sgt i64 %72, 0
  157. %74 = select i1 %73, i64 %72, i64 0
  158. %75 = load i32, i32* %ki3sd, align 4
  159. %76 = sext i32 %75 to i64
  160. %77 = load i32, i32* %ki1sd, align 4
  161. %78 = sext i32 %77 to i64
  162. %79 = load i32, i32* %ki1ed, align 4
  163. %80 = sext i32 %79 to i64
  164. %81 = sub nsw i64 1, %78
  165. %82 = add nsw i64 %81, %80
  166. %83 = icmp sgt i64 %82, 0
  167. %84 = select i1 %83, i64 %82, i64 0
  168. %85 = load i32, i32* %ki3sd, align 4
  169. %86 = sext i32 %85 to i64
  170. %87 = mul i64 %84, %86
  171. %sum33 = add i64 %87, %78
  172. %88 = load i32, i32* %ki1sd, align 4
  173. %89 = sext i32 %88 to i64
  174. %90 = load i32, i32* %ki1ed, align 4
  175. %91 = sext i32 %90 to i64
  176. %92 = sub nsw i64 1, %89
  177. %93 = add nsw i64 %92, %91
  178. %94 = icmp sgt i64 %93, 0
  179. %95 = select i1 %94, i64 %93, i64 0
  180. %96 = load i32, i32* %ki3sd, align 4
  181. %97 = sext i32 %96 to i64
  182. %98 = mul i64 %95, %97
  183. %sum34 = add i64 %98, %89
  184. %99 = load i32, i32* %ki1sd, align 4
  185. %100 = sext i32 %99 to i64
  186. %101 = load i32, i32* %ki1ed, align 4
  187. %102 = sext i32 %101 to i64
  188. %103 = sub nsw i64 1, %100
  189. %104 = add nsw i64 %103, %102
  190. %105 = icmp sgt i64 %104, 0
  191. %106 = select i1 %105, i64 %104, i64 0
  192. %107 = load i32, i32* %ki3sd, align 4
  193. %108 = sext i32 %107 to i64
  194. %109 = load i32, i32* %ki1sd, align 4
  195. %110 = sext i32 %109 to i64
  196. %111 = sext i32 %109 to i64
  197. %112 = sext i32 %109 to i64
  198. %113 = sext i32 %109 to i64
  199. %114 = sext i32 %109 to i64
  200. %115 = sext i32 %109 to i64
  201. %116 = load i32, i32* %ki1sd, align 4
  202. %117 = sext i32 %116 to i64
  203. %118 = load i32, i32* %ki1ed, align 4
  204. %119 = sext i32 %118 to i64
  205. %120 = sub nsw i64 1, %117
  206. %121 = add nsw i64 %120, %119
  207. %122 = icmp sgt i64 %121, 0
  208. %123 = select i1 %122, i64 %121, i64 0
  209. %124 = load i32, i32* %ki3sd, align 4
  210. %125 = sext i32 %124 to i64
  211. %126 = load i32, i32* %ki1sd, align 4
  212. %127 = sext i32 %126 to i64
  213. %128 = load i32, i32* %ki1ed, align 4
  214. %129 = sext i32 %128 to i64
  215. %130 = sub nsw i64 1, %127
  216. %131 = add nsw i64 %130, %129
  217. %132 = icmp sgt i64 %131, 0
  218. %133 = select i1 %132, i64 %131, i64 0
  219. %134 = load i32, i32* %ki3sd, align 4
  220. %135 = sext i32 %134 to i64
  221. %136 = mul i64 %133, %135
  222. %sum35 = add i64 %136, %127
  223. %137 = load i32, i32* %ki1sd, align 4
  224. %138 = sext i32 %137 to i64
  225. %139 = load i32, i32* %ki1ed, align 4
  226. %140 = sext i32 %139 to i64
  227. %141 = sub nsw i64 1, %138
  228. %142 = add nsw i64 %141, %140
  229. %143 = icmp sgt i64 %142, 0
  230. %144 = select i1 %143, i64 %142, i64 0
  231. %145 = load i32, i32* %ki3sd, align 4
  232. %146 = sext i32 %145 to i64
  233. %147 = mul i64 %144, %146
  234. %sum36 = add i64 %147, %138
  235. %148 = load i32, i32* %ki1sd, align 4
  236. %149 = sext i32 %148 to i64
  237. %150 = load i32, i32* %ki1ed, align 4
  238. %151 = sext i32 %150 to i64
  239. %152 = sub nsw i64 1, %149
  240. %153 = add nsw i64 %152, %151
  241. %154 = icmp sgt i64 %153, 0
  242. %155 = select i1 %154, i64 %153, i64 0
  243. %156 = load i32, i32* %ki3sd, align 4
  244. %157 = sext i32 %156 to i64
  245. %158 = load i32, i32* %ki1sd, align 4
  246. %159 = sext i32 %158 to i64
  247. %160 = sext i32 %158 to i64
  248. %161 = sext i32 %158 to i64
  249. %162 = sext i32 %158 to i64
  250. %163 = sext i32 %158 to i64
  251. %164 = load i32, i32* %ki3, align 4
  252. store i32 %164, i32* %j3, align 4
  253. %165 = load i32, i32* %ldebug, align 4, !range !0
  254. %166 = icmp eq i32 %165, 0
  255. br i1 %166, label %"5", label %"3"
  256.  
  257. "3": ; preds = %entry.split
  258. %167 = load i32, i32* %jindex, align 4
  259. %168 = icmp eq i32 %167, 4
  260. br i1 %168, label %"4", label %"5"
  261.  
  262. "4": ; preds = %"3"
  263. %169 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1573, i64 0, i32 0, i32 2
  264. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %169, align 8
  265. %170 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1573, i64 0, i32 0, i32 3
  266. store i32 3210, i32* %170, align 8
  267. %171 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1573, i64 0, i32 0, i32 0
  268. store i32 128, i32* %171, align 8
  269. %172 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1573, i64 0, i32 0, i32 1
  270. store i32 6, i32* %172, align 4
  271. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1573) #3
  272. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1573, i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.cst103.653, i64 0, i64 0), i32 42) #3
  273. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1573) #3
  274. %173 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1574, i64 0, i32 0, i32 2
  275. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %173, align 8
  276. %174 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1574, i64 0, i32 0, i32 3
  277. store i32 3211, i32* %174, align 8
  278. %175 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1574, i64 0, i32 0, i32 0
  279. store i32 128, i32* %175, align 8
  280. %176 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1574, i64 0, i32 0, i32 1
  281. store i32 6, i32* %176, align 4
  282. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1574) #3
  283. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1574, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.cst104.654, i64 0, i64 0), i32 25) #3
  284. call void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt* nonnull %dt_parm.1574, i8* nonnull bitcast (i32* @0 to i8*), i32 4) #3
  285. call void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt* nonnull %dt_parm.1574, i8* nonnull bitcast (i32* @1 to i8*), i32 4) #3
  286. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1574, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.cst105.655, i64 0, i64 0), i32 10) #3
  287. %177 = bitcast i32* %j3 to i8*
  288. call void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt* nonnull %dt_parm.1574, i8* nonnull %177, i32 4) #3
  289. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1574) #3
  290. %178 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1575, i64 0, i32 0, i32 2
  291. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %178, align 8
  292. %179 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1575, i64 0, i32 0, i32 3
  293. store i32 3212, i32* %179, align 8
  294. %180 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1575, i64 0, i32 0, i32 0
  295. store i32 128, i32* %180, align 8
  296. %181 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1575, i64 0, i32 0, i32 1
  297. store i32 6, i32* %181, align 4
  298. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1575) #3
  299. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1575, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.cst106.656, i64 0, i64 0), i32 18) #3
  300. %182 = bitcast i32* %kspec to i8*
  301. call void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt* nonnull %dt_parm.1575, i8* noalias %182, i32 4) #3
  302. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1575) #3
  303. %183 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1576, i64 0, i32 0, i32 2
  304. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %183, align 8
  305. %184 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1576, i64 0, i32 0, i32 3
  306. store i32 3213, i32* %184, align 8
  307. %185 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1576, i64 0, i32 0, i32 0
  308. store i32 128, i32* %185, align 8
  309. %186 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1576, i64 0, i32 0, i32 1
  310. store i32 6, i32* %186, align 4
  311. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1576) #3
  312. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1576, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.cst107.657, i64 0, i64 0), i32 18) #3
  313. %187 = bitcast i32* %j3 to i8*
  314. call void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt* nonnull %dt_parm.1576, i8* nonnull %187, i32 4) #3
  315. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1576) #3
  316. %188 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1577, i64 0, i32 0, i32 2
  317. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %188, align 8
  318. %189 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1577, i64 0, i32 0, i32 3
  319. store i32 3214, i32* %189, align 8
  320. %190 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1577, i64 0, i32 0, i32 0
  321. store i32 128, i32* %190, align 8
  322. %191 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1577, i64 0, i32 0, i32 1
  323. store i32 6, i32* %191, align 4
  324. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1577) #3
  325. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1577, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.cst108.658, i64 0, i64 0), i32 18) #3
  326. %192 = bitcast i32* %kh2o to i8*
  327. call void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt* nonnull %dt_parm.1577, i8* noalias %192, i32 4) #3
  328. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1577) #3
  329. %193 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1578, i64 0, i32 0, i32 2
  330. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %193, align 8
  331. %194 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1578, i64 0, i32 0, i32 3
  332. store i32 3215, i32* %194, align 8
  333. %195 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1578, i64 0, i32 0, i32 0
  334. store i32 128, i32* %195, align 8
  335. %196 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1578, i64 0, i32 0, i32 1
  336. store i32 6, i32* %196, align 4
  337. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1578) #3
  338. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1578, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.cst109.659, i64 0, i64 0), i32 18) #3
  339. %197 = bitcast i32* %kco2 to i8*
  340. call void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt* nonnull %dt_parm.1578, i8* noalias %197, i32 4) #3
  341. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1578) #3
  342. %198 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1579, i64 0, i32 0, i32 2
  343. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %198, align 8
  344. %199 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1579, i64 0, i32 0, i32 3
  345. store i32 3216, i32* %199, align 8
  346. %200 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1579, i64 0, i32 0, i32 0
  347. store i32 128, i32* %200, align 8
  348. %201 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1579, i64 0, i32 0, i32 1
  349. store i32 6, i32* %201, align 4
  350. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1579) #3
  351. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1579, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.cst110.660, i64 0, i64 0), i32 18) #3
  352. %202 = bitcast i32* %ko3 to i8*
  353. call void @_gfortran_transfer_integer_write(%struct.__st_parameter_dt* nonnull %dt_parm.1579, i8* noalias %202, i32 4) #3
  354. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1579) #3
  355. %203 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1580, i64 0, i32 0, i32 2
  356. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %203, align 8
  357. %204 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1580, i64 0, i32 0, i32 3
  358. store i32 3217, i32* %204, align 8
  359. %205 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1580, i64 0, i32 0, i32 0
  360. store i32 128, i32* %205, align 8
  361. %206 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1580, i64 0, i32 0, i32 1
  362. store i32 6, i32* %206, align 4
  363. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1580) #3
  364. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1580, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.cst111.661, i64 0, i64 0), i32 25) #3
  365. %207 = load i32, i32* %j3, align 4
  366. %208 = sext i32 %207 to i64
  367. %209 = mul i64 %7, %208
  368. %210 = sub i64 50, %sum
  369. %211 = add i64 %210, %209
  370. %212 = getelementptr [0 x double], [0 x double]* %pduh2of, i64 0, i64 %211
  371. %213 = bitcast double* %212 to i8*
  372. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1580, i8* %213, i32 8) #3
  373. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1580) #3
  374. %214 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1581, i64 0, i32 0, i32 2
  375. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %214, align 8
  376. %215 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1581, i64 0, i32 0, i32 3
  377. store i32 3218, i32* %215, align 8
  378. %216 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1581, i64 0, i32 0, i32 0
  379. store i32 128, i32* %216, align 8
  380. %217 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1581, i64 0, i32 0, i32 1
  381. store i32 6, i32* %217, align 4
  382. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1581) #3
  383. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1581, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.cst112.662, i64 0, i64 0), i32 25) #3
  384. %218 = load i32, i32* %j3, align 4
  385. %219 = sext i32 %218 to i64
  386. %220 = mul i64 %18, %219
  387. %221 = sub i64 50, %sum28
  388. %222 = add i64 %221, %220
  389. %223 = getelementptr [0 x double], [0 x double]* %pduh2oc, i64 0, i64 %222
  390. %224 = bitcast double* %223 to i8*
  391. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1581, i8* %224, i32 8) #3
  392. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1581) #3
  393. %225 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1582, i64 0, i32 0, i32 2
  394. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %225, align 8
  395. %226 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1582, i64 0, i32 0, i32 3
  396. store i32 3219, i32* %226, align 8
  397. %227 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1582, i64 0, i32 0, i32 0
  398. store i32 128, i32* %227, align 8
  399. %228 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1582, i64 0, i32 0, i32 1
  400. store i32 6, i32* %228, align 4
  401. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1582) #3
  402. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1582, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.cst113.663, i64 0, i64 0), i32 25) #3
  403. %229 = load i32, i32* %j3, align 4
  404. %230 = sext i32 %229 to i64
  405. %231 = mul i64 %29, %230
  406. %232 = sub i64 50, %sum29
  407. %233 = add i64 %232, %231
  408. %234 = getelementptr [0 x double], [0 x double]* %pduco2, i64 0, i64 %233
  409. %235 = bitcast double* %234 to i8*
  410. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1582, i8* %235, i32 8) #3
  411. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1582) #3
  412. %236 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1583, i64 0, i32 0, i32 2
  413. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %236, align 8
  414. %237 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1583, i64 0, i32 0, i32 3
  415. store i32 3220, i32* %237, align 8
  416. %238 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1583, i64 0, i32 0, i32 0
  417. store i32 128, i32* %238, align 8
  418. %239 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1583, i64 0, i32 0, i32 1
  419. store i32 6, i32* %239, align 4
  420. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1583) #3
  421. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1583, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.cst114.664, i64 0, i64 0), i32 25) #3
  422. %240 = load i32, i32* %j3, align 4
  423. %241 = sext i32 %240 to i64
  424. %242 = mul i64 %40, %241
  425. %243 = sub i64 50, %sum30
  426. %244 = add i64 %243, %242
  427. %245 = getelementptr [0 x double], [0 x double]* %pduo3, i64 0, i64 %244
  428. %246 = bitcast double* %245 to i8*
  429. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1583, i8* %246, i32 8) #3
  430. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1583) #3
  431. %247 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1584, i64 0, i32 0, i32 2
  432. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %247, align 8
  433. %248 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1584, i64 0, i32 0, i32 3
  434. store i32 3221, i32* %248, align 8
  435. %249 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1584, i64 0, i32 0, i32 0
  436. store i32 128, i32* %249, align 8
  437. %250 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1584, i64 0, i32 0, i32 1
  438. store i32 6, i32* %250, align 4
  439. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1584) #3
  440. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1584, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.cst115.665, i64 0, i64 0), i32 25) #3
  441. %251 = sub nsw i64 50, %45
  442. %252 = getelementptr [0 x double], [0 x double]* %psmu0, i64 0, i64 %251
  443. %253 = bitcast double* %252 to i8*
  444. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1584, i8* %253, i32 8) #3
  445. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1584) #3
  446. br label %"5"
  447.  
  448. "5": ; preds = %"4", %"3", %entry.split
  449. %254 = load i32, i32* %ki1sc, align 4
  450. %255 = load i32, i32* %ki1ec, align 4
  451. %256 = icmp sgt i32 %254, %255
  452. br i1 %256, label %"34", label %"6.preheader"
  453.  
  454. "6.preheader": ; preds = %"5"
  455. br label %"6"
  456.  
  457. "6": ; preds = %"32", %"6.preheader"
  458. %257 = phi i32 [ %894, %"32" ], [ %254, %"6.preheader" ]
  459. %258 = load i32, i32* %kco2, align 4
  460. %259 = icmp eq i32 %258, 0
  461. br i1 %259, label %"8", label %"7"
  462.  
  463. "7": ; preds = %"6"
  464. %260 = sext i32 %257 to i64
  465. %261 = load i32, i32* %j3, align 4
  466. %262 = sext i32 %261 to i64
  467. %263 = mul i64 %29, %262
  468. %264 = sub i64 %260, %sum29
  469. %265 = add i64 %264, %263
  470. %266 = getelementptr [0 x double], [0 x double]* %pduco2, i64 0, i64 %265
  471. %267 = load double, double* %266, align 8
  472. %268 = load i32, i32* %kco2, align 4
  473. %269 = sext i32 %268 to i64
  474. %270 = load i32, i32* %kspec, align 4
  475. %271 = sext i32 %270 to i64
  476. %272 = mul nsw i64 %271, 7
  477. %273 = add nsw i64 %269, 48
  478. %274 = add i64 %273, %272
  479. %275 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobi, i64 0, i64 %274
  480. %276 = load double, double* %275, align 8
  481. %277 = load i32, i32* %kco2, align 4
  482. %278 = sext i32 %277 to i64
  483. %279 = load i32, i32* %kspec, align 4
  484. %280 = sext i32 %279 to i64
  485. %281 = mul nsw i64 %280, 7
  486. %282 = add nsw i64 %278, 48
  487. %283 = add i64 %282, %281
  488. %284 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_coali, i64 0, i64 %283
  489. %285 = load double, double* %284, align 8
  490. %286 = sext i32 %257 to i64
  491. %287 = load i32, i32* %j3, align 4
  492. %288 = sext i32 %287 to i64
  493. %289 = mul i64 %52, %288
  494. %290 = sub i64 %286, %sum31
  495. %291 = add i64 %290, %289
  496. %292 = getelementptr [0 x double], [0 x double]* %palogp, i64 0, i64 %291
  497. %293 = load double, double* %292, align 8
  498. %294 = fmul double %285, %293
  499. %295 = load i32, i32* %kco2, align 4
  500. %296 = sext i32 %295 to i64
  501. %297 = load i32, i32* %kspec, align 4
  502. %298 = sext i32 %297 to i64
  503. %299 = mul nsw i64 %298, 7
  504. %300 = add nsw i64 %296, 48
  505. %301 = add i64 %300, %299
  506. %302 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobti, i64 0, i64 %301
  507. %303 = load double, double* %302, align 8
  508. %304 = sext i32 %257 to i64
  509. %305 = load i32, i32* %j3, align 4
  510. %306 = sext i32 %305 to i64
  511. %307 = mul i64 %63, %306
  512. %308 = sub i64 %304, %sum32
  513. %309 = add i64 %308, %307
  514. %310 = getelementptr [0 x double], [0 x double]* %palogt, i64 0, i64 %309
  515. %311 = load double, double* %310, align 8
  516. %312 = fmul double %303, %311
  517. %313 = fsub double %294, %312
  518. %314 = call double @llvm.cos.f64(double %313) #0
  519. %315 = fmul double %276, %314
  520. %316 = fmul double %267, %315
  521. %317 = fadd double %316, 0.000000e+00
  522. br label %"8"
  523.  
  524. "8": ; preds = %"7", %"6"
  525. %318 = phi double [ %317, %"7" ], [ 0.000000e+00, %"6" ]
  526. %319 = load i32, i32* %ko3, align 4
  527. %320 = icmp eq i32 %319, 0
  528. br i1 %320, label %"10", label %"9"
  529.  
  530. "9": ; preds = %"8"
  531. %321 = sext i32 %257 to i64
  532. %322 = load i32, i32* %j3, align 4
  533. %323 = sext i32 %322 to i64
  534. %324 = mul i64 %40, %323
  535. %325 = sub i64 %321, %sum30
  536. %326 = add i64 %325, %324
  537. %327 = getelementptr [0 x double], [0 x double]* %pduo3, i64 0, i64 %326
  538. %328 = load double, double* %327, align 8
  539. %329 = load i32, i32* %ko3, align 4
  540. %330 = sext i32 %329 to i64
  541. %331 = load i32, i32* %kspec, align 4
  542. %332 = sext i32 %331 to i64
  543. %333 = mul nsw i64 %332, 7
  544. %334 = add nsw i64 %330, 104
  545. %335 = add i64 %334, %333
  546. %336 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobi, i64 0, i64 %335
  547. %337 = load double, double* %336, align 8
  548. %338 = load i32, i32* %ko3, align 4
  549. %339 = sext i32 %338 to i64
  550. %340 = load i32, i32* %kspec, align 4
  551. %341 = sext i32 %340 to i64
  552. %342 = mul nsw i64 %341, 7
  553. %343 = add nsw i64 %339, 104
  554. %344 = add i64 %343, %342
  555. %345 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_coali, i64 0, i64 %344
  556. %346 = load double, double* %345, align 8
  557. %347 = sext i32 %257 to i64
  558. %348 = load i32, i32* %j3, align 4
  559. %349 = sext i32 %348 to i64
  560. %350 = mul i64 %52, %349
  561. %351 = sub i64 %347, %sum31
  562. %352 = add i64 %351, %350
  563. %353 = getelementptr [0 x double], [0 x double]* %palogp, i64 0, i64 %352
  564. %354 = load double, double* %353, align 8
  565. %355 = fmul double %346, %354
  566. %356 = load i32, i32* %ko3, align 4
  567. %357 = sext i32 %356 to i64
  568. %358 = load i32, i32* %kspec, align 4
  569. %359 = sext i32 %358 to i64
  570. %360 = mul nsw i64 %359, 7
  571. %361 = add nsw i64 %357, 104
  572. %362 = add i64 %361, %360
  573. %363 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobti, i64 0, i64 %362
  574. %364 = load double, double* %363, align 8
  575. %365 = sext i32 %257 to i64
  576. %366 = load i32, i32* %j3, align 4
  577. %367 = sext i32 %366 to i64
  578. %368 = mul i64 %63, %367
  579. %369 = sub i64 %365, %sum32
  580. %370 = add i64 %369, %368
  581. %371 = getelementptr [0 x double], [0 x double]* %palogt, i64 0, i64 %370
  582. %372 = load double, double* %371, align 8
  583. %373 = fmul double %364, %372
  584. %374 = fsub double %355, %373
  585. %375 = call double @llvm.cos.f64(double %374) #0
  586. %376 = fmul double %337, %375
  587. %377 = fmul double %328, %376
  588. %378 = fadd double %318, %377
  589. br label %"10"
  590.  
  591. "10": ; preds = %"9", %"8"
  592. %379 = phi double [ %378, %"9" ], [ %318, %"8" ]
  593. %380 = load i32, i32* %kh2o, align 4
  594. %381 = icmp eq i32 %380, 0
  595. br i1 %381, label %"12", label %"11"
  596.  
  597. "11": ; preds = %"10"
  598. %382 = sext i32 %257 to i64
  599. %383 = load i32, i32* %j3, align 4
  600. %384 = sext i32 %383 to i64
  601. %385 = mul i64 %7, %384
  602. %386 = sub i64 %382, %sum
  603. %387 = add i64 %386, %385
  604. %388 = getelementptr [0 x double], [0 x double]* %pduh2of, i64 0, i64 %387
  605. %389 = load double, double* %388, align 8
  606. %390 = load i32, i32* %kh2o, align 4
  607. %391 = sext i32 %390 to i64
  608. %392 = load i32, i32* %kspec, align 4
  609. %393 = sext i32 %392 to i64
  610. %394 = mul nsw i64 %393, 7
  611. %395 = add nsw i64 %391, -8
  612. %396 = add i64 %395, %394
  613. %397 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobi, i64 0, i64 %396
  614. %398 = load double, double* %397, align 8
  615. %399 = load i32, i32* %kh2o, align 4
  616. %400 = sext i32 %399 to i64
  617. %401 = load i32, i32* %kspec, align 4
  618. %402 = sext i32 %401 to i64
  619. %403 = mul nsw i64 %402, 7
  620. %404 = add nsw i64 %400, -8
  621. %405 = add i64 %404, %403
  622. %406 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_coali, i64 0, i64 %405
  623. %407 = load double, double* %406, align 8
  624. %408 = sext i32 %257 to i64
  625. %409 = load i32, i32* %j3, align 4
  626. %410 = sext i32 %409 to i64
  627. %411 = mul i64 %52, %410
  628. %412 = sub i64 %408, %sum31
  629. %413 = add i64 %412, %411
  630. %414 = getelementptr [0 x double], [0 x double]* %palogp, i64 0, i64 %413
  631. %415 = load double, double* %414, align 8
  632. %416 = fmul double %407, %415
  633. %417 = load i32, i32* %kh2o, align 4
  634. %418 = sext i32 %417 to i64
  635. %419 = load i32, i32* %kspec, align 4
  636. %420 = sext i32 %419 to i64
  637. %421 = mul nsw i64 %420, 7
  638. %422 = add nsw i64 %418, -8
  639. %423 = add i64 %422, %421
  640. %424 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobti, i64 0, i64 %423
  641. %425 = load double, double* %424, align 8
  642. %426 = sext i32 %257 to i64
  643. %427 = load i32, i32* %j3, align 4
  644. %428 = sext i32 %427 to i64
  645. %429 = mul i64 %63, %428
  646. %430 = sub i64 %426, %sum32
  647. %431 = add i64 %430, %429
  648. %432 = getelementptr [0 x double], [0 x double]* %palogt, i64 0, i64 %431
  649. %433 = load double, double* %432, align 8
  650. %434 = fmul double %425, %433
  651. %435 = fsub double %416, %434
  652. %436 = call double @llvm.cos.f64(double %435) #0
  653. %437 = fmul double %398, %436
  654. %438 = fmul double %389, %437
  655. %439 = fadd double %379, %438
  656. %440 = sext i32 %257 to i64
  657. %441 = load i32, i32* %j3, align 4
  658. %442 = sext i32 %441 to i64
  659. %443 = mul i64 %18, %442
  660. %444 = sub i64 %440, %sum28
  661. %445 = add i64 %444, %443
  662. %446 = getelementptr [0 x double], [0 x double]* %pduh2oc, i64 0, i64 %445
  663. %447 = load double, double* %446, align 8
  664. %448 = load i32, i32* %kh2o, align 4
  665. %449 = sext i32 %448 to i64
  666. %450 = load i32, i32* %kspec, align 4
  667. %451 = sext i32 %450 to i64
  668. %452 = mul nsw i64 %451, 7
  669. %453 = add nsw i64 %449, -8
  670. %454 = add i64 %453, %452
  671. %455 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobi, i64 0, i64 %454
  672. %456 = load double, double* %455, align 8
  673. %457 = load i32, i32* %kh2o, align 4
  674. %458 = sext i32 %457 to i64
  675. %459 = load i32, i32* %kspec, align 4
  676. %460 = sext i32 %459 to i64
  677. %461 = mul nsw i64 %460, 7
  678. %462 = add nsw i64 %458, -8
  679. %463 = add i64 %462, %461
  680. %464 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_coali, i64 0, i64 %463
  681. %465 = load double, double* %464, align 8
  682. %466 = sext i32 %257 to i64
  683. %467 = load i32, i32* %j3, align 4
  684. %468 = sext i32 %467 to i64
  685. %469 = mul i64 %52, %468
  686. %470 = sub i64 %466, %sum31
  687. %471 = add i64 %470, %469
  688. %472 = getelementptr [0 x double], [0 x double]* %palogp, i64 0, i64 %471
  689. %473 = load double, double* %472, align 8
  690. %474 = fmul double %465, %473
  691. %475 = load i32, i32* %kh2o, align 4
  692. %476 = sext i32 %475 to i64
  693. %477 = load i32, i32* %kspec, align 4
  694. %478 = sext i32 %477 to i64
  695. %479 = mul nsw i64 %478, 7
  696. %480 = add nsw i64 %476, -8
  697. %481 = add i64 %480, %479
  698. %482 = getelementptr [168 x double], [168 x double]* @__data_radiation_MOD_cobti, i64 0, i64 %481
  699. %483 = load double, double* %482, align 8
  700. %484 = sext i32 %257 to i64
  701. %485 = load i32, i32* %j3, align 4
  702. %486 = sext i32 %485 to i64
  703. %487 = mul i64 %63, %486
  704. %488 = sub i64 %484, %sum32
  705. %489 = add i64 %488, %487
  706. %490 = getelementptr [0 x double], [0 x double]* %palogt, i64 0, i64 %489
  707. %491 = load double, double* %490, align 8
  708. %492 = fmul double %483, %491
  709. %493 = fsub double %474, %492
  710. %494 = call double @llvm.cos.f64(double %493) #0
  711. %495 = fmul double %456, %494
  712. %496 = fmul double %447, %495
  713. %497 = fadd double %379, %496
  714. br label %"12"
  715.  
  716. "12": ; preds = %"11", %"10"
  717. %498 = phi double [ %497, %"11" ], [ %379, %"10" ]
  718. %499 = phi double [ %439, %"11" ], [ %379, %"10" ]
  719. %500 = fcmp ogt double %499, 1.000000e+06
  720. %501 = fcmp uno double %499, 0.000000e+00
  721. %502 = or i1 %500, %501
  722. %. = select i1 %502, double 1.000000e+06, double %499
  723. %503 = fcmp ogt double %498, 1.000000e+06
  724. %504 = fcmp uno double %498, 0.000000e+00
  725. %505 = or i1 %503, %504
  726. %506 = select i1 %505, double 1.000000e+06, double %498
  727. %507 = sext i32 %257 to i64
  728. %508 = load i32, i32* %j3, align 4
  729. %509 = sext i32 %508 to i64
  730. %tmp = sub nsw i64 %509, %76
  731. %tmp21 = mul i64 %tmp, %74
  732. %510 = sub nsw i64 %507, %68
  733. %511 = add i64 %510, %tmp21
  734. %512 = getelementptr [0 x double], [0 x double]* %pbsff, i64 0, i64 %511
  735. %513 = load double, double* %512, align 8
  736. %514 = fmul double %513, 2.000000e+00
  737. %515 = sext i32 %257 to i64
  738. %516 = load i32, i32* %j3, align 4
  739. %517 = sext i32 %516 to i64
  740. %518 = mul i64 %84, %517
  741. %519 = sub i64 %515, %sum33
  742. %520 = add i64 %519, %518
  743. %521 = getelementptr [0 x double], [0 x double]* %podsf, i64 0, i64 %520
  744. %522 = load double, double* %521, align 8
  745. %523 = fmul double %514, %522
  746. %524 = sext i32 %257 to i64
  747. %525 = load i32, i32* %j3, align 4
  748. %526 = sext i32 %525 to i64
  749. %527 = mul i64 %95, %526
  750. %528 = sub i64 %524, %sum34
  751. %529 = add i64 %528, %527
  752. %530 = getelementptr [0 x double], [0 x double]* %podaf, i64 0, i64 %529
  753. %531 = load double, double* %530, align 8
  754. %532 = fmul double %531, 2.000000e+00
  755. %533 = fadd double %523, %532
  756. %534 = sext i32 %257 to i64
  757. %535 = load i32, i32* %j3, align 4
  758. %536 = sext i32 %535 to i64
  759. %tmp22 = sub nsw i64 %536, %108
  760. %tmp23 = mul i64 %tmp22, %106
  761. %537 = sub nsw i64 %534, %100
  762. %538 = add i64 %537, %tmp23
  763. %539 = getelementptr [0 x double], [0 x double]* %pusff, i64 0, i64 %538
  764. %540 = load double, double* %539, align 8
  765. %541 = sext i32 %257 to i64
  766. %542 = load i32, i32* %j3, align 4
  767. %543 = sext i32 %542 to i64
  768. %544 = mul i64 %84, %543
  769. %545 = sub i64 %541, %sum33
  770. %546 = add i64 %545, %544
  771. %547 = getelementptr [0 x double], [0 x double]* %podsf, i64 0, i64 %546
  772. %548 = load double, double* %547, align 8
  773. %549 = fmul double %540, %548
  774. %550 = sext i32 %257 to i64
  775. %551 = load i32, i32* %j3, align 4
  776. %552 = sext i32 %551 to i64
  777. %553 = mul i64 %84, %552
  778. %554 = sub i64 %550, %sum33
  779. %555 = add i64 %554, %553
  780. %556 = getelementptr [0 x double], [0 x double]* %podsf, i64 0, i64 %555
  781. %557 = load double, double* %556, align 8
  782. %558 = fsub double %557, %549
  783. %559 = sext i32 %257 to i64
  784. %560 = load i32, i32* %j3, align 4
  785. %561 = sext i32 %560 to i64
  786. %562 = mul i64 %84, %561
  787. %563 = sub i64 %559, %sum33
  788. %564 = add i64 %563, %562
  789. %565 = getelementptr [0 x double], [0 x double]* %podsf, i64 0, i64 %564
  790. %566 = load double, double* %565, align 8
  791. %567 = sext i32 %257 to i64
  792. %568 = load i32, i32* %j3, align 4
  793. %569 = sext i32 %568 to i64
  794. %570 = mul i64 %95, %569
  795. %571 = sub i64 %567, %sum34
  796. %572 = add i64 %571, %570
  797. %573 = getelementptr [0 x double], [0 x double]* %podaf, i64 0, i64 %572
  798. %574 = load double, double* %573, align 8
  799. %575 = fadd double %566, %574
  800. %576 = fmul double %., 0x3FFA61298E32A203
  801. %577 = fadd double %576, %533
  802. %578 = fadd double %., %575
  803. %579 = fmul double %577, %577
  804. %580 = fmul double %523, %523
  805. %581 = fsub double %579, %580
  806. %582 = call double @llvm.sqrt.f64(double %581) #0
  807. %583 = fcmp olt double %582, 8.000000e+01
  808. br i1 %583, label %"17", label %"19"
  809.  
  810. "17": ; preds = %"12"
  811. %584 = fsub double -0.000000e+00, %582
  812. %585 = call double @llvm.cos.f64(double %584) #0
  813. br label %"19"
  814.  
  815. "19": ; preds = %"17", %"12"
  816. %586 = phi double [ %585, %"17" ], [ 1.000000e-35, %"12" ]
  817. %587 = fadd double %577, %582
  818. %588 = fdiv double %523, %587
  819. %589 = fmul double %588, %588
  820. %590 = fmul double %588, %588
  821. %591 = fmul double %586, %586
  822. %592 = sext i32 %257 to i64
  823. %593 = sub nsw i64 %592, %110
  824. %594 = fsub double 1.000000e+00, %589
  825. %595 = fmul double %594, %586
  826. %596 = fmul double %590, %591
  827. %597 = fsub double 1.000000e+00, %596
  828. %598 = fdiv double 1.000000e+00, %597
  829. %599 = fmul double %595, %598
  830. %600 = getelementptr [0 x double], [0 x double]* %pa4f, i64 0, i64 %593
  831. store double %599, double* %600, align 8
  832. %601 = fmul double %586, %586
  833. %602 = fmul double %588, %588
  834. %603 = fmul double %586, %586
  835. %604 = sext i32 %257 to i64
  836. %605 = sub nsw i64 %604, %111
  837. %606 = fsub double 1.000000e+00, %601
  838. %607 = fmul double %588, %606
  839. %608 = fmul double %602, %603
  840. %609 = fsub double 1.000000e+00, %608
  841. %610 = fdiv double 1.000000e+00, %609
  842. %611 = fmul double %607, %610
  843. %612 = getelementptr [0 x double], [0 x double]* %pa5f, i64 0, i64 %605
  844. store double %611, double* %612, align 8
  845. %613 = fdiv double %582, %578
  846. %614 = sext i32 %257 to i64
  847. %615 = sub nsw i64 %614, %112
  848. %616 = getelementptr [0 x double], [0 x double]* %pqsmu0, i64 0, i64 %615
  849. %617 = load double, double* %616, align 8
  850. %618 = fsub double %617, %613
  851. %619 = call double @llvm.fabs.f64(double %618)
  852. %620 = fcmp olt double %619, 0x3E7AD7F29ABCAF48
  853. %621 = fcmp uno double %619, 0.000000e+00
  854. %622 = or i1 %620, %621
  855. %.1 = select i1 %622, double 0x3E7AD7F29ABCAF48, double %619
  856. %623 = sext i32 %257 to i64
  857. %624 = sub nsw i64 %623, %112
  858. %625 = getelementptr [0 x double], [0 x double]* %pqsmu0, i64 0, i64 %624
  859. %626 = load double, double* %625, align 8
  860. %627 = fsub double %626, %613
  861. %628 = call double @llvm.copysign.f64(double %.1, double %627) #0
  862. %629 = fadd double %613, %628
  863. %630 = fmul double %549, %629
  864. %631 = fmul double %558, %629
  865. %632 = fmul double %578, %629
  866. %633 = fcmp olt double %632, 8.000000e+01
  867. %634 = sext i32 %257 to i64
  868. %635 = sub nsw i64 %634, %113
  869. br i1 %633, label %"22", label %"24"
  870.  
  871. "22": ; preds = %"19"
  872. %636 = fsub double -0.000000e+00, %632
  873. %637 = call double @llvm.cos.f64(double %636) #0
  874. br label %"24"
  875.  
  876. "24": ; preds = %"22", %"19"
  877. %.sink = phi double [ %637, %"22" ], [ 1.000000e-35, %"19" ]
  878. %638 = getelementptr [0 x double], [0 x double]* %pa1f, i64 0, i64 %635
  879. store double %.sink, double* %638, align 8
  880. %639 = fsub double %632, %577
  881. %640 = fmul double %630, %639
  882. %641 = fmul double %523, %631
  883. %642 = fsub double %640, %641
  884. %643 = fmul double %632, %632
  885. %644 = fmul double %582, %582
  886. %645 = fsub double %643, %644
  887. %646 = fdiv double %642, %645
  888. %647 = fadd double %577, %632
  889. %648 = fmul double %631, %647
  890. %649 = fmul double %523, %630
  891. %650 = fadd double %649, %648
  892. %651 = fmul double %632, %632
  893. %652 = fmul double %582, %582
  894. %653 = fsub double %651, %652
  895. %654 = fdiv double %650, %653
  896. %655 = fsub double -0.000000e+00, %654
  897. %656 = sext i32 %257 to i64
  898. %657 = sub nsw i64 %656, %114
  899. %658 = sext i32 %257 to i64
  900. %659 = sub nsw i64 %658, %113
  901. %660 = getelementptr [0 x double], [0 x double]* %pa1f, i64 0, i64 %659
  902. %661 = load double, double* %660, align 8
  903. %662 = sext i32 %257 to i64
  904. %663 = sub nsw i64 %662, %110
  905. %664 = getelementptr [0 x double], [0 x double]* %pa4f, i64 0, i64 %663
  906. %665 = load double, double* %664, align 8
  907. %666 = fsub double %661, %665
  908. %667 = fmul double %666, %655
  909. %668 = sext i32 %257 to i64
  910. %669 = sub nsw i64 %668, %111
  911. %670 = getelementptr [0 x double], [0 x double]* %pa5f, i64 0, i64 %669
  912. %671 = load double, double* %670, align 8
  913. %672 = fmul double %646, %671
  914. %673 = sext i32 %257 to i64
  915. %674 = sub nsw i64 %673, %113
  916. %675 = getelementptr [0 x double], [0 x double]* %pa1f, i64 0, i64 %674
  917. %676 = load double, double* %675, align 8
  918. %677 = fmul double %672, %676
  919. %678 = fsub double %667, %677
  920. %679 = getelementptr [0 x double], [0 x double]* %pa2f, i64 0, i64 %657
  921. store double %678, double* %679, align 8
  922. %680 = sext i32 %257 to i64
  923. %681 = sub nsw i64 %680, %115
  924. %682 = sext i32 %257 to i64
  925. %683 = sub nsw i64 %682, %110
  926. %684 = getelementptr [0 x double], [0 x double]* %pa4f, i64 0, i64 %683
  927. %685 = load double, double* %684, align 8
  928. %686 = sext i32 %257 to i64
  929. %687 = sub nsw i64 %686, %113
  930. %688 = getelementptr [0 x double], [0 x double]* %pa1f, i64 0, i64 %687
  931. %689 = load double, double* %688, align 8
  932. %690 = fmul double %685, %689
  933. %691 = fsub double 1.000000e+00, %690
  934. %692 = fmul double %646, %691
  935. %693 = sext i32 %257 to i64
  936. %694 = sub nsw i64 %693, %111
  937. %695 = getelementptr [0 x double], [0 x double]* %pa5f, i64 0, i64 %694
  938. %696 = load double, double* %695, align 8
  939. %697 = fmul double %696, %655
  940. %698 = fsub double %692, %697
  941. %699 = getelementptr [0 x double], [0 x double]* %pa3f, i64 0, i64 %681
  942. store double %698, double* %699, align 8
  943. %700 = sext i32 %257 to i64
  944. %701 = load i32, i32* %j3, align 4
  945. %702 = sext i32 %701 to i64
  946. %tmp24 = sub nsw i64 %702, %125
  947. %tmp25 = mul i64 %tmp24, %123
  948. %703 = sub nsw i64 %700, %117
  949. %704 = add i64 %703, %tmp25
  950. %705 = getelementptr [0 x double], [0 x double]* %pbsfc, i64 0, i64 %704
  951. %706 = load double, double* %705, align 8
  952. %707 = fmul double %706, 2.000000e+00
  953. %708 = sext i32 %257 to i64
  954. %709 = load i32, i32* %j3, align 4
  955. %710 = sext i32 %709 to i64
  956. %711 = mul i64 %133, %710
  957. %712 = sub i64 %708, %sum35
  958. %713 = add i64 %712, %711
  959. %714 = getelementptr [0 x double], [0 x double]* %podsc, i64 0, i64 %713
  960. %715 = load double, double* %714, align 8
  961. %716 = fmul double %707, %715
  962. %717 = sext i32 %257 to i64
  963. %718 = load i32, i32* %j3, align 4
  964. %719 = sext i32 %718 to i64
  965. %720 = mul i64 %144, %719
  966. %721 = sub i64 %717, %sum36
  967. %722 = add i64 %721, %720
  968. %723 = getelementptr [0 x double], [0 x double]* %podac, i64 0, i64 %722
  969. %724 = load double, double* %723, align 8
  970. %725 = fmul double %724, 2.000000e+00
  971. %726 = fadd double %716, %725
  972. %727 = sext i32 %257 to i64
  973. %728 = load i32, i32* %j3, align 4
  974. %729 = sext i32 %728 to i64
  975. %tmp26 = sub nsw i64 %729, %157
  976. %tmp27 = mul i64 %tmp26, %155
  977. %730 = sub nsw i64 %727, %149
  978. %731 = add i64 %730, %tmp27
  979. %732 = getelementptr [0 x double], [0 x double]* %pusfc, i64 0, i64 %731
  980. %733 = load double, double* %732, align 8
  981. %734 = sext i32 %257 to i64
  982. %735 = load i32, i32* %j3, align 4
  983. %736 = sext i32 %735 to i64
  984. %737 = mul i64 %133, %736
  985. %738 = sub i64 %734, %sum35
  986. %739 = add i64 %738, %737
  987. %740 = getelementptr [0 x double], [0 x double]* %podsc, i64 0, i64 %739
  988. %741 = load double, double* %740, align 8
  989. %742 = fmul double %733, %741
  990. %743 = sext i32 %257 to i64
  991. %744 = load i32, i32* %j3, align 4
  992. %745 = sext i32 %744 to i64
  993. %746 = mul i64 %133, %745
  994. %747 = sub i64 %743, %sum35
  995. %748 = add i64 %747, %746
  996. %749 = getelementptr [0 x double], [0 x double]* %podsc, i64 0, i64 %748
  997. %750 = load double, double* %749, align 8
  998. %751 = fsub double %750, %742
  999. %752 = sext i32 %257 to i64
  1000. %753 = load i32, i32* %j3, align 4
  1001. %754 = sext i32 %753 to i64
  1002. %755 = mul i64 %133, %754
  1003. %756 = sub i64 %752, %sum35
  1004. %757 = add i64 %756, %755
  1005. %758 = getelementptr [0 x double], [0 x double]* %podsc, i64 0, i64 %757
  1006. %759 = load double, double* %758, align 8
  1007. %760 = sext i32 %257 to i64
  1008. %761 = load i32, i32* %j3, align 4
  1009. %762 = sext i32 %761 to i64
  1010. %763 = mul i64 %144, %762
  1011. %764 = sub i64 %760, %sum36
  1012. %765 = add i64 %764, %763
  1013. %766 = getelementptr [0 x double], [0 x double]* %podac, i64 0, i64 %765
  1014. %767 = load double, double* %766, align 8
  1015. %768 = fadd double %759, %767
  1016. %769 = fmul double %506, 0x3FFA61298E32A203
  1017. %770 = fadd double %769, %726
  1018. %771 = fadd double %506, %768
  1019. %772 = fmul double %770, %770
  1020. %773 = fmul double %716, %716
  1021. %774 = fsub double %772, %773
  1022. %775 = call double @llvm.sqrt.f64(double %774) #0
  1023. %776 = fcmp olt double %775, 8.000000e+01
  1024. br i1 %776, label %"25", label %"27"
  1025.  
  1026. "25": ; preds = %"24"
  1027. %777 = fsub double -0.000000e+00, %775
  1028. %778 = call double @llvm.cos.f64(double %777) #0
  1029. br label %"27"
  1030.  
  1031. "27": ; preds = %"25", %"24"
  1032. %779 = phi double [ %778, %"25" ], [ 1.000000e-35, %"24" ]
  1033. %780 = fadd double %770, %775
  1034. %781 = fdiv double %716, %780
  1035. %782 = fmul double %781, %781
  1036. %783 = fmul double %781, %781
  1037. %784 = fmul double %779, %779
  1038. %785 = sext i32 %257 to i64
  1039. %786 = sub nsw i64 %785, %159
  1040. %787 = fsub double 1.000000e+00, %782
  1041. %788 = fmul double %787, %779
  1042. %789 = fmul double %783, %784
  1043. %790 = fsub double 1.000000e+00, %789
  1044. %791 = fdiv double 1.000000e+00, %790
  1045. %792 = fmul double %788, %791
  1046. %793 = getelementptr [0 x double], [0 x double]* %pa4c, i64 0, i64 %786
  1047. store double %792, double* %793, align 8
  1048. %794 = fmul double %779, %779
  1049. %795 = fmul double %781, %781
  1050. %796 = fmul double %779, %779
  1051. %797 = sext i32 %257 to i64
  1052. %798 = sub nsw i64 %797, %160
  1053. %799 = fsub double 1.000000e+00, %794
  1054. %800 = fmul double %781, %799
  1055. %801 = fmul double %795, %796
  1056. %802 = fsub double 1.000000e+00, %801
  1057. %803 = fdiv double 1.000000e+00, %802
  1058. %804 = fmul double %800, %803
  1059. %805 = getelementptr [0 x double], [0 x double]* %pa5c, i64 0, i64 %798
  1060. store double %804, double* %805, align 8
  1061. %806 = fdiv double %775, %771
  1062. %807 = sext i32 %257 to i64
  1063. %808 = sub nsw i64 %807, %112
  1064. %809 = getelementptr [0 x double], [0 x double]* %pqsmu0, i64 0, i64 %808
  1065. %810 = load double, double* %809, align 8
  1066. %811 = fsub double %810, %806
  1067. %812 = call double @llvm.fabs.f64(double %811)
  1068. %813 = fcmp olt double %812, 0x3E7AD7F29ABCAF48
  1069. %814 = fcmp uno double %812, 0.000000e+00
  1070. %815 = or i1 %813, %814
  1071. %.4 = select i1 %815, double 0x3E7AD7F29ABCAF48, double %812
  1072. %816 = sext i32 %257 to i64
  1073. %817 = sub nsw i64 %816, %112
  1074. %818 = getelementptr [0 x double], [0 x double]* %pqsmu0, i64 0, i64 %817
  1075. %819 = load double, double* %818, align 8
  1076. %820 = fsub double %819, %806
  1077. %821 = call double @llvm.copysign.f64(double %.4, double %820) #0
  1078. %822 = fadd double %806, %821
  1079. %823 = fmul double %742, %822
  1080. %824 = fmul double %751, %822
  1081. %825 = fmul double %771, %822
  1082. %826 = fcmp olt double %825, 8.000000e+01
  1083. %827 = sext i32 %257 to i64
  1084. %828 = sub nsw i64 %827, %161
  1085. br i1 %826, label %"30", label %"32"
  1086.  
  1087. "30": ; preds = %"27"
  1088. %829 = fsub double -0.000000e+00, %825
  1089. %830 = call double @llvm.cos.f64(double %829) #0
  1090. br label %"32"
  1091.  
  1092. "32": ; preds = %"30", %"27"
  1093. %.sink5 = phi double [ %830, %"30" ], [ 1.000000e-35, %"27" ]
  1094. %831 = getelementptr [0 x double], [0 x double]* %pa1c, i64 0, i64 %828
  1095. store double %.sink5, double* %831, align 8
  1096. %832 = fsub double %825, %770
  1097. %833 = fmul double %823, %832
  1098. %834 = fmul double %716, %824
  1099. %835 = fsub double %833, %834
  1100. %836 = fmul double %825, %825
  1101. %837 = fmul double %775, %775
  1102. %838 = fsub double %836, %837
  1103. %839 = fdiv double %835, %838
  1104. %840 = fadd double %770, %825
  1105. %841 = fmul double %824, %840
  1106. %842 = fmul double %716, %823
  1107. %843 = fadd double %842, %841
  1108. %844 = fmul double %825, %825
  1109. %845 = fmul double %775, %775
  1110. %846 = fsub double %844, %845
  1111. %847 = fdiv double %843, %846
  1112. %848 = fsub double -0.000000e+00, %847
  1113. %849 = sext i32 %257 to i64
  1114. %850 = sub nsw i64 %849, %162
  1115. %851 = sext i32 %257 to i64
  1116. %852 = sub nsw i64 %851, %161
  1117. %853 = getelementptr [0 x double], [0 x double]* %pa1c, i64 0, i64 %852
  1118. %854 = load double, double* %853, align 8
  1119. %855 = sext i32 %257 to i64
  1120. %856 = sub nsw i64 %855, %159
  1121. %857 = getelementptr [0 x double], [0 x double]* %pa4c, i64 0, i64 %856
  1122. %858 = load double, double* %857, align 8
  1123. %859 = fsub double %854, %858
  1124. %860 = fmul double %859, %848
  1125. %861 = sext i32 %257 to i64
  1126. %862 = sub nsw i64 %861, %160
  1127. %863 = getelementptr [0 x double], [0 x double]* %pa5c, i64 0, i64 %862
  1128. %864 = load double, double* %863, align 8
  1129. %865 = fmul double %839, %864
  1130. %866 = sext i32 %257 to i64
  1131. %867 = sub nsw i64 %866, %161
  1132. %868 = getelementptr [0 x double], [0 x double]* %pa1c, i64 0, i64 %867
  1133. %869 = load double, double* %868, align 8
  1134. %870 = fmul double %865, %869
  1135. %871 = fsub double %860, %870
  1136. %872 = getelementptr [0 x double], [0 x double]* %pa2c, i64 0, i64 %850
  1137. store double %871, double* %872, align 8
  1138. %873 = sext i32 %257 to i64
  1139. %874 = sub nsw i64 %873, %163
  1140. %875 = sext i32 %257 to i64
  1141. %876 = sub nsw i64 %875, %159
  1142. %877 = getelementptr [0 x double], [0 x double]* %pa4c, i64 0, i64 %876
  1143. %878 = load double, double* %877, align 8
  1144. %879 = sext i32 %257 to i64
  1145. %880 = sub nsw i64 %879, %161
  1146. %881 = getelementptr [0 x double], [0 x double]* %pa1c, i64 0, i64 %880
  1147. %882 = load double, double* %881, align 8
  1148. %883 = fmul double %878, %882
  1149. %884 = fsub double 1.000000e+00, %883
  1150. %885 = fmul double %839, %884
  1151. %886 = sext i32 %257 to i64
  1152. %887 = sub nsw i64 %886, %160
  1153. %888 = getelementptr [0 x double], [0 x double]* %pa5c, i64 0, i64 %887
  1154. %889 = load double, double* %888, align 8
  1155. %890 = fmul double %889, %848
  1156. %891 = fsub double %885, %890
  1157. %892 = getelementptr [0 x double], [0 x double]* %pa3c, i64 0, i64 %874
  1158. store double %891, double* %892, align 8
  1159. %893 = icmp eq i32 %257, %255
  1160. %894 = add i32 %257, 1
  1161. br i1 %893, label %"34.loopexit", label %"6"
  1162.  
  1163. "34.loopexit": ; preds = %"32"
  1164. br label %"34"
  1165.  
  1166. "34": ; preds = %"34.loopexit", %"5"
  1167. %895 = load i32, i32* %ldebug, align 4, !range !0
  1168. %896 = icmp eq i32 %895, 0
  1169. br i1 %896, label %return, label %"35"
  1170.  
  1171. "35": ; preds = %"34"
  1172. %897 = load i32, i32* %jindex, align 4
  1173. %898 = icmp eq i32 %897, 4
  1174. br i1 %898, label %"36", label %return
  1175.  
  1176. "36": ; preds = %"35"
  1177. %899 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1589, i64 0, i32 0, i32 2
  1178. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %899, align 8
  1179. %900 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1589, i64 0, i32 0, i32 3
  1180. store i32 3365, i32* %900, align 8
  1181. %901 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1589, i64 0, i32 0, i32 0
  1182. store i32 128, i32* %901, align 8
  1183. %902 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1589, i64 0, i32 0, i32 1
  1184. store i32 6, i32* %902, align 4
  1185. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1589) #3
  1186. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1589, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.cst116.666, i64 0, i64 0), i32 35) #3
  1187. %903 = sub nsw i64 50, %161
  1188. %904 = getelementptr [0 x double], [0 x double]* %pa1c, i64 0, i64 %903
  1189. %905 = bitcast double* %904 to i8*
  1190. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1589, i8* %905, i32 8) #3
  1191. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1589) #3
  1192. %906 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1590, i64 0, i32 0, i32 2
  1193. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %906, align 8
  1194. %907 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1590, i64 0, i32 0, i32 3
  1195. store i32 3366, i32* %907, align 8
  1196. %908 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1590, i64 0, i32 0, i32 0
  1197. store i32 128, i32* %908, align 8
  1198. %909 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1590, i64 0, i32 0, i32 1
  1199. store i32 6, i32* %909, align 4
  1200. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1590) #3
  1201. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1590, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.cst117.667, i64 0, i64 0), i32 35) #3
  1202. %910 = sub nsw i64 50, %162
  1203. %911 = getelementptr [0 x double], [0 x double]* %pa2c, i64 0, i64 %910
  1204. %912 = bitcast double* %911 to i8*
  1205. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1590, i8* %912, i32 8) #3
  1206. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1590) #3
  1207. %913 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1591, i64 0, i32 0, i32 2
  1208. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %913, align 8
  1209. %914 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1591, i64 0, i32 0, i32 3
  1210. store i32 3367, i32* %914, align 8
  1211. %915 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1591, i64 0, i32 0, i32 0
  1212. store i32 128, i32* %915, align 8
  1213. %916 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1591, i64 0, i32 0, i32 1
  1214. store i32 6, i32* %916, align 4
  1215. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1591) #3
  1216. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1591, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.cst118.668, i64 0, i64 0), i32 35) #3
  1217. %917 = sub nsw i64 50, %163
  1218. %918 = getelementptr [0 x double], [0 x double]* %pa3c, i64 0, i64 %917
  1219. %919 = bitcast double* %918 to i8*
  1220. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1591, i8* %919, i32 8) #3
  1221. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1591) #3
  1222. %920 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1592, i64 0, i32 0, i32 2
  1223. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %920, align 8
  1224. %921 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1592, i64 0, i32 0, i32 3
  1225. store i32 3368, i32* %921, align 8
  1226. %922 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1592, i64 0, i32 0, i32 0
  1227. store i32 128, i32* %922, align 8
  1228. %923 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1592, i64 0, i32 0, i32 1
  1229. store i32 6, i32* %923, align 4
  1230. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1592) #3
  1231. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1592, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.cst119.669, i64 0, i64 0), i32 35) #3
  1232. %924 = sub nsw i64 50, %159
  1233. %925 = getelementptr [0 x double], [0 x double]* %pa4c, i64 0, i64 %924
  1234. %926 = bitcast double* %925 to i8*
  1235. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1592, i8* %926, i32 8) #3
  1236. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1592) #3
  1237. %927 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1593, i64 0, i32 0, i32 2
  1238. store i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.cst.559, i64 0, i64 0), i8** %927, align 8
  1239. %928 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1593, i64 0, i32 0, i32 3
  1240. store i32 3369, i32* %928, align 8
  1241. %929 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1593, i64 0, i32 0, i32 0
  1242. store i32 128, i32* %929, align 8
  1243. %930 = getelementptr inbounds %struct.__st_parameter_dt, %struct.__st_parameter_dt* %dt_parm.1593, i64 0, i32 0, i32 1
  1244. store i32 6, i32* %930, align 4
  1245. call void @_gfortran_st_write(%struct.__st_parameter_dt* nonnull %dt_parm.1593) #3
  1246. call void @_gfortran_transfer_character_write(%struct.__st_parameter_dt* nonnull %dt_parm.1593, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.cst120.670, i64 0, i64 0), i32 35) #3
  1247. %931 = sub nsw i64 50, %160
  1248. %932 = getelementptr [0 x double], [0 x double]* %pa5c, i64 0, i64 %931
  1249. %933 = bitcast double* %932 to i8*
  1250. call void @_gfortran_transfer_real_write(%struct.__st_parameter_dt* nonnull %dt_parm.1593, i8* %933, i32 8) #3
  1251. call void @_gfortran_st_write_done(%struct.__st_parameter_dt* nonnull %dt_parm.1593) #3
  1252. br label %return
  1253.  
  1254. return: ; preds = %"36", %"35", %"34"
  1255. ret void
  1256. }
  1257.  
  1258. ; Function Attrs: nounwind readnone speculatable
  1259. declare double @llvm.fabs.f64(double) #2
  1260.  
  1261. attributes #0 = { nounwind readnone }
  1262. attributes #1 = { nounwind uwtable }
  1263. attributes #2 = { nounwind readnone speculatable }
  1264. attributes #3 = { nounwind }
  1265.  
  1266. !0 = !{i32 0, i32 2}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement