svf-tools 1.0.849 → 1.0.850

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +293 -217
  2. package/SVF-doxygen/html/IntervalExeState_8h.html +2 -0
  3. package/SVF-doxygen/html/IntervalExeState_8h_source.html +622 -435
  4. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +60 -60
  5. package/SVF-doxygen/html/RelationSolver_8h_source.html +16 -16
  6. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +10 -10
  7. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +8 -8
  8. package/SVF-doxygen/html/annotated.html +215 -214
  9. package/SVF-doxygen/html/classSVF_1_1ExeState.html +9 -8
  10. package/SVF-doxygen/html/classSVF_1_1ExeState.png +0 -0
  11. package/SVF-doxygen/html/classSVF_1_1IntervalESBase-members.html +168 -0
  12. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +2331 -0
  13. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.png +0 -0
  14. package/SVF-doxygen/html/classSVF_1_1IntervalExeState-members.html +79 -62
  15. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.html +497 -1381
  16. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.png +0 -0
  17. package/SVF-doxygen/html/classSVF_1_1RelationSolver-members.html +8 -8
  18. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +100 -100
  19. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +29 -29
  20. package/SVF-doxygen/html/classes.html +232 -231
  21. package/SVF-doxygen/html/functions.html +2 -2
  22. package/SVF-doxygen/html/functions_a.html +1 -1
  23. package/SVF-doxygen/html/functions_b.html +4 -4
  24. package/SVF-doxygen/html/functions_c.html +2 -2
  25. package/SVF-doxygen/html/functions_e.html +4 -3
  26. package/SVF-doxygen/html/functions_f.html +3 -3
  27. package/SVF-doxygen/html/functions_func.html +1 -1
  28. package/SVF-doxygen/html/functions_func_b.html +4 -4
  29. package/SVF-doxygen/html/functions_func_c.html +2 -2
  30. package/SVF-doxygen/html/functions_func_e.html +3 -2
  31. package/SVF-doxygen/html/functions_func_g.html +27 -24
  32. package/SVF-doxygen/html/functions_func_h.html +4 -3
  33. package/SVF-doxygen/html/functions_func_i.html +16 -9
  34. package/SVF-doxygen/html/functions_func_j.html +1 -0
  35. package/SVF-doxygen/html/functions_func_l.html +6 -4
  36. package/SVF-doxygen/html/functions_func_m.html +1 -0
  37. package/SVF-doxygen/html/functions_func_n.html +6 -4
  38. package/SVF-doxygen/html/functions_func_o.html +17 -11
  39. package/SVF-doxygen/html/functions_func_p.html +3 -3
  40. package/SVF-doxygen/html/functions_func_r.html +1 -1
  41. package/SVF-doxygen/html/functions_func_s.html +2 -2
  42. package/SVF-doxygen/html/functions_func_t.html +2 -2
  43. package/SVF-doxygen/html/functions_func_w.html +4 -2
  44. package/SVF-doxygen/html/functions_func_~.html +3 -0
  45. package/SVF-doxygen/html/functions_g.html +24 -21
  46. package/SVF-doxygen/html/functions_h.html +6 -5
  47. package/SVF-doxygen/html/functions_i.html +21 -14
  48. package/SVF-doxygen/html/functions_j.html +1 -0
  49. package/SVF-doxygen/html/functions_l.html +10 -8
  50. package/SVF-doxygen/html/functions_m.html +1 -0
  51. package/SVF-doxygen/html/functions_n.html +5 -3
  52. package/SVF-doxygen/html/functions_o.html +18 -12
  53. package/SVF-doxygen/html/functions_p.html +17 -13
  54. package/SVF-doxygen/html/functions_r.html +7 -8
  55. package/SVF-doxygen/html/functions_rela_r.html +2 -1
  56. package/SVF-doxygen/html/functions_rela_s.html +1 -0
  57. package/SVF-doxygen/html/functions_s.html +15 -14
  58. package/SVF-doxygen/html/functions_t.html +5 -5
  59. package/SVF-doxygen/html/functions_type_l.html +1 -1
  60. package/SVF-doxygen/html/functions_type_v.html +1 -1
  61. package/SVF-doxygen/html/functions_v.html +7 -5
  62. package/SVF-doxygen/html/functions_vars.html +2 -2
  63. package/SVF-doxygen/html/functions_w.html +13 -9
  64. package/SVF-doxygen/html/functions_~.html +3 -0
  65. package/SVF-doxygen/html/hierarchy.html +2 -1
  66. package/SVF-doxygen/html/namespaceSVF.html +2 -0
  67. package/SVF-doxygen/html/search/all_0.js +2 -2
  68. package/SVF-doxygen/html/search/all_1.js +1 -1
  69. package/SVF-doxygen/html/search/all_10.js +325 -325
  70. package/SVF-doxygen/html/search/all_11.js +224 -224
  71. package/SVF-doxygen/html/search/all_12.js +552 -552
  72. package/SVF-doxygen/html/search/all_13.js +190 -190
  73. package/SVF-doxygen/html/search/all_14.js +67 -67
  74. package/SVF-doxygen/html/search/all_15.js +168 -168
  75. package/SVF-doxygen/html/search/all_16.js +63 -63
  76. package/SVF-doxygen/html/search/all_17.js +1 -1
  77. package/SVF-doxygen/html/search/all_18.js +1 -1
  78. package/SVF-doxygen/html/search/all_19.js +11 -11
  79. package/SVF-doxygen/html/search/all_1a.js +174 -173
  80. package/SVF-doxygen/html/search/all_2.js +4 -4
  81. package/SVF-doxygen/html/search/all_3.js +2 -2
  82. package/SVF-doxygen/html/search/all_5.js +2 -2
  83. package/SVF-doxygen/html/search/all_6.js +1 -1
  84. package/SVF-doxygen/html/search/all_7.js +6 -6
  85. package/SVF-doxygen/html/search/all_8.js +2 -2
  86. package/SVF-doxygen/html/search/all_9.js +406 -405
  87. package/SVF-doxygen/html/search/all_a.js +46 -46
  88. package/SVF-doxygen/html/search/all_b.js +26 -26
  89. package/SVF-doxygen/html/search/all_c.js +115 -115
  90. package/SVF-doxygen/html/search/all_d.js +197 -197
  91. package/SVF-doxygen/html/search/all_e.js +207 -207
  92. package/SVF-doxygen/html/search/all_f.js +116 -116
  93. package/SVF-doxygen/html/search/classes_0.js +26 -26
  94. package/SVF-doxygen/html/search/classes_1.js +9 -9
  95. package/SVF-doxygen/html/search/classes_10.js +73 -73
  96. package/SVF-doxygen/html/search/classes_11.js +15 -15
  97. package/SVF-doxygen/html/search/classes_12.js +2 -2
  98. package/SVF-doxygen/html/search/classes_13.js +10 -10
  99. package/SVF-doxygen/html/search/classes_14.js +14 -14
  100. package/SVF-doxygen/html/search/classes_15.js +1 -1
  101. package/SVF-doxygen/html/search/classes_2.js +81 -81
  102. package/SVF-doxygen/html/search/classes_3.js +37 -37
  103. package/SVF-doxygen/html/search/classes_4.js +9 -9
  104. package/SVF-doxygen/html/search/classes_5.js +28 -28
  105. package/SVF-doxygen/html/search/classes_6.js +104 -104
  106. package/SVF-doxygen/html/search/classes_7.js +34 -34
  107. package/SVF-doxygen/html/search/classes_8.js +57 -56
  108. package/SVF-doxygen/html/search/classes_9.js +1 -1
  109. package/SVF-doxygen/html/search/classes_a.js +12 -12
  110. package/SVF-doxygen/html/search/classes_b.js +29 -29
  111. package/SVF-doxygen/html/search/classes_c.js +6 -6
  112. package/SVF-doxygen/html/search/classes_d.js +18 -18
  113. package/SVF-doxygen/html/search/classes_e.js +36 -36
  114. package/SVF-doxygen/html/search/classes_f.js +25 -25
  115. package/SVF-doxygen/html/search/defines_0.js +3 -3
  116. package/SVF-doxygen/html/search/defines_1.js +2 -2
  117. package/SVF-doxygen/html/search/defines_2.js +30 -30
  118. package/SVF-doxygen/html/search/defines_3.js +20 -20
  119. package/SVF-doxygen/html/search/defines_4.js +2 -2
  120. package/SVF-doxygen/html/search/defines_5.js +4 -4
  121. package/SVF-doxygen/html/search/defines_6.js +2 -2
  122. package/SVF-doxygen/html/search/defines_7.js +5 -5
  123. package/SVF-doxygen/html/search/defines_8.js +11 -11
  124. package/SVF-doxygen/html/search/defines_9.js +9 -9
  125. package/SVF-doxygen/html/search/defines_a.js +2 -2
  126. package/SVF-doxygen/html/search/defines_b.js +1 -1
  127. package/SVF-doxygen/html/search/defines_c.js +3 -3
  128. package/SVF-doxygen/html/search/defines_d.js +2 -2
  129. package/SVF-doxygen/html/search/defines_e.js +7 -7
  130. package/SVF-doxygen/html/search/defines_f.js +3 -3
  131. package/SVF-doxygen/html/search/enums_0.js +3 -3
  132. package/SVF-doxygen/html/search/enums_1.js +2 -2
  133. package/SVF-doxygen/html/search/enums_10.js +1 -1
  134. package/SVF-doxygen/html/search/enums_11.js +1 -1
  135. package/SVF-doxygen/html/search/enums_2.js +8 -8
  136. package/SVF-doxygen/html/search/enums_3.js +1 -1
  137. package/SVF-doxygen/html/search/enums_4.js +3 -3
  138. package/SVF-doxygen/html/search/enums_5.js +1 -1
  139. package/SVF-doxygen/html/search/enums_6.js +2 -2
  140. package/SVF-doxygen/html/search/enums_7.js +2 -2
  141. package/SVF-doxygen/html/search/enums_8.js +4 -4
  142. package/SVF-doxygen/html/search/enums_9.js +1 -1
  143. package/SVF-doxygen/html/search/enums_a.js +1 -1
  144. package/SVF-doxygen/html/search/enums_b.js +7 -7
  145. package/SVF-doxygen/html/search/enums_c.js +1 -1
  146. package/SVF-doxygen/html/search/enums_d.js +4 -4
  147. package/SVF-doxygen/html/search/enums_e.js +2 -2
  148. package/SVF-doxygen/html/search/enums_f.js +4 -4
  149. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  150. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  151. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  152. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  153. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  154. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  155. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  156. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  157. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  158. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  159. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  160. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  161. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  162. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  163. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  164. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  165. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  166. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  167. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  168. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  169. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  170. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  171. package/SVF-doxygen/html/search/files_0.js +13 -13
  172. package/SVF-doxygen/html/search/files_1.js +7 -7
  173. package/SVF-doxygen/html/search/files_10.js +8 -8
  174. package/SVF-doxygen/html/search/files_11.js +8 -8
  175. package/SVF-doxygen/html/search/files_12.js +2 -2
  176. package/SVF-doxygen/html/search/files_2.js +57 -57
  177. package/SVF-doxygen/html/search/files_3.js +14 -14
  178. package/SVF-doxygen/html/search/files_4.js +5 -5
  179. package/SVF-doxygen/html/search/files_5.js +13 -13
  180. package/SVF-doxygen/html/search/files_6.js +9 -9
  181. package/SVF-doxygen/html/search/files_7.js +14 -14
  182. package/SVF-doxygen/html/search/files_8.js +13 -13
  183. package/SVF-doxygen/html/search/files_9.js +18 -18
  184. package/SVF-doxygen/html/search/files_a.js +3 -3
  185. package/SVF-doxygen/html/search/files_b.js +2 -2
  186. package/SVF-doxygen/html/search/files_c.js +20 -20
  187. package/SVF-doxygen/html/search/files_d.js +4 -4
  188. package/SVF-doxygen/html/search/files_e.js +62 -62
  189. package/SVF-doxygen/html/search/files_f.js +8 -8
  190. package/SVF-doxygen/html/search/functions_0.js +13 -13
  191. package/SVF-doxygen/html/search/functions_1.js +362 -362
  192. package/SVF-doxygen/html/search/functions_10.js +140 -140
  193. package/SVF-doxygen/html/search/functions_11.js +139 -139
  194. package/SVF-doxygen/html/search/functions_12.js +288 -288
  195. package/SVF-doxygen/html/search/functions_13.js +59 -59
  196. package/SVF-doxygen/html/search/functions_14.js +39 -39
  197. package/SVF-doxygen/html/search/functions_15.js +71 -71
  198. package/SVF-doxygen/html/search/functions_16.js +32 -32
  199. package/SVF-doxygen/html/search/functions_17.js +3 -3
  200. package/SVF-doxygen/html/search/functions_18.js +174 -173
  201. package/SVF-doxygen/html/search/functions_2.js +89 -89
  202. package/SVF-doxygen/html/search/functions_3.js +261 -261
  203. package/SVF-doxygen/html/search/functions_4.js +78 -78
  204. package/SVF-doxygen/html/search/functions_5.js +53 -53
  205. package/SVF-doxygen/html/search/functions_6.js +60 -60
  206. package/SVF-doxygen/html/search/functions_7.js +855 -855
  207. package/SVF-doxygen/html/search/functions_8.js +148 -148
  208. package/SVF-doxygen/html/search/functions_9.js +421 -420
  209. package/SVF-doxygen/html/search/functions_a.js +30 -30
  210. package/SVF-doxygen/html/search/functions_b.js +2 -2
  211. package/SVF-doxygen/html/search/functions_c.js +25 -25
  212. package/SVF-doxygen/html/search/functions_d.js +79 -79
  213. package/SVF-doxygen/html/search/functions_e.js +35 -35
  214. package/SVF-doxygen/html/search/functions_f.js +56 -56
  215. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  216. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  217. package/SVF-doxygen/html/search/related_0.js +2 -2
  218. package/SVF-doxygen/html/search/related_1.js +2 -2
  219. package/SVF-doxygen/html/search/related_2.js +3 -3
  220. package/SVF-doxygen/html/search/related_3.js +2 -2
  221. package/SVF-doxygen/html/search/related_4.js +2 -2
  222. package/SVF-doxygen/html/search/related_5.js +1 -1
  223. package/SVF-doxygen/html/search/related_6.js +2 -2
  224. package/SVF-doxygen/html/search/related_7.js +4 -4
  225. package/SVF-doxygen/html/search/related_8.js +2 -2
  226. package/SVF-doxygen/html/search/related_9.js +4 -4
  227. package/SVF-doxygen/html/search/related_a.js +19 -19
  228. package/SVF-doxygen/html/search/related_b.js +4 -4
  229. package/SVF-doxygen/html/search/related_c.js +2 -2
  230. package/SVF-doxygen/html/search/related_d.js +12 -12
  231. package/SVF-doxygen/html/search/related_e.js +2 -2
  232. package/SVF-doxygen/html/search/related_f.js +2 -2
  233. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  234. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  235. package/SVF-doxygen/html/search/typedefs_10.js +62 -62
  236. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  237. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  238. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  239. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  240. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  241. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  242. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  243. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  244. package/SVF-doxygen/html/search/typedefs_6.js +56 -56
  245. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  246. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  247. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  248. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  249. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  250. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  251. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  252. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  253. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  254. package/SVF-doxygen/html/search/variables_0.js +151 -151
  255. package/SVF-doxygen/html/search/variables_1.js +75 -75
  256. package/SVF-doxygen/html/search/variables_10.js +98 -98
  257. package/SVF-doxygen/html/search/variables_11.js +45 -45
  258. package/SVF-doxygen/html/search/variables_12.js +90 -90
  259. package/SVF-doxygen/html/search/variables_13.js +74 -74
  260. package/SVF-doxygen/html/search/variables_14.js +14 -14
  261. package/SVF-doxygen/html/search/variables_15.js +49 -49
  262. package/SVF-doxygen/html/search/variables_16.js +9 -9
  263. package/SVF-doxygen/html/search/variables_17.js +1 -1
  264. package/SVF-doxygen/html/search/variables_18.js +2 -2
  265. package/SVF-doxygen/html/search/variables_2.js +38 -38
  266. package/SVF-doxygen/html/search/variables_3.js +142 -142
  267. package/SVF-doxygen/html/search/variables_4.js +50 -50
  268. package/SVF-doxygen/html/search/variables_5.js +37 -37
  269. package/SVF-doxygen/html/search/variables_6.js +66 -66
  270. package/SVF-doxygen/html/search/variables_7.js +34 -34
  271. package/SVF-doxygen/html/search/variables_8.js +7 -7
  272. package/SVF-doxygen/html/search/variables_9.js +78 -78
  273. package/SVF-doxygen/html/search/variables_a.js +4 -4
  274. package/SVF-doxygen/html/search/variables_b.js +10 -10
  275. package/SVF-doxygen/html/search/variables_c.js +45 -45
  276. package/SVF-doxygen/html/search/variables_d.js +55 -55
  277. package/SVF-doxygen/html/search/variables_e.js +123 -123
  278. package/SVF-doxygen/html/search/variables_f.js +30 -30
  279. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html +6 -6
  280. package/package.json +1 -1
  281. package/svf/include/AbstractExecution/IntervalExeState.h +274 -102
  282. package/svf/include/AbstractExecution/RelationSolver.h +9 -9
  283. package/svf/lib/AbstractExecution/IntervalExeState.cpp +85 -14
  284. package/svf/lib/AbstractExecution/RelationSolver.cpp +22 -22
