Camil Demetrescu  over 8 years ago

Commit id: b191a68a98005f53f78a0e34161543495e76c954

deletions | additions      

         

\label{fig:isordfrom} OSR instrumentation of base function in LLVM IR (in grey). The OSR is fired at the beginning of the loop body after 1000 iterations.           

%!PS-Adobe-3.0 EPSF-3.0  %%Creator: cairo 1.14.0 (http://cairographics.org)  %%CreationDate: Mon Sep 14 23:08:54 2015  %%Pages: 1  %%DocumentData: Clean7Bit  %%LanguageLevel: 2  %%BoundingBox: 0 -1 275 121  %%EndComments  %%BeginProlog  save  50 dict begin  /q { gsave } bind def  /Q { grestore } bind def  /cm { 6 array astore concat } bind def  /w { setlinewidth } bind def  /J { setlinecap } bind def  /j { setlinejoin } bind def  /M { setmiterlimit } bind def  /d { setdash } bind def  /m { moveto } bind def  /l { lineto } bind def  /c { curveto } bind def  /h { closepath } bind def  /re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto  0 exch rlineto 0 rlineto closepath } bind def  /S { stroke } bind def  /f { fill } bind def  /f* { eofill } bind def  /n { newpath } bind def  /W { clip } bind def  /W* { eoclip } bind def  /BT { } bind def  /ET { } bind def  /pdfmark where { pop globaldict /?pdfmark /exec load put }  { globaldict begin /?pdfmark /pop load def /pdfmark  /cleartomark load def end } ifelse  /BDC { mark 3 1 roll /BDC pdfmark } bind def  /EMC { mark /EMC pdfmark } bind def  /cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def  /Tj { show currentpoint cairo_store_point } bind def  /TJ {  {  dup  type /stringtype eq  { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse  } forall  currentpoint cairo_store_point  } bind def  /cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore  cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def  /Tf { pop /cairo_font exch def /cairo_font_matrix where  { pop cairo_selectfont } if } bind def  /Td { matrix translate cairo_font_matrix matrix concatmatrix dup  /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point  /cairo_font where { pop cairo_selectfont } if } bind def  /Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def  cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def  /g { setgray } bind def  /rg { setrgbcolor } bind def  /d1 { setcachedevice } bind def  %%EndProlog  %%BeginSetup  %%BeginResource: font Courier  11 dict begin  /FontType 42 def  /FontName /Courier def  /PaintType 0 def  /FontMatrix [ 1 0 0 1 0 0 ] def  /FontBBox [ 0 0 0 0 ] def  /Encoding 256 array def  0 1 255 { Encoding exch /.notdef put } for  Encoding 32 /space put  Encoding 40 /parenleft put  Encoding 41 /parenright put  Encoding 42 /asterisk put  Encoding 43 /plus put  Encoding 44 /comma put  Encoding 45 /hyphen put  Encoding 48 /zero put  Encoding 49 /one put  Encoding 59 /semicolon put  Encoding 60 /less put  Encoding 61 /equal put  Encoding 62 /greater put  Encoding 91 /bracketleft put  Encoding 93 /bracketright put  Encoding 95 /underscore put  Encoding 97 /a put  Encoding 99 /c put  Encoding 100 /d put  Encoding 101 /e put  Encoding 102 /f put  Encoding 103 /g put  Encoding 105 /i put  Encoding 108 /l put  Encoding 110 /n put  Encoding 111 /o put  Encoding 114 /r put  Encoding 115 /s put  Encoding 116 /t put  Encoding 117 /u put  Encoding 118 /v put  Encoding 123 /braceleft put  Encoding 125 /braceright put  /CharStrings 34 dict dup begin  /.notdef 0 def  /i 1 def  /n 2 def  /t 3 def  /space 4 def  /s 5 def  /o 6 def  /r 7 def  /d 8 def  /parenleft 9 def  /l 10 def  /g 11 def  /asterisk 12 def  /v 13 def  /comma 14 def  /c 15 def  /parenright 16 def  /braceleft 17 def  /f 18 def  /equal 19 def  /one 20 def  /semicolon 21 def  /less 22 def  /plus 23 def  /hyphen 24 def  /greater 25 def  /zero 26 def  /e 27 def  /u 28 def  /braceright 29 def  /underscore 30 def  /a 31 def  /bracketleft 32 def  /bracketright 33 def  end readonly def  /sfnts [  <00010000000900800003001063767420f78470aa00001d80000002906670676d6117704c0000  20100000008d676c79667130379b0000009c00001ce468656164ce375b3a000020a000000036  6868656106ebff83000020d800000024686d7478a33b174c000020fc000000886c6f63610002  1634000021840000008c6d617870083d0cef000022100000002070726570787ac61a00002230  00000a9d00020066fe96046605a400030007001740090400060108050204002fccdccc310010  d4ccd4cc301311211125211121660400fc73031bfce5fe96070ef8f2720629000000000200a6  000004500560000b0027007a412a00270023001c0003010600090105001c010000230104001a  000c00fb00130014001a002000170024001b000c0013000d001000060023001d00200000005e  00060040001000010010000c002700170020001b002810dcc4c4fcc45dd4ec11393911123939  1112391112393931002fec32fcecf4ec11123930013436333216151406232226132132161514  06232122263534363321112322263534363321321615020a27403e2825414027b90141272523  2ffcf828282a2a0131c3292b282801251b1f04bc6c382f58562926fc0d2124291f2424232202  8125232323161300000100680000047f03b4003b00cf414a000d000e002800080014002b0025  000300010000002800fa00110001010000080104001100f7002c002300150003000000fb0033  001c0023001d00240020001c0016001900140033002d0030000d000800090005003b00350009  00030038000a000d000200050000002000520024005c00190057001400300057002b000d0027  000500530014005b00380052003400000059003c10fc3ce4ece4fc3ce410e4fee41112391239  12173911123911123939111239391112393931002f3cee1732eefeee10ee1112173911123939  3037112322263534363b0232161d013e0133321615113332161514062b0122263534363b0111  342623220615113332161514062b02222635343633f21344332a2f2f601b1e498f4d97ad2f32  2c2f3cdd40242a3a236a65669c233c2a2446b63629292f448d0281202825211613444441bca6  fe3b212427211e2a271e01a0757b8a66fe601e272a1e2325281d00010058ffee046204ba0030  00a0413a0064000d0074000d0084000d0094000d00a4000d0005001d00170008001e0008000e  0006002f0029002c0000000e000b00fa0017001f000600b9002c0026008f0000000100000108  001700d30031002600200023001d000600000007000300230011002f000700270027000f001d  0001001d003110d45d3cec32c4c4c411393911123939310010e4fc5d3cc4ec3210fec4111239  3911123939111239305d0132161514062321111416333236333216151406070e01232226272e  013d01112322263534363b013d0134363332161d010377312d2a2afe6b55675bfe1e1c27313b  629d45759f271411aa2a2634557125272c22036422252323feb2a4686a281d21311727244b4a  2360641f014e2125291ecd352b293259cb00000100b2ffe9041703b40040015b419500470032  004600110057003200560011008d003b0082001a0082001b0082001c008b0013008900120084  003300860032009d003b0093001a0093001b0093001c009b0013009900120094003300960032  0096000d0099002a00ad003b00a3001a00a3001b00a3001c00a9002a00a5000d00a4003000aa  002e00bb003b00b3001a00b3001b00b3001c00ba002a00b9002d00b400310025002200250021  001b002c001e003b00000038000b00320012001100030038001800010004000b00e00038007f  0025007b0028000200250140002c00e0001e001800f7003e003800d300700004000100040140  00410036003400b9000d00b600300003000b003b000800320004002f001200110015000e0065  009f002100af002100bf0021000300210035002f006500000015004110dcc4ecd4c45dec1139  39111739315d0010ec5de432fcc4ecec5d10ee11391112173911123939111239391139305d37  35343633321716171e013332363534262b0122263534363332163332363332161d0114062322  2726272e01232206151416171e01151406232226270e01232226b221252918100d2aa4636a80  677d37ccd6d1bd4da0040b3e1e222120231e2c1f143578515e7376c3d0c0d4b4398c6a233211  232548b22c2638221136415646473c8e8784922b27323275352f332312312b53403f36040587  8d87a2151917173100000002005affe7047303b2000b00170045403400e00f06e015f70fd318  4407440b4b054b015407540b5b055b01aa11aa13a517a50dba11ba13b517b50d1003280c6409  2812561810fcecf4ec315d0010e4fcec10ee3025323635342623220615141601140023220035  340033320002669ac5c69999c5c402a7fedce9e8fedc0124e8e8012573c39797c5c59798c201  5ad6fef00110d6d6010ffef000000001006d0000046f03b4002b0083412f001b00280017001c  002b002500000010010000170025002800e0001f00f700170104000e000000fb000700940021  00a4002100b400210003000e001700110008000400140018000f000700010004001b00000027  00140022000b000f002c10dcc4c4c4fc3cc439391239111739315d002fec32ecfcfcc410ee11  1239391112393025213216151406232122263534363b01112322263534363b0132161d013e01  333216151406232226232206070204014c2725232ffd722728292bae4461302728e41b1c5fce  77596e3721176d2b4ead698d2124291f2424232202811f2923231514aa7774483925393d6f78  00020058ffe7049a051d0024003000d741560043000f0053000f00ac000500aa000800a3000f  00bc000500ba000800b3000f0008001c001800110010002e000d000300040000002800e00007  001101000018002e00e0000d00f7000700d3001800ff001d00fb00000044002f004400270054  002f0054002700aa000b00aa000900ba000b00ba0009000800190000002b0024001e0021001c  00180012000400030004001500aa002b0010002700210057001c005500250028000a00560031  10fcecf4e4fcc4e4173911123939123939315d002fecece4fcec10ee10ee1139391112391112  39305d2122263d010e0123220235340033321617112322263534363b01321615113332161514  0623011416333236353426232206039315113cb469bdff0110cb67a43b3557332927cd1e1b2d  312c2620fcb0b2898ab2b18b8dae151e524b53010dc8cf01134947017f1f2924241415fb9921  24222601c18ab0b78d8bb4b600000001019cfe6f033104c5001d0021401103090fc71bb31e0c  00139006010611151e10d4ec5de432310010fce4393930011406070602151416171e01151406  232226272602353412373e013332160331431144393031195713101f4c326b6a57593a622610  130498158b299ffef88e83f57a42b31516194148990150b9a90133905f601900000100ba0000  043d051d001b0059411f000b00000100000700ff001a000c00fb00130013000d00100008000b  000700010014001a0004000400000010000b0027005000170001001700040000001c10d4c4c4  5dfcc411121739123911393931002fec32fcec39300123222635343633213216151121321615  14062321222635343633210223aa61312927014a1b1e013a2623222ffd1e27292a2a0115048d  1f2924241613fb992124291f24242322000000020085fe710485039e000b003700ed41610043  002a004c00200053002a005c0020006c00200073002a007c002000ac002000a3002a00bc0020  00ba002300b3002a000c002c002b0036002f001f001e000c00030022000600360100002f0018  001b00e00012000000e00028000600e0002200120103002800f7002f01040038004400010044  00050054000100540005008a001d00aa002600aa002400ba002600ba00240009003600300033  002f000c0009002b001e00270033001f008f000c00af000c0002000c00540003002700150025  003810d4c4ecf45de4fc3cc41139123939315d0010ecece4d4ec10ee10fec410ee1112173911  123939305d012206151416333236353426011406070e012322263534363332163332363d010e  01232226353436333216173534363b0132161514062b01024a83a6a68382a7a701301c2238ca  89726933231b701d947c3d9460bbf5fcba4d934b1b1d9728283245120308a2817fa3a37f7fa4  fd2d8c752c4a4d2c301f2f0f88a5794742f9bfc0fd393a48151423232820000100d1019c03fa  04a200460076404e453e413c3b35342e2d2c26251f1e1d1716100f0e080701001504221a3804  41b34742413c001e05452c26251f2d053d3b35342e0431291d1716100f05450e08070104130b  15131445311529143d4710d4e4e4dce4e411173912173911121739121739111739310010fccc  32c4321117391239393001253e013332161f011e011514060705171e011514060f010e012322  262f01070e012322262f012e013534363f01252e013534363f013e013332161705033534363b  0132161d0102a00108070e04080b07190303100ffee8bc07070d0b420c0e05060e069493070f  0704100a400d0e0807bcfeea1011070119060c08080c0501081b121b4e1c11035a7102040f14  4c0c0f03080c033fda060f07050f092f09070c0af8f80b0b08082f090f07050f06da3f030d09  0215054c140f020273011f0c110c0c110c00000000010029ffdd04a0039c002600a141270096  000f009a002500020028000f0006002600200023001e0010000e000300000100001700060104  002300d3002700000026001f0020000e000f00100007001b00030014001b0028000a00030027  10d4c410d4c4111217390010e4fc3cec17321139391239304b53584112000f01450020002600  0000100145001f0020001f000f01450026000e0145000000000026070510ec10ec0710ec0810  ec5931005d132226353436332132161514062b010901232226353436332132161514062b0101  0e01232226279c4231282801183926324325010401213c4d36263901352828314212feb61931  2f2b2f19030e202823231f272820fd7902871f29271f23232820fd273721203800000001016d  febe032d014c0018002d401a1812110b040e0a00190e03cd191812110b0a0403000807191519  10d4ec1739310010fccc12393911173930013e013b01321615140607010e012322262f012e01  353c013701f0081a1fdb0f120404feed07180e03070846101002011722130c09051007fdc40f  1202031a07120c0b090500010060ffe7042d03b4002c007b405c851c8f0f99239f0f9b0e9912  a42cbb0fba23b42c0a080b0701000311044f0b5f0b6f0b641c741c7f0b9f0baf0ba41cb01e0a  1e17fa240b11e0042af724d32d4412441654125416a926a928ba26ba28080e14003121075414  2827562d10fcecf4c4ec1139315d0010e4fcc4ecc410fec45d111217391139305d0135343633  32161d011406232226272e012322061514163332363736373633321615140423220035340033  321603932628291f26261b271c3089599cc3bb93437936132041251f27fed5a8d9fedf0120d8  4c99036004211f304bba25251f315153b89295bd25250c1935271f4fa50116d0d00117290000  0001019afe6f033104c5001d0033402209031bc70fb31e190919031913191729092903291329  17089f0601061115130c001e10d43cf4ec5d315d0010fce4393930013436373612353426272e  01353436333216171612151402070e01232226019a4412433a31321a561410214b326b6a5959  3e5d261014fe9e148929a001098d80f77c42b3161419414798feaeb9a9fecc90625c1a000000  0001011bfe8b03b2051000300080412d002d001f002e00200004002a001b0012003100180000  001b0015000400310011000300150007010a000e001b010a0015010b000e010c002a010a0023  00e4003100000018002d0003006f001f0011006e0026000b00700018003110d4e432f43cec32  1239310010fcece4f4ec10ee11393911391112393912391112173930011e011d011416171617  161514062322263d013426272e01353436373637363d01343633321615140706070e011d0114  06021b64502c3a0d18582e2aa98a428127221c1f0f1ca68ca9292d58110a3f315001cd1f8da6  9468460e03030c462226a8e874756116062527202408030723c277e7aa2722450b03010c4b6c  93a78c000000000100bc0000043b051f0031008f4133002700240018001b00160021002400e0  001b002f000f00b90028000f0016000100160102001b00ff000d000000fb000600160010000d  000700040017000a000600000029002f0004003000030017002700270003001e002c00270030  00270013000a000e003210dcc432fcc4d4c4c410ee111217391112173931002fee32eefe5d3c  ee3210fec4111239123930253216151406232122263534363b01112322263534363b01353436  3332161514062322262322061d01213216151406232111039a292b2927fd72292b2927aaa429  2d2a289ecee6706b2e2412893171620162292b2c26fea68f2423242424242324026326232424  44b5a332351f28185f6e3924242227fd9d00000000020066018504660368000d001b00294018  0ecc15df07cc00de1c16150f0e0807010008120425190b1c10d43cec321739310010fcecfcec  3013213216151406232122263534361321321615140623212226353436a603811e21211efc7f  1f21211f03811e21211efc7f1f212102192723242626242426014f2623242625252425000000  00010104000003fa050800210041402421100a090005030dbe1f11c4180a2018121510001909  1f04200615101d20060f1c011c2210d45dc4d4fcc41112173911123939123931002fec32fcc4  173930010e0123222635343637253e013332161511333216151406232122263534363b011101  770d0d051f27222001290b150b1316a059302828fdaa28283059a604310202231d1824095003  03231efbc61d2824242424281d03d1000002016dfec10327037f00180024004140251812110b  040e0a00250ecf0322d41cf303cd25181215110b0a04030006191524071f1b192510d4fcd4ec  121739113939310010ecfcec10e612393911173930253e013b01321615140607010e01232226  2f012e013534363713343633321615140623222601e909181dcf0d110404fefe08130e080903  420f0f01032b6d57596e6e59586cf421120c09031007fde7100e01011806120b040a0b03b64e  64634f4f636200010044008d0456045e001d0040402c08141814021d14130b0a010007000701  17dd07dc1e2b00500002490f6a13021d14130b0a0100071a04250f1e10d4ec3217395d315d00  10f4ec5d1739305d09011e0115140623222627012627263534373637013e0133321615140607  012702dd2c26231f0e221ffce504065c5a0804031b1b260e1f23262c0279feae15291a1e240a  0f017301032a3232280402016d0d0b221d1b29140000000100620066046a0487001f00404021  0f090c071f191ccb1700cc0ccb1007c9201711140f070104160800171416180f2010d43ce4fc  3ce4393911123939310010f43ce4fc3ce4393911123939300121321615140623211114062322  26351121222635343633211134363332161502b0016b222d2c23fe9528221e2dfe97232d3020  01692a21222802c12c202028fe89242c3020017728201e2e0176242c2c240001009a016d0433  022f000f002140120c0b04030407d100d0100f080700040b031010d4c41739310010f4e41739  301322263d013436332132161d01140623c514171714033d171a1e13016d19166a131616136a  121d000000010042008d0454045e001d0040402c080a180a021d15130b0a01000700170107dd  17dc1e24005f0002460f650b021d15130b0a0100070f251a041e10d43cec17395d315d0010f4  ec5d1739305d09012e0135343633321617011617161514070607010706232226353436370371  fd252e26231e0f251c031b04085a580a04fce50434181e23262e0279014e15291a1d220b0dfe  930204283231290402fe8d0217241e1a29150000000200cdffdf0400050e000b0017006c405b  06b90c00b912be0cd5183b0b3b07340134054b0b4b07440144055b115b0d54136b116b0d6413  9b0b9b0794019405a90ba907a601a605b90bb907b601b605c601c605d711d70dd813d817e711  e70de813e8172409071503070f1c1810f4ecd4ec315d0010e4fcec10ee300122021514123332  1235340203220211101233321211100202667380807374808074bcddddbcbcdede047ffef0f8  f9feef0111f9f80110fb600163013501340163fe9cfecdfecdfe9b00000000020066ffe7045a  03b6001c002300bd414e006600050076000500a6000500a6001600a9001000a9000200b60005  0007000300e0000f002100e00015001d00b90080000600010006008f000000e0000000020000  0101001500f7000f00d30024004400020054000200a6001700a9001300a9001100a9000100b5  001700ba001300ba001100ba0001000a001b001c00180000001d0012001c0009001e00280009  00180058001d002800120056002410fcecf4c4ec1139111239111239315d0010e4ecfc5dc45d  ec10ee10ee305d011e01333224333216151406070e012322003534003332001514062b012521  2e01232206011408b39b7501141d1e282a2e64d569e4feee0122e9d301162f680ffd65028b0f  a97b85b601a2909d7d261c1d301731340107d9dd0112ff00b638268377918c00000000010048  ffec0473039c003100a8413b0000002500060003001300310012000e0007001e001f001a0003  00e00022002600070100002d000e0104002200d3001300fb001a0027002d002a0025001a0014  0017000f001b00120008000e000b0006002e00250000000b001f001e00060027001700570012  0066002a00530000002700250051003210fcece4fce4fc3ce411123911123939123939113939  1112393931002fece4fc3cec3210ee1139391112393912173930011416333236351123222635  34363b01321615113332161514062b0122263d010e0123222635112322263534363b01321615  016d6a736d9b892723262ad5261f2e312b2927981b1e60894ca5a5154432272997231b01717e  748a68019d212326242140fd52202524241613444a37afb101c2202823231c3000000001011b  fe8b03b2051000310084412f002e002b00200032002f0021002b00190000001c001200040011  0003000400160007002b010a00240016010a001c010b0024010c0007010a000e00e400320024  0023000100000019002e0003006f00200011006e001900700027000b003210d43cf4f43cec32  1239315d0010fcece4f4ec10ee111217391139391239391239113930012e013d013426272627  263534363332161d01141716171e01151406070607061d01140623222635343736373e013d01  343602b265512c380d1a562a2aa98ca21f10201d1f200b14b08aa92b2b56120841305101cd1d  8da6936a490e03030c402627aae777c3220604092320222806020422c674e8a82727400c0202  0b466d94a48f0001ffeefe1d04dffe9300030011400601000400020410d4c4310010d4c43001  15213504dffb0ffe9376760000020087ffe7048703b4000c0035008340577a058b059b059a15  9507ab05a407a425ab28aa15b50abb1fba110d1a1d19350d3109000c2a192903e0e0160116fc  09fa1020f81de026f710d32afb312b113a12ba1203312b2e35320d03002e1f19002729500628  23133610dcc4ecf4ec32e4121739123939315d002fece4fcfce410eefe5dee39391139391112  3939111239305d012e0123220615141633323635170e01232226353436333216173534262322  0623222635343633321615113332161514062b0122262703443767339ab26f567fd90852c166  95b7f3dc3a763e6e744ec01f1d26ddacb0b431473028289d1c240601ba1211685844588548cf  4a4ea6859eae0f1007736e542f253b52b3affe3b1e27242422200001019cfe8d033104a20017  003a40200c160f0b00f107f216f10fe4180f080b161007010400130413900001004f0b1810d4  ec5de432111739123939310010fcecf4ec391112393005333216151406232122263511343633  2132161514062b010248a81d24221dfef31f2a2a1f010d1d22241da8f8201b1d23261c05911c  26211d1b22000001019cfe8d033104a20017003e40220c160f0b070016f10ff200f107e4180f  080b1610070104049f0001004f0b1313041810d43cf4ec5d111739113939310010fcecf4ec11  123911123930012322263534363321321615111406232122263534363b010285a81e23211e01  0c202a2a20fef41d22231ea80427211c1d21261cfa6f1c26231d1c1f0000009800ba005a00c8  00cd009800a6000a021b0248007b007d00b40098009c00ac00c5020a019600d5013f01b80093  018901c10164018900cd009800cd00000014032f0010000c01c1040802ec009800ae00000089  008700cd01e304d900db004a008d00db039a0079033f0000007900ae015a0342001d00710414  0000007900a400db00d500000439033b0096010a01bc01d901db018b00a601c7019c00ac0358  00f200890089039c03b6005a0089041900f2033303020098009600cd01a80000007900000079  04190098030201a201dd01ee00b60017016601ae010c00a802980079007701fa007500960089  012d00910091013f0060006204a00075008100580058005800f000f20098008d01cb007d008d  007d00c1034c009600ae018901cd011b019c00cd00b4017100640308018100fc00fe01fa030e  031700910091009e0087008700930098028301460191021d00df00000089008d0000000004f6  04a204a204a204a20000001f016401ee0075008d002104ee04ee04ee050e0075021b006204a2  04a2008d008d0614065601c7022d01b801c7009301640217028d016d00c30000001901640021  04ee030a008d0091024e037f008d03d1021900bc008d00810081017b04a202a40266008d000c  00f2008f0198025a00000096023b0052007b0614040a039c039c039c039c0000008d0098008d  024805cd053d051d008d0196039c018f039c00be01060019039c007b009e0396068501fa0077  01aa0079007d008900890071013f006404a004a2006f006f0071006f007b00000058006a00f0  0068006f0308005e00cd016d00c3021702170064030a018100fc01fa0071030e0321007b0571  00be007302d10073007302d1009302830179007f00df008d000000007fff0098009800820030  4007060504030201002c2010b002254964b040515820c859212d2cb002254964b040515820c8  59212d2c20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b0  0050b00d7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b80143454459212d2c  b002254560442d2c4b5358b00225b0022545445921212d2c45442d0000000001000000010000  7707c37b5f0f3cf50111080000000000a380f9f000000000c9b116dcfac3fcbb061e08b70000  00060001000100000000000100000608fe0800000696fac3fac2061e00010000000000000000  000000000000002204cd006604cd00a604cd006804cd005804cd000004cd00b204cd005a04cd  006d04cd005804cd019c04cd00ba04cd008504cd00d104cd002904cd016d04cd006004cd019a  04cd011b04cd00bc04cd006604cd010404cd016d04cd004404cd006204cd009a04cd004204cd  00cd04cd006604cd004804cd011b04cdffee04cd008704cd019c04cd019c0000000000000044  000001340000029c000003c4000003c4000005d00000066c00000768000008cc000009500000  0a0000000b8800000cd400000dec00000e6c00000f6c00001004000011140000122c000012b0  000013580000140c000014b400001554000015ac000016540000171c00001850000019800000  1a9400001ac000001bd800001c5c00001ce400010000002201910009007a0005000200100040  0011000007e80aa10003000141ff02800141001300030140000c0003013e00fe0003013d00fe  0003013a003e0003013900bb0003013800fe0003013700bb00030136005d0003013500960003  013400fe0003013300bb0003013200640003013000fe0003012d00fe0003012c012400fe0005  012a00fe00030129006b00030128003500030127006b00030126000c0003012500fe00030124  00fe00030123009600030120011f00220005012000fe0003011f00220003011e000c0003011d  011c00530005011d00960003011c00530003011b004c0003011a00530003011900fe00030118  011700fe0005011700fe0003011600c100fe0005011400fe0003011300350003011200470003  0111011000fa0005011100fe0003011000fa0003010f00fe0003010c00fe0003010b00fe0003  010a0109001d00050109001d0003010800f3000a0005010800100003010700d2004700050107  00440003010600fe0003010500fe0003010400f3000a0005010400fe0003010300fe00030102  003e00030101002e000301000096000300ff00fe000e000500ff00fe000300fe00fd00090005  00fe000e000300fd0009000300fc002e000300fb00fe000300fa00f9007d000500fa00fe0003  00f9007d000300f80012000300f700f60094000500f700fe000300f700c0000400f600f50061  000500f60094000300f60080000400f500f4002e000500f50061000300f541ff0040000400f4  00f3000a000500f4002e000300f3000a000300f00015000300ef00fe000300ee00ed000b0005  00ee00fe000300ed000b000300ec00e60017000500ec00fe000300eb00ea000b000500eb00fe  000300ea000b000300e9001e000300e800a6000300e70039000300e600e50008000500e60017  000300e50008000300e400af000a000500e400fe000300e300fe000300e2005d000300e100fe  000300e000af000300df00fe000300de00fe000300db00fe000300da0014000300d900d8007d  000500d900fe000300d8007d000300d70014000300d600fe000300d500b40041000500d500fe  000300d400fe000300d300d20047000500d30096000300d20047000300d100fe000300d000fe  000300cf001a000300ce0014000300cd001a000300cc00fe000300cb00ca0047000500cb00fe  000300ca0047000300c900c80014000500c900fe000300c80014000300c700c60014000500c6  0014000300c5006b000300c400bb000300c300c20014000500c30025000300c3ffc0000400c2  00af000a000500c20014000300c100fe000300be00bd008c000500be00fe000300be00c00004  00bd00bc0059000500bd008c000300bd0080000400bc00bb0026000500bc0059000300bc0040  000400bb0026000300ba00b40041000500ba0032000300b9007d000300b800fe000300b700fe  000300b6001a000300b541ff00b40041000500b500fe000300b5ffd0000400b40041000300b3  00b2008c000500b300fe000300b300c0000400b200b10059000500b2008c000300b200800004  00b100b00026000500b10059000300b10040000400b000af000a000500b00026000300af000a  000301450028000301440028000300ae00af000300ad00fe000300ac00fe000300ab00fe0003  00aa0008000300a800fe000300a700fe000300a600fe000300a400a300fa000500a300fa0003  00a200fa000300a1004b000300a0009f0053000500a000bb0003009f00530003009e00fe0003  009d009c007d0005009c007d0003009a009900fe0005009900fe0003009800fe00030095007d  000300940006003a00050094004b00030093000c0003009200fe000300910090000b00050090  000b0003008f003e0003008e008d00290005008e002e0003008d00290003008c00fe0003008b  00fe0003008a00fe000300890088003e00050089007d00030088003e0003008700fe00030086  005d00030085006b00030084008300fe0005008300fe0003008200fe00030081003a00030080  00220003007f007e00460005007f00aa0003007e004600030079005d00030078007d00030077  00fe000300760075003a0005007600fe00030075003a0003007100fe0003006e00fe0003006d  006c000f0005006d00330003006c000f0003006b00fe0003006a00fe41ff0003006900680010  0005006900af00030068001000030067003700030066005a000a00050066004400030065007d  00030064005400100005006400fa000300630062000c0005006300fe00030062000c00030061  0060000d00050061002d00030060000d0003005e005d00140005005d00140003005b005a000a  0005005b00fe0003005a000a0003005900fe000300580054001000050058002900030057001f  00090005005700fe00030056007d00030055005400100005005500fe00030054001000030053  00fe000300520036000b0005005200fe0003005100290003005000fe0003004e001a0003004d  007d0003004c007d0003004b00380003004a00fe0003004900640003004800fe000300470096  0003004600a60003004500fe00030043001e000300420036000b000500420078000300410029  00030040003e000a0005004000640003003f003e000a0005003f00960003003e000a0003003d  000a0003003c00fe0003003b00fe0003003a00fe0003003900fe000300380037001800050038  00fa000300370036000b00050037001800030036000b0003003400960003003300fe00030032  00fe0003003100fe0003003000fa0003002f002c0003002e00fe0003002d00fe0003002c00fe  0003002b00fe0003002a00fa000300290007000300280006003a00050028007d0003002700bb  0003002600fe0003419600250096000300240018001400050024003e0003002300fe00030022  00fe0003002100fe0003002000fe0003001f00090003001e000400140005001e00440003001d  004a0003001c000400140005001c00fe0003001b001a00280005001b00fe0003001a00280003  0019001800140005001900fe0003001800140003001700fe0003001600fe0003001400fe0003  00130012000800050012000800030011001000290005001000290003000f000e004c0005000f  00fa0003000e004c0003000d0006003a0005000d00fe0003000c000b00fe0005000b00fe0003  000a000900160005000900160003000800fe000300070006003a0005000700bb00030006003a  000300050004001400050005004b0003000400140003000300fe00030001001a000300000012  000300010118858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b  2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b  2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b  2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b  2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b  2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b  2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b  2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b  2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b  2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00000000>  ] def  /f-0-0 currentdict end definefont pop  %%EndResource  %%EndSetup  %%Page: 1 1  %%BeginPageSetup  %%PageBoundingBox: 0 -1 275 121  %%EndPageSetup  q 0 -1 275 122 rectclip q  0 g  BT  9 0 0 9 0 114.13916 Tm  /f-0-0 1 Tf  [(int isord\(long* v, long n, int \(*c\)\(void*,void)3(*\)\) {)]TJ  0.599609 -1.25 Td  [( for \(long i=1; i  0 -1.25 Td  [( )3( if \(c)-3(\(v+i-1,v+i)3(\)>0\) r)3(eturn 0;)]TJ  0 -1.25 Td  [( ret)3(urn 1;)]TJ  -0.599609 -1.25 Td  (})Tj  0 -2.5 Td  [(int isord_as)-4(c\()-3(long* v, )3(long n\) {)]TJ  0.599609 -1.25 Td  [( for \(long i=1; i  0 -1.25 Td  [( )3( if \(v[)-3(i-1]>v[i]\) return 0;)]TJ  0 -1.25 Td  [( ret)3(urn 1;)]TJ  -0.599609 -1.25 Td  (})Tj  ET  Q Q  showpage  %%Trailer  end restore  %%EOF        Binary files /dev/null and b/figures/isord-example/isord.png differ          

      xmlns:dc="http://purl.org/dc/elements/1.1/"  xmlns:cc="http://creativecommons.org/ns#"  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  xmlns:svg="http://www.w3.org/2000/svg"  xmlns="http://www.w3.org/2000/svg"  xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"  xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"  width="210mm"  height="297mm"  viewBox="0 0 744.09448819 1052.3622047"  id="svg2"  version="1.1"  inkscape:version="0.91 r13725"  sodipodi:docname="isord.svg">    id="defs4" />    id="base"  pagecolor="#ffffff"  bordercolor="#666666"  borderopacity="1.0"  inkscape:pageopacity="0.0"  inkscape:pageshadow="2"  inkscape:zoom="1.07"  inkscape:cx="83.982131"  inkscape:cy="885.16055"  inkscape:document-units="px"  inkscape:current-layer="layer1"  showgrid="false"  inkscape:window-width="1440"  inkscape:window-height="851"  inkscape:window-x="0"  inkscape:window-y="0"  inkscape:window-maximized="1" />    id="metadata7">      rdf:about="">  image/svg+xml    rdf:resource="http://purl.org/dc/dcmitype/StillImage" />            inkscape:label="Layer 1"  inkscape:groupmode="layer"  id="layer1">    transform="translate(-18.13636,-93.181818)"  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"  id="flowRoot5588"  xml:space="preserve">  id="flowRegion5590">  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"  y="126.55576"  x="56.451614"  height="319.92371"  width="344.58978"  id="rect5592" />  id="flowPara4399">int isord(long* v, long n, int (*c)(void*,void*)) {  id="flowPara4381"> for (long i=1; i<n; i++)   id="flowPara4384"> if (c(v+i-1,v+i)>0) return 0;  id="flowPara4387"> return 1;  id="flowPara4390">}  id="flowPara4393" />  id="flowPara5640">int isord_asc(long* v, long n) {  id="flowPara4578"> for (long i=1; i<n; i++)   id="flowPara4580"> if (v[i-1]>v[i]) return 0;  id="flowPara4582"> return 1;  id="flowPara4586">}  id="flowPara5680" />              

width=400