# Objective: fast search in 16-bit arrays of up to 4096 integers.
# output is formatted for processing with gnuplot.
# N=        32 (flushed cache)  branchy = 332.78  linear256_16 = 317  branchless = 319.30 branchless+prefetching = 318.32
# N=        32 (in-cache)  branchy = 101.58  linear256_16 = 88.61  branchless=87.95 branchless+prefetching=90.55 
        32 332.78 316.69 319.30 318.32           101.58 88.61 87.95 90.55
# N=        38 (flushed cache)  branchy = 360.29  linear256_16 = 329  branchless = 362.05 branchless+prefetching = 360.32
# N=        38 (in-cache)  branchy = 106.57  linear256_16 = 92.43  branchless=97.78 branchless+prefetching=99.81 
        38 360.29 329.03 362.05 360.32           106.57 92.43 97.78 99.81
# N=        45 (flushed cache)  branchy = 406.84  linear256_16 = 377  branchless = 409.17 branchless+prefetching = 423.03
# N=        45 (in-cache)  branchy = 107.11  linear256_16 = 89.42  branchless=97.62 branchless+prefetching=99.69 
        45 406.84 377.06 409.17 423.03           107.11 89.42 97.62 99.69
# N=        54 (flushed cache)  branchy = 421.88  linear256_16 = 347  branchless = 467.50 branchless+prefetching = 363.36
# N=        54 (in-cache)  branchy = 110.81  linear256_16 = 99.66  branchless=98.24 branchless+prefetching=100.80 
        54 421.88 347.49 467.50 363.36           110.81 99.66 98.24 100.80
# N=        64 (flushed cache)  branchy = 455.69  linear256_16 = 371  branchless = 435.58 branchless+prefetching = 425.57
# N=        64 (in-cache)  branchy = 116.18  linear256_16 = 98.80  branchless=98.10 branchless+prefetching=100.17 
        64 455.69 370.94 435.58 425.57           116.18 98.80 98.10 100.17
# N=        76 (flushed cache)  branchy = 425.00  linear256_16 = 338  branchless = 441.39 branchless+prefetching = 368.56
# N=        76 (in-cache)  branchy = 116.74  linear256_16 = 98.07  branchless=108.23 branchless+prefetching=109.79 
        76 425.00 337.98 441.39 368.56           116.74 98.07 108.23 109.79
# N=        91 (flushed cache)  branchy = 419.68  linear256_16 = 361  branchless = 429.75 branchless+prefetching = 395.90
# N=        91 (in-cache)  branchy = 124.05  linear256_16 = 102.66  branchless=107.86 branchless+prefetching=109.17 
        91 419.68 361.02 429.75 395.90           124.05 102.66 107.86 109.17
# N=       108 (flushed cache)  branchy = 445.76  linear256_16 = 396  branchless = 454.03 branchless+prefetching = 379.05
# N=       108 (in-cache)  branchy = 126.22  linear256_16 = 105.96  branchless=108.25 branchless+prefetching=110.02 
       108 445.76 396.04 454.03 379.05           126.22 105.96 108.25 110.02
# N=       128 (flushed cache)  branchy = 461.56  linear256_16 = 389  branchless = 415.85 branchless+prefetching = 419.72
# N=       128 (in-cache)  branchy = 129.25  linear256_16 = 108.22  branchless=107.77 branchless+prefetching=109.49 
       128 461.56 388.96 415.85 419.72           129.25 108.22 107.77 109.49
# N=       152 (flushed cache)  branchy = 445.49  linear256_16 = 371  branchless = 428.10 branchless+prefetching = 444.33
# N=       152 (in-cache)  branchy = 133.63  linear256_16 = 108.29  branchless=116.87 branchless+prefetching=118.31 
       152 445.49 371.48 428.10 444.33           133.63 108.29 116.87 118.31
# N=       181 (flushed cache)  branchy = 475.92  linear256_16 = 365  branchless = 423.70 branchless+prefetching = 434.01
# N=       181 (in-cache)  branchy = 139.09  linear256_16 = 108.76  branchless=115.84 branchless+prefetching=117.43 
       181 475.92 365.46 423.70 434.01           139.09 108.76 115.84 117.43
# N=       215 (flushed cache)  branchy = 505.31  linear256_16 = 401  branchless = 524.24 branchless+prefetching = 426.26
# N=       215 (in-cache)  branchy = 140.37  linear256_16 = 112.04  branchless=117.45 branchless+prefetching=118.61 
       215 505.31 400.99 524.24 426.26           140.37 112.04 117.45 118.61
# N=       256 (flushed cache)  branchy = 554.75  linear256_16 = 420  branchless = 606.22 branchless+prefetching = 442.67
# N=       256 (in-cache)  branchy = 149.12  linear256_16 = 116.09  branchless=117.13 branchless+prefetching=117.98 
       256 554.75 420.17 606.22 442.67           149.12 116.09 117.13 117.98
# N=       304 (flushed cache)  branchy = 572.30  linear256_16 = 437  branchless = 650.89 branchless+prefetching = 476.02
# N=       304 (in-cache)  branchy = 149.94  linear256_16 = 118.23  branchless=126.06 branchless+prefetching=128.05 
       304 572.30 436.59 650.89 476.02           149.94 118.23 126.06 128.05
# N=       362 (flushed cache)  branchy = 589.55  linear256_16 = 478  branchless = 740.34 branchless+prefetching = 533.36
# N=       362 (in-cache)  branchy = 153.63  linear256_16 = 121.55  branchless=126.12 branchless+prefetching=128.14 
       362 589.55 477.53 740.34 533.36           153.63 121.55 126.12 128.14