@@ -101,17 +101,17 @@ $(function() {
101
101
  <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div>
102
102
  <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword">using namespace </span>SVFUtil;</div>
103
103
  <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
104
- <div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a01a07c29746fdad29b88db89544137b1"> 33</a></span>&#160;<a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1RelationSolver.html#a01a07c29746fdad29b88db89544137b1">RelationSolver::bilateral</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;domain, <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a>&amp; phi,</div>
104
+ <div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a0df88638c5e3f8cd56d34088b96199f1"> 33</a></span>&#160;<a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1RelationSolver.html#a0df88638c5e3f8cd56d34088b96199f1">RelationSolver::bilateral</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> &amp;domain, <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a>&amp; phi,</div>
105
105
  <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> descend_check)</div>
106
106
  <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
107
- <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> upper = domain.<a class="code" href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430">top</a>();</div>
108
- <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> lower = domain.<a class="code" href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253">bottom</a>();</div>
107
+ <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> upper = domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">top</a>();</div>
108
+ <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> lower = domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">bottom</a>();</div>
109
109
  <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> meets_in_a_row = 0;</div>
110
110
  <div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; z3::solver solver = <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">Z3Expr::getSolver</a>();</div>
111
111
  <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; z3::params <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>());</div>
112
112
  <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.set(<span class="stringliteral">&quot;:timeout&quot;</span>, <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span><span class="keyword">&gt;</span>(600)); <span class="comment">// in milliseconds</span></div>
