binary-relational.js 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735
  1. load("test-common.js");
  2. try {
  3. const vals = [
  4. 1,
  5. 2,
  6. 1.23,
  7. 2.34567,
  8. 1n,
  9. 2n,
  10. [],
  11. [1],
  12. [2],
  13. [1, 2],
  14. "foo",
  15. "fooo",
  16. "🔥",
  17. "❤️",
  18. "bar",
  19. {},
  20. { a: 1 },
  21. { a: 2 },
  22. { b: 1 },
  23. true,
  24. false,
  25. undefined,
  26. null,
  27. NaN,
  28. +Infinity,
  29. -Infinity,
  30. ];
  31. // Each row contains: xIndex, yIndex, (x < y), (x > y), (x <= y), (x >= y)
  32. // where x = vals[xIndex], y = vals[yIndex]
  33. // Table can be generated using a mature engine and the following code:
  34. // for (var xIndex = 0; xIndex < vals.length; ++xIndex) {
  35. // for (var yIndex = 0; yIndex < vals.length; ++yIndex) {
  36. // var x = vals[xIndex];
  37. // var y = vals[yIndex];
  38. // console.log(`[${xIndex}, ${yIndex}, ${x < y}, ${x > y}, ${x <= y}, ${x >= y}]`);
  39. // }
  40. // }
  41. const table = [
  42. [0, 0, false, false, true, true],
  43. [0, 1, true, false, true, false],
  44. [0, 2, true, false, true, false],
  45. [0, 3, true, false, true, false],
  46. [0, 4, false, false, true, true],
  47. [0, 5, true, false, true, false],
  48. [0, 6, false, true, false, true],
  49. [0, 7, false, false, true, true],
  50. [0, 8, true, false, true, false],
  51. [0, 9, false, false, false, false],
  52. [0, 10, false, false, false, false],
  53. [0, 11, false, false, false, false],
  54. [0, 12, false, false, false, false],
  55. [0, 13, false, false, false, false],
  56. [0, 14, false, false, false, false],
  57. [0, 15, false, false, false, false],
  58. [0, 16, false, false, false, false],
  59. [0, 17, false, false, false, false],
  60. [0, 18, false, false, false, false],
  61. [0, 19, false, false, true, true],
  62. [0, 20, false, true, false, true],
  63. [0, 21, false, false, false, false],
  64. [0, 22, false, true, false, true],
  65. [0, 23, false, false, false, false],
  66. [0, 24, true, false, true, false],
  67. [0, 25, false, true, false, true],
  68. [1, 0, false, true, false, true],
  69. [1, 1, false, false, true, true],
  70. [1, 2, false, true, false, true],
  71. [1, 3, true, false, true, false],
  72. [1, 4, false, true, false, true],
  73. [1, 5, false, false, true, true],
  74. [1, 6, false, true, false, true],
  75. [1, 7, false, true, false, true],
  76. [1, 8, false, false, true, true],
  77. [1, 9, false, false, false, false],
  78. [1, 10, false, false, false, false],
  79. [1, 11, false, false, false, false],
  80. [1, 12, false, false, false, false],
  81. [1, 13, false, false, false, false],
  82. [1, 14, false, false, false, false],
  83. [1, 15, false, false, false, false],
  84. [1, 16, false, false, false, false],
  85. [1, 17, false, false, false, false],
  86. [1, 18, false, false, false, false],
  87. [1, 19, false, true, false, true],
  88. [1, 20, false, true, false, true],
  89. [1, 21, false, false, false, false],
  90. [1, 22, false, true, false, true],
  91. [1, 23, false, false, false, false],
  92. [1, 24, true, false, true, false],
  93. [1, 25, false, true, false, true],
  94. [2, 0, false, true, false, true],
  95. [2, 1, true, false, true, false],
  96. [2, 2, false, false, true, true],
  97. [2, 3, true, false, true, false],
  98. [2, 4, false, true, false, true],
  99. [2, 5, true, false, true, false],
  100. [2, 6, false, true, false, true],
  101. [2, 7, false, true, false, true],
  102. [2, 8, true, false, true, false],
  103. [2, 9, false, false, false, false],
  104. [2, 10, false, false, false, false],
  105. [2, 11, false, false, false, false],
  106. [2, 12, false, false, false, false],
  107. [2, 13, false, false, false, false],
  108. [2, 14, false, false, false, false],
  109. [2, 15, false, false, false, false],
  110. [2, 16, false, false, false, false],
  111. [2, 17, false, false, false, false],
  112. [2, 18, false, false, false, false],
  113. [2, 19, false, true, false, true],
  114. [2, 20, false, true, false, true],
  115. [2, 21, false, false, false, false],
  116. [2, 22, false, true, false, true],
  117. [2, 23, false, false, false, false],
  118. [2, 24, true, false, true, false],
  119. [2, 25, false, true, false, true],
  120. [3, 0, false, true, false, true],
  121. [3, 1, false, true, false, true],
  122. [3, 2, false, true, false, true],
  123. [3, 3, false, false, true, true],
  124. [3, 4, false, true, false, true],
  125. [3, 5, false, true, false, true],
  126. [3, 6, false, true, false, true],
  127. [3, 7, false, true, false, true],
  128. [3, 8, false, true, false, true],
  129. [3, 9, false, false, false, false],
  130. [3, 10, false, false, false, false],
  131. [3, 11, false, false, false, false],
  132. [3, 12, false, false, false, false],
  133. [3, 13, false, false, false, false],
  134. [3, 14, false, false, false, false],
  135. [3, 15, false, false, false, false],
  136. [3, 16, false, false, false, false],
  137. [3, 17, false, false, false, false],
  138. [3, 18, false, false, false, false],
  139. [3, 19, false, true, false, true],
  140. [3, 20, false, true, false, true],
  141. [3, 21, false, false, false, false],
  142. [3, 22, false, true, false, true],
  143. [3, 23, false, false, false, false],
  144. [3, 24, true, false, true, false],
  145. [3, 25, false, true, false, true],
  146. [4, 0, false, false, true, true],
  147. [4, 1, true, false, true, false],
  148. [4, 2, true, false, true, false],
  149. [4, 3, true, false, true, false],
  150. [4, 4, false, false, true, true],
  151. [4, 5, true, false, true, false],
  152. [4, 6, false, true, false, true],
  153. [4, 7, false, false, true, true],
  154. [4, 8, true, false, true, false],
  155. [4, 9, false, false, false, false],
  156. [4, 10, false, false, false, false],
  157. [4, 11, false, false, false, false],
  158. [4, 12, false, false, false, false],
  159. [4, 13, false, false, false, false],
  160. [4, 14, false, false, false, false],
  161. [4, 15, false, false, false, false],
  162. [4, 16, false, false, false, false],
  163. [4, 17, false, false, false, false],
  164. [4, 18, false, false, false, false],
  165. [4, 19, false, false, true, true],
  166. [4, 20, false, true, false, true],
  167. [4, 21, false, false, false, false],
  168. [4, 22, false, true, false, true],
  169. [4, 23, false, false, false, false],
  170. [4, 24, true, false, true, false],
  171. [4, 25, false, true, false, true],
  172. [5, 0, false, true, false, true],
  173. [5, 1, false, false, true, true],
  174. [5, 2, false, true, false, true],
  175. [5, 3, true, false, true, false],
  176. [5, 4, false, true, false, true],
  177. [5, 5, false, false, true, true],
  178. [5, 6, false, true, false, true],
  179. [5, 7, false, true, false, true],
  180. [5, 8, false, false, true, true],
  181. [5, 9, false, false, false, false],
  182. [5, 10, false, false, false, false],
  183. [5, 11, false, false, false, false],
  184. [5, 12, false, false, false, false],
  185. [5, 13, false, false, false, false],
  186. [5, 14, false, false, false, false],
  187. [5, 15, false, false, false, false],
  188. [5, 16, false, false, false, false],
  189. [5, 17, false, false, false, false],
  190. [5, 18, false, false, false, false],
  191. [5, 19, false, true, false, true],
  192. [5, 20, false, true, false, true],
  193. [5, 21, false, false, false, false],
  194. [5, 22, false, true, false, true],
  195. [5, 23, false, false, false, false],
  196. [5, 24, true, false, true, false],
  197. [5, 25, false, true, false, true],
  198. [6, 0, true, false, true, false],
  199. [6, 1, true, false, true, false],
  200. [6, 2, true, false, true, false],
  201. [6, 3, true, false, true, false],
  202. [6, 4, true, false, true, false],
  203. [6, 5, true, false, true, false],
  204. [6, 6, false, false, true, true],
  205. [6, 7, true, false, true, false],
  206. [6, 8, true, false, true, false],
  207. [6, 9, true, false, true, false],
  208. [6, 10, true, false, true, false],
  209. [6, 11, true, false, true, false],
  210. [6, 12, true, false, true, false],
  211. [6, 13, true, false, true, false],
  212. [6, 14, true, false, true, false],
  213. [6, 15, true, false, true, false],
  214. [6, 16, true, false, true, false],
  215. [6, 17, true, false, true, false],
  216. [6, 18, true, false, true, false],
  217. [6, 19, true, false, true, false],
  218. [6, 20, false, false, true, true],
  219. [6, 21, false, false, false, false],
  220. [6, 22, false, false, true, true],
  221. [6, 23, false, false, false, false],
  222. [6, 24, true, false, true, false],
  223. [6, 25, false, true, false, true],
  224. [7, 0, false, false, true, true],
  225. [7, 1, true, false, true, false],
  226. [7, 2, true, false, true, false],
  227. [7, 3, true, false, true, false],
  228. [7, 4, false, false, true, true],
  229. [7, 5, true, false, true, false],
  230. [7, 6, false, true, false, true],
  231. [7, 7, false, false, true, true],
  232. [7, 8, true, false, true, false],
  233. [7, 9, true, false, true, false],
  234. [7, 10, true, false, true, false],
  235. [7, 11, true, false, true, false],
  236. [7, 12, true, false, true, false],
  237. [7, 13, true, false, true, false],
  238. [7, 14, true, false, true, false],
  239. [7, 15, true, false, true, false],
  240. [7, 16, true, false, true, false],
  241. [7, 17, true, false, true, false],
  242. [7, 18, true, false, true, false],
  243. [7, 19, false, false, true, true],
  244. [7, 20, false, true, false, true],
  245. [7, 21, false, false, false, false],
  246. [7, 22, false, true, false, true],
  247. [7, 23, false, false, false, false],
  248. [7, 24, true, false, true, false],
  249. [7, 25, false, true, false, true],
  250. [8, 0, false, true, false, true],
  251. [8, 1, false, false, true, true],
  252. [8, 2, false, true, false, true],
  253. [8, 3, true, false, true, false],
  254. [8, 4, false, true, false, true],
  255. [8, 5, false, false, true, true],
  256. [8, 6, false, true, false, true],
  257. [8, 7, false, true, false, true],
  258. [8, 8, false, false, true, true],
  259. [8, 9, false, true, false, true],
  260. [8, 10, true, false, true, false],
  261. [8, 11, true, false, true, false],
  262. [8, 12, true, false, true, false],
  263. [8, 13, true, false, true, false],
  264. [8, 14, true, false, true, false],
  265. [8, 15, true, false, true, false],
  266. [8, 16, true, false, true, false],
  267. [8, 17, true, false, true, false],
  268. [8, 18, true, false, true, false],
  269. [8, 19, false, true, false, true],
  270. [8, 20, false, true, false, true],
  271. [8, 21, false, false, false, false],
  272. [8, 22, false, true, false, true],
  273. [8, 23, false, false, false, false],
  274. [8, 24, true, false, true, false],
  275. [8, 25, false, true, false, true],
  276. [9, 0, false, false, false, false],
  277. [9, 1, false, false, false, false],
  278. [9, 2, false, false, false, false],
  279. [9, 3, false, false, false, false],
  280. [9, 4, false, false, false, false],
  281. [9, 5, false, false, false, false],
  282. [9, 6, false, true, false, true],
  283. [9, 7, false, true, false, true],
  284. [9, 8, true, false, true, false],
  285. [9, 9, false, false, true, true],
  286. [9, 10, true, false, true, false],
  287. [9, 11, true, false, true, false],
  288. [9, 12, true, false, true, false],
  289. [9, 13, true, false, true, false],
  290. [9, 14, true, false, true, false],
  291. [9, 15, true, false, true, false],
  292. [9, 16, true, false, true, false],
  293. [9, 17, true, false, true, false],
  294. [9, 18, true, false, true, false],
  295. [9, 19, false, false, false, false],
  296. [9, 20, false, false, false, false],
  297. [9, 21, false, false, false, false],
  298. [9, 22, false, false, false, false],
  299. [9, 23, false, false, false, false],
  300. [9, 24, false, false, false, false],
  301. [9, 25, false, false, false, false],
  302. [10, 0, false, false, false, false],
  303. [10, 1, false, false, false, false],
  304. [10, 2, false, false, false, false],
  305. [10, 3, false, false, false, false],
  306. [10, 4, false, false, false, false],
  307. [10, 5, false, false, false, false],
  308. [10, 6, false, true, false, true],
  309. [10, 7, false, true, false, true],
  310. [10, 8, false, true, false, true],
  311. [10, 9, false, true, false, true],
  312. [10, 10, false, false, true, true],
  313. [10, 11, true, false, true, false],
  314. [10, 12, true, false, true, false],
  315. [10, 13, true, false, true, false],
  316. [10, 14, false, true, false, true],
  317. [10, 15, false, true, false, true],
  318. [10, 16, false, true, false, true],
  319. [10, 17, false, true, false, true],
  320. [10, 18, false, true, false, true],
  321. [10, 19, false, false, false, false],
  322. [10, 20, false, false, false, false],
  323. [10, 21, false, false, false, false],
  324. [10, 22, false, false, false, false],
  325. [10, 23, false, false, false, false],
  326. [10, 24, false, false, false, false],
  327. [10, 25, false, false, false, false],
  328. [11, 0, false, false, false, false],
  329. [11, 1, false, false, false, false],
  330. [11, 2, false, false, false, false],
  331. [11, 3, false, false, false, false],
  332. [11, 4, false, false, false, false],
  333. [11, 5, false, false, false, false],
  334. [11, 6, false, true, false, true],
  335. [11, 7, false, true, false, true],
  336. [11, 8, false, true, false, true],
  337. [11, 9, false, true, false, true],
  338. [11, 10, false, true, false, true],
  339. [11, 11, false, false, true, true],
  340. [11, 12, true, false, true, false],
  341. [11, 13, true, false, true, false],
  342. [11, 14, false, true, false, true],
  343. [11, 15, false, true, false, true],
  344. [11, 16, false, true, false, true],
  345. [11, 17, false, true, false, true],
  346. [11, 18, false, true, false, true],
  347. [11, 19, false, false, false, false],
  348. [11, 20, false, false, false, false],
  349. [11, 21, false, false, false, false],
  350. [11, 22, false, false, false, false],
  351. [11, 23, false, false, false, false],
  352. [11, 24, false, false, false, false],
  353. [11, 25, false, false, false, false],
  354. [12, 0, false, false, false, false],
  355. [12, 1, false, false, false, false],
  356. [12, 2, false, false, false, false],
  357. [12, 3, false, false, false, false],
  358. [12, 4, false, false, false, false],
  359. [12, 5, false, false, false, false],
  360. [12, 6, false, true, false, true],
  361. [12, 7, false, true, false, true],
  362. [12, 8, false, true, false, true],
  363. [12, 9, false, true, false, true],
  364. [12, 10, false, true, false, true],
  365. [12, 11, false, true, false, true],
  366. [12, 12, false, false, true, true],
  367. [12, 13, false, true, false, true],
  368. [12, 14, false, true, false, true],
  369. [12, 15, false, true, false, true],
  370. [12, 16, false, true, false, true],
  371. [12, 17, false, true, false, true],
  372. [12, 18, false, true, false, true],
  373. [12, 19, false, false, false, false],
  374. [12, 20, false, false, false, false],
  375. [12, 21, false, false, false, false],
  376. [12, 22, false, false, false, false],
  377. [12, 23, false, false, false, false],
  378. [12, 24, false, false, false, false],
  379. [12, 25, false, false, false, false],
  380. [13, 0, false, false, false, false],
  381. [13, 1, false, false, false, false],
  382. [13, 2, false, false, false, false],
  383. [13, 3, false, false, false, false],
  384. [13, 4, false, false, false, false],
  385. [13, 5, false, false, false, false],
  386. [13, 6, false, true, false, true],
  387. [13, 7, false, true, false, true],
  388. [13, 8, false, true, false, true],
  389. [13, 9, false, true, false, true],
  390. [13, 10, false, true, false, true],
  391. [13, 11, false, true, false, true],
  392. [13, 12, true, false, true, false],
  393. [13, 13, false, false, true, true],
  394. [13, 14, false, true, false, true],
  395. [13, 15, false, true, false, true],
  396. [13, 16, false, true, false, true],
  397. [13, 17, false, true, false, true],
  398. [13, 18, false, true, false, true],
  399. [13, 19, false, false, false, false],
  400. [13, 20, false, false, false, false],
  401. [13, 21, false, false, false, false],
  402. [13, 22, false, false, false, false],
  403. [13, 23, false, false, false, false],
  404. [13, 24, false, false, false, false],
  405. [13, 25, false, false, false, false],
  406. [14, 0, false, false, false, false],
  407. [14, 1, false, false, false, false],
  408. [14, 2, false, false, false, false],
  409. [14, 3, false, false, false, false],
  410. [14, 4, false, false, false, false],
  411. [14, 5, false, false, false, false],
  412. [14, 6, false, true, false, true],
  413. [14, 7, false, true, false, true],
  414. [14, 8, false, true, false, true],
  415. [14, 9, false, true, false, true],
  416. [14, 10, true, false, true, false],
  417. [14, 11, true, false, true, false],
  418. [14, 12, true, false, true, false],
  419. [14, 13, true, false, true, false],
  420. [14, 14, false, false, true, true],
  421. [14, 15, false, true, false, true],
  422. [14, 16, false, true, false, true],
  423. [14, 17, false, true, false, true],
  424. [14, 18, false, true, false, true],
  425. [14, 19, false, false, false, false],
  426. [14, 20, false, false, false, false],
  427. [14, 21, false, false, false, false],
  428. [14, 22, false, false, false, false],
  429. [14, 23, false, false, false, false],
  430. [14, 24, false, false, false, false],
  431. [14, 25, false, false, false, false],
  432. [15, 0, false, false, false, false],
  433. [15, 1, false, false, false, false],
  434. [15, 2, false, false, false, false],
  435. [15, 3, false, false, false, false],
  436. [15, 4, false, false, false, false],
  437. [15, 5, false, false, false, false],
  438. [15, 6, false, true, false, true],
  439. [15, 7, false, true, false, true],
  440. [15, 8, false, true, false, true],
  441. [15, 9, false, true, false, true],
  442. [15, 10, true, false, true, false],
  443. [15, 11, true, false, true, false],
  444. [15, 12, true, false, true, false],
  445. [15, 13, true, false, true, false],
  446. [15, 14, true, false, true, false],
  447. [15, 15, false, false, true, true],
  448. [15, 16, false, false, true, true],
  449. [15, 17, false, false, true, true],
  450. [15, 18, false, false, true, true],
  451. [15, 19, false, false, false, false],
  452. [15, 20, false, false, false, false],
  453. [15, 21, false, false, false, false],
  454. [15, 22, false, false, false, false],
  455. [15, 23, false, false, false, false],
  456. [15, 24, false, false, false, false],
  457. [15, 25, false, false, false, false],
  458. [16, 0, false, false, false, false],
  459. [16, 1, false, false, false, false],
  460. [16, 2, false, false, false, false],
  461. [16, 3, false, false, false, false],
  462. [16, 4, false, false, false, false],
  463. [16, 5, false, false, false, false],
  464. [16, 6, false, true, false, true],
  465. [16, 7, false, true, false, true],
  466. [16, 8, false, true, false, true],
  467. [16, 9, false, true, false, true],
  468. [16, 10, true, false, true, false],
  469. [16, 11, true, false, true, false],
  470. [16, 12, true, false, true, false],
  471. [16, 13, true, false, true, false],
  472. [16, 14, true, false, true, false],
  473. [16, 15, false, false, true, true],
  474. [16, 16, false, false, true, true],
  475. [16, 17, false, false, true, true],
  476. [16, 18, false, false, true, true],
  477. [16, 19, false, false, false, false],
  478. [16, 20, false, false, false, false],
  479. [16, 21, false, false, false, false],
  480. [16, 22, false, false, false, false],
  481. [16, 23, false, false, false, false],
  482. [16, 24, false, false, false, false],
  483. [16, 25, false, false, false, false],
  484. [17, 0, false, false, false, false],
  485. [17, 1, false, false, false, false],
  486. [17, 2, false, false, false, false],
  487. [17, 3, false, false, false, false],
  488. [17, 4, false, false, false, false],
  489. [17, 5, false, false, false, false],
  490. [17, 6, false, true, false, true],
  491. [17, 7, false, true, false, true],
  492. [17, 8, false, true, false, true],
  493. [17, 9, false, true, false, true],
  494. [17, 10, true, false, true, false],
  495. [17, 11, true, false, true, false],
  496. [17, 12, true, false, true, false],
  497. [17, 13, true, false, true, false],
  498. [17, 14, true, false, true, false],
  499. [17, 15, false, false, true, true],
  500. [17, 16, false, false, true, true],
  501. [17, 17, false, false, true, true],
  502. [17, 18, false, false, true, true],
  503. [17, 19, false, false, false, false],
  504. [17, 20, false, false, false, false],
  505. [17, 21, false, false, false, false],
  506. [17, 22, false, false, false, false],
  507. [17, 23, false, false, false, false],
  508. [17, 24, false, false, false, false],
  509. [17, 25, false, false, false, false],
  510. [18, 0, false, false, false, false],
  511. [18, 1, false, false, false, false],
  512. [18, 2, false, false, false, false],
  513. [18, 3, false, false, false, false],
  514. [18, 4, false, false, false, false],
  515. [18, 5, false, false, false, false],
  516. [18, 6, false, true, false, true],
  517. [18, 7, false, true, false, true],
  518. [18, 8, false, true, false, true],
  519. [18, 9, false, true, false, true],
  520. [18, 10, true, false, true, false],
  521. [18, 11, true, false, true, false],
  522. [18, 12, true, false, true, false],
  523. [18, 13, true, false, true, false],
  524. [18, 14, true, false, true, false],
  525. [18, 15, false, false, true, true],
  526. [18, 16, false, false, true, true],
  527. [18, 17, false, false, true, true],
  528. [18, 18, false, false, true, true],
  529. [18, 19, false, false, false, false],
  530. [18, 20, false, false, false, false],
  531. [18, 21, false, false, false, false],
  532. [18, 22, false, false, false, false],
  533. [18, 23, false, false, false, false],
  534. [18, 24, false, false, false, false],
  535. [18, 25, false, false, false, false],
  536. [19, 0, false, false, true, true],
  537. [19, 1, true, false, true, false],
  538. [19, 2, true, false, true, false],
  539. [19, 3, true, false, true, false],
  540. [19, 4, false, false, true, true],
  541. [19, 5, true, false, true, false],
  542. [19, 6, false, true, false, true],
  543. [19, 7, false, false, true, true],
  544. [19, 8, true, false, true, false],
  545. [19, 9, false, false, false, false],
  546. [19, 10, false, false, false, false],
  547. [19, 11, false, false, false, false],
  548. [19, 12, false, false, false, false],
  549. [19, 13, false, false, false, false],
  550. [19, 14, false, false, false, false],
  551. [19, 15, false, false, false, false],
  552. [19, 16, false, false, false, false],
  553. [19, 17, false, false, false, false],
  554. [19, 18, false, false, false, false],
  555. [19, 19, false, false, true, true],
  556. [19, 20, false, true, false, true],
  557. [19, 21, false, false, false, false],
  558. [19, 22, false, true, false, true],
  559. [19, 23, false, false, false, false],
  560. [19, 24, true, false, true, false],
  561. [19, 25, false, true, false, true],
  562. [20, 0, true, false, true, false],
  563. [20, 1, true, false, true, false],
  564. [20, 2, true, false, true, false],
  565. [20, 3, true, false, true, false],
  566. [20, 4, true, false, true, false],
  567. [20, 5, true, false, true, false],
  568. [20, 6, false, false, true, true],
  569. [20, 7, true, false, true, false],
  570. [20, 8, true, false, true, false],
  571. [20, 9, false, false, false, false],
  572. [20, 10, false, false, false, false],
  573. [20, 11, false, false, false, false],
  574. [20, 12, false, false, false, false],
  575. [20, 13, false, false, false, false],
  576. [20, 14, false, false, false, false],
  577. [20, 15, false, false, false, false],
  578. [20, 16, false, false, false, false],
  579. [20, 17, false, false, false, false],
  580. [20, 18, false, false, false, false],
  581. [20, 19, true, false, true, false],
  582. [20, 20, false, false, true, true],
  583. [20, 21, false, false, false, false],
  584. [20, 22, false, false, true, true],
  585. [20, 23, false, false, false, false],
  586. [20, 24, true, false, true, false],
  587. [20, 25, false, true, false, true],
  588. [21, 0, false, false, false, false],
  589. [21, 1, false, false, false, false],
  590. [21, 2, false, false, false, false],
  591. [21, 3, false, false, false, false],
  592. [21, 4, false, false, false, false],
  593. [21, 5, false, false, false, false],
  594. [21, 6, false, false, false, false],
  595. [21, 7, false, false, false, false],
  596. [21, 8, false, false, false, false],
  597. [21, 9, false, false, false, false],
  598. [21, 10, false, false, false, false],
  599. [21, 11, false, false, false, false],
  600. [21, 12, false, false, false, false],
  601. [21, 13, false, false, false, false],
  602. [21, 14, false, false, false, false],
  603. [21, 15, false, false, false, false],
  604. [21, 16, false, false, false, false],
  605. [21, 17, false, false, false, false],
  606. [21, 18, false, false, false, false],
  607. [21, 19, false, false, false, false],
  608. [21, 20, false, false, false, false],
  609. [21, 21, false, false, false, false],
  610. [21, 22, false, false, false, false],
  611. [21, 23, false, false, false, false],
  612. [21, 24, false, false, false, false],
  613. [21, 25, false, false, false, false],
  614. [22, 0, true, false, true, false],
  615. [22, 1, true, false, true, false],
  616. [22, 2, true, false, true, false],
  617. [22, 3, true, false, true, false],
  618. [22, 4, true, false, true, false],
  619. [22, 5, true, false, true, false],
  620. [22, 6, false, false, true, true],
  621. [22, 7, true, false, true, false],
  622. [22, 8, true, false, true, false],
  623. [22, 9, false, false, false, false],
  624. [22, 10, false, false, false, false],
  625. [22, 11, false, false, false, false],
  626. [22, 12, false, false, false, false],
  627. [22, 13, false, false, false, false],
  628. [22, 14, false, false, false, false],
  629. [22, 15, false, false, false, false],
  630. [22, 16, false, false, false, false],
  631. [22, 17, false, false, false, false],
  632. [22, 18, false, false, false, false],
  633. [22, 19, true, false, true, false],
  634. [22, 20, false, false, true, true],
  635. [22, 21, false, false, false, false],
  636. [22, 22, false, false, true, true],
  637. [22, 23, false, false, false, false],
  638. [22, 24, true, false, true, false],
  639. [22, 25, false, true, false, true],
  640. [23, 0, false, false, false, false],
  641. [23, 1, false, false, false, false],
  642. [23, 2, false, false, false, false],
  643. [23, 3, false, false, false, false],
  644. [23, 4, false, false, false, false],
  645. [23, 5, false, false, false, false],
  646. [23, 6, false, false, false, false],
  647. [23, 7, false, false, false, false],
  648. [23, 8, false, false, false, false],
  649. [23, 9, false, false, false, false],
  650. [23, 10, false, false, false, false],
  651. [23, 11, false, false, false, false],
  652. [23, 12, false, false, false, false],
  653. [23, 13, false, false, false, false],
  654. [23, 14, false, false, false, false],
  655. [23, 15, false, false, false, false],
  656. [23, 16, false, false, false, false],
  657. [23, 17, false, false, false, false],
  658. [23, 18, false, false, false, false],
  659. [23, 19, false, false, false, false],
  660. [23, 20, false, false, false, false],
  661. [23, 21, false, false, false, false],
  662. [23, 22, false, false, false, false],
  663. [23, 23, false, false, false, false],
  664. [23, 24, false, false, false, false],
  665. [23, 25, false, false, false, false],
  666. [24, 0, false, true, false, true],
  667. [24, 1, false, true, false, true],
  668. [24, 2, false, true, false, true],
  669. [24, 3, false, true, false, true],
  670. [24, 4, false, true, false, true],
  671. [24, 5, false, true, false, true],
  672. [24, 6, false, true, false, true],
  673. [24, 7, false, true, false, true],
  674. [24, 8, false, true, false, true],
  675. [24, 9, false, false, false, false],
  676. [24, 10, false, false, false, false],
  677. [24, 11, false, false, false, false],
  678. [24, 12, false, false, false, false],
  679. [24, 13, false, false, false, false],
  680. [24, 14, false, false, false, false],
  681. [24, 15, false, false, false, false],
  682. [24, 16, false, false, false, false],
  683. [24, 17, false, false, false, false],
  684. [24, 18, false, false, false, false],
  685. [24, 19, false, true, false, true],
  686. [24, 20, false, true, false, true],
  687. [24, 21, false, false, false, false],
  688. [24, 22, false, true, false, true],
  689. [24, 23, false, false, false, false],
  690. [24, 24, false, false, true, true],
  691. [24, 25, false, true, false, true],
  692. [25, 0, true, false, true, false],
  693. [25, 1, true, false, true, false],
  694. [25, 2, true, false, true, false],
  695. [25, 3, true, false, true, false],
  696. [25, 4, true, false, true, false],
  697. [25, 5, true, false, true, false],
  698. [25, 6, true, false, true, false],
  699. [25, 7, true, false, true, false],
  700. [25, 8, true, false, true, false],
  701. [25, 9, false, false, false, false],
  702. [25, 10, false, false, false, false],
  703. [25, 11, false, false, false, false],
  704. [25, 12, false, false, false, false],
  705. [25, 13, false, false, false, false],
  706. [25, 14, false, false, false, false],
  707. [25, 15, false, false, false, false],
  708. [25, 16, false, false, false, false],
  709. [25, 17, false, false, false, false],
  710. [25, 18, false, false, false, false],
  711. [25, 19, true, false, true, false],
  712. [25, 20, true, false, true, false],
  713. [25, 21, false, false, false, false],
  714. [25, 22, true, false, true, false],
  715. [25, 23, false, false, false, false],
  716. [25, 24, true, false, true, false],
  717. [25, 25, false, false, true, true],
  718. ];
  719. for (let test of table) {
  720. let x = vals[test[0]];
  721. let y = vals[test[1]];
  722. assert(x < y === test[2]);
  723. assert(x > y === test[3]);
  724. assert(x <= y === test[4]);
  725. assert(x >= y === test[5]);
  726. }
  727. console.log("PASS");
  728. } catch (e) {
  729. console.log("FAIL: " + e);
  730. }