slalom.s 67 KB

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