# N=       431 (flushed cache)  branchy = 633.97  linear256_16 = 494  branchless = 792.43 branchless+prefetching = 565.82
# N=       431 (in-cache)  branchy = 160.09  linear256_16 = 125.89  branchless=125.90 branchless+prefetching=128.17 
       431 633.97 494.25 792.43 565.82           160.09 125.89 125.90 128.17
# N=       512 (flushed cache)  branchy = 652.59  linear256_16 = 507  branchless = 745.02 branchless+prefetching = 617.40
# N=       512 (in-cache)  branchy = 168.77  linear256_16 = 131.78  branchless=126.15 branchless+prefetching=128.29 
       512 652.59 507.19 745.02 617.40           168.77 131.78 126.15 128.29
# N=       609 (flushed cache)  branchy = 642.15  linear256_16 = 514  branchless = 892.55 branchless+prefetching = 607.02
# N=       609 (in-cache)  branchy = 172.44  linear256_16 = 134.96  branchless=134.84 branchless+prefetching=137.40 
       609 642.15 514.00 892.55 607.02           172.44 134.96 134.84 137.40
# N=       724 (flushed cache)  branchy = 673.56  linear256_16 = 535  branchless = 870.60 branchless+prefetching = 634.91
# N=       724 (in-cache)  branchy = 176.37  linear256_16 = 137.01  branchless=134.88 branchless+prefetching=137.26 
       724 673.56 534.82 870.60 634.91           176.37 137.01 134.88 137.26
# N=       861 (flushed cache)  branchy = 707.12  linear256_16 = 536  branchless = 967.65 branchless+prefetching = 633.84
# N=       861 (in-cache)  branchy = 180.09  linear256_16 = 139.08  branchless=134.96 branchless+prefetching=137.07 
       861 707.12 536.19 967.65 633.84           180.09 139.08 134.96 137.07
# N=      1024 (flushed cache)  branchy = 702.09  linear256_16 = 541  branchless = 1009.71 branchless+prefetching = 609.28
# N=      1024 (in-cache)  branchy = 192.57  linear256_16 = 141.46  branchless=134.84 branchless+prefetching=136.95 
      1024 702.09 540.52 1009.71 609.28           192.57 141.46 134.84 136.95
# N=      1218 (flushed cache)  branchy = 693.40  linear256_16 = 547  branchless = 964.07 branchless+prefetching = 659.19
# N=      1218 (in-cache)  branchy = 191.94  linear256_16 = 145.87  branchless=144.76 branchless+prefetching=146.90 
      1218 693.40 547.46 964.07 659.19           191.94 145.87 144.76 146.90
# N=      1448 (flushed cache)  branchy = 716.19  linear256_16 = 568  branchless = 1064.08 branchless+prefetching = 672.48
# N=      1448 (in-cache)  branchy = 195.68  linear256_16 = 147.39  branchless=144.77 branchless+prefetching=147.53 
      1448 716.19 567.73 1064.08 672.48           195.68 147.39 144.77 147.53
# N=      1722 (flushed cache)  branchy = 726.82  linear256_16 = 568  branchless = 1181.86 branchless+prefetching = 712.49
# N=      1722 (in-cache)  branchy = 201.40  linear256_16 = 151.04  branchless=145.08 branchless+prefetching=147.13 
      1722 726.82 568.44 1181.86 712.49           201.40 151.04 145.08 147.13
# N=      2048 (flushed cache)  branchy = 735.36  linear256_16 = 608  branchless = 1144.26 branchless+prefetching = 763.39
# N=      2048 (in-cache)  branchy = 211.26  linear256_16 = 152.56  branchless=145.11 branchless+prefetching=147.59 
      2048 735.36 607.69 1144.26 763.39           211.26 152.56 145.11 147.59
# N=      2435 (flushed cache)  branchy = 772.02  linear256_16 = 625  branchless = 1174.27 branchless+prefetching = 732.19
# N=      2435 (in-cache)  branchy = 215.59  linear256_16 = 154.19  branchless=153.63 branchless+prefetching=156.80 
      2435 772.02 624.67 1174.27 732.19           215.59 154.19 153.63 156.80
# N=      2896 (flushed cache)  branchy = 817.67  linear256_16 = 684  branchless = 1271.29 branchless+prefetching = 780.41
# N=      2896 (in-cache)  branchy = 220.01  linear256_16 = 158.75  branchless=153.83 branchless+prefetching=157.18 
      2896 817.67 683.54 1271.29 780.41           220.01 158.75 153.83 157.18
# N=      3444 (flushed cache)  branchy = 863.52  linear256_16 = 721  branchless = 1293.62 branchless+prefetching = 801.32
# N=      3444 (in-cache)  branchy = 225.17  linear256_16 = 162.19  branchless=154.02 branchless+prefetching=157.51 
      3444 863.52 720.86 1293.62 801.32           225.17 162.19 154.02 157.51
# N=      4096 (flushed cache)  branchy = 875.31  linear256_16 = 763  branchless = 1369.72 branchless+prefetching = 929.59
# N=      4096 (in-cache)  branchy = 234.15  linear256_16 = 164.66  branchless=154.31 branchless+prefetching=157.74 
      4096 875.31 763.11 1369.72 929.59           234.15 164.66 154.31 157.74
bogus = -962983624 