113
113
  <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; solver.set(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>);</div>
114
- <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> consequence;</div>
114
+ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> consequence;</div>
115
115
  <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
116
116
  <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">while</span> (lower != upper)</div>
117
117
  <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
@@ -140,7 +140,7 @@ $(function() {
140
140
  <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; solution.emplace(std::stoi(v.name().str()),</div>
141
141
  <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; m.get_const_interp(v).get_numeral_int());</div>
142
142
  <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
143
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : domain.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>())</div>
143
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>())</div>
144
144
  <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div>
145
145
  <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span> (solution.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first) == solution.end())</div>
146
146
  <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div>
@@ -148,10 +148,10 @@ $(function() {
148
148
  <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
149
149
  <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
150
150
  <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; solver.pop();</div>
151
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> newLower = domain.<a class="code" href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253">bottom</a>();</div>
152
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; newLower.<a class="code" href="classSVF_1_1IntervalExeState.html#a46ef74cd1412790b088f1d7320f57a9f">joinWith</a>(lower);</div>
153
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> rhs = beta(solution, domain);</div>
154
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; newLower.<a class="code" href="classSVF_1_1IntervalExeState.html#a46ef74cd1412790b088f1d7320f57a9f">joinWith</a>(rhs);</div>
151
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> newLower = domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">bottom</a>();</div>
152
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; newLower.<a class="code" href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">joinWith</a>(lower);</div>
153
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> rhs = beta(solution, domain);</div>
154
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; newLower.<a class="code" href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">joinWith</a>(rhs);</div>
155
155
  <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; lower = newLower;</div>
156
156
  <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; meets_in_a_row = 0;</div>
157
157
  <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div>
@@ -163,9 +163,9 @@ $(function() {
163
163
  <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">if</span> (solver.reason_unknown() == <span class="stringliteral">&quot;timeout&quot;</span>)</div>
164
164
  <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">return</span> upper;</div>
165
165
  <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div>
166
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> newUpper = domain.<a class="code" href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430">top</a>();</div>
167
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; newUpper.<a class="code" href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">meetWith</a>(upper);</div>
168
- <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; newUpper.<a class="code" href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">meetWith</a>(consequence);</div>
166
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> newUpper = domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">top</a>();</div>
167
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; newUpper.<a class="code" href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">meetWith</a>(upper);</div>
168
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; newUpper.<a class="code" href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">meetWith</a>(consequence);</div>
169
169
  <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; upper = newUpper;</div>
170
170
  <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; meets_in_a_row += 1;</div>
171
171
  <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
@@ -173,9 +173,9 @@ $(function() {
173
173
  <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> upper;</div>
174
174
  <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div>
175
175
  <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
176
- <div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a7b9a9e303fe74041fc77bea22e494658"> 111</a></span>&#160;<a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1RelationSolver.html#a7b9a9e303fe74041fc77bea22e494658">RelationSolver::RSY</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; domain, <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a>&amp; phi)</div>
176
+ <div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a657af041f883e7b1a3f9892453a2c4cf"> 111</a></span>&#160;<a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1RelationSolver.html#a657af041f883e7b1a3f9892453a2c4cf">RelationSolver::RSY</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; domain, <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a>&amp; phi)</div>
177
177
  <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;{</div>
178
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> lower = domain.<a class="code" href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253">bottom</a>();</div>
178
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> lower = domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">bottom</a>();</div>
179
179
  <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; z3::solver&amp; solver = <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">Z3Expr::getSolver</a>();</div>
180
180
  <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; z3::params <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>());</div>
181
181
  <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.set(<span class="stringliteral">&quot;:timeout&quot;</span>, <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span><span class="keyword">&gt;</span>(600)); <span class="comment">// in milliseconds</span></div>
@@ -199,7 +199,7 @@ $(function() {
199
199
  <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; solution.emplace(std::stoi(v.name().str()),</div>
200
200
  <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; m.get_const_interp(v).get_numeral_int());</div>
201
201
  <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
202
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : domain.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>())</div>
202
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>())</div>
203
203
  <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
204
204
  <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (solution.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first) == solution.end())</div>
205
205
  <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div>
@@ -207,9 +207,9 @@ $(function() {
207
207
  <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div>
208
208
  <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
209
209
  <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; solver.pop();</div>
210
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> newLower = domain.<a class="code" href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253">bottom</a>();</div>
211
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; newLower.<a class="code" href="classSVF_1_1IntervalExeState.html#a46ef74cd1412790b088f1d7320f57a9f">joinWith</a>(lower);</div>
212
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; newLower.<a class="code" href="classSVF_1_1IntervalExeState.html#a46ef74cd1412790b088f1d7320f57a9f">joinWith</a>(beta(solution, domain));</div>
210
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> newLower = domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">bottom</a>();</div>
211
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; newLower.<a class="code" href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">joinWith</a>(lower);</div>
212
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; newLower.<a class="code" href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">joinWith</a>(beta(solution, domain));</div>
213
213
  <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; lower = newLower;</div>
214
214
  <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
215
215
  <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">else</span> </div>
@@ -218,7 +218,7 @@ $(function() {
218
218
  <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (checkRes == z3::unknown)</div>
219
219
  <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; {</div>
220
220
  <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (solver.reason_unknown() == <span class="stringliteral">&quot;timeout&quot;</span>)</div>
221
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> domain.<a class="code" href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430">top</a>();</div>
221
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">top</a>();</div>
222
222
  <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
223
223
  <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">break</span>;</div>
224
224
  <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div>
@@ -226,8 +226,8 @@ $(function() {
226
226
  <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> lower;</div>
227
227
  <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;}</div>
228
228
  <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
229
- <div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a4b8d34e7a307b3ab4c0b763f14f4d8bb"> 167</a></span>&#160;<a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1RelationSolver.html#a4b8d34e7a307b3ab4c0b763f14f4d8bb">RelationSolver::abstract_consequence</a>(</div>
230
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; lower, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; upper, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; domain)<span class="keyword"> const</span></div>
229
+ <div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a012d18ece2c66ba6e784ae9578171369"> 167</a></span>&#160;<a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1RelationSolver.html#a012d18ece2c66ba6e784ae9578171369">RelationSolver::abstract_consequence</a>(</div>
230
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; lower, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; upper, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; domain)<span class="keyword"> const</span></div>
231
231
  <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="keyword"></span>{</div>
232
232
  <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">/*Returns the &quot;abstract consequence&quot; of lower and upper.</span></div>
233
233
  <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"></span> </div>
@@ -239,11 +239,11 @@ $(function() {
239
239
  <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> of the SMT solver in many cases. In certain cases, other choices for</span></div>
240
240
  <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> the abstract consequence will lead to better algorithm performance.*/</span></div>
241
241
  <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
242
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = domain.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>().begin();</div>
243
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; it != domain.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>().end(); ++it)</div>
242
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>().begin();</div>
243
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; it != domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>().end(); ++it)</div>
244
244
  <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div>
245
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> proposed = domain.<a class="code" href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430">top</a>(); </div>
246
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; proposed.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[it-&gt;first] = lower.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.at(it-&gt;first);</div>
245
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> proposed = domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">top</a>(); </div>
246
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; proposed.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[it-&gt;first] = lower.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.at(it-&gt;first);</div>
247
247
  <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (!(proposed &gt;= upper)) </div>
248
248
  <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; {</div>
249
249
  <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> proposed; </div>
@@ -252,10 +252,10 @@ $(function() {
252
252
  <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> lower; </div>
253
253
  <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div>
254
254
  <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
255
- <div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a6283193a43136ecca6975e7e012984be"> 196</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> <a class="code" href="classSVF_1_1RelationSolver.html#a6283193a43136ecca6975e7e012984be">RelationSolver::gamma_hat</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; exeState)<span class="keyword"> const</span></div>
255
+ <div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#af860063ccaeca043bac84eb9eb2cf80a"> 196</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> <a class="code" href="classSVF_1_1RelationSolver.html#af860063ccaeca043bac84eb9eb2cf80a">RelationSolver::gamma_hat</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; exeState)<span class="keyword"> const</span></div>
256
256
  <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="keyword"></span>{</div>
257
257
  <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> res(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>().bool_val(<span class="keyword">true</span>));</div>
258
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : exeState.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>())</div>
258
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : exeState.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>())</div>
259
259
  <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div>
260
260
  <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isBottom())</div>
261
261
  <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>().bool_val(<span class="keyword">false</span>);</div>
@@ -268,13 +268,13 @@ $(function() {
268
268
  <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> res;</div>
269
269
  <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div>
270
270
  <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
271
- <div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a4d27324095a099a8ad04895e3d826aab"> 212</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> <a class="code" href="classSVF_1_1RelationSolver.html#a6283193a43136ecca6975e7e012984be">RelationSolver::gamma_hat</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; alpha,</div>
272
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; exeState)<span class="keyword"> const</span></div>
271
+ <div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a93a034bb18001abc278d6986706024af"> 212</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> <a class="code" href="classSVF_1_1RelationSolver.html#af860063ccaeca043bac84eb9eb2cf80a">RelationSolver::gamma_hat</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; alpha,</div>
272
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; exeState)<span class="keyword"> const</span></div>
273
273
  <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="keyword"></span>{</div>
274
274
  <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> res(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>().bool_val(<span class="keyword">true</span>));</div>
275
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : exeState.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>())</div>
275
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : exeState.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>())</div>
276
276
  <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
277
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> interval = alpha.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>.at(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
277
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> interval = alpha.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.at(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
278
278
  <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">if</span> (interval.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
279
279
  <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>().bool_val(<span class="keyword">false</span>);</div>
280
280
  <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span> (interval.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
@@ -286,10 +286,10 @@ $(function() {
286
286
  <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">return</span> res;</div>
287
287
  <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;}</div>
288
288
  <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; </div>
289
- <div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#ac438cb3a1fc60ab263a622ee13d075b3"> 230</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> <a class="code" href="classSVF_1_1RelationSolver.html#a6283193a43136ecca6975e7e012984be">RelationSolver::gamma_hat</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; exeState)<span class="keyword"> const</span></div>
289
+ <div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#aff6752947e73cd0559b5a340547c9016"> 230</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> <a class="code" href="classSVF_1_1RelationSolver.html#af860063ccaeca043bac84eb9eb2cf80a">RelationSolver::gamma_hat</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; exeState)<span class="keyword"> const</span></div>
290
290
  <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="keyword"></span>{</div>
291
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keyword">auto</span> it = exeState.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>().find(<span class="keywordtype">id</span>);</div>
292
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; assert(it != exeState.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>().end() &amp;&amp; <span class="stringliteral">&quot;id not in varToVal?&quot;</span>);</div>
291
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keyword">auto</span> it = exeState.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>().find(<span class="keywordtype">id</span>);</div>
292
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; assert(it != exeState.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>().end() &amp;&amp; <span class="stringliteral">&quot;id not in varToVal?&quot;</span>);</div>
293
293
  <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> v = toZ3Expr(<span class="keywordtype">id</span>);</div>
294
294
  <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="comment">// Z3Expr v = Z3Expr::getContext().int_const(std::to_string(id).c_str());</span></div>
295
295
  <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> res = (v &gt;= (int)it-&gt;second.lb().getNumeral() &amp;&amp;</div>
@@ -297,13 +297,13 @@ $(function() {
297
297
  <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">return</span> res;</div>
298
298
  <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;}</div>
299
299
  <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; </div>
300
- <div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a075fd013f4b9455e81c9f4ccfae10e36"> 241</a></span>&#160;<a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1RelationSolver.html#a075fd013f4b9455e81c9f4ccfae10e36">RelationSolver::beta</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;u32_t, double&gt;</a>&amp; sigma,</div>
301
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; exeState)<span class="keyword"> const</span></div>
300
+ <div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#af0c2db68bffbb223b845ca307b86c10a"> 241</a></span>&#160;<a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1RelationSolver.html#af0c2db68bffbb223b845ca307b86c10a">RelationSolver::beta</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;u32_t, double&gt;</a>&amp; sigma,</div>
301
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; exeState)<span class="keyword"> const</span></div>
302
302
  <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="keyword"></span>{</div>
303
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> res;</div>
304
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : exeState.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>())</div>
303
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> res;</div>
304
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> : exeState.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>())</div>
305
305
  <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
306
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; res.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(</div>
306
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; res.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(</div>
307
307
  <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; sigma.at(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first), sigma.at(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first));</div>
308
308
  <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
309
309
  <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> res;</div>
@@ -322,7 +322,7 @@ $(function() {
322
322
  <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; }</div>
323
323
  <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;}</div>
324
324
  <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; </div>
325
- <div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#aead801a65a898ee3a4e1f6442edccfc4"> 266</a></span>&#160;<a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> <a class="code" href="classSVF_1_1RelationSolver.html#aead801a65a898ee3a4e1f6442edccfc4">RelationSolver::BS</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>&amp; domain, <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;phi)</div>
325
+ <div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classSVF_1_1RelationSolver.html#a7e827609a1d69c6517f1a3eee0326fc3"> 266</a></span>&#160;<a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> <a class="code" href="classSVF_1_1RelationSolver.html#a7e827609a1d69c6517f1a3eee0326fc3">RelationSolver::BS</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a>&amp; domain, <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;phi)</div>
326
326
  <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;{</div>
327
327
  <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bias = 0;</div>
328
328
  <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordtype">int</span> infinity = (INT32_MAX) - 1;</div>
@@ -330,7 +330,7 @@ $(function() {
330
330
  <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;u32_t, NumericLiteral&gt;</a> ret;</div>
331
331
  <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;u32_t, NumericLiteral&gt;</a> low_values, high_values;</div>
332
332
  <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> new_phi = phi;</div>
333
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: domain.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>())</div>
333
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>())</div>
334
334
  <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div>
335
335
  <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; updateMap(ret, <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first, <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.ub());</div>
336
336
  <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.lb().is_minus_infinity())</div>
@@ -344,7 +344,7 @@ $(function() {
344
344
  <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first &gt; bias)</div>
345
345
  <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; bias = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first + 1;</div>
346
346
  <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
347
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: domain.<a class="code" href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">getVarToVal</a>())</div>
347
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: domain.<a class="code" href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">getVarToVal</a>())</div>
348
348
  <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div>
349
349
  <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> reverse_key = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first + bias;</div>
350
350
  <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; updateMap(ret, reverse_key, -<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.lb());</div>
@@ -359,22 +359,22 @@ $(function() {
359
359
  <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; new_phi = (new_phi &amp;&amp; (toZ3Expr(reverse_key) == -1 * toZ3Expr(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first)));</div>
360
360
  <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div>
361
361
  <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; BoxedOptSolver(new_phi.<a class="code" href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">simplify</a>(), ret, low_values, high_values);</div>
362
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> retInv;</div>
362
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="classSVF_1_1IntervalESBase.html">IntervalESBase</a> retInv;</div>
363
363
  <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: ret)</div>
364
364
  <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; {</div>
365
365
  <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first &gt;= bias)</div>
366
366
  <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div>
367
367
  <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.equal(infinity))</div>
368
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; retInv.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first - bias].setLb(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>().int_const(<span class="stringliteral">&quot;-oo&quot;</span>));</div>
368
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; retInv.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first - bias].setLb(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>().int_const(<span class="stringliteral">&quot;-oo&quot;</span>));</div>
369
369
  <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">else</span></div>
370
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; retInv.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first - bias].setLb(-<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second);</div>
370
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; retInv.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first - bias].setLb(-<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second);</div>
371
371
  <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; }</div>
372
372
  <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">else</span></div>
373
373
  <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; {</div>
374
374
  <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.equal(infinity))</div>
375
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; retInv.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first].setUb(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>().int_const(<span class="stringliteral">&quot;+oo&quot;</span>));</div>
375
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; retInv.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first].setUb(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>().int_const(<span class="stringliteral">&quot;+oo&quot;</span>));</div>
376
376
  <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">else</span></div>
377
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; retInv.<a class="code" href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first].setUb(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second);</div>
377
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; retInv.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first].setUb(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second);</div>
378
378
  <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
379
379
  <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div>
380
380
  <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> retInv;</div>
@@ -465,38 +465,38 @@ $(function() {
465
465
  <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;}</div>
466
466
  </div><!-- fragment --></div><!-- contents -->
467
467
  <div class="ttc" id="acJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
468
+ <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a0df88638c5e3f8cd56d34088b96199f1"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a0df88638c5e3f8cd56d34088b96199f1">SVF::RelationSolver::bilateral</a></div><div class="ttdeci">IntervalESBase bilateral(const IntervalESBase &amp;domain, const Z3Expr &amp;phi, u32_t descend_check=0)</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00033">RelationSolver.cpp:33</a></div></div>
468
469
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_a57c199ba2c3c6a6d44a86e0b1429be55"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">SVF::Z3Expr::getExpr</a></div><div class="ttdeci">const z3::expr &amp; getExpr() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00079">Z3Expr.h:79</a></div></div>
469
470
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral &amp; lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00218">IntervalValue.h:218</a></div></div>
470
471
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
471
- <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a4b8d34e7a307b3ab4c0b763f14f4d8bb"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a4b8d34e7a307b3ab4c0b763f14f4d8bb">SVF::RelationSolver::abstract_consequence</a></div><div class="ttdeci">IntervalExeState abstract_consequence(const IntervalExeState &amp;lower, const IntervalExeState &amp;upper, const IntervalExeState &amp;domain) const</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00167">RelationSolver.cpp:167</a></div></div>
472
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad1b59eda77f703a29e9070c3ef70e430"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad1b59eda77f703a29e9070c3ef70e430">SVF::IntervalExeState::top</a></div><div class="ttdeci">IntervalExeState top() const</div><div class="ttdoc">Set all value top.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00128">IntervalExeState.h:128</a></div></div>
472
+ <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a7e827609a1d69c6517f1a3eee0326fc3"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a7e827609a1d69c6517f1a3eee0326fc3">SVF::RelationSolver::BS</a></div><div class="ttdeci">IntervalESBase BS(const IntervalESBase &amp;domain, const Z3Expr &amp;phi)</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00266">RelationSolver.cpp:266</a></div></div>
473
473
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context &amp; getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context.</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00066">Z3Expr.cpp:66</a></div></div>
474
474
  <div class="ttc" id="aclassSVF_1_1RelationSolver_html_aaae7ac9ed7d0e17f39948c37b867ada9"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#aaae7ac9ed7d0e17f39948c37b867ada9">SVF::RelationSolver::BoxedOptSolver</a></div><div class="ttdeci">Map&lt; u32_t, NumericLiteral &gt; BoxedOptSolver(const Z3Expr &amp;phi, Map&lt; u32_t, NumericLiteral &gt; &amp;ret, Map&lt; u32_t, NumericLiteral &gt; &amp;low_values, Map&lt; u32_t, NumericLiteral &gt; &amp;high_values)</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00331">RelationSolver.cpp:331</a></div></div>
475
475
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_af8be90fc1b61103187908dce4ba68001"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
476
- <div class="ttc" id="aclassSVF_1_1RelationSolver_html_aead801a65a898ee3a4e1f6442edccfc4"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#aead801a65a898ee3a4e1f6442edccfc4">SVF::RelationSolver::BS</a></div><div class="ttdeci">IntervalExeState BS(const IntervalExeState &amp;domain, const Z3Expr &amp;phi)</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00266">RelationSolver.cpp:266</a></div></div>
477
476
  <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a7ace50c6e53a79f0e329badb63570f92"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a7ace50c6e53a79f0e329badb63570f92">SVF::RelationSolver::decide_cpa_ext</a></div><div class="ttdeci">void decide_cpa_ext(const Z3Expr &amp;phi, Map&lt; u32_t, Z3Expr &gt; &amp;, Map&lt; u32_t, NumericLiteral &gt; &amp;, Map&lt; u32_t, NumericLiteral &gt; &amp;, Map&lt; u32_t, NumericLiteral &gt; &amp;, Map&lt; u32_t, NumericLiteral &gt; &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00359">RelationSolver.cpp:359</a></div></div>
478
477
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html"><div class="ttname"><a href="classSVF_1_1Z3Expr.html">SVF::Z3Expr</a></div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00038">Z3Expr.h:38</a></div></div>
479
478
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a4181e5e15e10304ea524e5f8b2a3f576"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00120">NumericLiteral.h:120</a></div></div>
479
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html">SVF::IntervalESBase</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00054">IntervalExeState.h:54</a></div></div>
480
480
  <div class="ttc" id="aRelationSolver_8h_html"><div class="ttname"><a href="RelationSolver_8h.html">RelationSolver.h</a></div></div>
481
- <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a7b9a9e303fe74041fc77bea22e494658"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a7b9a9e303fe74041fc77bea22e494658">SVF::RelationSolver::RSY</a></div><div class="ttdeci">IntervalExeState RSY(const IntervalExeState &amp;domain, const Z3Expr &amp;phi)</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00111">RelationSolver.cpp:111</a></div></div>
482
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac72e3ae77e06e0dfc7c2edd2bf765d77"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">SVF::IntervalExeState::_varToItvVal</a></div><div class="ttdeci">VarToValMap _varToItvVal</div><div class="ttdoc">Map a variable (symbol) to its interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00151">IntervalExeState.h:151</a></div></div>
481
+ <div class="ttc" id="aclassSVF_1_1RelationSolver_html_af860063ccaeca043bac84eb9eb2cf80a"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#af860063ccaeca043bac84eb9eb2cf80a">SVF::RelationSolver::gamma_hat</a></div><div class="ttdeci">Z3Expr gamma_hat(const IntervalESBase &amp;exeState) const</div><div class="ttdoc">Return Z3Expr according to valToValMap.</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00196">RelationSolver.cpp:196</a></div></div>
483
482
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral &amp; ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00225">IntervalValue.h:225</a></div></div>
484
- <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a075fd013f4b9455e81c9f4ccfae10e36"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a075fd013f4b9455e81c9f4ccfae10e36">SVF::RelationSolver::beta</a></div><div class="ttdeci">IntervalExeState beta(const Map&lt; u32_t, double &gt; &amp;sigma, const IntervalExeState &amp;exeState) const</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00241">RelationSolver.cpp:241</a></div></div>
485
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html">SVF::IntervalExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00055">IntervalExeState.h:55</a></div></div>
483
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a92a8531c7f12cc6f9117596aa5e534b6"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a92a8531c7f12cc6f9117596aa5e534b6">SVF::IntervalESBase::meetWith</a></div><div class="ttdeci">void meetWith(const IntervalESBase &amp;other)</div><div class="ttdoc">domain meet with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00164">IntervalExeState.cpp:164</a></div></div>
484
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_ad2288306aed7301ccd30e55410c7b428"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">SVF::IntervalESBase::_varToItvVal</a></div><div class="ttdeci">VarToValMap _varToItvVal</div><div class="ttdoc">Map a variable (symbol) to its interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00147">IntervalExeState.h:147</a></div></div>
486
485
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
487
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a46ef74cd1412790b088f1d7320f57a9f"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a46ef74cd1412790b088f1d7320f57a9f">SVF::IntervalExeState::joinWith</a></div><div class="ttdeci">void joinWith(const IntervalExeState &amp;other)</div><div class="ttdoc">domain join with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00114">IntervalExeState.cpp:114</a></div></div>
488
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_af1f0b9b41ccaa98aa23a7e128a253253"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#af1f0b9b41ccaa98aa23a7e128a253253">SVF::IntervalExeState::bottom</a></div><div class="ttdeci">IntervalExeState bottom() const</div><div class="ttdoc">Set all value bottom.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00117">IntervalExeState.h:117</a></div></div>
486
+ <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a657af041f883e7b1a3f9892453a2c4cf"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a657af041f883e7b1a3f9892453a2c4cf">SVF::RelationSolver::RSY</a></div><div class="ttdeci">IntervalESBase RSY(const IntervalESBase &amp;domain, const Z3Expr &amp;phi)</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00111">RelationSolver.cpp:111</a></div></div>
487
+ <div class="ttc" id="aclassSVF_1_1RelationSolver_html_af0c2db68bffbb223b845ca307b86c10a"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#af0c2db68bffbb223b845ca307b86c10a">SVF::RelationSolver::beta</a></div><div class="ttdeci">IntervalESBase beta(const Map&lt; u32_t, double &gt; &amp;sigma, const IntervalESBase &amp;exeState) const</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00241">RelationSolver.cpp:241</a></div></div>
489
488
  <div class="ttc" id="aclassSVF_1_1RelationSolver_html_af00aee55faf18a994dc5558ca4bf4932"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#af00aee55faf18a994dc5558ca4bf4932">SVF::RelationSolver::updateMap</a></div><div class="ttdeci">void updateMap(Map&lt; u32_t, NumericLiteral &gt; &amp;map, u32_t key, const NumericLiteral &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00253">RelationSolver.cpp:253</a></div></div>
490
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a4e3e495118c907a29d7705904273f6d3"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a4e3e495118c907a29d7705904273f6d3">SVF::IntervalExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdoc">get var2val map</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00207">IntervalExeState.h:207</a></div></div>
491
- <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a6283193a43136ecca6975e7e012984be"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a6283193a43136ecca6975e7e012984be">SVF::RelationSolver::gamma_hat</a></div><div class="ttdeci">Z3Expr gamma_hat(const IntervalExeState &amp;exeState) const</div><div class="ttdoc">Return Z3Expr according to valToValMap.</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00196">RelationSolver.cpp:196</a></div></div>
489
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a839e8ee927c1cad86aef3059b41ba2eb"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a839e8ee927c1cad86aef3059b41ba2eb">SVF::IntervalESBase::bottom</a></div><div class="ttdeci">IntervalESBase bottom() const</div><div class="ttdoc">Set all value bottom.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00113">IntervalExeState.h:113</a></div></div>
492
490
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_afb3478316592a395c6d473791b5a0981"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">SVF::Z3Expr::simplify</a></div><div class="ttdeci">Z3Expr simplify() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00130">Z3Expr.h:130</a></div></div>
493
491
  <div class="ttc" id="acJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
494
492
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a977128211266b93e58e298a7ac29a059"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">SVF::IntervalValue::isTop</a></div><div class="ttdeci">bool isTop() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00055">IntervalValue.h:55</a></div></div>
495
493
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html">SVF::NumericLiteral</a></div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00040">NumericLiteral.h:40</a></div></div>
496
- <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a01a07c29746fdad29b88db89544137b1"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a01a07c29746fdad29b88db89544137b1">SVF::RelationSolver::bilateral</a></div><div class="ttdeci">IntervalExeState bilateral(const IntervalExeState &amp;domain, const Z3Expr &amp;phi, u32_t descend_check=0)</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00033">RelationSolver.cpp:33</a></div></div>
494
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a903797577ba99ef57879774a3849bbfe"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">SVF::IntervalESBase::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdoc">get var2val map</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00189">IntervalExeState.h:189</a></div></div>
497
495
  <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00102">SVFType.h:102</a></div></div>
496
+ <div class="ttc" id="aclassSVF_1_1RelationSolver_html_a012d18ece2c66ba6e784ae9578171369"><div class="ttname"><a href="classSVF_1_1RelationSolver.html#a012d18ece2c66ba6e784ae9578171369">SVF::RelationSolver::abstract_consequence</a></div><div class="ttdeci">IntervalESBase abstract_consequence(const IntervalESBase &amp;lower, const IntervalESBase &amp;upper, const IntervalESBase &amp;domain) const</div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8cpp_source.html#l00167">RelationSolver.cpp:167</a></div></div>
497
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a33fd0e4a654dd4f5b7762b0088e11674"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a33fd0e4a654dd4f5b7762b0088e11674">SVF::IntervalESBase::top</a></div><div class="ttdeci">IntervalESBase top() const</div><div class="ttdoc">Set all value top.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00124">IntervalExeState.h:124</a></div></div>
498
498
  <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
499
- <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a1e5d399b2111d9b8ed17f790cab12d5d"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a1e5d399b2111d9b8ed17f790cab12d5d">SVF::IntervalExeState::meetWith</a></div><div class="ttdeci">void meetWith(const IntervalExeState &amp;other)</div><div class="ttdoc">domain meet with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00165">IntervalExeState.cpp:165</a></div></div>
499
+ <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_adc0db607e4c0f117760535df67b91fbd"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#adc0db607e4c0f117760535df67b91fbd">SVF::IntervalESBase::joinWith</a></div><div class="ttdeci">void joinWith(const IntervalESBase &amp;other)</div><div class="ttdoc">domain join with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8cpp_source.html#l00113">IntervalExeState.cpp:113</a></div></div>
500
500
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_a16721e960145864d0835eb95f2ae4681"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">SVF::Z3Expr::getSolver</a></div><div class="ttdeci">static z3::solver &amp; getSolver()</div><div class="ttdoc">Get z3 solver, singleton design here to make sure we only have one context.</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00056">Z3Expr.cpp:56</a></div></div>
501
501
  <!-- start footer part -->
502
502
  <hr class="footer"/><address class="footer"><small>