slalom.s 67 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675
  1. .file 1 "slalom.c"
  2. # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C
  3. # Cc1 defaults:
  4. # -mgas -mgpOPT
  5. # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1):
  6. # -quiet -dumpbase -O0 -o
  7. gcc2_compiled.:
  8. __gnu_compiled_c:
  9. .rdata
  10. .align 2
  11. $LC0:
  12. .ascii "Enter the number of seconds that is the goal: \000"
  13. .sdata
  14. .align 2
  15. $LC1:
  16. .ascii "%lg\000"
  17. .rdata
  18. .align 2
  19. $LC2:
  20. .ascii "Enter a lower bound for n: \000"
  21. .sdata
  22. .align 2
  23. $LC3:
  24. .ascii "%d\000"
  25. .rdata
  26. .align 2
  27. $LC4:
  28. .ascii "Must take less than %g seconds. Took %g.\n\000"
  29. .align 2
  30. $LC5:
  31. .ascii "Enter an upper bound for n: \000"
  32. .align 2
  33. $LC6:
  34. .ascii "Must take at least %g seconds. Took %g.\n\000"
  35. .align 2
  36. $LC7:
  37. .ascii "New interval: [%d,%d]\n\000"
  38. .text
  39. .align 2
  40. .globl main
  41. .data
  42. .align 2
  43. info.4:
  44. .word $LC8
  45. .word $LC9
  46. .word $LC10
  47. .word $LC11
  48. .word $LC12
  49. .word $LC13
  50. .word $LC14
  51. .word $LC15
  52. .word $LC16
  53. .word 0
  54. .rdata
  55. .align 2
  56. $LC16:
  57. .ascii "Options: -O Date: 23 May 1990\000"
  58. .align 2
  59. $LC15:
  60. .ascii "Compiler: cc Run by: M. Carter\000"
  61. .align 2
  62. $LC14:
  63. .ascii "Language: C Alone: yes\000"
  64. .align 2
  65. $LC13:
  66. .ascii "OS: SUNOS 4.0.3 Timer: Wall, gettime"
  67. .ascii "ofday()\000"
  68. .align 2
  69. $LC12:
  70. .ascii "Disk: .3GB SCSI+.7GB SMD Node name: amssun2\000"
  71. .align 2
  72. $LC11:
  73. .ascii "NMAX: 512 Clock: 25 MHz\000"
  74. .align 2
  75. $LC10:
  76. .ascii "Cache: 128 KB # used: 1\000"
  77. .align 2
  78. $LC9:
  79. .ascii "Memory: 32 MB # of procs: 1\000"
  80. .align 2
  81. $LC8:
  82. .ascii "Machine: SUN 4/370GX Processor: SPARC\000"
  83. .sdata
  84. .align 2
  85. $LC17:
  86. .ascii "\n\000"
  87. .rdata
  88. .align 2
  89. $LC18:
  90. .ascii "M ops: %-13lg Time: %-.3lf seconds\n\000"
  91. .align 2
  92. $LC20:
  93. .ascii "n: %-6d MFLOPS: %-.5lg\n\000"
  94. .align 2
  95. $LC21:
  96. .ascii "Approximate data memory use: %d bytes.\n\000"
  97. .sdata
  98. .align 3
  99. $LC19:
  100. .word 0xa0b5ed8d # 9.9999999999999995475e-07
  101. .word 0x3eb0c6f7
  102. .text
  103. .align 2
  104. .globl What
  105. .lcomm area.7,16384
  106. .lcomm box.8,56
  107. .lcomm coeff.9,33554432
  108. .lcomm diag.10,49152
  109. .lcomm emiss.11,144
  110. .lcomm place.12,49152
  111. .lcomm result.13,49152
  112. .lcomm rho.14,144
  113. .lcomm rhs.15,49152
  114. .lcomm size.16,32768
  115. .lcomm loop.17,48
  116. .data
  117. .align 2
  118. tasks.18:
  119. .word $LC22
  120. .word $LC23
  121. .word $LC24
  122. .word $LC25
  123. .word $LC26
  124. .word $LC27
  125. .word $LC28
  126. .sdata
  127. .align 2
  128. $LC28:
  129. .ascii "Storer\000"
  130. .align 2
  131. $LC27:
  132. .ascii "Solver\000"
  133. .align 2
  134. $LC26:
  135. .ascii "SetUp3\000"
  136. .align 2
  137. $LC25:
  138. .ascii "SetUp2\000"
  139. .align 2
  140. $LC24:
  141. .ascii "SetUp1\000"
  142. .align 2
  143. $LC23:
  144. .ascii "Region\000"
  145. .align 2
  146. $LC22:
  147. .ascii "Reader\000"
  148. .rdata
  149. .align 2
  150. $LC29:
  151. .ascii "%6.6s%8.3f%17.0f%14.6f%10.1f %%\n\000"
  152. .sdata
  153. .align 2
  154. format.19:
  155. .word $LC29
  156. .rdata
  157. .align 2
  158. $LC30:
  159. .ascii "Must be at least 6, the number of faces.\n\000"
  160. .align 2
  161. $LC31:
  162. .ascii "Exceeds %d = maximum for this system.\n\000"
  163. .sdata
  164. .align 2
  165. $LC32:
  166. .ascii "answer\000"
  167. .rdata
  168. .align 2
  169. $LC50:
  170. .ascii "%d patches:\n\000"
  171. .align 2
  172. $LC51:
  173. .ascii " Task Seconds Operations MFLOPS %% of T"
  174. .ascii "ime\n\000"
  175. .sdata
  176. .align 2
  177. $LC55:
  178. .ascii "TOTALS\000"
  179. .align 3
  180. $LC33:
  181. .word 0x00000000 # 0.5
  182. .word 0x3fe00000
  183. .align 3
  184. $LC34:
  185. .word 0x00000000 # 258
  186. .word 0x40702000
  187. .align 3
  188. $LC35:
  189. .word 0x00000000 # 8
  190. .word 0x40200000
  191. .align 3
  192. $LC36:
  193. .word 0x00000000 # 154
  194. .word 0x40634000
  195. .align 3
  196. $LC37:
  197. .word 0x00000000 # 532
  198. .word 0x4080a000
  199. .align 3
  200. $LC38:
  201. .word 0x00000000 # 6
  202. .word 0x40180000
  203. .align 3
  204. $LC39:
  205. .word 0x00000000 # 370
  206. .word 0x40772000
  207. .align 3
  208. $LC40:
  209. .word 0x00000000 # 2
  210. .word 0x40000000
  211. .align 3
  212. $LC41:
  213. .word 0x00000000 # 9
  214. .word 0x40220000
  215. .align 3
  216. $LC42:
  217. .word 0x00000000 # 72
  218. .word 0x40520000
  219. .align 3
  220. $LC43:
  221. .word 0x00000000 # 7.5
  222. .word 0x401e0000
  223. .align 3
  224. $LC44:
  225. .word 0x00000000 # 2.5
  226. .word 0x40040000
  227. .align 3
  228. $LC45:
  229. .word 0x00000000 # 21
  230. .word 0x40350000
  231. .align 3
  232. $LC46:
  233. .word 0x00000000 # 1
  234. .word 0x3ff00000
  235. .align 3
  236. $LC47:
  237. .word 0x00000000 # 16.5
  238. .word 0x40308000
  239. .align 3
  240. $LC48:
  241. .word 0x00000000 # 35.5
  242. .word 0x4041c000
  243. .align 3
  244. $LC49:
  245. .word 0x00000000 # 3
  246. .word 0x40080000
  247. .align 3
  248. $LC52:
  249. .word 0xd2f1a9fc # 0.0010000000000000000208
  250. .word 0x3f50624d
  251. .align 3
  252. $LC53:
  253. .word 0xa0b5ed8d # 9.9999999999999995475e-07
  254. .word 0x3eb0c6f7
  255. .align 3
  256. $LC54:
  257. .word 0x00000000 # 100
  258. .word 0x40590000
  259. .text
  260. .align 2
  261. .globl Meter
  262. .sdata
  263. .align 3
  264. $LC56:
  265. .word 0xa0b5ed8d # 9.9999999999999995475e-07
  266. .word 0x3eb0c6f7
  267. .text
  268. .align 2
  269. .globl When
  270. .sdata
  271. .align 2
  272. $LC57:
  273. .ascii "geom\000"
  274. .align 2
  275. $LC58:
  276. .ascii "r\000"
  277. .rdata
  278. .align 2
  279. $LC59:
  280. .ascii "slalom: 'geom' geometry file not found.\n\000"
  281. .align 2
  282. $LC60:
  283. .ascii "Must specify exactly 3 box coordinates.\n\000"
  284. .align 2
  285. $LC61:
  286. .ascii "Must specify exactly 18 box coordinates.\n\000"
  287. .align 2
  288. $LC64:
  289. .ascii "Box dimensions must be between 1 and 100.\n\000"
  290. .align 2
  291. $LC66:
  292. .ascii "Reflectivities must be between .000 and .999.\n\000"
  293. .align 2
  294. $LC67:
  295. .ascii "Emissivity cannot be negative.\n\000"
  296. .align 2
  297. $LC68:
  298. .ascii "Emissivities are zero. Problem is trivial.\n\000"
  299. .sdata
  300. .align 3
  301. $LC62:
  302. .word 0x00000000 # 1
  303. .word 0x3ff00000
  304. .align 3
  305. $LC63:
  306. .word 0x00000000 # 100
  307. .word 0x40590000
  308. .align 3
  309. $LC65:
  310. .word 0xd916872b # 0.99899999999999999911
  311. .word 0x3feff7ce
  312. .text
  313. .align 2
  314. .globl Reader
  315. .rdata
  316. .align 2
  317. $LC70:
  318. .ascii "Eccentric box requires more patches.\n\000"
  319. .sdata
  320. .align 3
  321. $LC69:
  322. .word 0x00000000 # 0.5
  323. .word 0x3fe00000
  324. .align 3
  325. $LC71:
  326. .word 0x54442d18 # 25.132741228718344928
  327. .word 0x403921fb
  328. .text
  329. .align 2
  330. .globl Region
  331. .sdata
  332. .align 3
  333. $LC72:
  334. .word 0x00000000 # 1
  335. .word 0x3ff00000
  336. .align 3
  337. $LC73:
  338. .word 0x00000000 # -4
  339. .word 0xc0100000
  340. .text
  341. .align 2
  342. .globl SetUp1
  343. .sdata
  344. .align 3
  345. $LC74:
  346. .word 0xb7f87a0f # 1.0000000000000000079e-35
  347. .word 0x38aa95a5
  348. .align 3
  349. $LC75:
  350. .word 0x00000000 # 1
  351. .word 0x3ff00000
  352. .align 3
  353. $LC76:
  354. .word 0x00000000 # 4
  355. .word 0x40100000
  356. .text
  357. .align 2
  358. .globl SetUp2
  359. .rdata
  360. .align 2
  361. $LC79:
  362. .ascii "Total form factor is too far from unity.\n\000"
  363. .sdata
  364. .align 3
  365. $LC77:
  366. .word 0x00000000 # 1
  367. .word 0x3ff00000
  368. .align 3
  369. $LC78:
  370. .word 0xe826d695 # 5.0000000000000003114e-10
  371. .word 0x3e012e0b
  372. .text
  373. .align 2
  374. .globl SetUp3
  375. .sdata
  376. .align 3
  377. $LC80:
  378. .word 0x00000000 # 1
  379. .word 0x3ff00000
  380. .text
  381. .align 2
  382. .globl Solver
  383. .sdata
  384. .align 2
  385. $LC81:
  386. .ascii "w\000"
  387. .rdata
  388. .align 2
  389. $LC82:
  390. .ascii "Unable to open 'answer' file.\n\000"
  391. .align 2
  392. $LC83:
  393. .ascii " Patch Face Position in w, h, d Widt"
  394. .ascii "h Height\n\000"
  395. .align 2
  396. $LC84:
  397. .ascii "%5d %4d%11.5lf%11.5lf%11.5lf %11.5lf%11.5lf\n\000"
  398. .align 2
  399. $LC85:
  400. .ascii "\n"
  401. .ascii " Patch Face Radiosities\n\000"
  402. .align 2
  403. $LC86:
  404. .ascii "%5d %4d%12.8lf%12.8lf%12.8lf\n\000"
  405. .text
  406. .align 2
  407. .globl Storer
  408. .rdata
  409. .align 2
  410. $LC88:
  411. .ascii "Residual is too large: %lg\n\000"
  412. .sdata
  413. .align 3
  414. $LC87:
  415. .word 0x29a4692c # 1.5000000000000001968e-08
  416. .word 0x3e501b2b
  417. .text
  418. .align 2
  419. .globl Verify
  420. .align 2
  421. .globl Ddot
  422. .comm goal,8
  423. .comm timing,8
  424. .comm work,8
  425. .comm mean,4
  426. .comm n,4
  427. .comm nupper,4
  428. .text
  429. .loc 1 179
  430. .ent main
  431. main:
  432. .frame $fp,40,$31 # vars= 8, regs= 2/0, args= 24, extra= 0
  433. .mask 0xc0000000,-4
  434. .fmask 0x00000000,0
  435. subu $sp,$sp,40
  436. sw $31,36($sp)
  437. sw $fp,32($sp)
  438. move $fp,$sp
  439. jal __main
  440. la $4,$LC0
  441. jal printf
  442. la $4,$LC1
  443. la $5,goal
  444. jal scanf
  445. $L2:
  446. la $4,$LC2
  447. jal printf
  448. la $4,$LC3
  449. la $5,n
  450. jal scanf
  451. lw $2,n
  452. bgtz $2,$L5
  453. move $4,$0
  454. jal exit
  455. $L5:
  456. lw $4,n
  457. la $5,timing
  458. la $6,work
  459. jal Meter
  460. sw $2,24($fp)
  461. l.d $f0,timing
  462. l.d $f2,goal
  463. c.le.d $f2,$f0
  464. bc1f $L6
  465. l.d $f0,timing
  466. s.d $f0,16($sp)
  467. la $4,$LC4
  468. dlw $6,goal
  469. jal printf
  470. $L6:
  471. $L4:
  472. lw $2,24($fp)
  473. beq $2,$0,$L7
  474. l.d $f0,timing
  475. l.d $f2,goal
  476. c.le.d $f2,$f0
  477. bc1t $L7
  478. j $L3
  479. $L7:
  480. j $L2
  481. $L3:
  482. .set noreorder
  483. nop
  484. .set reorder
  485. $L8:
  486. la $4,$LC5
  487. jal printf
  488. la $4,$LC3
  489. la $5,nupper
  490. jal scanf
  491. lw $2,nupper
  492. bgtz $2,$L11
  493. move $4,$0
  494. jal exit
  495. $L11:
  496. lw $4,nupper
  497. la $5,timing
  498. la $6,work
  499. jal Meter
  500. sw $2,24($fp)
  501. l.d $f0,timing
  502. l.d $f2,goal
  503. c.lt.d $f0,$f2
  504. bc1f $L12
  505. l.d $f0,timing
  506. s.d $f0,16($sp)
  507. la $4,$LC6
  508. dlw $6,goal
  509. jal printf
  510. lw $2,nupper
  511. lw $3,n
  512. slt $4,$2,$3
  513. beq $4,$0,$L13
  514. lw $2,n
  515. $L13:
  516. sw $2,n
  517. $L12:
  518. $L10:
  519. lw $2,24($fp)
  520. beq $2,$0,$L14
  521. l.d $f0,timing
  522. l.d $f2,goal
  523. c.lt.d $f0,$f2
  524. bc1t $L14
  525. j $L9
  526. $L14:
  527. j $L8
  528. $L9:
  529. .set noreorder
  530. nop
  531. .set reorder
  532. $L15:
  533. lw $2,nupper
  534. lw $3,n
  535. subu $2,$2,$3
  536. slt $3,$2,2
  537. beq $3,$0,$L17
  538. j $L16
  539. $L17:
  540. lw $2,n
  541. lw $3,nupper
  542. addu $2,$2,$3
  543. sra $3,$2,31
  544. srl $4,$3,31
  545. addu $2,$2,$4
  546. sra $3,$2,1
  547. sw $3,mean
  548. lw $4,mean
  549. la $5,timing
  550. la $6,work
  551. jal Meter
  552. sw $2,24($fp)
  553. l.d $f0,timing
  554. l.d $f2,goal
  555. c.lt.d $f0,$f2
  556. bc1f $L18
  557. lw $2,mean
  558. sw $2,n
  559. j $L19
  560. $L18:
  561. lw $2,mean
  562. sw $2,nupper
  563. $L19:
  564. la $4,$LC7
  565. lw $5,n
  566. lw $6,nupper
  567. jal printf
  568. j $L15
  569. $L16:
  570. lw $4,n
  571. la $5,timing
  572. la $6,work
  573. jal Meter
  574. sw $2,24($fp)
  575. l.d $f0,work
  576. s.d $f0,16($sp)
  577. lw $4,n
  578. dlw $6,timing
  579. jal What
  580. $L1:
  581. move $sp,$fp # sp not trusted here
  582. lw $31,36($sp)
  583. lw $fp,32($sp)
  584. addu $sp,$sp,40
  585. j $31
  586. .end main
  587. .loc 1 236
  588. .ent What
  589. What:
  590. .frame $fp,40,$31 # vars= 8, regs= 2/0, args= 24, extra= 0
  591. .mask 0xc0000000,-4
  592. .fmask 0x00000000,0
  593. subu $sp,$sp,40
  594. sw $31,36($sp)
  595. sw $fp,32($sp)
  596. move $fp,$sp
  597. sw $4,40($fp)
  598. dsw $6,48($fp)
  599. la $4,$LC17
  600. jal printf
  601. sw $0,24($fp)
  602. $L21:
  603. lw $2,24($fp)
  604. move $3,$2
  605. sll $2,$3,2
  606. la $3,info.4
  607. addu $2,$2,$3
  608. lw $3,0($2)
  609. bne $3,$0,$L24
  610. j $L22
  611. $L24:
  612. lw $2,24($fp)
  613. move $3,$2
  614. sll $2,$3,2
  615. la $3,info.4
  616. addu $2,$2,$3
  617. lw $4,0($2)
  618. jal puts
  619. $L23:
  620. lw $3,24($fp)
  621. addu $2,$3,1
  622. move $3,$2
  623. sw $3,24($fp)
  624. j $L21
  625. $L22:
  626. l.d $f0,56($fp)
  627. l.d $f2,$LC19
  628. mul.d $f0,$f0,$f2
  629. l.d $f2,48($fp)
  630. s.d $f2,16($sp)
  631. la $4,$LC18
  632. dmfc1 $6,$f0
  633. jal printf
  634. l.d $f0,56($fp)
  635. l.d $f2,48($fp)
  636. div.d $f0,$f0,$f2
  637. l.d $f2,$LC19
  638. mul.d $f0,$f0,$f2
  639. la $4,$LC20
  640. lw $5,40($fp)
  641. dmfc1 $6,$f0
  642. jal printf
  643. lw $2,40($fp)
  644. move $3,$2
  645. sll $2,$3,3
  646. lw $3,40($fp)
  647. mult $2,$3
  648. mflo $2
  649. lw $3,40($fp)
  650. move $5,$3
  651. sll $4,$5,4
  652. subu $4,$4,$3
  653. sll $3,$4,3
  654. addu $2,$2,$3
  655. addu $3,$2,800
  656. la $4,$LC21
  657. move $5,$3
  658. jal printf
  659. $L20:
  660. move $sp,$fp # sp not trusted here
  661. lw $31,36($sp)
  662. lw $fp,32($sp)
  663. addu $sp,$sp,40
  664. j $31
  665. .end What
  666. .loc 1 282
  667. .ent Meter
  668. Meter:
  669. .frame $fp,280,$31 # vars= 208, regs= 2/3, args= 40, extra= 0
  670. .mask 0xc0000000,-28
  671. .fmask 0x03f00000,-4
  672. subu $sp,$sp,280
  673. sw $31,252($sp)
  674. sw $fp,248($sp)
  675. s.d $f24,272($sp)
  676. s.d $f22,264($sp)
  677. s.d $f20,256($sp)
  678. move $fp,$sp
  679. sw $4,280($fp)
  680. sw $5,284($fp)
  681. sw $6,288($fp)
  682. lw $2,280($fp)
  683. slt $3,$2,6
  684. beq $3,$0,$L26
  685. la $4,$LC30
  686. jal printf
  687. move $2,$0
  688. j $L25
  689. j $L27
  690. $L26:
  691. lw $2,280($fp)
  692. slt $3,$2,2049
  693. bne $3,$0,$L28
  694. la $4,$LC31
  695. li $5,0x00000800 # 2048
  696. jal printf
  697. move $2,$0
  698. j $L25
  699. $L28:
  700. $L27:
  701. la $4,$LC32
  702. jal unlink
  703. jal When
  704. s.d $f0,152($fp)
  705. la $4,box.8
  706. la $5,rho.14
  707. la $6,emiss.11
  708. jal Reader
  709. bne $2,$0,$L29
  710. move $2,$0
  711. j $L25
  712. $L29:
  713. jal When
  714. s.d $f0,160($fp)
  715. la $2,size.16
  716. sw $2,16($sp)
  717. la $2,area.7
  718. sw $2,20($sp)
  719. lw $4,280($fp)
  720. la $5,loop.17
  721. la $6,box.8
  722. la $7,place.12
  723. jal Region
  724. bne $2,$0,$L30
  725. move $2,$0
  726. j $L25
  727. $L30:
  728. jal When
  729. s.d $f0,168($fp)
  730. la $2,size.16
  731. sw $2,16($sp)
  732. lw $4,280($fp)
  733. la $5,loop.17
  734. la $6,coeff.9
  735. la $7,place.12
  736. jal SetUp1
  737. jal When
  738. s.d $f0,176($fp)
  739. la $2,size.16
  740. sw $2,16($sp)
  741. lw $4,280($fp)
  742. la $5,loop.17
  743. la $6,coeff.9
  744. la $7,place.12
  745. jal SetUp2
  746. jal When
  747. s.d $f0,184($fp)
  748. la $2,emiss.11
  749. sw $2,16($sp)
  750. la $2,coeff.9
  751. sw $2,20($sp)
  752. la $2,diag.10
  753. sw $2,24($sp)
  754. la $2,rhs.15
  755. sw $2,28($sp)
  756. lw $4,280($fp)
  757. la $5,loop.17
  758. la $6,area.7
  759. la $7,rho.14
  760. jal SetUp3
  761. bne $2,$0,$L31
  762. move $2,$0
  763. j $L25
  764. $L31:
  765. jal When
  766. s.d $f0,192($fp)
  767. lw $2,loop.17+8
  768. sw $2,240($fp)
  769. la $2,rhs.15
  770. sw $2,16($sp)
  771. la $2,result.13
  772. sw $2,20($sp)
  773. lw $4,280($fp)
  774. lw $5,240($fp)
  775. la $6,coeff.9
  776. la $7,diag.10
  777. jal Solver
  778. jal When
  779. s.d $f0,200($fp)
  780. la $2,result.13
  781. sw $2,16($sp)
  782. lw $4,280($fp)
  783. la $5,loop.17
  784. la $6,place.12
  785. la $7,size.16
  786. jal Storer
  787. jal When
  788. s.d $f0,208($fp)
  789. lw $2,284($fp)
  790. l.d $f0,208($fp)
  791. l.d $f2,152($fp)
  792. sub.d $f0,$f0,$f2
  793. s.d $f0,0($2)
  794. sw $0,232($fp)
  795. $L32:
  796. lw $2,232($fp)
  797. slt $3,$2,7
  798. bne $3,$0,$L35
  799. j $L33
  800. $L35:
  801. lw $2,232($fp)
  802. move $3,$2
  803. sll $2,$3,3
  804. addu $4,$fp,40
  805. addu $3,$2,$4
  806. addu $2,$3,112
  807. addu $3,$fp,160
  808. lw $4,232($fp)
  809. move $5,$4
  810. sll $4,$5,3
  811. addu $3,$3,$4
  812. lw $4,232($fp)
  813. move $5,$4
  814. sll $4,$5,3
  815. addu $5,$fp,40
  816. addu $4,$4,$5
  817. addu $5,$4,112
  818. l.d $f0,0($3)
  819. l.d $f2,0($5)
  820. sub.d $f0,$f0,$f2
  821. s.d $f0,0($2)
  822. $L34:
  823. lw $3,232($fp)
  824. addu $2,$3,1
  825. move $3,$2
  826. sw $3,232($fp)
  827. j $L32
  828. $L33:
  829. sw $0,236($fp)
  830. dsz 216($fp)
  831. sw $0,232($fp)
  832. $L36:
  833. lw $2,232($fp)
  834. slt $3,$2,6
  835. bne $3,$0,$L39
  836. j $L37
  837. $L39:
  838. lw $2,232($fp)
  839. move $3,$2
  840. sll $2,$3,3
  841. addu $4,$fp,40
  842. addu $3,$2,$4
  843. addu $2,$3,64
  844. lw $3,232($fp)
  845. move $4,$3
  846. sll $3,$4,3
  847. lw $4,232($fp)
  848. move $5,$4
  849. sll $4,$5,3
  850. lw $3,loop.17+4($3)
  851. lw $4,loop.17($4)
  852. subu $3,$3,$4
  853. addu $4,$3,1
  854. mtc1 $4,$f0
  855. #nop
  856. cvt.d.w $f0,$f0
  857. s.d $f0,0($2)
  858. lw $2,232($fp)
  859. move $3,$2
  860. sll $2,$3,3
  861. addu $4,$fp,40
  862. addu $3,$2,$4
  863. addu $2,$3,64
  864. lw $3,232($fp)
  865. move $4,$3
  866. sll $3,$4,3
  867. addu $4,$fp,40
  868. addu $3,$3,$4
  869. addu $4,$3,64
  870. l.d $f0,0($2)
  871. l.d $f2,0($4)
  872. mul.d $f0,$f0,$f2
  873. l.d $f2,216($fp)
  874. add.d $f0,$f2,$f0
  875. s.d $f0,216($fp)
  876. l.s $f24,236($fp)
  877. #nop
  878. cvt.d.w $f24,$f24
  879. lw $2,232($fp)
  880. move $3,$2
  881. sll $2,$3,3
  882. addu $4,$fp,40
  883. addu $3,$2,$4
  884. addu $2,$3,64
  885. lw $3,232($fp)
  886. move $4,$3
  887. sll $3,$4,3
  888. la $4,box.8
  889. addu $3,$3,$4
  890. l.d $f0,0($2)
  891. l.d $f2,0($3)
  892. mul.d $f0,$f0,$f2
  893. lw $2,232($fp)
  894. move $3,$2
  895. sll $2,$3,3
  896. la $3,box.8+8
  897. addu $2,$2,$3
  898. l.d $f2,0($2)
  899. div.d $f0,$f0,$f2
  900. mov.d $f12,$f0
  901. jal sqrt
  902. l.d $f2,$LC33
  903. add.d $f0,$f0,$f2
  904. add.d $f2,$f24,$f0
  905. trunc.w.d $f10,$f2,$8
  906. s.s $f10,236($fp)
  907. $L38:
  908. lw $3,232($fp)
  909. addu $2,$3,1
  910. move $3,$2
  911. sw $3,232($fp)
  912. j $L36
  913. $L37:
  914. l.d $f0,104($fp)
  915. l.d $f2,128($fp)
  916. mul.d $f0,$f0,$f2
  917. l.d $f2,112($fp)
  918. l.d $f4,136($fp)
  919. mul.d $f2,$f2,$f4
  920. add.d $f0,$f0,$f2
  921. l.d $f2,120($fp)
  922. l.d $f4,144($fp)
  923. mul.d $f2,$f2,$f4
  924. add.d $f0,$f0,$f2
  925. s.d $f0,224($fp)
  926. l.d $f0,$LC34
  927. s.d $f0,40($fp)
  928. l.s $f0,236($fp)
  929. #nop
  930. cvt.d.w $f0,$f0
  931. l.d $f2,$LC35
  932. mul.d $f0,$f0,$f2
  933. l.d $f2,$LC36
  934. add.d $f0,$f0,$f2
  935. l.s $f2,280($fp)
  936. #nop
  937. cvt.d.w $f2,$f2
  938. add.d $f0,$f0,$f2
  939. s.d $f0,48($fp)
  940. l.d $f0,224($fp)
  941. l.d $f2,$LC37
  942. mul.d $f0,$f0,$f2
  943. l.d $f2,$LC38
  944. add.d $f0,$f0,$f2
  945. s.d $f0,56($fp)
  946. lw $2,280($fp)
  947. move $3,$2
  948. sll $2,$3,3
  949. mtc1 $2,$f0
  950. #nop
  951. cvt.d.w $f0,$f0
  952. l.s $f2,280($fp)
  953. #nop
  954. cvt.d.w $f2,$f2
  955. l.s $f4,280($fp)
  956. #nop
  957. cvt.d.w $f4,$f4
  958. mul.d $f2,$f2,$f4
  959. l.d $f4,216($fp)
  960. sub.d $f2,$f2,$f4
  961. l.d $f20,224($fp)
  962. add.d $f4,$f20,$f20
  963. sub.d $f2,$f2,$f4
  964. l.d $f4,$LC39
  965. mul.d $f2,$f2,$f4
  966. l.d $f4,$LC40
  967. div.d $f2,$f2,$f4
  968. add.d $f0,$f0,$f2
  969. s.d $f0,64($fp)
  970. l.s $f0,280($fp)
  971. #nop
  972. cvt.d.w $f0,$f0
  973. l.d $f2,$LC41
  974. mul.d $f0,$f0,$f2
  975. l.d $f2,$LC42
  976. add.d $f0,$f0,$f2
  977. l.s $f2,280($fp)
  978. #nop
  979. cvt.d.w $f2,$f2
  980. l.s $f4,280($fp)
  981. #nop
  982. cvt.d.w $f4,$f4
  983. mul.d $f2,$f2,$f4
  984. add.d $f0,$f0,$f2
  985. l.d $f2,216($fp)
  986. sub.d $f0,$f0,$f2
  987. s.d $f0,72($fp)
  988. l.s $f0,280($fp)
  989. #nop
  990. cvt.d.w $f0,$f0
  991. l.s $f2,280($fp)
  992. #nop
  993. cvt.d.w $f2,$f2
  994. l.s $f4,280($fp)
  995. #nop
  996. cvt.d.w $f4,$f4
  997. l.d $f6,$LC43
  998. add.d $f4,$f4,$f6
  999. mul.d $f2,$f2,$f4
  1000. l.d $f4,$LC44
  1001. sub.d $f2,$f2,$f4
  1002. mul.d $f0,$f0,$f2
  1003. l.d $f2,$LC45
  1004. sub.d $f0,$f0,$f2
  1005. lw $3,240($fp)
  1006. addu $2,$3,1
  1007. mtc1 $2,$f2
  1008. #nop
  1009. cvt.d.w $f2,$f2
  1010. lw $3,240($fp)
  1011. addu $2,$3,1
  1012. mtc1 $2,$f4
  1013. #nop
  1014. cvt.d.w $f4,$f4
  1015. l.s $f22,240($fp)
  1016. #nop
  1017. cvt.d.w $f22,$f22
  1018. l.d $f6,$LC46
  1019. add.d $f22,$f22,$f6
  1020. add.d $f6,$f22,$f22
  1021. l.d $f8,$LC47
  1022. sub.d $f6,$f6,$f8
  1023. mul.d $f4,$f4,$f6
  1024. l.d $f6,$LC48
  1025. add.d $f4,$f4,$f6
  1026. mul.d $f2,$f2,$f4
  1027. add.d $f0,$f0,$f2
  1028. lw $3,240($fp)
  1029. addu $2,$3,1
  1030. lw $3,280($fp)
  1031. mult $2,$3
  1032. mflo $2
  1033. mtc1 $2,$f2
  1034. #nop
  1035. cvt.d.w $f2,$f2
  1036. l.s $f4,240($fp)
  1037. #nop
  1038. cvt.d.w $f4,$f4
  1039. l.d $f6,$LC46
  1040. add.d $f4,$f4,$f6
  1041. l.d $f6,$LC49
  1042. mul.d $f4,$f4,$f6
  1043. l.d $f6,$LC41
  1044. sub.d $f4,$f6,$f4
  1045. mul.d $f2,$f2,$f4
  1046. add.d $f0,$f0,$f2
  1047. s.d $f0,80($fp)
  1048. lw $2,280($fp)
  1049. move $4,$2
  1050. sll $3,$4,1
  1051. addu $3,$3,$2
  1052. sll $2,$3,4
  1053. mtc1 $2,$f0
  1054. #nop
  1055. cvt.d.w $f0,$f0
  1056. s.d $f0,88($fp)
  1057. lw $2,288($fp)
  1058. l.d $f0,40($fp)
  1059. l.d $f2,48($fp)
  1060. add.d $f0,$f0,$f2
  1061. l.d $f2,56($fp)
  1062. add.d $f0,$f0,$f2
  1063. l.d $f2,64($fp)
  1064. add.d $f0,$f0,$f2
  1065. l.d $f2,72($fp)
  1066. add.d $f0,$f0,$f2
  1067. l.d $f2,80($fp)
  1068. add.d $f0,$f0,$f2
  1069. l.d $f2,88($fp)
  1070. add.d $f0,$f0,$f2
  1071. s.d $f0,0($2)
  1072. la $4,$LC50
  1073. lw $5,280($fp)
  1074. jal printf
  1075. la $4,$LC51
  1076. jal printf
  1077. sw $0,232($fp)
  1078. $L40:
  1079. lw $2,232($fp)
  1080. slt $3,$2,7
  1081. bne $3,$0,$L43
  1082. j $L41
  1083. $L43:
  1084. lw $2,232($fp)
  1085. move $3,$2
  1086. sll $2,$3,3
  1087. addu $3,$fp,40
  1088. addu $2,$2,$3
  1089. addu $3,$2,112
  1090. l.d $f0,0($3)
  1091. mtc1 $0,$f2
  1092. mtc1 $0,$f3
  1093. c.eq.d $f0,$f2
  1094. bc1f $L44
  1095. lw $2,232($fp)
  1096. move $3,$2
  1097. sll $2,$3,3
  1098. addu $3,$fp,40
  1099. addu $2,$2,$3
  1100. addu $3,$2,112
  1101. l.d $f0,$LC52
  1102. s.d $f0,0($3)
  1103. $L44:
  1104. lw $2,232($fp)
  1105. move $3,$2
  1106. sll $2,$3,2
  1107. la $3,tasks.18
  1108. addu $2,$2,$3
  1109. lw $3,232($fp)
  1110. move $4,$3
  1111. sll $3,$4,3
  1112. addu $5,$fp,40
  1113. addu $4,$3,$5
  1114. addu $3,$4,112
  1115. lw $4,232($fp)
  1116. move $5,$4
  1117. sll $4,$5,3
  1118. addu $5,$fp,40
  1119. addu $4,$4,$5
  1120. l.d $f0,0($4)
  1121. s.d $f0,16($sp)
  1122. lw $4,232($fp)
  1123. move $5,$4
  1124. sll $4,$5,3
  1125. addu $5,$fp,40
  1126. addu $4,$4,$5
  1127. lw $5,232($fp)
  1128. move $6,$5
  1129. sll $5,$6,3
  1130. addu $6,$fp,40
  1131. addu $5,$5,$6
  1132. addu $6,$5,112
  1133. l.d $f0,0($4)
  1134. l.d $f2,0($6)
  1135. div.d $f0,$f0,$f2
  1136. l.d $f2,$LC53
  1137. mul.d $f0,$f0,$f2
  1138. s.d $f0,24($sp)
  1139. lw $4,232($fp)
  1140. move $5,$4
  1141. sll $4,$5,3
  1142. addu $5,$fp,40
  1143. addu $4,$4,$5
  1144. addu $5,$4,112
  1145. l.d $f0,0($5)
  1146. l.d $f2,$LC54
  1147. mul.d $f0,$f0,$f2
  1148. lw $4,284($fp)
  1149. l.d $f2,0($4)
  1150. div.d $f0,$f0,$f2
  1151. s.d $f0,32($sp)
  1152. lw $4,format.19
  1153. lw $5,0($2)
  1154. dlw $6,0($3)
  1155. jal printf
  1156. $L42:
  1157. lw $3,232($fp)
  1158. addu $2,$3,1
  1159. move $3,$2
  1160. sw $3,232($fp)
  1161. j $L40
  1162. $L41:
  1163. lw $2,284($fp)
  1164. lw $3,288($fp)
  1165. l.d $f0,0($3)
  1166. s.d $f0,16($sp)
  1167. lw $3,288($fp)
  1168. lw $4,284($fp)
  1169. l.d $f0,0($3)
  1170. l.d $f2,0($4)
  1171. div.d $f0,$f0,$f2
  1172. l.d $f2,$LC53
  1173. mul.d $f0,$f0,$f2
  1174. s.d $f0,24($sp)
  1175. l.d $f0,$LC54
  1176. s.d $f0,32($sp)
  1177. lw $4,format.19
  1178. la $5,$LC55
  1179. dlw $6,0($2)
  1180. jal printf
  1181. la $2,result.13
  1182. sw $2,16($sp)
  1183. lw $4,280($fp)
  1184. la $5,coeff.9
  1185. la $6,diag.10
  1186. la $7,rhs.15
  1187. jal Verify
  1188. li $2,0x00000001 # 1
  1189. j $L25
  1190. $L25:
  1191. move $sp,$fp # sp not trusted here
  1192. lw $31,252($sp)
  1193. lw $fp,248($sp)
  1194. l.d $f24,272($sp)
  1195. l.d $f22,264($sp)
  1196. l.d $f20,256($sp)
  1197. addu $sp,$sp,280
  1198. j $31
  1199. .end Meter
  1200. .loc 1 396
  1201. .ent When
  1202. When:
  1203. .frame $fp,40,$31 # vars= 16, regs= 2/0, args= 16, extra= 0
  1204. .mask 0xc0000000,-4
  1205. .fmask 0x00000000,0
  1206. subu $sp,$sp,40
  1207. sw $31,36($sp)
  1208. sw $fp,32($sp)
  1209. move $fp,$sp
  1210. addu $2,$fp,24
  1211. addu $4,$fp,16
  1212. move $5,$2
  1213. jal gettimeofday
  1214. l.s $f0,16($fp)
  1215. #nop
  1216. cvt.d.w $f0,$f0
  1217. l.s $f2,20($fp)
  1218. #nop
  1219. cvt.d.w $f2,$f2
  1220. l.d $f4,$LC56
  1221. mul.d $f2,$f2,$f4
  1222. add.d $f4,$f0,$f2
  1223. mov.d $f0,$f4
  1224. j $L45
  1225. $L45:
  1226. move $sp,$fp # sp not trusted here
  1227. lw $31,36($sp)
  1228. lw $fp,32($sp)
  1229. addu $sp,$sp,40
  1230. j $31
  1231. .end When
  1232. .loc 1 409
  1233. .ent Reader
  1234. Reader:
  1235. .frame $fp,144,$31 # vars= 120, regs= 2/0, args= 16, extra= 0
  1236. .mask 0xc0000000,-4
  1237. .fmask 0x00000000,0
  1238. subu $sp,$sp,144
  1239. sw $31,140($sp)
  1240. sw $fp,136($sp)
  1241. move $fp,$sp
  1242. sw $4,144($fp)
  1243. sw $5,148($fp)
  1244. sw $6,152($fp)
  1245. la $4,$LC57
  1246. la $5,$LC58
  1247. jal fopen
  1248. sw $2,40($fp)
  1249. lw $2,40($fp)
  1250. bne $2,$0,$L47
  1251. la $4,$LC59
  1252. jal printf
  1253. li $4,0x00000001 # 1
  1254. jal exit
  1255. $L47:
  1256. sw $0,24($fp)
  1257. sw $0,16($fp)
  1258. $L48:
  1259. lw $2,16($fp)
  1260. slt $3,$2,3
  1261. bne $3,$0,$L51
  1262. j $L49
  1263. $L51:
  1264. lw $2,16($fp)
  1265. move $3,$2
  1266. sll $2,$3,3
  1267. lw $3,144($fp)
  1268. addu $2,$2,$3
  1269. lw $4,40($fp)
  1270. la $5,$LC1
  1271. move $6,$2
  1272. jal fscanf
  1273. lw $3,24($fp)
  1274. addu $2,$3,$2
  1275. sw $2,24($fp)
  1276. $L50:
  1277. lw $3,16($fp)
  1278. addu $2,$3,1
  1279. move $3,$2
  1280. sw $3,16($fp)
  1281. j $L48
  1282. $L49:
  1283. addu $2,$fp,48
  1284. move $4,$2
  1285. li $5,0x00000050 # 80
  1286. lw $6,40($fp)
  1287. jal fgets
  1288. lw $2,24($fp)
  1289. li $3,0x00000003 # 3
  1290. beq $2,$3,$L52
  1291. la $4,$LC60
  1292. jal printf
  1293. li $4,0x00000001 # 1
  1294. jal exit
  1295. $L52:
  1296. sw $0,24($fp)
  1297. sw $0,20($fp)
  1298. $L53:
  1299. lw $2,20($fp)
  1300. slt $3,$2,3
  1301. bne $3,$0,$L56
  1302. j $L54
  1303. $L56:
  1304. sw $0,16($fp)
  1305. $L57:
  1306. lw $2,16($fp)
  1307. slt $3,$2,6
  1308. bne $3,$0,$L60
  1309. j $L58
  1310. $L60:
  1311. lw $2,16($fp)
  1312. move $4,$2
  1313. sll $3,$4,1
  1314. addu $3,$3,$2
  1315. sll $2,$3,3
  1316. lw $3,148($fp)
  1317. addu $2,$2,$3
  1318. lw $3,20($fp)
  1319. move $4,$3
  1320. sll $3,$4,3
  1321. addu $2,$2,$3
  1322. lw $4,40($fp)
  1323. la $5,$LC1
  1324. move $6,$2
  1325. jal fscanf
  1326. lw $3,24($fp)
  1327. addu $2,$3,$2
  1328. sw $2,24($fp)
  1329. $L59:
  1330. lw $3,16($fp)
  1331. addu $2,$3,1
  1332. move $3,$2
  1333. sw $3,16($fp)
  1334. j $L57
  1335. $L58:
  1336. $L55:
  1337. lw $3,20($fp)
  1338. addu $2,$3,1
  1339. move $3,$2
  1340. sw $3,20($fp)
  1341. j $L53
  1342. $L54:
  1343. addu $2,$fp,48
  1344. move $4,$2
  1345. li $5,0x00000050 # 80
  1346. lw $6,40($fp)
  1347. jal fgets
  1348. lw $2,24($fp)
  1349. li $3,0x00000012 # 18
  1350. beq $2,$3,$L61
  1351. la $4,$LC61
  1352. jal printf
  1353. li $4,0x00000001 # 1
  1354. jal exit
  1355. $L61:
  1356. sw $0,24($fp)
  1357. sw $0,20($fp)
  1358. $L62:
  1359. lw $2,20($fp)
  1360. slt $3,$2,3
  1361. bne $3,$0,$L65
  1362. j $L63
  1363. $L65:
  1364. sw $0,16($fp)
  1365. $L66:
  1366. lw $2,16($fp)
  1367. slt $3,$2,6
  1368. bne $3,$0,$L69
  1369. j $L67
  1370. $L69:
  1371. lw $2,16($fp)
  1372. move $4,$2
  1373. sll $3,$4,1
  1374. addu $3,$3,$2
  1375. sll $2,$3,3
  1376. lw $3,152($fp)
  1377. addu $2,$2,$3
  1378. lw $3,20($fp)
  1379. move $4,$3
  1380. sll $3,$4,3
  1381. addu $2,$2,$3
  1382. lw $4,40($fp)
  1383. la $5,$LC1
  1384. move $6,$2
  1385. jal fscanf
  1386. lw $3,24($fp)
  1387. addu $2,$3,$2
  1388. sw $2,24($fp)
  1389. $L68:
  1390. lw $3,16($fp)
  1391. addu $2,$3,1
  1392. move $3,$2
  1393. sw $3,16($fp)
  1394. j $L66
  1395. $L67:
  1396. $L64:
  1397. lw $3,20($fp)
  1398. addu $2,$3,1
  1399. move $3,$2
  1400. sw $3,20($fp)
  1401. j $L62
  1402. $L63:
  1403. addu $2,$fp,48
  1404. move $4,$2
  1405. li $5,0x00000050 # 80
  1406. lw $6,40($fp)
  1407. jal fgets
  1408. lw $2,24($fp)
  1409. li $3,0x00000012 # 18
  1410. beq $2,$3,$L70
  1411. la $4,$LC61
  1412. jal printf
  1413. li $4,0x00000001 # 1
  1414. jal exit
  1415. $L70:
  1416. lw $4,40($fp)
  1417. jal fclose
  1418. sw $0,20($fp)
  1419. $L71:
  1420. lw $2,20($fp)
  1421. slt $3,$2,3
  1422. bne $3,$0,$L74
  1423. j $L72
  1424. $L74:
  1425. lw $2,20($fp)
  1426. move $3,$2
  1427. sll $2,$3,3
  1428. lw $3,144($fp)
  1429. addu $2,$2,$3
  1430. l.d $f0,0($2)
  1431. l.d $f2,$LC62
  1432. c.lt.d $f0,$f2
  1433. bc1t $L76
  1434. lw $2,20($fp)
  1435. move $3,$2
  1436. sll $2,$3,3
  1437. lw $3,144($fp)
  1438. addu $2,$2,$3
  1439. l.d $f0,0($2)
  1440. l.d $f2,$LC63
  1441. c.le.d $f2,$f0
  1442. bc1t $L76
  1443. j $L75
  1444. $L76:
  1445. la $4,$LC64
  1446. jal printf
  1447. move $2,$0
  1448. j $L46
  1449. $L75:
  1450. lw $2,20($fp)
  1451. move $3,$2
  1452. sll $2,$3,3
  1453. lw $4,144($fp)
  1454. addu $3,$2,$4
  1455. addu $2,$3,24
  1456. lw $3,20($fp)
  1457. move $4,$3
  1458. sll $3,$4,3
  1459. lw $4,144($fp)
  1460. addu $3,$3,$4
  1461. l.d $f0,0($3)
  1462. s.d $f0,0($2)
  1463. dsz 32($fp)
  1464. sw $0,16($fp)
  1465. $L77:
  1466. lw $2,16($fp)
  1467. slt $3,$2,6
  1468. bne $3,$0,$L80
  1469. j $L78
  1470. $L80:
  1471. lw $3,16($fp)
  1472. lw $2,20($fp)
  1473. move $4,$2
  1474. sll $2,$4,3
  1475. move $5,$3
  1476. sll $4,$5,1
  1477. addu $4,$4,$3
  1478. sll $3,$4,3
  1479. lw $4,148($fp)
  1480. addu $3,$3,$4
  1481. addu $2,$2,$3
  1482. l.d $f0,0($2)
  1483. mtc1 $0,$f2
  1484. mtc1 $0,$f3
  1485. c.lt.d $f0,$f2
  1486. bc1t $L82
  1487. lw $3,16($fp)
  1488. lw $2,20($fp)
  1489. move $4,$2
  1490. sll $2,$4,3
  1491. move $5,$3
  1492. sll $4,$5,1
  1493. addu $4,$4,$3
  1494. sll $3,$4,3
  1495. lw $4,148($fp)
  1496. addu $3,$3,$4
  1497. addu $2,$2,$3
  1498. l.d $f0,0($2)
  1499. l.d $f2,$LC65
  1500. c.lt.d $f2,$f0
  1501. bc1t $L82
  1502. j $L81
  1503. $L82:
  1504. la $4,$LC66
  1505. jal printf
  1506. move $2,$0
  1507. j $L46
  1508. $L81:
  1509. lw $3,16($fp)
  1510. lw $2,20($fp)
  1511. move $4,$2
  1512. sll $2,$4,3
  1513. move $5,$3
  1514. sll $4,$5,1
  1515. addu $4,$4,$3
  1516. sll $3,$4,3
  1517. lw $4,152($fp)
  1518. addu $3,$3,$4
  1519. addu $2,$2,$3
  1520. l.d $f0,0($2)
  1521. mtc1 $0,$f2
  1522. mtc1 $0,$f3
  1523. c.lt.d $f0,$f2
  1524. bc1f $L83
  1525. la $4,$LC67
  1526. jal printf
  1527. move $2,$0
  1528. j $L46
  1529. $L83:
  1530. lw $3,16($fp)
  1531. lw $2,20($fp)
  1532. move $4,$2
  1533. sll $2,$4,3
  1534. move $5,$3
  1535. sll $4,$5,1
  1536. addu $4,$4,$3
  1537. sll $3,$4,3
  1538. lw $4,152($fp)
  1539. addu $3,$3,$4
  1540. addu $2,$2,$3
  1541. l.d $f0,32($fp)
  1542. l.d $f2,0($2)
  1543. c.lt.d $f0,$f2
  1544. bc1f $L84
  1545. lw $3,16($fp)
  1546. lw $2,20($fp)
  1547. move $4,$2
  1548. sll $2,$4,3
  1549. move $5,$3
  1550. sll $4,$5,1
  1551. addu $4,$4,$3
  1552. sll $3,$4,3
  1553. lw $4,152($fp)
  1554. addu $3,$3,$4
  1555. addu $2,$2,$3
  1556. l.d $f0,0($2)
  1557. s.d $f0,32($fp)
  1558. $L84:
  1559. $L79:
  1560. lw $3,16($fp)
  1561. addu $2,$3,1
  1562. move $3,$2
  1563. sw $3,16($fp)
  1564. j $L77
  1565. $L78:
  1566. l.d $f0,32($fp)
  1567. mtc1 $0,$f2
  1568. mtc1 $0,$f3
  1569. c.eq.d $f0,$f2
  1570. bc1f $L85
  1571. la $4,$LC68
  1572. jal printf
  1573. move $2,$0
  1574. j $L46
  1575. $L85:
  1576. $L73:
  1577. lw $3,20($fp)
  1578. addu $2,$3,1
  1579. move $3,$2
  1580. sw $3,20($fp)
  1581. j $L71
  1582. $L72:
  1583. lw $3,144($fp)
  1584. addu $2,$3,48
  1585. lw $4,144($fp)
  1586. addu $3,$4,24
  1587. l.d $f0,0($3)
  1588. s.d $f0,0($2)
  1589. li $2,0x00000001 # 1
  1590. j $L46
  1591. $L46:
  1592. move $sp,$fp # sp not trusted here
  1593. lw $31,140($sp)
  1594. lw $fp,136($sp)
  1595. addu $sp,$sp,144
  1596. j $31
  1597. .end Reader
  1598. .loc 1 504
  1599. .ent Region
  1600. Region:
  1601. .frame $fp,120,$31 # vars= 88, regs= 2/1, args= 16, extra= 0
  1602. .mask 0xc0000000,-12
  1603. .fmask 0x00300000,-4
  1604. subu $sp,$sp,120
  1605. sw $31,108($sp)
  1606. sw $fp,104($sp)
  1607. s.d $f20,112($sp)
  1608. move $fp,$sp
  1609. sw $4,120($fp)
  1610. sw $5,124($fp)
  1611. sw $6,128($fp)
  1612. sw $7,132($fp)
  1613. lw $2,128($fp)
  1614. lw $4,128($fp)
  1615. addu $3,$4,8
  1616. l.d $f0,0($2)
  1617. l.d $f2,0($3)
  1618. mul.d $f20,$f0,$f2
  1619. lw $3,128($fp)
  1620. addu $2,$3,8
  1621. lw $4,128($fp)
  1622. addu $3,$4,16
  1623. l.d $f0,0($2)
  1624. l.d $f2,0($3)
  1625. mul.d $f0,$f0,$f2
  1626. add.d $f20,$f20,$f0
  1627. lw $3,128($fp)
  1628. addu $2,$3,16
  1629. lw $3,128($fp)
  1630. l.d $f0,0($2)
  1631. l.d $f2,0($3)
  1632. mul.d $f0,$f0,$f2
  1633. add.d $f20,$f20,$f0
  1634. add.d $f0,$f20,$f20
  1635. s.d $f0,64($fp)
  1636. dsz 72($fp)
  1637. l.s $f0,120($fp)
  1638. #nop
  1639. cvt.d.w $f0,$f0
  1640. s.d $f0,80($fp)
  1641. lw $2,124($fp)
  1642. sw $0,0($2)
  1643. sw $0,24($fp)
  1644. $L87:
  1645. lw $2,24($fp)
  1646. slt $3,$2,5
  1647. bne $3,$0,$L90
  1648. j $L88
  1649. $L90:
  1650. lw $2,24($fp)
  1651. move $3,$2
  1652. sll $2,$3,3
  1653. lw $3,128($fp)
  1654. addu $2,$2,$3
  1655. lw $3,24($fp)
  1656. move $4,$3
  1657. sll $3,$4,3
  1658. lw $4,128($fp)
  1659. addu $3,$3,$4
  1660. addu $4,$3,8
  1661. l.d $f0,0($2)
  1662. l.d $f2,0($4)
  1663. mul.d $f0,$f0,$f2
  1664. l.d $f2,72($fp)
  1665. add.d $f0,$f2,$f0
  1666. s.d $f0,72($fp)
  1667. lw $2,24($fp)
  1668. move $3,$2
  1669. sll $2,$3,3
  1670. lw $4,124($fp)
  1671. addu $3,$2,$4
  1672. addu $2,$3,4
  1673. l.d $f0,80($fp)
  1674. l.d $f2,72($fp)
  1675. mul.d $f0,$f0,$f2
  1676. l.d $f2,64($fp)
  1677. div.d $f0,$f0,$f2
  1678. l.d $f2,$LC69
  1679. add.d $f0,$f0,$f2
  1680. trunc.w.d $f4,$f0,$8
  1681. mfc1 $3,$f4
  1682. subu $4,$3,1
  1683. sw $4,0($2)
  1684. lw $2,24($fp)
  1685. move $3,$2
  1686. sll $2,$3,3
  1687. lw $4,124($fp)
  1688. addu $3,$2,$4
  1689. addu $2,$3,8
  1690. lw $3,24($fp)
  1691. move $4,$3
  1692. sll $3,$4,3
  1693. lw $4,124($fp)
  1694. addu $3,$3,$4
  1695. addu $4,$3,4
  1696. lw $3,0($4)
  1697. addu $4,$3,1
  1698. sw $4,0($2)
  1699. $L89:
  1700. lw $3,24($fp)
  1701. addu $2,$3,1
  1702. move $3,$2
  1703. sw $3,24($fp)
  1704. j $L87
  1705. $L88:
  1706. lw $3,124($fp)
  1707. addu $2,$3,44
  1708. lw $3,120($fp)
  1709. subu $4,$3,1
  1710. sw $4,0($2)
  1711. sw $0,24($fp)
  1712. $L91:
  1713. lw $2,24($fp)
  1714. slt $3,$2,6
  1715. bne $3,$0,$L94
  1716. j $L92
  1717. $L94:
  1718. lw $2,24($fp)
  1719. move $3,$2
  1720. sll $2,$3,3
  1721. lw $4,124($fp)
  1722. addu $3,$2,$4
  1723. addu $2,$3,4
  1724. lw $3,24($fp)
  1725. move $4,$3
  1726. sll $3,$4,3
  1727. lw $4,124($fp)
  1728. addu $3,$3,$4
  1729. lw $2,0($2)
  1730. lw $3,0($3)
  1731. subu $2,$2,$3
  1732. addu $3,$2,1
  1733. sw $3,48($fp)
  1734. dsz 80($fp)
  1735. lw $2,24($fp)
  1736. slt $3,$2,3
  1737. bne $3,$0,$L95
  1738. lw $2,24($fp)
  1739. move $3,$2
  1740. sll $2,$3,3
  1741. lw $3,128($fp)
  1742. addu $2,$2,$3
  1743. subu $3,$2,8
  1744. l.d $f0,0($3)
  1745. s.d $f0,80($fp)
  1746. $L95:
  1747. l.s $f0,48($fp)
  1748. #nop
  1749. cvt.d.w $f0,$f0
  1750. lw $2,24($fp)
  1751. move $3,$2
  1752. sll $2,$3,3
  1753. lw $3,128($fp)
  1754. addu $2,$2,$3
  1755. l.d $f2,0($2)
  1756. mul.d $f0,$f0,$f2
  1757. lw $2,24($fp)
  1758. move $3,$2
  1759. sll $2,$3,3
  1760. lw $3,128($fp)
  1761. addu $2,$2,$3
  1762. addu $3,$2,8
  1763. l.d $f2,0($3)
  1764. div.d $f0,$f0,$f2
  1765. mov.d $f12,$f0
  1766. jal sqrt
  1767. l.d $f2,$LC69
  1768. add.d $f0,$f0,$f2
  1769. trunc.w.d $f4,$f0,$8
  1770. s.s $f4,44($fp)
  1771. lw $2,44($fp)
  1772. lw $3,48($fp)
  1773. slt $2,$3,$2
  1774. beq $2,$0,$L96
  1775. lw $2,48($fp)
  1776. sw $2,44($fp)
  1777. $L96:
  1778. lw $2,44($fp)
  1779. bne $2,$0,$L97
  1780. li $2,0x00000001 # 1
  1781. sw $2,44($fp)
  1782. $L97:
  1783. lw $2,24($fp)
  1784. move $3,$2
  1785. sll $2,$3,3
  1786. lw $3,128($fp)
  1787. addu $2,$2,$3
  1788. l.s $f0,44($fp)
  1789. #nop
  1790. cvt.d.w $f0,$f0
  1791. l.d $f2,0($2)
  1792. div.d $f0,$f2,$f0
  1793. s.d $f0,96($fp)
  1794. lw $2,44($fp)
  1795. subu $3,$2,1
  1796. sw $3,28($fp)
  1797. dsz 64($fp)
  1798. sw $0,16($fp)
  1799. $L98:
  1800. lw $2,16($fp)
  1801. lw $3,44($fp)
  1802. slt $2,$2,$3
  1803. bne $2,$0,$L101
  1804. j $L99
  1805. $L101:
  1806. lw $2,28($fp)
  1807. lw $3,44($fp)
  1808. div $2,$2,$3
  1809. sw $2,32($fp)
  1810. lw $2,28($fp)
  1811. lw $3,48($fp)
  1812. addu $2,$2,$3
  1813. lw $3,44($fp)
  1814. div $2,$2,$3
  1815. lw $3,32($fp)
  1816. subu $2,$2,$3
  1817. sw $2,52($fp)
  1818. lw $2,52($fp)
  1819. bne $2,$0,$L102
  1820. la $4,$LC70
  1821. jal printf
  1822. move $2,$0
  1823. j $L86
  1824. $L102:
  1825. lw $2,24($fp)
  1826. move $3,$2
  1827. sll $2,$3,3
  1828. lw $3,128($fp)
  1829. addu $2,$2,$3
  1830. addu $3,$2,8
  1831. l.s $f0,52($fp)
  1832. #nop
  1833. cvt.d.w $f0,$f0
  1834. l.d $f2,0($3)
  1835. div.d $f0,$f2,$f0
  1836. s.d $f0,56($fp)
  1837. dsz 72($fp)
  1838. l.d $f0,96($fp)
  1839. l.d $f2,56($fp)
  1840. mul.d $f0,$f0,$f2
  1841. l.d $f2,$LC71
  1842. mul.d $f0,$f0,$f2
  1843. s.d $f0,88($fp)
  1844. lw $2,24($fp)
  1845. move $3,$2
  1846. sll $2,$3,3
  1847. lw $3,124($fp)
  1848. addu $2,$2,$3
  1849. lw $3,0($2)
  1850. lw $2,32($fp)
  1851. addu $3,$3,$2
  1852. sw $3,40($fp)
  1853. lw $2,40($fp)
  1854. lw $3,52($fp)
  1855. addu $2,$2,$3
  1856. sw $2,36($fp)
  1857. lw $2,40($fp)
  1858. sw $2,20($fp)
  1859. $L103:
  1860. lw $2,20($fp)
  1861. lw $3,36($fp)
  1862. slt $2,$2,$3
  1863. bne $2,$0,$L106
  1864. j $L104
  1865. $L106:
  1866. lw $2,20($fp)
  1867. move $3,$2
  1868. sll $2,$3,3
  1869. lw $3,136($fp)
  1870. addu $2,$2,$3
  1871. l.d $f0,96($fp)
  1872. s.d $f0,0($2)
  1873. lw $2,20($fp)
  1874. move $3,$2
  1875. sll $2,$3,3
  1876. lw $3,136($fp)
  1877. addu $2,$2,$3
  1878. addu $3,$2,16384
  1879. l.d $f0,56($fp)
  1880. s.d $f0,0($3)
  1881. lw $2,20($fp)
  1882. move $3,$2
  1883. sll $2,$3,3
  1884. lw $3,132($fp)
  1885. addu $2,$2,$3
  1886. l.d $f0,64($fp)
  1887. s.d $f0,0($2)
  1888. lw $2,20($fp)
  1889. move $3,$2
  1890. sll $2,$3,3
  1891. lw $3,132($fp)
  1892. addu $2,$2,$3
  1893. addu $3,$2,16384
  1894. l.d $f0,72($fp)
  1895. s.d $f0,0($3)
  1896. lw $2,20($fp)
  1897. move $3,$2
  1898. sll $2,$3,3
  1899. lw $3,132($fp)
  1900. addu $2,$2,$3
  1901. li $3,0x00008000 # 32768
  1902. addu $2,$2,$3
  1903. l.d $f0,80($fp)
  1904. s.d $f0,0($2)
  1905. lw $2,20($fp)
  1906. move $3,$2
  1907. sll $2,$3,3
  1908. lw $3,140($fp)
  1909. addu $2,$2,$3
  1910. l.d $f0,88($fp)
  1911. s.d $f0,0($2)
  1912. l.d $f0,72($fp)
  1913. l.d $f2,56($fp)
  1914. add.d $f0,$f0,$f2
  1915. s.d $f0,72($fp)
  1916. $L105:
  1917. lw $3,20($fp)
  1918. addu $2,$3,1
  1919. move $3,$2
  1920. sw $3,20($fp)
  1921. j $L103
  1922. $L104:
  1923. l.d $f0,64($fp)
  1924. l.d $f2,96($fp)
  1925. add.d $f0,$f0,$f2
  1926. s.d $f0,64($fp)
  1927. lw $2,28($fp)
  1928. lw $3,48($fp)
  1929. addu $2,$2,$3
  1930. sw $2,28($fp)
  1931. $L100:
  1932. lw $3,16($fp)
  1933. addu $2,$3,1
  1934. move $3,$2
  1935. sw $3,16($fp)
  1936. j $L98
  1937. $L99:
  1938. $L93:
  1939. lw $3,24($fp)
  1940. addu $2,$3,1
  1941. move $3,$2
  1942. sw $3,24($fp)
  1943. j $L91
  1944. $L92:
  1945. li $2,0x00000001 # 1
  1946. j $L86
  1947. $L86:
  1948. move $sp,$fp # sp not trusted here
  1949. lw $31,108($sp)
  1950. lw $fp,104($sp)
  1951. l.d $f20,112($sp)
  1952. addu $sp,$sp,120
  1953. j $31
  1954. .end Region
  1955. .loc 1 590
  1956. .ent SetUp1
  1957. SetUp1:
  1958. .frame $fp,256,$31 # vars= 232, regs= 2/0, args= 16, extra= 0
  1959. .mask 0xc0000000,-4
  1960. .fmask 0x00000000,0
  1961. subu $sp,$sp,256
  1962. sw $31,252($sp)
  1963. sw $fp,248($sp)
  1964. move $fp,$sp
  1965. sw $4,256($fp)
  1966. sw $5,260($fp)
  1967. sw $6,264($fp)
  1968. sw $7,268($fp)
  1969. sw $0,36($fp)
  1970. $L108:
  1971. lw $2,36($fp)
  1972. slt $3,$2,3
  1973. bne $3,$0,$L111
  1974. j $L109
  1975. $L111:
  1976. lw $2,36($fp)
  1977. addu $3,$2,3
  1978. sw $3,44($fp)
  1979. lw $2,44($fp)
  1980. move $3,$2
  1981. sll $2,$3,3
  1982. lw $3,260($fp)
  1983. addu $2,$2,$3
  1984. lw $3,0($2)
  1985. move $2,$3
  1986. sll $3,$2,3
  1987. lw $4,268($fp)
  1988. addu $2,$3,$4
  1989. li $3,0x00008000 # 32768
  1990. addu $2,$2,$3
  1991. lw $3,44($fp)
  1992. move $4,$3
  1993. sll $3,$4,3
  1994. lw $4,260($fp)
  1995. addu $3,$3,$4
  1996. lw $4,0($3)
  1997. move $3,$4
  1998. sll $4,$3,3
  1999. lw $5,268($fp)
  2000. addu $3,$4,$5
  2001. li $4,0x00008000 # 32768
  2002. addu $3,$3,$4
  2003. l.d $f0,0($2)
  2004. l.d $f2,0($3)
  2005. mul.d $f0,$f0,$f2
  2006. s.d $f0,184($fp)
  2007. l.d $f0,184($fp)
  2008. l.d $f2,184($fp)
  2009. add.d $f0,$f0,$f2
  2010. s.d $f0,224($fp)
  2011. lw $2,36($fp)
  2012. move $3,$2
  2013. sll $2,$3,3
  2014. lw $3,260($fp)
  2015. addu $2,$2,$3
  2016. lw $3,0($2)
  2017. sw $3,40($fp)
  2018. $L112:
  2019. lw $2,36($fp)
  2020. move $3,$2
  2021. sll $2,$3,3
  2022. lw $3,260($fp)
  2023. addu $2,$2,$3
  2024. addu $3,$2,4
  2025. lw $2,40($fp)
  2026. lw $3,0($3)
  2027. slt $2,$3,$2
  2028. beq $2,$0,$L115
  2029. j $L113
  2030. $L115:
  2031. lw $2,44($fp)
  2032. move $3,$2
  2033. sll $2,$3,3
  2034. lw $3,260($fp)
  2035. addu $2,$2,$3
  2036. lw $3,0($2)
  2037. sw $3,48($fp)
  2038. $L116:
  2039. lw $2,44($fp)
  2040. move $3,$2
  2041. sll $2,$3,3
  2042. lw $3,260($fp)
  2043. addu $2,$2,$3
  2044. addu $3,$2,4
  2045. lw $2,48($fp)
  2046. lw $3,0($3)
  2047. slt $2,$3,$2
  2048. beq $2,$0,$L119
  2049. j $L117
  2050. $L119:
  2051. sw $0,20($fp)
  2052. $L120:
  2053. lw $2,20($fp)
  2054. slt $3,$2,2
  2055. bne $3,$0,$L123
  2056. j $L121
  2057. $L123:
  2058. lw $2,20($fp)
  2059. move $3,$2
  2060. sll $2,$3,3
  2061. addu $4,$fp,16
  2062. addu $3,$2,$4
  2063. addu $2,$3,40
  2064. lw $4,20($fp)
  2065. lw $3,48($fp)
  2066. move $5,$3
  2067. sll $3,$5,3
  2068. sll $5,$4,14
  2069. lw $6,268($fp)
  2070. addu $4,$5,$6
  2071. addu $3,$3,$4
  2072. lw $5,20($fp)
  2073. lw $4,40($fp)
  2074. move $6,$4
  2075. sll $4,$6,3
  2076. sll $6,$5,14
  2077. lw $7,268($fp)
  2078. addu $5,$6,$7
  2079. addu $4,$4,$5
  2080. l.d $f0,0($3)
  2081. l.d $f2,0($4)
  2082. sub.d $f0,$f0,$f2
  2083. s.d $f0,0($2)
  2084. lw $2,20($fp)
  2085. move $3,$2
  2086. sll $2,$3,3
  2087. addu $4,$fp,16
  2088. addu $3,$2,$4
  2089. addu $2,$3,72
  2090. lw $3,20($fp)
  2091. move $4,$3
  2092. sll $3,$4,3
  2093. addu $5,$fp,16
  2094. addu $4,$3,$5
  2095. addu $3,$4,40
  2096. lw $5,20($fp)
  2097. lw $4,48($fp)
  2098. move $6,$4
  2099. sll $4,$6,3
  2100. sll $6,$5,14
  2101. lw $7,272($fp)
  2102. addu $5,$6,$7
  2103. addu $4,$4,$5
  2104. l.d $f0,0($3)
  2105. l.d $f2,0($4)
  2106. add.d $f0,$f0,$f2
  2107. s.d $f0,0($2)
  2108. lw $2,20($fp)
  2109. move $3,$2
  2110. sll $2,$3,3
  2111. addu $4,$fp,16
  2112. addu $3,$2,$4
  2113. addu $2,$3,56
  2114. lw $3,20($fp)
  2115. move $4,$3
  2116. sll $3,$4,3
  2117. addu $5,$fp,16
  2118. addu $4,$3,$5
  2119. addu $3,$4,40
  2120. lw $5,20($fp)
  2121. lw $4,40($fp)
  2122. move $6,$4
  2123. sll $4,$6,3
  2124. sll $6,$5,14
  2125. lw $7,272($fp)
  2126. addu $5,$6,$7
  2127. addu $4,$4,$5
  2128. l.d $f0,0($3)
  2129. l.d $f2,0($4)
  2130. sub.d $f0,$f0,$f2
  2131. s.d $f0,0($2)
  2132. lw $2,20($fp)
  2133. move $3,$2
  2134. sll $2,$3,3
  2135. addu $4,$fp,16
  2136. addu $3,$2,$4
  2137. addu $2,$3,88
  2138. lw $3,20($fp)
  2139. move $4,$3
  2140. sll $3,$4,3
  2141. addu $5,$fp,16
  2142. addu $4,$3,$5
  2143. addu $3,$4,72
  2144. lw $5,20($fp)
  2145. lw $4,40($fp)
  2146. move $6,$4
  2147. sll $4,$6,3
  2148. sll $6,$5,14
  2149. lw $7,272($fp)
  2150. addu $5,$6,$7
  2151. addu $4,$4,$5
  2152. l.d $f0,0($3)
  2153. l.d $f2,0($4)
  2154. sub.d $f0,$f0,$f2
  2155. s.d $f0,0($2)
  2156. lw $2,20($fp)
  2157. move $3,$2
  2158. sll $2,$3,3
  2159. addu $4,$fp,16
  2160. addu $3,$2,$4
  2161. addu $2,$3,104
  2162. lw $3,20($fp)
  2163. move $4,$3
  2164. sll $3,$4,3
  2165. addu $5,$fp,16
  2166. addu $4,$3,$5
  2167. addu $3,$4,40
  2168. lw $4,20($fp)
  2169. move $5,$4
  2170. sll $4,$5,3
  2171. addu $5,$fp,16
  2172. addu $4,$4,$5
  2173. addu $5,$4,40
  2174. l.d $f0,0($3)
  2175. l.d $f2,0($5)
  2176. mul.d $f0,$f0,$f2
  2177. s.d $f0,0($2)
  2178. lw $2,20($fp)
  2179. move $3,$2
  2180. sll $2,$3,3
  2181. addu $4,$fp,16
  2182. addu $3,$2,$4
  2183. addu $2,$3,136
  2184. lw $3,20($fp)
  2185. move $4,$3
  2186. sll $3,$4,3
  2187. addu $5,$fp,16
  2188. addu $4,$3,$5
  2189. addu $3,$4,72
  2190. lw $4,20($fp)
  2191. move $5,$4
  2192. sll $4,$5,3
  2193. addu $5,$fp,16
  2194. addu $4,$4,$5
  2195. addu $5,$4,72
  2196. l.d $f0,0($3)
  2197. l.d $f2,0($5)
  2198. mul.d $f0,$f0,$f2
  2199. s.d $f0,0($2)
  2200. lw $2,20($fp)
  2201. move $3,$2
  2202. sll $2,$3,3
  2203. addu $4,$fp,16
  2204. addu $3,$2,$4
  2205. addu $2,$3,120
  2206. lw $3,20($fp)
  2207. move $4,$3
  2208. sll $3,$4,3
  2209. addu $5,$fp,16
  2210. addu $4,$3,$5
  2211. addu $3,$4,56
  2212. lw $4,20($fp)
  2213. move $5,$4
  2214. sll $4,$5,3
  2215. addu $5,$fp,16
  2216. addu $4,$4,$5
  2217. addu $5,$4,56
  2218. l.d $f0,0($3)
  2219. l.d $f2,0($5)
  2220. mul.d $f0,$f0,$f2
  2221. s.d $f0,0($2)
  2222. lw $2,20($fp)
  2223. move $3,$2
  2224. sll $2,$3,3
  2225. addu $4,$fp,16
  2226. addu $3,$2,$4
  2227. addu $2,$3,152
  2228. lw $3,20($fp)
  2229. move $4,$3
  2230. sll $3,$4,3
  2231. addu $5,$fp,16
  2232. addu $4,$3,$5
  2233. addu $3,$4,88
  2234. lw $4,20($fp)
  2235. move $5,$4
  2236. sll $4,$5,3
  2237. addu $5,$fp,16
  2238. addu $4,$4,$5
  2239. addu $5,$4,88
  2240. l.d $f0,0($3)
  2241. l.d $f2,0($5)
  2242. mul.d $f0,$f0,$f2
  2243. s.d $f0,0($2)
  2244. $L122:
  2245. lw $3,20($fp)
  2246. addu $2,$3,1
  2247. move $3,$2
  2248. sw $3,20($fp)
  2249. j $L120
  2250. $L121:
  2251. dsz 192($fp)
  2252. sw $0,28($fp)
  2253. $L124:
  2254. lw $2,28($fp)
  2255. slt $3,$2,2
  2256. bne $3,$0,$L127
  2257. j $L125
  2258. $L127:
  2259. sw $0,16($fp)
  2260. $L128:
  2261. lw $2,16($fp)
  2262. slt $3,$2,2
  2263. bne $3,$0,$L131
  2264. j $L129
  2265. $L131:
  2266. lw $2,16($fp)
  2267. move $3,$2
  2268. sll $2,$3,4
  2269. lw $3,28($fp)
  2270. move $4,$3
  2271. sll $3,$4,5
  2272. addu $2,$2,$3
  2273. addu $3,$fp,120
  2274. addu $2,$3,$2
  2275. l.d $f0,8($2)
  2276. l.d $f2,184($fp)
  2277. add.d $f0,$f0,$f2
  2278. s.d $f0,200($fp)
  2279. l.d $f12,200($fp)
  2280. jal sqrt
  2281. s.d $f0,208($fp)
  2282. l.d $f0,$LC72
  2283. l.d $f2,208($fp)
  2284. div.d $f0,$f0,$f2
  2285. s.d $f0,216($fp)
  2286. dsz 240($fp)
  2287. sw $0,24($fp)
  2288. $L132:
  2289. lw $2,24($fp)
  2290. slt $3,$2,2
  2291. bne $3,$0,$L135
  2292. j $L133
  2293. $L135:
  2294. sw $0,32($fp)
  2295. $L136:
  2296. lw $2,32($fp)
  2297. slt $3,$2,2
  2298. bne $3,$0,$L139
  2299. j $L137
  2300. $L139:
  2301. lw $2,32($fp)
  2302. move $3,$2
  2303. sll $2,$3,4
  2304. lw $3,24($fp)
  2305. move $4,$3
  2306. sll $3,$4,5
  2307. addu $2,$2,$3
  2308. addu $3,$fp,56
  2309. addu $2,$3,$2
  2310. l.d $f0,0($2)
  2311. s.d $f0,232($fp)
  2312. l.d $f0,232($fp)
  2313. l.d $f2,216($fp)
  2314. mul.d $f0,$f0,$f2
  2315. mov.d $f12,$f0
  2316. jal atan
  2317. l.d $f4,232($fp)
  2318. neg.d $f2,$f4
  2319. mul.d $f0,$f2,$f0
  2320. l.d $f2,240($fp)
  2321. sub.d $f0,$f0,$f2
  2322. s.d $f0,240($fp)
  2323. $L138:
  2324. lw $3,32($fp)
  2325. addu $2,$3,1
  2326. move $3,$2
  2327. sw $3,32($fp)
  2328. j $L136
  2329. $L137:
  2330. l.d $f0,240($fp)
  2331. neg.d $f2,$f0
  2332. s.d $f2,240($fp)
  2333. $L134:
  2334. lw $3,24($fp)
  2335. addu $2,$3,1
  2336. move $3,$2
  2337. sw $3,24($fp)
  2338. j $L132
  2339. $L133:
  2340. l.d $f0,152($fp)
  2341. l.d $f2,200($fp)
  2342. add.d $f0,$f0,$f2
  2343. l.d $f2,136($fp)
  2344. l.d $f4,200($fp)
  2345. add.d $f2,$f2,$f4
  2346. mul.d $f0,$f0,$f2
  2347. l.d $f2,120($fp)
  2348. l.d $f4,200($fp)
  2349. add.d $f2,$f2,$f4
  2350. l.d $f4,168($fp)
  2351. l.d $f6,200($fp)
  2352. add.d $f4,$f4,$f6
  2353. mul.d $f2,$f2,$f4
  2354. div.d $f0,$f0,$f2
  2355. mov.d $f12,$f0
  2356. jal log
  2357. l.d $f2,208($fp)
  2358. l.d $f4,$LC73
  2359. mul.d $f2,$f2,$f4
  2360. l.d $f4,240($fp)
  2361. mul.d $f2,$f2,$f4
  2362. l.d $f4,192($fp)
  2363. sub.d $f2,$f2,$f4
  2364. l.d $f4,224($fp)
  2365. mul.d $f0,$f0,$f4
  2366. sub.d $f2,$f2,$f0
  2367. s.d $f2,192($fp)
  2368. $L130:
  2369. lw $3,16($fp)
  2370. addu $2,$3,1
  2371. move $3,$2
  2372. sw $3,16($fp)
  2373. j $L128
  2374. $L129:
  2375. l.d $f0,192($fp)
  2376. neg.d $f2,$f0
  2377. s.d $f2,192($fp)
  2378. $L126:
  2379. lw $3,28($fp)
  2380. addu $2,$3,1
  2381. move $3,$2
  2382. sw $3,28($fp)
  2383. j $L124
  2384. $L125:
  2385. .set noreorder
  2386. nop
  2387. .set reorder
  2388. sw $0,28($fp)
  2389. $L140:
  2390. lw $2,28($fp)
  2391. slt $3,$2,2
  2392. bne $3,$0,$L143
  2393. j $L141
  2394. $L143:
  2395. sw $0,16($fp)
  2396. $L144:
  2397. lw $2,16($fp)
  2398. slt $3,$2,2
  2399. bne $3,$0,$L147
  2400. j $L145
  2401. $L147:
  2402. lw $2,16($fp)
  2403. move $3,$2
  2404. sll $2,$3,4
  2405. lw $3,28($fp)
  2406. move $4,$3
  2407. sll $3,$4,5
  2408. addu $2,$2,$3
  2409. addu $3,$fp,120
  2410. addu $2,$3,$2
  2411. l.d $f0,0($2)
  2412. l.d $f2,184($fp)
  2413. add.d $f0,$f0,$f2
  2414. mov.d $f12,$f0
  2415. jal sqrt
  2416. s.d $f0,208($fp)
  2417. l.d $f0,$LC72
  2418. l.d $f2,208($fp)
  2419. div.d $f0,$f0,$f2
  2420. s.d $f0,216($fp)
  2421. dsz 240($fp)
  2422. sw $0,24($fp)
  2423. $L148:
  2424. lw $2,24($fp)
  2425. slt $3,$2,2
  2426. bne $3,$0,$L151
  2427. j $L149
  2428. $L151:
  2429. sw $0,32($fp)
  2430. $L152:
  2431. lw $2,32($fp)
  2432. slt $3,$2,2
  2433. bne $3,$0,$L155
  2434. j $L153
  2435. $L155:
  2436. lw $2,32($fp)
  2437. move $3,$2
  2438. sll $2,$3,4
  2439. lw $3,24($fp)
  2440. move $4,$3
  2441. sll $3,$4,5
  2442. addu $2,$2,$3
  2443. addu $3,$fp,56
  2444. addu $2,$3,$2
  2445. l.d $f0,8($2)
  2446. s.d $f0,232($fp)
  2447. l.d $f0,232($fp)
  2448. l.d $f2,216($fp)
  2449. mul.d $f0,$f0,$f2
  2450. mov.d $f12,$f0
  2451. jal atan
  2452. l.d $f4,232($fp)
  2453. neg.d $f2,$f4
  2454. mul.d $f0,$f2,$f0
  2455. l.d $f2,240($fp)
  2456. sub.d $f0,$f0,$f2
  2457. s.d $f0,240($fp)
  2458. $L154:
  2459. lw $3,32($fp)
  2460. addu $2,$3,1
  2461. move $3,$2
  2462. sw $3,32($fp)
  2463. j $L152
  2464. $L153:
  2465. l.d $f0,240($fp)
  2466. neg.d $f2,$f0
  2467. s.d $f2,240($fp)
  2468. $L150:
  2469. lw $3,24($fp)
  2470. addu $2,$3,1
  2471. move $3,$2
  2472. sw $3,24($fp)
  2473. j $L148
  2474. $L149:
  2475. l.d $f0,208($fp)
  2476. l.d $f2,$LC73
  2477. mul.d $f0,$f0,$f2
  2478. l.d $f2,240($fp)
  2479. mul.d $f0,$f0,$f2
  2480. l.d $f2,192($fp)
  2481. sub.d $f0,$f0,$f2
  2482. s.d $f0,192($fp)
  2483. $L146:
  2484. lw $3,16($fp)
  2485. addu $2,$3,1
  2486. move $3,$2
  2487. sw $3,16($fp)
  2488. j $L144
  2489. $L145:
  2490. l.d $f0,192($fp)
  2491. neg.d $f2,$f0
  2492. s.d $f2,192($fp)
  2493. $L142:
  2494. lw $3,28($fp)
  2495. addu $2,$3,1
  2496. move $3,$2
  2497. sw $3,28($fp)
  2498. j $L140
  2499. $L141:
  2500. lw $3,40($fp)
  2501. lw $2,48($fp)
  2502. move $4,$2
  2503. sll $2,$4,3
  2504. sll $4,$3,14
  2505. lw $5,264($fp)
  2506. addu $3,$4,$5
  2507. addu $2,$2,$3
  2508. l.d $f0,192($fp)
  2509. s.d $f0,0($2)
  2510. lw $3,48($fp)
  2511. lw $2,40($fp)
  2512. move $4,$2
  2513. sll $2,$4,3
  2514. sll $4,$3,14
  2515. lw $5,264($fp)
  2516. addu $3,$4,$5
  2517. addu $2,$2,$3
  2518. l.d $f0,192($fp)
  2519. s.d $f0,0($2)
  2520. $L118:
  2521. lw $3,48($fp)
  2522. addu $2,$3,1
  2523. move $3,$2
  2524. sw $3,48($fp)
  2525. j $L116
  2526. $L117:
  2527. $L114:
  2528. lw $3,40($fp)
  2529. addu $2,$3,1
  2530. move $3,$2
  2531. sw $3,40($fp)
  2532. j $L112
  2533. $L113:
  2534. $L110:
  2535. lw $3,36($fp)
  2536. addu $2,$3,1
  2537. move $3,$2
  2538. sw $3,36($fp)
  2539. j $L108
  2540. $L109:
  2541. $L107:
  2542. move $sp,$fp # sp not trusted here
  2543. lw $31,252($sp)
  2544. lw $fp,248($sp)
  2545. addu $sp,$sp,256
  2546. j $31
  2547. .end SetUp1
  2548. .loc 1 673
  2549. .ent SetUp2
  2550. SetUp2:
  2551. .frame $fp,512,$31 # vars= 440, regs= 2/6, args= 16, extra= 0
  2552. .mask 0xc0000000,-52
  2553. .fmask 0xfff00000,-4
  2554. subu $sp,$sp,512
  2555. sw $31,460($sp)
  2556. sw $fp,456($sp)
  2557. s.d $f30,504($sp)
  2558. s.d $f28,496($sp)
  2559. s.d $f26,488($sp)
  2560. s.d $f24,480($sp)
  2561. s.d $f22,472($sp)
  2562. s.d $f20,464($sp)
  2563. move $fp,$sp
  2564. sw $4,512($fp)
  2565. sw $5,516($fp)
  2566. sw $6,520($fp)
  2567. sw $7,524($fp)
  2568. sw $0,20($fp)
  2569. $L157:
  2570. lw $2,20($fp)
  2571. slt $3,$2,6
  2572. bne $3,$0,$L160
  2573. j $L158
  2574. $L160:
  2575. sw $0,16($fp)
  2576. $L161:
  2577. lw $2,16($fp)
  2578. slt $3,$2,2
  2579. bne $3,$0,$L164
  2580. j $L162
  2581. $L164:
  2582. lw $2,20($fp)
  2583. lw $4,16($fp)
  2584. addu $3,$2,$4
  2585. addu $2,$3,1
  2586. li $6,0x2aaaaaab # 715827883
  2587. mult $2,$6
  2588. mfhi $5
  2589. mflo $4
  2590. srl $6,$5,0
  2591. move $7,$0
  2592. sra $4,$2,31
  2593. subu $3,$6,$4
  2594. move $5,$3
  2595. sll $4,$5,1
  2596. addu $4,$4,$3
  2597. sll $3,$4,1
  2598. subu $2,$2,$3
  2599. sw $2,28($fp)
  2600. lw $2,20($fp)
  2601. move $3,$2
  2602. sll $2,$3,3
  2603. lw $3,516($fp)
  2604. addu $2,$2,$3
  2605. lw $3,0($2)
  2606. sw $3,24($fp)
  2607. $L165:
  2608. lw $2,20($fp)
  2609. move $3,$2
  2610. sll $2,$3,3
  2611. lw $3,516($fp)
  2612. addu $2,$2,$3
  2613. addu $3,$2,4
  2614. lw $2,24($fp)
  2615. lw $3,0($3)
  2616. slt $2,$3,$2
  2617. beq $2,$0,$L168
  2618. j $L166
  2619. $L168:
  2620. lw $3,16($fp)
  2621. lw $2,24($fp)
  2622. move $4,$2
  2623. sll $2,$4,3
  2624. sll $4,$3,14
  2625. lw $5,524($fp)
  2626. addu $3,$4,$5
  2627. addu $2,$2,$3
  2628. lw $3,28($fp)
  2629. move $4,$3
  2630. sll $3,$4,3
  2631. lw $4,516($fp)
  2632. addu $3,$3,$4
  2633. lw $4,0($3)
  2634. move $3,$4
  2635. sll $4,$3,3
  2636. lw $5,524($fp)
  2637. addu $3,$4,$5
  2638. li $4,0x00008000 # 32768
  2639. addu $3,$3,$4
  2640. l.d $f0,0($2)
  2641. l.d $f2,0($3)
  2642. sub.d $f0,$f0,$f2
  2643. s.d $f0,216($fp)
  2644. lw $3,16($fp)
  2645. lw $2,24($fp)
  2646. move $4,$2
  2647. sll $2,$4,3
  2648. sll $4,$3,14
  2649. lw $5,528($fp)
  2650. addu $3,$4,$5
  2651. addu $2,$2,$3
  2652. l.d $f0,216($fp)
  2653. l.d $f2,0($2)
  2654. add.d $f0,$f0,$f2
  2655. s.d $f0,224($fp)
  2656. l.d $f0,216($fp)
  2657. l.d $f2,216($fp)
  2658. mul.d $f0,$f0,$f2
  2659. s.d $f0,216($fp)
  2660. l.d $f0,224($fp)
  2661. l.d $f2,224($fp)
  2662. mul.d $f0,$f0,$f2
  2663. s.d $f0,224($fp)
  2664. lw $2,28($fp)
  2665. move $3,$2
  2666. sll $2,$3,3
  2667. lw $3,516($fp)
  2668. addu $2,$2,$3
  2669. lw $3,0($2)
  2670. sw $3,32($fp)
  2671. $L169:
  2672. lw $2,28($fp)
  2673. move $3,$2
  2674. sll $2,$3,3
  2675. lw $3,516($fp)
  2676. addu $2,$2,$3
  2677. addu $3,$2,4
  2678. lw $2,32($fp)
  2679. lw $3,0($3)
  2680. slt $2,$3,$2
  2681. beq $2,$0,$L172
  2682. j $L170
  2683. $L172:
  2684. lw $3,16($fp)
  2685. lw $2,32($fp)
  2686. move $4,$2
  2687. sll $2,$4,3
  2688. sll $4,$3,14
  2689. lw $5,524($fp)
  2690. addu $3,$4,$5
  2691. addu $2,$2,$3
  2692. li $3,0x00000001 # 1
  2693. lw $5,16($fp)
  2694. subu $4,$3,$5
  2695. lw $3,24($fp)
  2696. move $5,$3
  2697. sll $3,$5,3
  2698. sll $5,$4,14
  2699. lw $6,524($fp)
  2700. addu $4,$5,$6
  2701. addu $3,$3,$4
  2702. l.d $f0,0($2)
  2703. l.d $f2,0($3)
  2704. sub.d $f0,$f0,$f2
  2705. s.d $f0,56($fp)
  2706. lw $3,16($fp)
  2707. lw $2,32($fp)
  2708. move $4,$2
  2709. sll $2,$4,3
  2710. sll $4,$3,14
  2711. lw $5,528($fp)
  2712. addu $3,$4,$5
  2713. addu $2,$2,$3
  2714. l.d $f0,56($fp)
  2715. l.d $f2,0($2)
  2716. add.d $f0,$f0,$f2
  2717. s.d $f0,64($fp)
  2718. li $2,0x00000001 # 1
  2719. lw $4,16($fp)
  2720. subu $3,$2,$4
  2721. lw $2,24($fp)
  2722. move $4,$2
  2723. sll $2,$4,3
  2724. sll $4,$3,14
  2725. lw $5,528($fp)
  2726. addu $3,$4,$5
  2727. addu $2,$2,$3
  2728. l.d $f0,56($fp)
  2729. l.d $f2,0($2)
  2730. sub.d $f0,$f0,$f2
  2731. s.d $f0,72($fp)
  2732. li $2,0x00000001 # 1
  2733. lw $4,16($fp)
  2734. subu $3,$2,$4
  2735. lw $2,24($fp)
  2736. move $4,$2
  2737. sll $2,$4,3
  2738. sll $4,$3,14
  2739. lw $5,528($fp)
  2740. addu $3,$4,$5
  2741. addu $2,$2,$3
  2742. l.d $f0,64($fp)
  2743. l.d $f2,0($2)
  2744. sub.d $f0,$f0,$f2
  2745. s.d $f0,80($fp)
  2746. l.d $f0,56($fp)
  2747. l.d $f2,56($fp)
  2748. mul.d $f0,$f0,$f2
  2749. s.d $f0,88($fp)
  2750. l.d $f0,64($fp)
  2751. l.d $f2,64($fp)
  2752. mul.d $f0,$f0,$f2
  2753. s.d $f0,96($fp)
  2754. l.d $f0,72($fp)
  2755. l.d $f2,72($fp)
  2756. mul.d $f0,$f0,$f2
  2757. s.d $f0,104($fp)
  2758. l.d $f0,80($fp)
  2759. l.d $f2,80($fp)
  2760. mul.d $f0,$f0,$f2
  2761. s.d $f0,112($fp)
  2762. li $2,0x00000001 # 1
  2763. lw $4,16($fp)
  2764. subu $3,$2,$4
  2765. lw $2,32($fp)
  2766. move $4,$2
  2767. sll $2,$4,3
  2768. sll $4,$3,14
  2769. lw $5,524($fp)
  2770. addu $3,$4,$5
  2771. addu $2,$2,$3
  2772. lw $3,24($fp)
  2773. move $4,$3
  2774. sll $3,$4,3
  2775. lw $4,524($fp)
  2776. addu $3,$3,$4
  2777. li $4,0x00008000 # 32768
  2778. addu $3,$3,$4
  2779. l.d $f0,0($2)
  2780. l.d $f2,0($3)
  2781. sub.d $f0,$f0,$f2
  2782. s.d $f0,232($fp)
  2783. li $2,0x00000001 # 1
  2784. lw $4,16($fp)
  2785. subu $3,$2,$4
  2786. lw $2,32($fp)
  2787. move $4,$2
  2788. sll $2,$4,3
  2789. sll $4,$3,14
  2790. lw $5,528($fp)
  2791. addu $3,$4,$5
  2792. addu $2,$2,$3
  2793. l.d $f0,232($fp)
  2794. l.d $f2,0($2)
  2795. add.d $f0,$f0,$f2
  2796. s.d $f0,240($fp)
  2797. l.d $f0,232($fp)
  2798. l.d $f2,232($fp)
  2799. mul.d $f0,$f0,$f2
  2800. l.d $f2,$LC74
  2801. add.d $f0,$f0,$f2
  2802. s.d $f0,232($fp)
  2803. l.d $f0,240($fp)
  2804. l.d $f2,240($fp)
  2805. mul.d $f0,$f0,$f2
  2806. l.d $f2,$LC74
  2807. add.d $f0,$f0,$f2
  2808. s.d $f0,240($fp)
  2809. l.d $f0,216($fp)
  2810. l.d $f2,232($fp)
  2811. add.d $f0,$f0,$f2
  2812. s.d $f0,152($fp)
  2813. l.d $f0,216($fp)
  2814. l.d $f2,240($fp)
  2815. add.d $f0,$f0,$f2
  2816. s.d $f0,160($fp)
  2817. l.d $f0,224($fp)
  2818. l.d $f2,232($fp)
  2819. add.d $f0,$f0,$f2
  2820. s.d $f0,168($fp)
  2821. l.d $f0,224($fp)
  2822. l.d $f2,240($fp)
  2823. add.d $f0,$f0,$f2
  2824. s.d $f0,176($fp)
  2825. l.d $f12,152($fp)
  2826. jal sqrt
  2827. s.d $f0,120($fp)
  2828. l.d $f12,160($fp)
  2829. jal sqrt
  2830. s.d $f0,128($fp)
  2831. l.d $f12,168($fp)
  2832. jal sqrt
  2833. s.d $f0,136($fp)
  2834. l.d $f12,176($fp)
  2835. jal sqrt
  2836. s.d $f0,144($fp)
  2837. l.d $f0,$LC75
  2838. l.d $f2,120($fp)
  2839. div.d $f0,$f0,$f2
  2840. s.d $f0,184($fp)
  2841. l.d $f0,$LC75
  2842. l.d $f2,128($fp)
  2843. div.d $f0,$f0,$f2
  2844. s.d $f0,192($fp)
  2845. l.d $f0,$LC75
  2846. l.d $f2,136($fp)
  2847. div.d $f0,$f0,$f2
  2848. s.d $f0,200($fp)
  2849. l.d $f0,$LC75
  2850. l.d $f2,144($fp)
  2851. div.d $f0,$f0,$f2
  2852. s.d $f0,208($fp)
  2853. l.d $f0,56($fp)
  2854. l.d $f2,184($fp)
  2855. mul.d $f0,$f0,$f2
  2856. mov.d $f12,$f0
  2857. jal atan
  2858. mov.d $f20,$f0
  2859. l.d $f0,64($fp)
  2860. l.d $f2,184($fp)
  2861. mul.d $f0,$f0,$f2
  2862. mov.d $f12,$f0
  2863. jal atan
  2864. mov.d $f22,$f0
  2865. l.d $f0,72($fp)
  2866. l.d $f2,184($fp)
  2867. mul.d $f0,$f0,$f2
  2868. mov.d $f12,$f0
  2869. jal atan
  2870. mov.d $f24,$f0
  2871. l.d $f0,80($fp)
  2872. l.d $f2,184($fp)
  2873. mul.d $f0,$f0,$f2
  2874. mov.d $f12,$f0
  2875. jal atan
  2876. mov.d $f26,$f0
  2877. l.d $f0,56($fp)
  2878. l.d $f2,192($fp)
  2879. mul.d $f0,$f0,$f2
  2880. mov.d $f12,$f0
  2881. jal atan
  2882. mov.d $f28,$f0
  2883. l.d $f0,64($fp)
  2884. l.d $f2,192($fp)
  2885. mul.d $f0,$f0,$f2
  2886. mov.d $f12,$f0
  2887. jal atan
  2888. mov.d $f30,$f0
  2889. l.d $f0,72($fp)
  2890. l.d $f2,192($fp)
  2891. mul.d $f0,$f0,$f2
  2892. mov.d $f12,$f0
  2893. jal atan
  2894. s.d $f0,376($fp)
  2895. l.d $f0,80($fp)
  2896. l.d $f2,192($fp)
  2897. mul.d $f0,$f0,$f2
  2898. mov.d $f12,$f0
  2899. jal atan
  2900. s.d $f0,384($fp)
  2901. l.d $f0,56($fp)
  2902. l.d $f2,200($fp)
  2903. mul.d $f0,$f0,$f2
  2904. mov.d $f12,$f0
  2905. jal atan
  2906. s.d $f0,392($fp)
  2907. l.d $f0,64($fp)
  2908. l.d $f2,200($fp)
  2909. mul.d $f0,$f0,$f2
  2910. mov.d $f12,$f0
  2911. jal atan
  2912. s.d $f0,400($fp)
  2913. l.d $f0,72($fp)
  2914. l.d $f2,200($fp)
  2915. mul.d $f0,$f0,$f2
  2916. mov.d $f12,$f0
  2917. jal atan
  2918. s.d $f0,408($fp)
  2919. l.d $f0,80($fp)
  2920. l.d $f2,200($fp)
  2921. mul.d $f0,$f0,$f2
  2922. mov.d $f12,$f0
  2923. jal atan
  2924. s.d $f0,416($fp)
  2925. l.d $f0,56($fp)
  2926. l.d $f2,208($fp)
  2927. mul.d $f0,$f0,$f2
  2928. mov.d $f12,$f0
  2929. jal atan
  2930. s.d $f0,424($fp)
  2931. l.d $f0,64($fp)
  2932. l.d $f2,208($fp)
  2933. mul.d $f0,$f0,$f2
  2934. mov.d $f12,$f0
  2935. jal atan
  2936. s.d $f0,432($fp)
  2937. l.d $f0,72($fp)
  2938. l.d $f2,208($fp)
  2939. mul.d $f0,$f0,$f2
  2940. mov.d $f12,$f0
  2941. jal atan
  2942. s.d $f0,440($fp)
  2943. l.d $f0,80($fp)
  2944. l.d $f2,208($fp)
  2945. mul.d $f0,$f0,$f2
  2946. mov.d $f12,$f0
  2947. jal atan
  2948. l.d $f4,56($fp)
  2949. mul.d $f2,$f20,$f4
  2950. l.d $f6,64($fp)
  2951. mul.d $f4,$f22,$f6
  2952. sub.d $f2,$f2,$f4
  2953. l.d $f6,72($fp)
  2954. mul.d $f4,$f24,$f6
  2955. sub.d $f2,$f2,$f4
  2956. l.d $f6,80($fp)
  2957. mul.d $f4,$f26,$f6
  2958. add.d $f2,$f2,$f4
  2959. l.d $f4,120($fp)
  2960. mul.d $f2,$f2,$f4
  2961. l.d $f4,56($fp)
  2962. neg.d $f6,$f4
  2963. mul.d $f4,$f6,$f28
  2964. l.d $f8,64($fp)
  2965. mul.d $f6,$f30,$f8
  2966. add.d $f4,$f4,$f6
  2967. l.d $f8,72($fp)
  2968. l.d $f10,376($fp)
  2969. mul.d $f6,$f10,$f8
  2970. add.d $f4,$f4,$f6
  2971. l.d $f8,80($fp)
  2972. l.d $f10,384($fp)
  2973. mul.d $f6,$f10,$f8
  2974. sub.d $f4,$f4,$f6
  2975. l.d $f6,128($fp)
  2976. mul.d $f4,$f4,$f6
  2977. add.d $f2,$f2,$f4
  2978. l.d $f4,56($fp)
  2979. neg.d $f6,$f4
  2980. l.d $f10,392($fp)
  2981. mul.d $f4,$f6,$f10
  2982. l.d $f8,64($fp)
  2983. l.d $f10,400($fp)
  2984. mul.d $f6,$f10,$f8
  2985. add.d $f4,$f4,$f6
  2986. l.d $f8,72($fp)
  2987. l.d $f10,408($fp)
  2988. mul.d $f6,$f10,$f8
  2989. add.d $f4,$f4,$f6
  2990. l.d $f8,80($fp)
  2991. l.d $f10,416($fp)
  2992. mul.d $f6,$f10,$f8
  2993. sub.d $f4,$f4,$f6
  2994. l.d $f6,136($fp)
  2995. mul.d $f4,$f4,$f6
  2996. add.d $f2,$f2,$f4
  2997. l.d $f6,56($fp)
  2998. l.d $f10,424($fp)
  2999. mul.d $f4,$f10,$f6
  3000. l.d $f8,64($fp)
  3001. l.d $f10,432($fp)
  3002. mul.d $f6,$f10,$f8
  3003. sub.d $f4,$f4,$f6
  3004. l.d $f8,72($fp)
  3005. l.d $f10,440($fp)
  3006. mul.d $f6,$f10,$f8
  3007. sub.d $f4,$f4,$f6
  3008. l.d $f6,80($fp)
  3009. mul.d $f0,$f0,$f6
  3010. add.d $f4,$f4,$f0
  3011. l.d $f6,144($fp)
  3012. mul.d $f0,$f4,$f6
  3013. add.d $f2,$f2,$f0
  3014. s.d $f2,48($fp)
  3015. l.d $f0,88($fp)
  3016. l.d $f2,152($fp)
  3017. add.d $f0,$f0,$f2
  3018. s.d $f0,248($fp)
  3019. l.d $f0,96($fp)
  3020. l.d $f2,152($fp)
  3021. add.d $f0,$f0,$f2
  3022. s.d $f0,256($fp)
  3023. l.d $f0,104($fp)
  3024. l.d $f2,152($fp)
  3025. add.d $f0,$f0,$f2
  3026. s.d $f0,264($fp)
  3027. l.d $f0,112($fp)
  3028. l.d $f2,152($fp)
  3029. add.d $f0,$f0,$f2
  3030. s.d $f0,272($fp)
  3031. l.d $f0,88($fp)
  3032. l.d $f2,160($fp)
  3033. add.d $f0,$f0,$f2
  3034. s.d $f0,280($fp)
  3035. l.d $f0,96($fp)
  3036. l.d $f2,160($fp)
  3037. add.d $f0,$f0,$f2
  3038. s.d $f0,288($fp)
  3039. l.d $f0,104($fp)
  3040. l.d $f2,160($fp)
  3041. add.d $f0,$f0,$f2
  3042. s.d $f0,296($fp)
  3043. l.d $f0,112($fp)
  3044. l.d $f2,160($fp)
  3045. add.d $f0,$f0,$f2
  3046. s.d $f0,304($fp)
  3047. l.d $f0,88($fp)
  3048. l.d $f2,168($fp)
  3049. add.d $f0,$f0,$f2
  3050. s.d $f0,312($fp)
  3051. l.d $f0,96($fp)
  3052. l.d $f2,168($fp)
  3053. add.d $f0,$f0,$f2
  3054. s.d $f0,320($fp)
  3055. l.d $f0,104($fp)
  3056. l.d $f2,168($fp)
  3057. add.d $f0,$f0,$f2
  3058. s.d $f0,328($fp)
  3059. l.d $f0,112($fp)
  3060. l.d $f2,168($fp)
  3061. add.d $f0,$f0,$f2
  3062. s.d $f0,336($fp)
  3063. l.d $f0,88($fp)
  3064. l.d $f2,176($fp)
  3065. add.d $f0,$f0,$f2
  3066. s.d $f0,344($fp)
  3067. l.d $f0,96($fp)
  3068. l.d $f2,176($fp)
  3069. add.d $f0,$f0,$f2
  3070. s.d $f0,352($fp)
  3071. l.d $f0,104($fp)
  3072. l.d $f2,176($fp)
  3073. add.d $f0,$f0,$f2
  3074. s.d $f0,360($fp)
  3075. l.d $f0,112($fp)
  3076. l.d $f2,176($fp)
  3077. add.d $f0,$f0,$f2
  3078. s.d $f0,368($fp)
  3079. l.d $f0,248($fp)
  3080. l.d $f2,344($fp)
  3081. mul.d $f0,$f0,$f2
  3082. l.d $f2,280($fp)
  3083. l.d $f4,312($fp)
  3084. mul.d $f2,$f2,$f4
  3085. div.d $f0,$f0,$f2
  3086. mov.d $f12,$f0
  3087. jal log
  3088. mov.d $f20,$f0
  3089. l.d $f0,256($fp)
  3090. l.d $f2,352($fp)
  3091. mul.d $f0,$f0,$f2
  3092. l.d $f2,288($fp)
  3093. l.d $f4,320($fp)
  3094. mul.d $f2,$f2,$f4
  3095. div.d $f0,$f0,$f2
  3096. mov.d $f12,$f0
  3097. jal log
  3098. mov.d $f22,$f0
  3099. l.d $f0,264($fp)
  3100. l.d $f2,360($fp)
  3101. mul.d $f0,$f0,$f2
  3102. l.d $f2,296($fp)
  3103. l.d $f4,328($fp)
  3104. mul.d $f2,$f2,$f4
  3105. div.d $f0,$f0,$f2
  3106. mov.d $f12,$f0
  3107. jal log
  3108. mov.d $f24,$f0
  3109. l.d $f0,272($fp)
  3110. l.d $f2,368($fp)
  3111. mul.d $f0,$f0,$f2
  3112. l.d $f2,304($fp)
  3113. l.d $f4,336($fp)
  3114. mul.d $f2,$f2,$f4
  3115. div.d $f0,$f0,$f2
  3116. mov.d $f12,$f0
  3117. jal log
  3118. mov.d $f26,$f0
  3119. l.d $f0,248($fp)
  3120. l.d $f2,272($fp)
  3121. mul.d $f0,$f0,$f2
  3122. l.d $f2,256($fp)
  3123. l.d $f4,264($fp)
  3124. mul.d $f2,$f2,$f4
  3125. div.d $f0,$f0,$f2
  3126. mov.d $f12,$f0
  3127. jal log
  3128. mov.d $f28,$f0
  3129. l.d $f0,280($fp)
  3130. l.d $f2,304($fp)
  3131. mul.d $f0,$f0,$f2
  3132. l.d $f2,288($fp)
  3133. l.d $f4,296($fp)
  3134. mul.d $f2,$f2,$f4
  3135. div.d $f0,$f0,$f2
  3136. mov.d $f12,$f0
  3137. jal log
  3138. mov.d $f30,$f0
  3139. l.d $f0,312($fp)
  3140. l.d $f2,336($fp)
  3141. mul.d $f0,$f0,$f2
  3142. l.d $f2,320($fp)
  3143. l.d $f4,328($fp)
  3144. mul.d $f2,$f2,$f4
  3145. div.d $f0,$f0,$f2
  3146. mov.d $f12,$f0
  3147. jal log
  3148. s.d $f0,448($fp)
  3149. l.d $f0,344($fp)
  3150. l.d $f2,368($fp)
  3151. mul.d $f0,$f0,$f2
  3152. l.d $f2,352($fp)
  3153. l.d $f4,360($fp)
  3154. mul.d $f2,$f2,$f4
  3155. div.d $f0,$f0,$f2
  3156. mov.d $f12,$f0
  3157. jal log
  3158. l.d $f4,88($fp)
  3159. mul.d $f2,$f20,$f4
  3160. l.d $f6,96($fp)
  3161. mul.d $f4,$f22,$f6
  3162. sub.d $f2,$f2,$f4
  3163. l.d $f6,104($fp)
  3164. mul.d $f4,$f24,$f6
  3165. sub.d $f2,$f2,$f4
  3166. l.d $f6,112($fp)
  3167. mul.d $f4,$f26,$f6
  3168. add.d $f2,$f2,$f4
  3169. l.d $f6,152($fp)
  3170. mul.d $f4,$f28,$f6
  3171. sub.d $f2,$f2,$f4
  3172. l.d $f6,160($fp)
  3173. mul.d $f4,$f30,$f6
  3174. add.d $f2,$f2,$f4
  3175. l.d $f6,168($fp)
  3176. l.d $f10,448($fp)
  3177. mul.d $f4,$f10,$f6
  3178. add.d $f2,$f2,$f4
  3179. l.d $f4,176($fp)
  3180. mul.d $f0,$f0,$f4
  3181. sub.d $f2,$f2,$f0
  3182. s.d $f2,40($fp)
  3183. lw $3,24($fp)
  3184. lw $2,32($fp)
  3185. move $4,$2
  3186. sll $2,$4,3
  3187. sll $4,$3,14
  3188. lw $5,520($fp)
  3189. addu $3,$4,$5
  3190. addu $2,$2,$3
  3191. l.d $f0,48($fp)
  3192. l.d $f2,$LC76
  3193. mul.d $f0,$f0,$f2
  3194. l.d $f2,40($fp)
  3195. add.d $f0,$f0,$f2
  3196. abs.d $f2,$f0
  3197. s.d $f2,0($2)
  3198. lw $3,32($fp)
  3199. lw $2,24($fp)
  3200. move $4,$2
  3201. sll $2,$4,3
  3202. sll $4,$3,14
  3203. lw $5,520($fp)
  3204. addu $3,$4,$5
  3205. addu $2,$2,$3
  3206. lw $4,24($fp)
  3207. lw $3,32($fp)
  3208. move $5,$3
  3209. sll $3,$5,3
  3210. sll $5,$4,14
  3211. lw $6,520($fp)
  3212. addu $4,$5,$6
  3213. addu $3,$3,$4
  3214. l.d $f0,0($3)
  3215. s.d $f0,0($2)
  3216. $L171:
  3217. lw $3,32($fp)
  3218. addu $2,$3,1
  3219. move $3,$2
  3220. sw $3,32($fp)
  3221. j $L169
  3222. $L170:
  3223. $L167:
  3224. lw $3,24($fp)
  3225. addu $2,$3,1
  3226. move $3,$2
  3227. sw $3,24($fp)
  3228. j $L165
  3229. $L166:
  3230. $L163:
  3231. lw $3,16($fp)
  3232. addu $2,$3,1
  3233. move $3,$2
  3234. sw $3,16($fp)
  3235. j $L161
  3236. $L162:
  3237. $L159:
  3238. lw $3,20($fp)
  3239. addu $2,$3,1
  3240. move $3,$2
  3241. sw $3,20($fp)
  3242. j $L157
  3243. $L158:
  3244. $L156:
  3245. move $sp,$fp # sp not trusted here
  3246. lw $31,460($sp)
  3247. lw $fp,456($sp)
  3248. l.d $f30,504($sp)
  3249. l.d $f28,496($sp)
  3250. l.d $f26,488($sp)
  3251. l.d $f24,480($sp)
  3252. l.d $f22,472($sp)
  3253. l.d $f20,464($sp)
  3254. addu $sp,$sp,512
  3255. j $31
  3256. .end SetUp2
  3257. .loc 1 787
  3258. .ent SetUp3
  3259. SetUp3:
  3260. .frame $fp,96,$31 # vars= 72, regs= 2/0, args= 16, extra= 0
  3261. .mask 0xc0000000,-4
  3262. .fmask 0x00000000,0
  3263. subu $sp,$sp,96
  3264. sw $31,92($sp)
  3265. sw $fp,88($sp)
  3266. move $fp,$sp
  3267. sw $4,96($fp)
  3268. sw $5,100($fp)
  3269. sw $6,104($fp)
  3270. sw $7,108($fp)
  3271. sw $0,20($fp)
  3272. $L174:
  3273. lw $2,20($fp)
  3274. slt $3,$2,6
  3275. bne $3,$0,$L177
  3276. j $L175
  3277. $L177:
  3278. sw $0,16($fp)
  3279. $L178:
  3280. lw $2,16($fp)
  3281. slt $3,$2,3
  3282. bne $3,$0,$L181
  3283. j $L179
  3284. $L181:
  3285. lw $2,16($fp)
  3286. move $3,$2
  3287. sll $2,$3,3
  3288. addu $4,$fp,16
  3289. addu $3,$2,$4
  3290. addu $2,$3,24
  3291. lw $4,20($fp)
  3292. lw $3,16($fp)
  3293. move $5,$3
  3294. sll $3,$5,3
  3295. move $6,$4
  3296. sll $5,$6,1
  3297. addu $5,$5,$4
  3298. sll $4,$5,3
  3299. lw $5,108($fp)
  3300. addu $4,$4,$5
  3301. addu $3,$3,$4
  3302. l.d $f0,$LC77
  3303. l.d $f2,0($3)
  3304. div.d $f0,$f0,$f2
  3305. s.d $f0,0($2)
  3306. lw $2,16($fp)
  3307. move $3,$2
  3308. sll $2,$3,3
  3309. addu $4,$fp,16
  3310. addu $3,$2,$4
  3311. addu $2,$3,48
  3312. lw $4,20($fp)
  3313. lw $3,16($fp)
  3314. move $5,$3
  3315. sll $3,$5,3
  3316. move $6,$4
  3317. sll $5,$6,1
  3318. addu $5,$5,$4
  3319. sll $4,$5,3
  3320. lw $5,112($fp)
  3321. addu $4,$4,$5
  3322. addu $3,$3,$4
  3323. lw $4,16($fp)
  3324. move $5,$4
  3325. sll $4,$5,3
  3326. addu $5,$fp,16
  3327. addu $4,$4,$5
  3328. addu $5,$4,24
  3329. l.d $f0,0($3)
  3330. l.d $f2,0($5)
  3331. mul.d $f0,$f0,$f2
  3332. s.d $f0,0($2)
  3333. $L180:
  3334. lw $3,16($fp)
  3335. addu $2,$3,1
  3336. move $3,$2
  3337. sw $3,16($fp)
  3338. j $L178
  3339. $L179:
  3340. .set noreorder
  3341. nop
  3342. .set reorder
  3343. lw $2,20($fp)
  3344. move $3,$2
  3345. sll $2,$3,3
  3346. lw $3,100($fp)
  3347. addu $2,$2,$3
  3348. lw $3,0($2)
  3349. sw $3,24($fp)
  3350. $L182:
  3351. lw $2,20($fp)
  3352. move $3,$2
  3353. sll $2,$3,3
  3354. lw $3,100($fp)
  3355. addu $2,$2,$3
  3356. addu $3,$2,4
  3357. lw $2,24($fp)
  3358. lw $3,0($3)
  3359. slt $2,$3,$2
  3360. beq $2,$0,$L185
  3361. j $L183
  3362. $L185:
  3363. dsz 32($fp)
  3364. sw $0,28($fp)
  3365. $L186:
  3366. lw $2,20($fp)
  3367. move $3,$2
  3368. sll $2,$3,3
  3369. lw $3,100($fp)
  3370. addu $2,$2,$3
  3371. lw $3,28($fp)
  3372. lw $2,0($2)
  3373. slt $3,$3,$2
  3374. bne $3,$0,$L189
  3375. j $L187
  3376. $L189:
  3377. lw $3,24($fp)
  3378. lw $2,28($fp)
  3379. move $4,$2
  3380. sll $2,$4,3
  3381. sll $4,$3,14
  3382. lw $5,116($fp)
  3383. addu $3,$4,$5
  3384. addu $2,$2,$3
  3385. l.d $f0,32($fp)
  3386. l.d $f2,0($2)
  3387. add.d $f0,$f0,$f2
  3388. s.d $f0,32($fp)
  3389. $L188:
  3390. lw $3,28($fp)
  3391. addu $2,$3,1
  3392. move $3,$2
  3393. sw $3,28($fp)
  3394. j $L186
  3395. $L187:
  3396. .set noreorder
  3397. nop
  3398. .set reorder
  3399. lw $2,20($fp)
  3400. move $3,$2
  3401. sll $2,$3,3
  3402. lw $3,100($fp)
  3403. addu $2,$2,$3
  3404. addu $3,$2,4
  3405. lw $2,0($3)
  3406. addu $3,$2,1
  3407. sw $3,28($fp)
  3408. $L190:
  3409. lw $2,28($fp)
  3410. lw $3,96($fp)
  3411. slt $2,$2,$3
  3412. bne $2,$0,$L193
  3413. j $L191
  3414. $L193:
  3415. lw $3,24($fp)
  3416. lw $2,28($fp)
  3417. move $4,$2
  3418. sll $2,$4,3
  3419. sll $4,$3,14
  3420. lw $5,116($fp)
  3421. addu $3,$4,$5
  3422. addu $2,$2,$3
  3423. l.d $f0,32($fp)
  3424. l.d $f2,0($2)
  3425. add.d $f0,$f0,$f2
  3426. s.d $f0,32($fp)
  3427. $L192:
  3428. lw $3,28($fp)
  3429. addu $2,$3,1
  3430. move $3,$2
  3431. sw $3,28($fp)
  3432. j $L190
  3433. $L191:
  3434. lw $2,24($fp)
  3435. move $3,$2
  3436. sll $2,$3,3
  3437. lw $3,104($fp)
  3438. addu $2,$2,$3
  3439. l.d $f0,32($fp)
  3440. l.d $f4,0($2)
  3441. sub.d $f2,$f0,$f4
  3442. abs.d $f0,$f2
  3443. l.d $f2,32($fp)
  3444. l.d $f4,$LC78
  3445. mul.d $f2,$f2,$f4
  3446. c.lt.d $f2,$f0
  3447. bc1f $L194
  3448. la $4,$LC79
  3449. jal printf
  3450. move $2,$0
  3451. j $L173
  3452. $L194:
  3453. l.d $f0,32($fp)
  3454. neg.d $f2,$f0
  3455. s.d $f2,32($fp)
  3456. lw $2,20($fp)
  3457. move $3,$2
  3458. sll $2,$3,3
  3459. lw $3,100($fp)
  3460. addu $2,$2,$3
  3461. lw $3,0($2)
  3462. sw $3,28($fp)
  3463. $L195:
  3464. lw $2,20($fp)
  3465. move $3,$2
  3466. sll $2,$3,3
  3467. lw $3,100($fp)
  3468. addu $2,$2,$3
  3469. addu $3,$2,4
  3470. lw $2,28($fp)
  3471. lw $3,0($3)
  3472. slt $2,$3,$2
  3473. beq $2,$0,$L198
  3474. j $L196
  3475. $L198:
  3476. lw $3,24($fp)
  3477. lw $2,28($fp)
  3478. move $4,$2
  3479. sll $2,$4,3
  3480. sll $4,$3,14
  3481. lw $5,116($fp)
  3482. addu $3,$4,$5
  3483. addu $2,$2,$3
  3484. dsz 0($2)
  3485. $L197:
  3486. lw $3,28($fp)
  3487. addu $2,$3,1
  3488. move $3,$2
  3489. sw $3,28($fp)
  3490. j $L195
  3491. $L196:
  3492. .set noreorder
  3493. nop
  3494. .set reorder
  3495. sw $0,16($fp)
  3496. $L199:
  3497. lw $2,16($fp)
  3498. slt $3,$2,3
  3499. bne $3,$0,$L202
  3500. j $L200
  3501. $L202:
  3502. lw $3,16($fp)
  3503. lw $2,24($fp)
  3504. move $4,$2
  3505. sll $2,$4,3
  3506. sll $4,$3,14
  3507. lw $5,120($fp)
  3508. addu $3,$4,$5
  3509. addu $2,$2,$3
  3510. lw $3,16($fp)
  3511. move $4,$3
  3512. sll $3,$4,3
  3513. addu $4,$fp,16
  3514. addu $3,$3,$4
  3515. addu $4,$3,24
  3516. l.d $f0,0($4)
  3517. l.d $f2,32($fp)
  3518. mul.d $f0,$f0,$f2
  3519. s.d $f0,0($2)
  3520. lw $3,16($fp)
  3521. lw $2,24($fp)
  3522. move $4,$2
  3523. sll $2,$4,3
  3524. sll $4,$3,14
  3525. lw $5,124($fp)
  3526. addu $3,$4,$5
  3527. addu $2,$2,$3
  3528. lw $3,16($fp)
  3529. move $4,$3
  3530. sll $3,$4,3
  3531. addu $4,$fp,16
  3532. addu $3,$3,$4
  3533. addu $4,$3,48
  3534. l.d $f0,0($4)
  3535. l.d $f2,32($fp)
  3536. mul.d $f0,$f0,$f2
  3537. s.d $f0,0($2)
  3538. $L201:
  3539. lw $3,16($fp)
  3540. addu $2,$3,1
  3541. move $3,$2
  3542. sw $3,16($fp)
  3543. j $L199
  3544. $L200:
  3545. $L184:
  3546. lw $3,24($fp)
  3547. addu $2,$3,1
  3548. move $3,$2
  3549. sw $3,24($fp)
  3550. j $L182
  3551. $L183:
  3552. $L176:
  3553. lw $3,20($fp)
  3554. addu $2,$3,1
  3555. move $3,$2
  3556. sw $3,20($fp)
  3557. j $L174
  3558. $L175:
  3559. li $2,0x00000001 # 1
  3560. j $L173
  3561. $L173:
  3562. move $sp,$fp # sp not trusted here
  3563. lw $31,92($sp)
  3564. lw $fp,88($sp)
  3565. addu $sp,$sp,96
  3566. j $31
  3567. .end SetUp3
  3568. .loc 1 855
  3569. .ent Solver
  3570. Solver:
  3571. .frame $fp,56,$31 # vars= 24, regs= 2/0, args= 24, extra= 0
  3572. .mask 0xc0000000,-4
  3573. .fmask 0x00000000,0
  3574. subu $sp,$sp,56
  3575. sw $31,52($sp)
  3576. sw $fp,48($sp)
  3577. move $fp,$sp
  3578. sw $4,56($fp)
  3579. sw $5,60($fp)
  3580. sw $6,64($fp)
  3581. sw $7,68($fp)
  3582. sw $0,36($fp)
  3583. $L204:
  3584. lw $2,36($fp)
  3585. slt $3,$2,3
  3586. bne $3,$0,$L207
  3587. j $L205
  3588. $L207:
  3589. lw $2,60($fp)
  3590. sw $2,24($fp)
  3591. $L208:
  3592. lw $2,24($fp)
  3593. lw $3,56($fp)
  3594. slt $2,$2,$3
  3595. bne $2,$0,$L211
  3596. j $L209
  3597. $L211:
  3598. lw $3,24($fp)
  3599. lw $2,24($fp)
  3600. move $4,$2
  3601. sll $2,$4,3
  3602. sll $4,$3,14
  3603. lw $5,64($fp)
  3604. addu $3,$4,$5
  3605. addu $2,$2,$3
  3606. lw $4,36($fp)
  3607. lw $3,24($fp)
  3608. move $5,$3
  3609. sll $3,$5,3
  3610. sll $5,$4,14
  3611. lw $6,68($fp)
  3612. addu $4,$5,$6
  3613. addu $3,$3,$4
  3614. l.d $f0,0($3)
  3615. s.d $f0,0($2)
  3616. lw $3,36($fp)
  3617. lw $2,24($fp)
  3618. move $4,$2
  3619. sll $2,$4,3
  3620. sll $4,$3,14
  3621. lw $5,76($fp)
  3622. addu $3,$4,$5
  3623. addu $2,$2,$3
  3624. lw $4,36($fp)
  3625. lw $3,24($fp)
  3626. move $5,$3
  3627. sll $3,$5,3
  3628. sll $5,$4,14
  3629. lw $6,72($fp)
  3630. addu $4,$5,$6
  3631. addu $3,$3,$4
  3632. l.d $f0,0($3)
  3633. s.d $f0,0($2)
  3634. sw $0,28($fp)
  3635. $L212:
  3636. lw $2,28($fp)
  3637. lw $3,24($fp)
  3638. slt $2,$2,$3
  3639. bne $2,$0,$L215
  3640. j $L213
  3641. $L215:
  3642. lw $3,24($fp)
  3643. lw $2,28($fp)
  3644. move $4,$2
  3645. sll $2,$4,3
  3646. sll $4,$3,14
  3647. lw $5,64($fp)
  3648. addu $3,$4,$5
  3649. addu $2,$2,$3
  3650. lw $4,28($fp)
  3651. lw $3,24($fp)
  3652. move $5,$3
  3653. sll $3,$5,3
  3654. sll $5,$4,14
  3655. lw $6,64($fp)
  3656. addu $4,$5,$6
  3657. addu $3,$3,$4
  3658. l.d $f0,0($3)
  3659. s.d $f0,0($2)
  3660. $L214:
  3661. lw $3,28($fp)
  3662. addu $2,$3,1
  3663. move $3,$2
  3664. sw $3,28($fp)
  3665. j $L212
  3666. $L213:
  3667. $L210:
  3668. lw $3,24($fp)
  3669. addu $2,$3,1
  3670. move $3,$2
  3671. sw $3,24($fp)
  3672. j $L208
  3673. $L209:
  3674. .set noreorder
  3675. nop
  3676. .set reorder
  3677. sw $0,28($fp)
  3678. $L216:
  3679. lw $2,28($fp)
  3680. lw $3,60($fp)
  3681. slt $2,$2,$3
  3682. bne $2,$0,$L219
  3683. j $L217
  3684. $L219:
  3685. lw $3,28($fp)
  3686. lw $2,28($fp)
  3687. move $4,$2
  3688. sll $2,$4,3
  3689. sll $4,$3,14
  3690. lw $5,64($fp)
  3691. addu $3,$4,$5
  3692. addu $2,$2,$3
  3693. lw $4,36($fp)
  3694. lw $3,28($fp)
  3695. move $5,$3
  3696. sll $3,$5,3
  3697. sll $5,$4,14
  3698. lw $6,68($fp)
  3699. addu $4,$5,$6
  3700. addu $3,$3,$4
  3701. l.d $f0,$LC80
  3702. l.d $f2,0($3)
  3703. div.d $f0,$f0,$f2
  3704. s.d $f0,0($2)
  3705. lw $3,36($fp)
  3706. lw $2,28($fp)
  3707. move $4,$2
  3708. sll $2,$4,3
  3709. sll $4,$3,14
  3710. lw $5,76($fp)
  3711. addu $3,$4,$5
  3712. addu $2,$2,$3
  3713. lw $4,36($fp)
  3714. lw $3,28($fp)
  3715. move $5,$3
  3716. sll $3,$5,3
  3717. sll $5,$4,14
  3718. lw $6,72($fp)
  3719. addu $4,$5,$6
  3720. addu $3,$3,$4
  3721. l.d $f0,0($3)
  3722. s.d $f0,0($2)
  3723. $L218:
  3724. lw $3,28($fp)
  3725. addu $2,$3,1
  3726. move $3,$2
  3727. sw $3,28($fp)
  3728. j $L216
  3729. $L217:
  3730. .set noreorder
  3731. nop
  3732. .set reorder
  3733. lw $2,60($fp)
  3734. sw $2,28($fp)
  3735. $L220:
  3736. lw $2,28($fp)
  3737. lw $3,56($fp)
  3738. slt $2,$2,$3
  3739. bne $2,$0,$L223
  3740. j $L221
  3741. $L223:
  3742. lw $2,60($fp)
  3743. sw $2,32($fp)
  3744. $L224:
  3745. lw $2,32($fp)
  3746. lw $3,28($fp)
  3747. slt $2,$2,$3
  3748. bne $2,$0,$L227
  3749. j $L225
  3750. $L227:
  3751. lw $2,32($fp)
  3752. move $3,$2
  3753. sll $2,$3,14
  3754. lw $3,64($fp)
  3755. addu $2,$2,$3
  3756. lw $3,28($fp)
  3757. move $4,$3
  3758. sll $3,$4,14
  3759. lw $4,64($fp)
  3760. addu $3,$3,$4
  3761. li $4,0x00000001 # 1
  3762. sw $4,16($sp)
  3763. lw $4,32($fp)
  3764. move $5,$2
  3765. li $6,0x00000001 # 1
  3766. move $7,$3
  3767. jal Ddot
  3768. lw $3,28($fp)
  3769. lw $2,32($fp)
  3770. move $4,$2
  3771. sll $2,$4,3
  3772. sll $4,$3,14
  3773. lw $5,64($fp)
  3774. addu $3,$4,$5
  3775. addu $2,$2,$3
  3776. lw $4,28($fp)
  3777. lw $3,32($fp)
  3778. move $5,$3
  3779. sll $3,$5,3
  3780. sll $5,$4,14
  3781. lw $6,64($fp)
  3782. addu $4,$5,$6
  3783. addu $3,$3,$4
  3784. l.d $f2,0($3)
  3785. sub.d $f0,$f2,$f0
  3786. s.d $f0,0($2)
  3787. $L226:
  3788. lw $3,32($fp)
  3789. addu $2,$3,1
  3790. move $3,$2
  3791. sw $3,32($fp)
  3792. j $L224
  3793. $L225:
  3794. .set noreorder
  3795. nop
  3796. .set reorder
  3797. sw $0,32($fp)
  3798. $L228:
  3799. lw $2,32($fp)
  3800. lw $3,28($fp)
  3801. slt $2,$2,$3
  3802. bne $2,$0,$L231
  3803. j $L229
  3804. $L231:
  3805. lw $3,28($fp)
  3806. lw $2,32($fp)
  3807. move $4,$2
  3808. sll $2,$4,3
  3809. sll $4,$3,14
  3810. lw $5,64($fp)
  3811. addu $3,$4,$5
  3812. addu $2,$2,$3
  3813. l.d $f0,0($2)
  3814. s.d $f0,40($fp)
  3815. lw $3,28($fp)
  3816. lw $2,32($fp)
  3817. move $4,$2
  3818. sll $2,$4,3
  3819. sll $4,$3,14
  3820. lw $5,64($fp)
  3821. addu $3,$4,$5
  3822. addu $2,$2,$3
  3823. lw $4,32($fp)
  3824. lw $3,32($fp)
  3825. move $5,$3
  3826. sll $3,$5,3
  3827. sll $5,$4,14
  3828. lw $6,64($fp)
  3829. addu $4,$5,$6
  3830. addu $3,$3,$4
  3831. l.d $f0,40($fp)
  3832. l.d $f2,0($3)
  3833. mul.d $f0,$f0,$f2
  3834. s.d $f0,0($2)
  3835. lw $3,28($fp)
  3836. lw $2,28($fp)
  3837. move $4,$2
  3838. sll $2,$4,3
  3839. sll $4,$3,14
  3840. lw $5,64($fp)
  3841. addu $3,$4,$5
  3842. addu $2,$2,$3
  3843. lw $4,28($fp)
  3844. lw $3,28($fp)
  3845. move $5,$3
  3846. sll $3,$5,3
  3847. sll $5,$4,14
  3848. lw $6,64($fp)
  3849. addu $4,$5,$6
  3850. addu $3,$3,$4
  3851. lw $5,28($fp)
  3852. lw $4,32($fp)
  3853. move $6,$4
  3854. sll $4,$6,3
  3855. sll $6,$5,14
  3856. lw $7,64($fp)
  3857. addu $5,$6,$7
  3858. addu $4,$4,$5
  3859. l.d $f0,40($fp)
  3860. l.d $f2,0($4)
  3861. mul.d $f0,$f0,$f2
  3862. l.d $f2,0($3)
  3863. sub.d $f0,$f2,$f0
  3864. s.d $f0,0($2)
  3865. $L230:
  3866. lw $3,32($fp)
  3867. addu $2,$3,1
  3868. move $3,$2
  3869. sw $3,32($fp)
  3870. j $L228
  3871. $L229:
  3872. lw $3,28($fp)
  3873. lw $2,28($fp)
  3874. move $4,$2
  3875. sll $2,$4,3
  3876. sll $4,$3,14
  3877. lw $5,64($fp)
  3878. addu $3,$4,$5
  3879. addu $2,$2,$3
  3880. lw $4,28($fp)
  3881. lw $3,28($fp)
  3882. move $5,$3
  3883. sll $3,$5,3
  3884. sll $5,$4,14
  3885. lw $6,64($fp)
  3886. addu $4,$5,$6
  3887. addu $3,$3,$4
  3888. l.d $f0,$LC80
  3889. l.d $f2,0($3)
  3890. div.d $f0,$f0,$f2
  3891. s.d $f0,0($2)
  3892. $L222:
  3893. lw $3,28($fp)
  3894. addu $2,$3,1
  3895. move $3,$2
  3896. sw $3,28($fp)
  3897. j $L220
  3898. $L221:
  3899. .set noreorder
  3900. nop
  3901. .set reorder
  3902. lw $2,60($fp)
  3903. sw $2,32($fp)
  3904. $L232:
  3905. lw $2,32($fp)
  3906. lw $3,56($fp)
  3907. slt $2,$2,$3
  3908. bne $2,$0,$L235
  3909. j $L233
  3910. $L235:
  3911. lw $2,36($fp)
  3912. move $3,$2
  3913. sll $2,$3,14
  3914. lw $3,76($fp)
  3915. addu $2,$2,$3
  3916. lw $3,32($fp)
  3917. move $4,$3
  3918. sll $3,$4,14
  3919. lw $4,64($fp)
  3920. addu $3,$3,$4
  3921. li $4,0x00000001 # 1
  3922. sw $4,16($sp)
  3923. lw $4,32($fp)
  3924. move $5,$2
  3925. li $6,0x00000001 # 1
  3926. move $7,$3
  3927. jal Ddot
  3928. lw $3,36($fp)
  3929. lw $2,32($fp)
  3930. move $4,$2
  3931. sll $2,$4,3
  3932. sll $4,$3,14
  3933. lw $5,76($fp)
  3934. addu $3,$4,$5
  3935. addu $2,$2,$3
  3936. lw $4,36($fp)
  3937. lw $3,32($fp)
  3938. move $5,$3
  3939. sll $3,$5,3
  3940. sll $5,$4,14
  3941. lw $6,76($fp)
  3942. addu $4,$5,$6
  3943. addu $3,$3,$4
  3944. l.d $f2,0($3)
  3945. sub.d $f0,$f2,$f0
  3946. s.d $f0,0($2)
  3947. $L234:
  3948. lw $3,32($fp)
  3949. addu $2,$3,1
  3950. move $3,$2
  3951. sw $3,32($fp)
  3952. j $L232
  3953. $L233:
  3954. .set noreorder
  3955. nop
  3956. .set reorder
  3957. sw $0,32($fp)
  3958. $L236:
  3959. lw $2,32($fp)
  3960. lw $3,56($fp)
  3961. slt $2,$2,$3
  3962. bne $2,$0,$L239
  3963. j $L237
  3964. $L239:
  3965. lw $3,36($fp)
  3966. lw $2,32($fp)
  3967. move $4,$2
  3968. sll $2,$4,3
  3969. sll $4,$3,14
  3970. lw $5,76($fp)
  3971. addu $3,$4,$5
  3972. addu $2,$2,$3
  3973. lw $4,36($fp)
  3974. lw $3,32($fp)
  3975. move $5,$3
  3976. sll $3,$5,3
  3977. sll $5,$4,14
  3978. lw $6,76($fp)
  3979. addu $4,$5,$6
  3980. addu $3,$3,$4
  3981. lw $5,32($fp)
  3982. lw $4,32($fp)
  3983. move $6,$4
  3984. sll $4,$6,3
  3985. sll $6,$5,14
  3986. lw $7,64($fp)
  3987. addu $5,$6,$7
  3988. addu $4,$4,$5
  3989. l.d $f0,0($3)
  3990. l.d $f2,0($4)
  3991. mul.d $f0,$f0,$f2
  3992. s.d $f0,0($2)
  3993. $L238:
  3994. lw $3,32($fp)
  3995. addu $2,$3,1
  3996. move $3,$2
  3997. sw $3,32($fp)
  3998. j $L236
  3999. $L237:
  4000. .set noreorder
  4001. nop
  4002. .set reorder
  4003. lw $2,56($fp)
  4004. subu $3,$2,2
  4005. sw $3,32($fp)
  4006. $L240:
  4007. lw $2,32($fp)
  4008. lw $3,60($fp)
  4009. slt $2,$2,$3
  4010. beq $2,$0,$L243
  4011. j $L241
  4012. $L243:
  4013. lw $3,56($fp)
  4014. subu $2,$3,1
  4015. lw $3,32($fp)
  4016. subu $2,$2,$3
  4017. lw $3,36($fp)
  4018. move $4,$3
  4019. sll $3,$4,14
  4020. lw $4,76($fp)
  4021. addu $3,$3,$4
  4022. lw $4,32($fp)
  4023. move $5,$4
  4024. sll $4,$5,3
  4025. addu $5,$4,8
  4026. addu $3,$3,$5
  4027. lw $4,32($fp)
  4028. move $5,$4
  4029. sll $4,$5,14
  4030. addu $5,$4,16384
  4031. lw $6,64($fp)
  4032. addu $4,$5,$6
  4033. lw $5,32($fp)
  4034. move $6,$5
  4035. sll $5,$6,3
  4036. addu $7,$4,$5
  4037. li $4,0x00000800 # 2048
  4038. sw $4,16($sp)
  4039. move $4,$2
  4040. move $5,$3
  4041. li $6,0x00000001 # 1
  4042. jal Ddot
  4043. lw $3,36($fp)
  4044. lw $2,32($fp)
  4045. move $4,$2
  4046. sll $2,$4,3
  4047. sll $4,$3,14
  4048. lw $5,76($fp)
  4049. addu $3,$4,$5
  4050. addu $2,$2,$3
  4051. lw $4,36($fp)
  4052. lw $3,32($fp)
  4053. move $5,$3
  4054. sll $3,$5,3
  4055. sll $5,$4,14
  4056. lw $6,76($fp)
  4057. addu $4,$5,$6
  4058. addu $3,$3,$4
  4059. l.d $f2,0($3)
  4060. sub.d $f0,$f2,$f0
  4061. s.d $f0,0($2)
  4062. $L242:
  4063. lw $3,32($fp)
  4064. subu $2,$3,1
  4065. move $3,$2
  4066. sw $3,32($fp)
  4067. j $L240
  4068. $L241:
  4069. .set noreorder
  4070. nop
  4071. .set reorder
  4072. lw $2,60($fp)
  4073. subu $3,$2,1
  4074. sw $3,32($fp)
  4075. $L244:
  4076. lw $2,32($fp)
  4077. bgez $2,$L247
  4078. j $L245
  4079. $L247:
  4080. lw $2,56($fp)
  4081. lw $3,60($fp)
  4082. subu $2,$2,$3
  4083. lw $3,36($fp)
  4084. move $4,$3
  4085. sll $3,$4,14
  4086. lw $4,76($fp)
  4087. addu $3,$3,$4
  4088. lw $4,60($fp)
  4089. move $5,$4
  4090. sll $4,$5,3
  4091. addu $3,$3,$4
  4092. lw $4,60($fp)
  4093. move $5,$4
  4094. sll $4,$5,14
  4095. lw $5,64($fp)
  4096. addu $4,$4,$5
  4097. lw $5,32($fp)
  4098. move $6,$5
  4099. sll $5,$6,3
  4100. addu $7,$4,$5
  4101. li $4,0x00000800 # 2048
  4102. sw $4,16($sp)
  4103. move $4,$2
  4104. move $5,$3
  4105. li $6,0x00000001 # 1
  4106. jal Ddot
  4107. lw $3,36($fp)
  4108. lw $2,32($fp)
  4109. move $4,$2
  4110. sll $2,$4,3
  4111. sll $4,$3,14
  4112. lw $5,76($fp)
  4113. addu $3,$4,$5
  4114. addu $2,$2,$3
  4115. lw $4,36($fp)
  4116. lw $3,32($fp)
  4117. move $5,$3
  4118. sll $3,$5,3
  4119. sll $5,$4,14
  4120. lw $6,76($fp)
  4121. addu $4,$5,$6
  4122. addu $3,$3,$4
  4123. l.d $f2,0($3)
  4124. sub.d $f0,$f2,$f0
  4125. s.d $f0,0($2)
  4126. $L246:
  4127. lw $3,32($fp)
  4128. subu $2,$3,1
  4129. move $3,$2
  4130. sw $3,32($fp)
  4131. j $L244
  4132. $L245:
  4133. $L206:
  4134. lw $3,36($fp)
  4135. addu $2,$3,1
  4136. move $3,$2
  4137. sw $3,36($fp)
  4138. j $L204
  4139. $L205:
  4140. $L203:
  4141. move $sp,$fp # sp not trusted here
  4142. lw $31,52($sp)
  4143. lw $fp,48($sp)
  4144. addu $sp,$sp,56
  4145. j $31
  4146. .end Solver
  4147. .loc 1 919
  4148. .ent Storer
  4149. Storer:
  4150. .frame $fp,80,$31 # vars= 16, regs= 2/0, args= 56, extra= 0
  4151. .mask 0xc0000000,-4
  4152. .fmask 0x00000000,0
  4153. subu $sp,$sp,80
  4154. sw $31,76($sp)
  4155. sw $fp,72($sp)
  4156. move $fp,$sp
  4157. sw $4,80($fp)
  4158. sw $5,84($fp)
  4159. sw $6,88($fp)
  4160. sw $7,92($fp)
  4161. la $4,$LC32
  4162. la $5,$LC81
  4163. jal fopen
  4164. sw $2,68($fp)
  4165. lw $2,68($fp)
  4166. bne $2,$0,$L249
  4167. la $4,$LC82
  4168. jal printf
  4169. li $4,0x00000001 # 1
  4170. jal exit
  4171. $L249:
  4172. lw $4,68($fp)
  4173. la $5,$LC50
  4174. lw $6,80($fp)
  4175. jal fprintf
  4176. lw $4,68($fp)
  4177. la $5,$LC83
  4178. jal fprintf
  4179. sw $0,60($fp)
  4180. $L250:
  4181. lw $2,60($fp)
  4182. slt $3,$2,6
  4183. bne $3,$0,$L253
  4184. j $L251
  4185. $L253:
  4186. lw $2,60($fp)
  4187. move $3,$2
  4188. sll $2,$3,3
  4189. lw $3,84($fp)
  4190. addu $2,$2,$3
  4191. lw $3,0($2)
  4192. sw $3,64($fp)
  4193. $L254:
  4194. lw $2,60($fp)
  4195. move $3,$2
  4196. sll $2,$3,3
  4197. lw $3,84($fp)
  4198. addu $2,$2,$3
  4199. addu $3,$2,4
  4200. lw $2,64($fp)
  4201. lw $3,0($3)
  4202. slt $2,$3,$2
  4203. beq $2,$0,$L257
  4204. j $L255
  4205. $L257:
  4206. lw $3,64($fp)
  4207. addu $2,$3,1
  4208. lw $4,60($fp)
  4209. addu $3,$4,1
  4210. lw $4,64($fp)
  4211. move $5,$4
  4212. sll $4,$5,3
  4213. lw $5,88($fp)
  4214. addu $4,$4,$5
  4215. l.d $f0,0($4)
  4216. s.d $f0,16($sp)
  4217. lw $4,64($fp)
  4218. move $5,$4
  4219. sll $4,$5,3
  4220. lw $5,88($fp)
  4221. addu $4,$4,$5
  4222. addu $5,$4,16384
  4223. l.d $f0,0($5)
  4224. s.d $f0,24($sp)
  4225. lw $4,64($fp)
  4226. move $5,$4
  4227. sll $4,$5,3
  4228. lw $5,88($fp)
  4229. addu $4,$4,$5
  4230. li $5,0x00008000 # 32768
  4231. addu $4,$4,$5
  4232. l.d $f0,0($4)
  4233. s.d $f0,32($sp)
  4234. lw $4,64($fp)
  4235. move $5,$4
  4236. sll $4,$5,3
  4237. lw $5,92($fp)
  4238. addu $4,$4,$5
  4239. l.d $f0,0($4)
  4240. s.d $f0,40($sp)
  4241. lw $4,64($fp)
  4242. move $5,$4
  4243. sll $4,$5,3
  4244. lw $5,92($fp)
  4245. addu $4,$4,$5
  4246. addu $5,$4,16384
  4247. l.d $f0,0($5)
  4248. s.d $f0,48($sp)
  4249. lw $4,68($fp)
  4250. la $5,$LC84
  4251. move $6,$2
  4252. move $7,$3
  4253. jal fprintf
  4254. $L256:
  4255. lw $3,64($fp)
  4256. addu $2,$3,1
  4257. move $3,$2
  4258. sw $3,64($fp)
  4259. j $L254
  4260. $L255:
  4261. $L252:
  4262. lw $3,60($fp)
  4263. addu $2,$3,1
  4264. move $3,$2
  4265. sw $3,60($fp)
  4266. j $L250
  4267. $L251:
  4268. lw $4,68($fp)
  4269. la $5,$LC85
  4270. jal fprintf
  4271. sw $0,60($fp)
  4272. $L258:
  4273. lw $2,60($fp)
  4274. slt $3,$2,6
  4275. bne $3,$0,$L261
  4276. j $L259
  4277. $L261:
  4278. lw $2,60($fp)
  4279. move $3,$2
  4280. sll $2,$3,3
  4281. lw $3,84($fp)
  4282. addu $2,$2,$3
  4283. lw $3,0($2)
  4284. sw $3,64($fp)
  4285. $L262:
  4286. lw $2,60($fp)
  4287. move $3,$2
  4288. sll $2,$3,3
  4289. lw $3,84($fp)
  4290. addu $2,$2,$3
  4291. addu $3,$2,4
  4292. lw $2,64($fp)
  4293. lw $3,0($3)
  4294. slt $2,$3,$2
  4295. beq $2,$0,$L265
  4296. j $L263
  4297. $L265:
  4298. lw $3,64($fp)
  4299. addu $2,$3,1
  4300. lw $4,60($fp)
  4301. addu $3,$4,1
  4302. lw $4,64($fp)
  4303. move $5,$4
  4304. sll $4,$5,3
  4305. lw $5,96($fp)
  4306. addu $4,$4,$5
  4307. l.d $f0,0($4)
  4308. s.d $f0,16($sp)
  4309. lw $4,64($fp)
  4310. move $5,$4
  4311. sll $4,$5,3
  4312. lw $5,96($fp)
  4313. addu $4,$4,$5
  4314. addu $5,$4,16384
  4315. l.d $f0,0($5)
  4316. s.d $f0,24($sp)
  4317. lw $4,64($fp)
  4318. move $5,$4
  4319. sll $4,$5,3
  4320. lw $5,96($fp)
  4321. addu $4,$4,$5
  4322. li $5,0x00008000 # 32768
  4323. addu $4,$4,$5
  4324. l.d $f0,0($4)
  4325. s.d $f0,32($sp)
  4326. lw $4,68($fp)
  4327. la $5,$LC86
  4328. move $6,$2
  4329. move $7,$3
  4330. jal fprintf
  4331. $L264:
  4332. lw $3,64($fp)
  4333. addu $2,$3,1
  4334. move $3,$2
  4335. sw $3,64($fp)
  4336. j $L262
  4337. $L263:
  4338. $L260:
  4339. lw $3,60($fp)
  4340. addu $2,$3,1
  4341. move $3,$2
  4342. sw $3,60($fp)
  4343. j $L258
  4344. $L259:
  4345. lw $4,68($fp)
  4346. jal fclose
  4347. $L248:
  4348. move $sp,$fp # sp not trusted here
  4349. lw $31,76($sp)
  4350. lw $fp,72($sp)
  4351. addu $sp,$sp,80
  4352. j $31
  4353. .end Storer
  4354. .loc 1 972
  4355. .ent Verify
  4356. Verify:
  4357. .frame $fp,72,$31 # vars= 48, regs= 2/0, args= 16, extra= 0
  4358. .mask 0xc0000000,-4
  4359. .fmask 0x00000000,0
  4360. subu $sp,$sp,72
  4361. sw $31,68($sp)
  4362. sw $fp,64($sp)
  4363. move $fp,$sp
  4364. sw $4,72($fp)
  4365. sw $5,76($fp)
  4366. sw $6,80($fp)
  4367. sw $7,84($fp)
  4368. dsz 16($fp)
  4369. sw $0,56($fp)
  4370. $L267:
  4371. lw $2,56($fp)
  4372. slt $3,$2,3
  4373. bne $3,$0,$L270
  4374. j $L268
  4375. $L270:
  4376. sw $0,48($fp)
  4377. $L271:
  4378. lw $2,48($fp)
  4379. lw $3,72($fp)
  4380. slt $2,$2,$3
  4381. bne $2,$0,$L274
  4382. j $L272
  4383. $L274:
  4384. lw $3,48($fp)
  4385. lw $2,48($fp)
  4386. move $4,$2
  4387. sll $2,$4,3
  4388. sll $4,$3,14
  4389. lw $5,76($fp)
  4390. addu $3,$4,$5
  4391. addu $2,$2,$3
  4392. lw $4,56($fp)
  4393. lw $3,48($fp)
  4394. move $5,$3
  4395. sll $3,$5,3
  4396. sll $5,$4,14
  4397. lw $6,80($fp)
  4398. addu $4,$5,$6
  4399. addu $3,$3,$4
  4400. l.d $f0,0($3)
  4401. s.d $f0,0($2)
  4402. sw $0,52($fp)
  4403. $L275:
  4404. lw $2,52($fp)
  4405. lw $3,48($fp)
  4406. slt $2,$2,$3
  4407. bne $2,$0,$L278
  4408. j $L276
  4409. $L278:
  4410. lw $3,48($fp)
  4411. lw $2,52($fp)
  4412. move $4,$2
  4413. sll $2,$4,3
  4414. sll $4,$3,14
  4415. lw $5,76($fp)
  4416. addu $3,$4,$5
  4417. addu $2,$2,$3
  4418. lw $4,52($fp)
  4419. lw $3,48($fp)
  4420. move $5,$3
  4421. sll $3,$5,3
  4422. sll $5,$4,14
  4423. lw $6,76($fp)
  4424. addu $4,$5,$6
  4425. addu $3,$3,$4
  4426. l.d $f0,0($3)
  4427. s.d $f0,0($2)
  4428. $L277:
  4429. lw $3,52($fp)
  4430. addu $2,$3,1
  4431. move $3,$2
  4432. sw $3,52($fp)
  4433. j $L275
  4434. $L276:
  4435. $L273:
  4436. lw $3,48($fp)
  4437. addu $2,$3,1
  4438. move $3,$2
  4439. sw $3,48($fp)
  4440. j $L271
  4441. $L272:
  4442. mtc1 $0,$f0
  4443. mtc1 $0,$f1
  4444. s.d $f0,40($fp)
  4445. s.d $f0,32($fp)
  4446. sw $0,52($fp)
  4447. $L279:
  4448. lw $2,52($fp)
  4449. lw $3,72($fp)
  4450. slt $2,$2,$3
  4451. bne $2,$0,$L282
  4452. j $L280
  4453. $L282:
  4454. lw $3,56($fp)
  4455. lw $2,52($fp)
  4456. move $4,$2
  4457. sll $2,$4,3
  4458. sll $4,$3,14
  4459. lw $5,84($fp)
  4460. addu $3,$4,$5
  4461. addu $2,$2,$3
  4462. l.d $f0,0($2)
  4463. s.d $f0,24($fp)
  4464. sw $0,48($fp)
  4465. $L283:
  4466. lw $2,48($fp)
  4467. lw $3,72($fp)
  4468. slt $2,$2,$3
  4469. bne $2,$0,$L286
  4470. j $L284
  4471. $L286:
  4472. lw $3,52($fp)
  4473. lw $2,48($fp)
  4474. move $4,$2
  4475. sll $2,$4,3
  4476. sll $4,$3,14
  4477. lw $5,76($fp)
  4478. addu $3,$4,$5
  4479. addu $2,$2,$3
  4480. lw $4,56($fp)
  4481. lw $3,48($fp)
  4482. move $5,$3
  4483. sll $3,$5,3
  4484. sll $5,$4,14
  4485. lw $6,88($fp)
  4486. addu $4,$5,$6
  4487. addu $3,$3,$4
  4488. l.d $f0,0($2)
  4489. l.d $f2,0($3)
  4490. mul.d $f0,$f0,$f2
  4491. l.d $f2,24($fp)
  4492. sub.d $f0,$f2,$f0
  4493. s.d $f0,24($fp)
  4494. lw $3,52($fp)
  4495. lw $2,48($fp)
  4496. move $4,$2
  4497. sll $2,$4,3
  4498. sll $4,$3,14
  4499. lw $5,76($fp)
  4500. addu $3,$4,$5
  4501. addu $2,$2,$3
  4502. l.d $f2,0($2)
  4503. abs.d $f0,$f2
  4504. l.d $f2,32($fp)
  4505. c.lt.d $f0,$f2
  4506. bc1f $L287
  4507. l.d $f0,32($fp)
  4508. j $L288
  4509. $L287:
  4510. lw $3,52($fp)
  4511. lw $2,48($fp)
  4512. move $4,$2
  4513. sll $2,$4,3
  4514. sll $4,$3,14
  4515. lw $5,76($fp)
  4516. addu $3,$4,$5
  4517. addu $2,$2,$3
  4518. l.d $f2,0($2)
  4519. abs.d $f0,$f2
  4520. $L288:
  4521. s.d $f0,32($fp)
  4522. $L285:
  4523. lw $3,48($fp)
  4524. addu $2,$3,1
  4525. move $3,$2
  4526. sw $3,48($fp)
  4527. j $L283
  4528. $L284:
  4529. lw $3,56($fp)
  4530. lw $2,52($fp)
  4531. move $4,$2
  4532. sll $2,$4,3
  4533. sll $4,$3,14
  4534. lw $5,88($fp)
  4535. addu $3,$4,$5
  4536. addu $2,$2,$3
  4537. l.d $f2,0($2)
  4538. abs.d $f0,$f2
  4539. l.d $f2,40($fp)
  4540. c.lt.d $f0,$f2
  4541. bc1f $L289
  4542. l.d $f0,40($fp)
  4543. j $L290
  4544. $L289:
  4545. lw $3,56($fp)
  4546. lw $2,52($fp)
  4547. move $4,$2
  4548. sll $2,$4,3
  4549. sll $4,$3,14
  4550. lw $5,88($fp)
  4551. addu $3,$4,$5
  4552. addu $2,$2,$3
  4553. l.d $f2,0($2)
  4554. abs.d $f0,$f2
  4555. $L290:
  4556. s.d $f0,40($fp)
  4557. l.d $f2,24($fp)
  4558. abs.d $f0,$f2
  4559. l.d $f2,16($fp)
  4560. add.d $f0,$f2,$f0
  4561. s.d $f0,16($fp)
  4562. $L281:
  4563. lw $3,52($fp)
  4564. addu $2,$3,1
  4565. move $3,$2
  4566. sw $3,52($fp)
  4567. j $L279
  4568. $L280:
  4569. $L269:
  4570. lw $3,56($fp)
  4571. addu $2,$3,1
  4572. move $3,$2
  4573. sw $3,56($fp)
  4574. j $L267
  4575. $L268:
  4576. l.d $f0,32($fp)
  4577. l.d $f2,40($fp)
  4578. mul.d $f0,$f0,$f2
  4579. l.d $f2,16($fp)
  4580. div.d $f0,$f2,$f0
  4581. s.d $f0,16($fp)
  4582. l.d $f0,16($fp)
  4583. l.d $f2,$LC87
  4584. c.lt.d $f2,$f0
  4585. bc1f $L291
  4586. la $4,$LC88
  4587. dlw $6,16($fp)
  4588. jal printf
  4589. move $2,$0
  4590. j $L266
  4591. $L291:
  4592. li $2,0x00000001 # 1
  4593. j $L266
  4594. $L266:
  4595. move $sp,$fp # sp not trusted here
  4596. lw $31,68($sp)
  4597. lw $fp,64($sp)
  4598. addu $sp,$sp,72
  4599. j $31
  4600. .end Verify
  4601. .loc 1 1120
  4602. .ent Ddot
  4603. Ddot:
  4604. .frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
  4605. .mask 0x40000000,-8
  4606. .fmask 0x00000000,0
  4607. subu $sp,$sp,8
  4608. sw $fp,0($sp)
  4609. move $fp,$sp
  4610. move $2,$6
  4611. move $6,$7
  4612. lw $3,24($fp)
  4613. mtc1 $0,$f2
  4614. mtc1 $0,$f3
  4615. $L293:
  4616. subu $4,$4,1
  4617. li $7,-1 # 0xffffffff
  4618. bne $4,$7,$L295
  4619. j $L294
  4620. $L295:
  4621. l.d $f0,0($5)
  4622. l.d $f4,0($6)
  4623. mul.d $f0,$f0,$f4
  4624. add.d $f2,$f2,$f0
  4625. move $7,$2
  4626. sll $8,$7,3
  4627. addu $5,$5,$8
  4628. move $7,$3
  4629. sll $8,$7,3
  4630. addu $6,$6,$8
  4631. j $L293
  4632. $L294:
  4633. mov.d $f0,$f2
  4634. j $L292
  4635. $L292:
  4636. move $sp,$fp # sp not trusted here
  4637. lw $fp,0($sp)
  4638. addu $sp,$sp,8
  4639. j $31
  4640. .end Ddot