
; Generated by gcc 2.95.2 19991024 (release) for ARM/RISC OS

 AREA |C$$code1|, CODE, READONLY
 ALIGN
|enwindow|
 DCD &bfc2f9ef, &256c9456 ; double -1.48252385400300112916e-1
 DCD &40402771, &321b94fd ; double 3.23081419596364654012e1
 DCD &40728674, &876ccba8 ; double 2.96403449463827655563e2
 DCD &408b9913, &6dec0555 ; double 8.83134487003243179970e2
 DCD &40c5b4f9, &439fd62b ; double 1.11139473762317411456e4
 DCD &40908515, &e0f374a7 ; double 1.05727136593245973017e3
 DCD &40731bd8, &7b5b188  ; double 3.05740241727581178566e2
 DCD &403ed370, &13ad96b3 ; double 3.08259289072800122256e1
 DCD &400ed398, &d073674e ; double 3.85331881382163654592
 DCD &404db6e9, &9e109676 ; double 5.94290044384951414713e1
 DCD &40862cb8, &4fd44dfa ; double 7.09589996012334495390e2
 DCD &40b4a1e9, &3f59ddd0 ; double 5.28191112291016906966e3
 DCD &c0b6c5aa, &32bde6c4 ; double -5.82966483675846029655e3
 DCD &c0898d08, &d3e0b881 ; double -8.17629310374861347555e2
 DCD &c0533aa9, &14b9c7e5 ; double -7.69165698827997204035e1
 DCD &c0126088, &4c87099d ; double -4.59426993917659576283
 DCD &3fed00cb, &c7384d2e ; double 9.06347169019147136382e-1
 DCD &3fc917a6, &bc29b42f ; double 1.96034280659121290524e-1
 DCD &bfc3cc20, &55b3abf5 ; double -1.54666940542795977587e-1
 DCD &40412985, &8a4b574a ; double 3.43243878238559574356e1
 DCD &4072dce8, &79a81b96 ; double 3.01806756645842483522e2
 DCD &40898ccb, &fc9aca62 ; double 8.17599602898884995739e2
 DCD &40c69ae5, &e01b32f8 ; double 1.15737959016798849916e4
 DCD &40927502, &1be6548f ; double 1.18125205955401520441e3
 DCD &4074198e, &9b02dd98 ; double 3.21597315798944237031e2
 DCD &403f3b65, &c733afb0 ; double 3.12320217610537724795e1
 DCD &400daf88, &8082023e ; double 3.71070957562213177283
 DCD &404ad352, &34204c5c ; double 5.36509461553293647285e1
 DCD &40856156, &e48dd1cc ; double 6.84167428119626038097e2
 DCD &40b46890, &f558e47f ; double 5.22456624370172994531e3
 DCD &c0b8de64, &5067ccc9 ; double -6.36639185189008367161e3
 DCD &c08c67d0, &26f75309 ; double -9.08976636821958095425e2
 DCD &c056752a, &137d9dc  ; double -8.98306887669963884946e1
 DCD &c015a545, &5db3e44e ; double -5.41139742289040093226
 DCD &3fea4300, &2ae4284f ; double 8.20678790828660242873e-1
 DCD &3fd8f8b8, &3c69a60e ; double 3.90180644032256718212e-1
 DCD &bfc4921b, &e03e2df9 ; double -1.60708889478300226417e-1
 DCD &404212d2, &4a28161  ; double 3.61470342439158756065e1
 DCD &407301e3, &f94f370a ; double 3.04118157681878642506e2
 DCD &4086e5f1, &7e25cb23 ; double 7.32742916388761273083e2
 DCD &40c76ace, &10a2e767 ; double 1.19896098827009100205e4
 DCD &4094500c, &92bb5fd9 ; double 1.30001227848789699237e3
 DCD &4074f48e, &f44777c1 ; double 3.35284900931521463008e2
 DCD &403f7cf8, &1f050430 ; double 3.14881610285994497644e1
 DCD &400afdb2, &aa0df6ad ; double 3.37387593131173568750
 DCD &40479dba, &1743c324 ; double 4.72322415428991746467e1
 DCD &408465e5, &be6d5e45 ; double 6.52737179617347123894e2
 DCD &40b40c6a, &ca798a4  ; double 5.13241425559498384246e3
 DCD &c0bafd16, &4acb8082 ; double -6.90908707878005407110e3
 DCD &c08f4ffe, &72b3090  ; double -1.00199903711072875012e3
 DCD &c059e7cc, &839457ba ; double -1.03621857542863750723e2
 DCD &c0186b6f, &2e0630ef ; double -6.10491630471027146854
 DCD &3fe7bb99, &ed2990ce ; double 7.41650546272035304796e-1
 DCD &3fe29406, &2ed59f07 ; double 5.80569354508924884151e-1
 DCD &bfc54b67, &ab2b10d2 ; double -1.66363676622614919953e-1
 DCD &4042e036, &11d18634 ; double 3.77516500733439954729e1
 DCD &4072f02d, &31db72e7 ; double 3.03011033875677128435e2
 DCD &40839fcc, &4923d863 ; double 6.27974748878518198580e2
 DCD &40c82361, &b7eb6553 ; double 1.23587634252781626856e4
 DCD &4096111c, &a9e523ba ; double 1.41227799184828336365e3
 DCD &4075abfe, &b4512fde ; double 3.46749683682572026555e2
 DCD &403f9929, &5093f32d ; double 3.15982866631704162330e1
 DCD &40094766, &8995bd6d ; double 3.15986354339809460967
 DCD &40444a15, &ab148be9 ; double 4.05787862634968590214e1
 DCD &40834156, &3f62fee4 ; double 6.16167113088039059221e2
 DCD &40b38fd5, &3ff552ea ; double 5.00783300717615384201e3
 DCD &c0bd1e0a, &6976d69d ; double -7.45404067175616819441e3
 DCD &c0911f2f, &2395f9b2 ; double -1.09579603418671149484e3
 DCD &c05d8f9f, &9b80c747 ; double -1.18244116664657767046e2
 DCD &c01b461c, &d404e094 ; double -6.81846934585350439306
 DCD &3fe561b8, &2ab7f990 ; double 6.68178637919298878955e-1
 DCD &3fe87de2, &a6aea964 ; double 7.65366864730179674581e-1
 DCD &bfc5f791, &6f923494 ; double -1.71617679098208797406e-1
 DCD &40438ec9, &51b04290 ; double 3.91155187712330416616e1
 DCD &4072a576, &10d82fc0 ; double 2.98341324657896620920e2
 DCD &407f786a, &2153862a ; double 5.03525910688653880243e2
 DCD &40c8c3cb, &71bc1844 ; double 1.26795894084089741227e4
 DCD &4097b254, &2a2be68a ; double 1.51658219212145422716e3
 DCD &40763fc2, &dfb725e8 ; double 3.55985076632902291749e2
 DCD &403f652e, &8f8b88e7 ; double 3.13952417102490493050e1
 DCD &400754d4, &a1c55940 ; double 2.91642118819723350498
 DCD &4040e609, &a7acd8b8 ; double 3.37971696466424305072e1
 DCD &4081f727, &bb1269e0 ; double 5.74894399780136154732e2
 DCD &40b2f53c, &2873ca7d ; double 4.85323499225324212603e3
 DCD &c0bf3d91, &f999e29c ; double -7.99757021486074881977e3
 DCD &c092970c, &b4595acd ; double -1.18976240672699645984e3
 DCD &c060b49f, &92f82d15 ; double -1.33644479260176609614e2
 DCD &c01ee190, &4f53f0e3 ; double -7.72027706098399146839
 DCD &3fe32e18, &89047ffc ; double 5.99376933681923684816e-1
 DCD &3fee2b5d, &3806f63c ; double 9.42793473651995395102e-1
 DCD &bfc6962e, &fffea900 ; double -1.76458239552921725135e-1
 DCD &40441c01, &589e340d ; double 4.02187910816647686829e1
 DCD &40721ff8, &a4693061 ; double 2.89998203669447377706e2
 DCD &40767529, &6f793bdc ; double 3.59322616075105315758e2
 DCD &40c94b21, &2a47b507 ; double 1.29502591027864382340e4
 DCD &40993067, &d2df42af ; double 1.61210139035076622349e3
 DCD &4076ad9c, &59437c23 ; double 3.62850671065915037161e2
 DCD &403f0bc1, &8cdc58d7 ; double 3.10459220922428720257e1
 DCD &400693e9, &252078d5 ; double 2.82222203259798698483
 DCD &403afd26, &14ac4929 ; double 2.69888623161906799908e1
 DCD &40808f32, &7de38bc6 ; double 5.29899654176428839492e2
 DCD &40b23f5f, &37ea5053 ; double 4.67137194694958725449e3
 DCD &c0c0abf3, &16e8dc2e ; double -8.53589913664580308250e3
 DCD &c0940a5c, &3e63519  ; double -1.28258985862444956183e3
 DCD &c062b2bc, &b6af3155 ; double -1.49585536329434631853e2
 DCD &c0214978, &14c02e9c ; double -8.64349427076313503449
 DCD &3fe11ab7, &190834eb ; double 5.34511135950791582694e-1
 DCD &3ff1c73b, &39ae68cb ; double 1.11114046603920502143
 DCD &bfd726de, &89ea3361 ; double -3.61747393305270448227e-1
 DCD &404485ab, &97d38fbb ; double 4.10442991049780729895e1
 DCD &407158bd, &c132e4c8 ; double 2.77546326826861786685e2
 DCD &4068746f, &6e1e7c3f ; double 1.95638602313558266133e2
 DCD &40c9b8b8, &145d13f0 ; double 1.31694381214473105501e4
 DCD &409a8692, &cbf43c54 ; double 1.69764335614793981222e3
 DCD &4076f68e, &b40887a3 ; double 3.67409839661903049546e2
 DCD &403e8e9a, &f43e26   ; double 3.05570374103828257262e1
 DCD &40044075, &1c98f090 ; double 2.53147337285742679569
 DCD &403411f5, &ac029c9d ; double 2.00701549059273141040e1
 DCD &407e1808, &8afa85ab ; double 4.81502085665323363628e2
 DCD &40b170f8, &684e6bbb ; double 4.46497034158830774686e3
 DCD &c0c1b4af, &3584e1c0 ; double -9.06536882077238988131e3
 DCD &c0957683, &7f4ab411 ; double -1.37362841526721990704e3
 DCD &c064c550, &455e83d6 ; double -1.66166048702811792737e2
 DCD &c0232a70, &fa9f769b ; double -9.58289321133206861703
 DCD &3fde450e, &d273e7a  ; double 4.72964775891319910706e-1
 DCD &3ff44cf3, &25091dd6 ; double 1.26878656832729097559
 DCD &bfd7a946, &d211b17f ; double -3.69706826348895789547e-1
 DCD &4044b254, &d0a779fa ; double 4.13932133500820356176e1
 DCD &407054b2, &8f27fd58 ; double 2.61293593555650204507e2
 DCD &4029def6, &b7aee6ba ; double 1.29354760552408727392e1
 DCD &40ca0c10, &daffd358 ; double 1.33361316833288146881e4
 DCD &409bb208, &d199878c ; double 1.77250861205949604482e3
 DCD &40771c3e, &d93b247b ; double 3.69765343886399648454e2
 DCD &403dc056, &bf395bc5 ; double 2.97513236537013376903e1
 DCD &400337f3, &2efc97eb ; double 2.40231930454591724455
 DCD &402a9c0e, &22c93b3d ; double 1.33047953482288168203e1
 DCD &407ae8fc, &38be6da6 ; double 4.30561577552662470225e2
 DCD &40b08d0e, &8e73137d ; double 4.23705686110711849324e3
 DCD &c0c2b6f7, &41ffc977 ; double -9.58193170163476133894e3
 DCD &c096d6c3, &f2a0d7a3 ; double -1.46169135524097578127e3
 DCD &c066e413, &2a770196 ; double -1.83127339584764456504e2
 DCD &c0256f9f, &7380785  ; double -1.07180101638694029731e1
 DCD &3fda8279, &99fcef32 ; double 4.14213562373095034452e-1
 DCD &3ff6a09e, &667f3bcc ; double 1.41421356237309492343
 DCD &bfd81d17, &6b7d24ab ; double -3.76775603265353253857e-1
 DCD &4044cf4b, &5301b6c1 ; double 4.16194862135284964211e1
 DCD &406e21bc, &5139a233 ; double 2.41054237949910742600e2
 DCD &c0677e4a, &f59e9533 ; double -1.87946650323612260536e2
 DCD &40ca4508, &243ba77d ; double 1.34500636057441533922e4
 DCD &409cb09d, &9708fe04 ; double 1.83615389646578205429e3
 DCD &407717da, &a4faa5ff ; double 3.69490879992576026325e2
 DCD &403d0079, &1a3af3b2 ; double 2.90018478769231435876e1
 DCD &40009261, &f93315be ; double 2.07147593199871860037
 DCD &401b1e4d, &27e05c0d ; double 6.77959120089418565414
 DCD &40779c6d, &b4c43ead ; double 3.77776783720570904279e2
 DCD &40af2cc5, &ed39bf8e ; double 3.99038657551253618294e3
 DCD &c0c3b0da, &cf9352a1 ; double -1.00817094597009145218e4
 DCD &c09827ca, &29bc98c3 ; double -1.54594742483789809739e3
 DCD &c0690c0a, &9d7e2b0b ; double -2.00376295801565305510e2
 DCD &c027ba9d, &64ef7fc3 ; double -1.18644820730550062393e1
 DCD &3fd6e649, &f7d78649 ; double 3.57805721314524094456e-1
 DCD &3ff8bc80, &6b151741 ; double 1.54602090672547398675
 DCD &bfd88208, &e9197499 ; double -3.82936694751899120437e-1
 DCD &40449369, &1fe05b4c ; double 4.11516456456652974794e1
 DCD &406b0f42, &4c666fbc ; double 2.16476843071051803236e2
 DCD &c0796282, &dc41cc50 ; double -4.06156948334716616955e2
 DCD &40ca6391, &79fb3ded ; double 1.35111365350773212413e4
 DCD &409d7f3b, &b342295  ; double 1.88780765992604324310e3
 DCD &4076f4d7, &20bd1a42 ; double 3.67302521456415092871e2
 DCD &403c22de, &e24000fd ; double 2.81362134367236542687e1
 DCD &3ffe9f41, &56c62ddc ; double 1.91388067146441809285
 DCD &3fd88208, &e9197499 ; double 3.82936694751899120437e-1
 DCD &40743da8, &9449b57c ; double 3.23853657043385965153e2
 DCD &40ad204b, &612c600a ; double 3.72814722574875213468e3
 DCD &c0c4a09d, &efda1701 ; double -1.05612338821995090257e4
 DCD &c09964cf, &765139e7 ; double -1.62520259978214176044e3
 DCD &c06b3402, &ff77c48  ; double -2.17625251754159990014e2
 DCD &c02a07e6, &bb016b37 ; double -1.30154322089416449870e1
 DCD &3fd36a08, &355c63dc ; double 3.03346683607342404443e-1
 DCD &3ffa9b66, &290ea1a1 ; double 1.66293922460509002725
 DCD &bfe2a1e5, &c753fe2c ; double -5.82262887299241693739e-1
 DCD &40442d9e, &4518f440 ; double 4.03563925144048880611e1
 DCD &4067866c, &39fbe9b7 ; double 1.88200711242692449332e2
 DCD &c084022a, &5794fac0 ; double -6.40270674861814768519e2
 DCD &40ca679b, &81e0cc5b ; double 1.35192149010656194150e4
 DCD &409e1e68, &b27b980a ; double 1.92760224335780594629e3
 DCD &4076ad1d, &c121f3af ; double 3.62819764263748709254e2
 DCD &403af804, &b6a612a6 ; double 2.69688219218684466227e1
 DCD &3ffbf12e, &2abc1de  ; double 1.74638176959353286222
 DCD &c016818a, &fe7408e3 ; double -5.62650678237170875917
 DCD &4070d4d3, &a586a340 ; double 2.69301671529701707186e2
 DCD &40aafac5, &e81afd10 ; double 3.45338653644885198446e3
 DCD &c0c58412, &987ebe5c ; double -1.10161452787808884750e4
 DCD &c09a8aa0, &bb42b6dc ; double -1.69865696434250912716e3
 DCD &c06d5882, &8fd1b0d  ; double -2.34765873426768308718e2
 DCD &c02c53b8, &22a9b977 ; double -1.41635142166312402168e1
 DCD &3fd007fa, &758626af ; double 2.50486960191305507717e-1
 DCD &3ffc38b2, &f180bdb1 ; double 1.76384252869671009911
 DCD &bfe2d6c7, &27088f5b ; double -5.88718010174925310274e-1
 DCD &40439dfd, &3fae7096 ; double 3.92342910386807233181e1
 DCD &40637859, &cdb3a42e ; double 1.55760962344037977800e2
 DCD &c08bc9fe, &8fd7dfa1 ; double -8.89249297796737778299e2
 DCD &40ca51bc, &3b5f1b35 ; double 1.34754705618746611435e4
 DCD &409e8c36, &ce919bc1 ; double 1.95505352237237116242e3
 DCD &4076471f, &20a0b7b2 ; double 3.56445099475672691369e2
 DCD &4039e51b, &a374bd22 ; double 2.58949529800421558434e1
 DCD &3ff91caf, &7b7ff604 ; double 1.56950329057815540779
 DCD &c0265d27, &2ebd47f8 ; double -1.11819395643287720077e1
 DCD &406ad9e2, &caff209  ; double 2.14808843940394837091e2
 DCD &40a8c254, &2ad0a97  ; double 3.16916408291582365564e3
 DCD &c0c659a9, &20af6e76 ; double -1.14433213099755630537e4
 DCD &c09b94a2, &a88f7188 ; double -1.76515884613161506422e3
 DCD &c06f760c, &fd8c446a ; double -2.51689085744819124102e2
 DCD &c02efec0, &19b0cfc6 ; double -1.54975593593916407542e1
 DCD &3fc975f5, &e0553158 ; double 1.98912367379658006072e-1
 DCD &3ffd906b, &cf328d44 ; double 1.84775906502257303288
 DCD &bfe951fc, &c401704d ; double -7.91258223365284174555e-1
 DCD &4042b264, &8ce40403 ; double 3.73936935532911078894e1
 DCD &405decc4, &60fae10f ; double 1.19699486012457995798e2
 DCD &c091fc61, &f4848ee1 ; double -1.15109565932390273701e3
 DCD &40ca2239, &1ef3b244 ; double 1.33804462570782125113e4
 DCD &409ec994, &b236fa49 ; double 1.97039521108534449922e3
 DCD &4075c050, &4623f5a4 ; double 3.48019598141161850435e2
 DCD &4038bb42, &c183086d ; double 2.47314873642830441725e1
 DCD &3ff62903, &7a8b8756 ; double 1.38501308316377480523
 DCD &c0306be1, &738eb5ac ; double -1.64214088653003926765e1
 DCD &4064219c, &fdaaf7f  ; double 1.61050300528640917719e2
 DCD &40a67caa, &20b50162 ; double 2.87833228078500633274e3
 DCD &c0c71f7e, &e6f73009 ; double -1.18389914235100313817e4
 DCD &c09c7ff1, &8bc17dee ; double -1.82398588468867410484e3
 DCD &c070c491, &670543a3 ; double -2.68285498638690285134e2
 DCD &c030d136, &ff3f28f9 ; double -1.68172454384993876886e1
 DCD &3fc2fcac, &73a6063f ; double 1.48335987538347396919e-1
 DCD &3ffe9f41, &56c62ddc ; double 1.91388067146441809285
 DCD &bfe9795b, &d2d337d0 ; double -7.96064292686191166126e-1
 DCD &40419db9, &16b9bb81 ; double 3.52322109610459008877e1
 DCD &4054013b, &e4e8f5a3 ; double 8.00192806506152436441e1
 DCD &c0964015, &c60ea066 ; double -1.42402126334051126832e3
 DCD &40c9d9e5, &a3d1c09c ; double 1.32357940618696666206e4
 DCD &409ed737, &598cd026 ; double 1.97380405254383504143e3
 DCD &40751fda, &9563e231 ; double 3.37990865125818402248e2
 DCD &40374a06, &58f2c13b ; double 2.32891593544638730862e1
 DCD &3ff64b78, &a2e67fea ; double 1.39342559464420867599
 DCD &c0351983, &f02dbf7e ; double -2.10996694671334736881e1
 DCD &405b1ef1, &672dcd40 ; double 1.08483484072426108469e2
 DCD &40a42f66, &c9c3b912 ; double 2.58370075809129866684e3
 DCD &c0c7d3dc, &f3f3f8b0 ; double -1.21997261948551458772e4
 DCD &c09d491c, &bd4e87bc ; double -1.87427806589797455672e3
 DCD &c071c3f2, &8be71cd2 ; double -2.84246715452941430158e2
 DCD &c0321d1b, &4d490016 ; double -1.81136978438590503515e1
 DCD &3fb936bb, &8c5b2da2 ; double 9.84914033571642477671e-2
 DCD &3fff6297, &cff75cb1 ; double 1.96157056080646108320
 DCD &bfeff621, &e3796d79 ; double -9.98795456205171849895e-1
 DCD &40404812, &f0eb1929 ; double 3.25630780361119107624e1
 DCD &40427aab, &b0d1c208 ; double 3.69583645843704857725e1
 DCD &c09aa84d, &427536d0 ; double -1.70607544882914589834e3
 DCD &40c979a4, &cb734a47 ; double 1.30432874588120157568e4
 DCD &409eb588, &4e25d880 ; double 1.96538311061033164151e3
 DCD &407466e8, &c42fe90e ; double 3.26431827723646051709e2
 DCD &40362cce, &7621c0a  ; double 2.21750187506222928846e1
 DCD &3ff32d9f, &651c90fd ; double 1.19863833901132399440
 DCD &c0395f0a, &1beb7bf1 ; double -2.53712480020439592465e1
 DCD &404cc47c, &d223ede1 ; double 5.75350592303691499296e1
 DCD &40a1e0d6, &75a16aa7 ; double 2.28841886619975002759e3
 DCD &c0c87556, &5778060f ; double -1.25226745443372328737e4
 DCD &c09deb5c, &330f8bf4 ; double -1.91484003853122430883e3
 DCD &c072b432, &d7b1f52e ; double -2.99262412734172244200e2
 DCD &c03360c8, &4c528ea2 ; double -1.93780563069873394966e1
 DCD &3fa92727, &8a3b1161 ; double 4.91268497694672470755e-2
 DCD &3fffd88d, &a3d12527 ; double 1.99036945334439407951
 DCD &40c4ba66, &c38bab81 ; double 1.06128028425776883523e4
 DCD &40b4b628, &88b0233e ; double 5.30215833569393544167e3
 DCD &408d0e35, &e1199308 ; double 9.29776308250236070307e2
 DCD &4086c668, &9bb61e25 ; double 7.28801078245921075904e2
 DCD &40720190, &af1a831  ; double 2.88097666686985633078e2
 DCD &40503ab6, &7196cb55 ; double 6.49173854801750422894e1
 DCD &403e2000, &33a3fba7 ; double 3.01250030780171549338e1
 DCD &401067e4, &3e2e2ebd ; double 4.10145661503673597537
 DCD &40c90266, &1eed19c5 ; double 1.28047978187919452466e4
 DCD &409e6634, &d50c06e0 ; double 1.94555159395973169012e3
 DCD &407396ca, &bcfe4829 ; double 3.13424496644295288661e2
 DCD &4034cd35, &4301b7d7 ; double 2.08015939597315444587e1
 DCD &409f2c9f, &5b0f768d ; double 1.99515562080536915346e3
 DCD &4022006d, &f5b0f769 ; double 9.00083892617449699003
 DCD &c03d33c2, &25cc74d5 ; double -2.92021812080536911083e1

|win|
 KEEP |win|
 DCD &3d50c360, &8a44266  ; double 2.38219173934791296993e-13
 DCD &3d669999, &7e7f85b3 ; double 6.42330587214783425746e-13
 DCD &3d7089c4, &1bb39bf1 ; double 9.40084909404968813781e-13
 DCD &3d73beff, &7aa6ff25 ; double 1.12243502609655590411e-12
 DCD &3d74d38a, &f6e3922b ; double 1.18384032126748109298e-12
 DCD &3d73beff, &7aa6ff25 ; double 1.12243502609655590411e-12
 DCD &3d7089c4, &1bb39bf2 ; double 9.40084909404969015729e-13
 DCD &3d669999, &7e7f85b8 ; double 6.42330587214783930617e-13
 DCD &3d50c360, &8a44270  ; double 2.38219173934791801864e-13
 DCD &3d97ff0a, &65fe13fc ; double 5.45611610894341231090e-12
 DCD &3d95753f, &bd43632c ; double 4.87898519956585220564e-12
 DCD &3d92a652, &35798d9b ; double 4.24044899501736731540e-12
 DCD &3d8f5033, &dff9318a ; double 3.55990909475825198988e-12
 DCD &3d8923bd, &d333ebe0 ; double 2.85804335928807517991e-12
 DCD &3d82f747, &c66ea635 ; double 2.15617762381789796604e-12
 DCD &3d79f5ae, &76e97914 ; double 1.47563772355878304442e-12
 DCD &3d6d73f0, &af844599 ; double 8.37101519010297447360e-13
 DCD &3d524b36, &d35d7e37 ; double 2.59970609632737594537e-13
 DCD &bd97ff0a, &65fe13fc ; double -5.45611610894341231090e-12
 DCD &bd95753f, &bd43632c ; double -4.87898519956585220564e-12
 DCD &bd92a652, &35798d9b ; double -4.24044899501736731540e-12
 DCD &bd8f5033, &dff9318a ; double -3.55990909475825198988e-12
 DCD &bd8923bd, &d333ebe2 ; double -2.85804335928807598770e-12
 DCD &bd82f747, &c66ea635 ; double -2.15617762381789796604e-12
 DCD &bd79f5ae, &76e97914 ; double -1.47563772355878304442e-12
 DCD &bd6d73f0, &af84459a ; double -8.37101519010297548334e-13
 DCD &bd524b36, &d35d7e37 ; double -2.59970609632737594537e-13
 DCD &bd50c360, &8a4427a  ; double -2.38219173934792306735e-13
 DCD &bd669999, &7e7f85bc ; double -6.42330587214784334514e-13
 DCD &bd7089c4, &1bb39bf5 ; double -9.40084909404969621574e-13
 DCD &bd73beff, &7aa6ff25 ; double -1.12243502609655590411e-12
 DCD &bd74d38a, &f6e3922b ; double -1.18384032126748109298e-12
 DCD &bd73beff, &7aa6ff25 ; double -1.12243502609655590411e-12
 DCD &bd7089c4, &1bb39bf4 ; double -9.40084909404969419626e-13
 DCD &bd669999, &7e7f85b9 ; double -6.42330587214784031591e-13
 DCD &bd50c360, &8a44270  ; double -2.38219173934791801864e-13
 DCD &3d50c360, &8a44266  ; double 2.38219173934791296993e-13
 DCD &3d669999, &7e7f85b3 ; double 6.42330587214783425746e-13
 DCD &3d7089c4, &1bb39bf1 ; double 9.40084909404968813781e-13
 DCD &3d73beff, &7aa6ff25 ; double 1.12243502609655590411e-12
 DCD &3d74d38a, &f6e3922b ; double 1.18384032126748109298e-12
 DCD &3d73beff, &7aa6ff25 ; double 1.12243502609655590411e-12
 DCD &3d7089c4, &1bb39bf1 ; double 9.40084909404968813781e-13
 DCD &3d669999, &7e7f85ba ; double 6.42330587214784132565e-13
 DCD &3d50c360, &8a44270  ; double 2.38219173934791801864e-13
 DCD &3d97ff0a, &65fe13fd ; double 5.45611610894341311869e-12
 DCD &3d95753f, &bd43632c ; double 4.87898519956585220564e-12
 DCD &3d92a652, &35798d9b ; double 4.24044899501736731540e-12
 DCD &3d8f5033, &dff9318d ; double 3.55990909475825320157e-12
 DCD &3d8923bd, &d333ebe0 ; double 2.85804335928807517991e-12
 DCD &3d82f747, &c66ea635 ; double 2.15617762381789796604e-12
 DCD &3d79f5ae, &76e9790f ; double 1.47563772355878203468e-12
 DCD &3d6d73f0, &af84459a ; double 8.37101519010297548334e-13
 DCD &3d524b36, &d35d7e37 ; double 2.59970609632737594537e-13
 DCD &bd9804e4, &9bcec6a8 ; double -5.46131406980975488866e-12
 DCD &bd95a4a6, &671832bb ; double -4.92108577052405539814e-12
 DCD &bd931a3d, &4482c23d ; double -4.34340503709183840084e-12
 DCD &bd906a9c, &6870362a ; double -3.73266836870768671764e-12
 DCD &bd8b35ff, &14870149 ; double -3.09352384019088489639e-12
 DCD &bd8561c1, &6460d260 ; double -2.43083572732946513244e-12
 DCD &bd7e844c, &bbf65e9f ; double -1.73467901000775093055e-12
 DCD &bd712639, &20972c4a ; double -9.74825365660928080838e-13
 DCD &bd53af69, &3e3cb4c0 ; double -2.79743512016832601728e-13
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &bd501208, &fbcf462f ; double -2.28374824179953086884e-13
 DCD &bd5c69f5, &bb3b176f ; double -4.03785887402068598860e-13
 DCD &bd4e35c0, &9616c86c ; double -2.14654746482532296898e-13
 DCD &3fc0d9fd, &31c98bf7 ; double 1.31652497587395805878e-1
 DCD &3fda8279, &99fcef31 ; double 4.14213562373094978941e-1
 DCD &3fe88df1, &53d6a674 ; double 7.67326987978960151082e-1
 DCD &3ff175ff, &e71f075f ; double 1.09130850106927090870
 DCD &3ff4da02, &d93ab9e7 ; double 1.30322537284120598677
 DCD &3ff91d6e, &9fab8f62 ; double 1.56968557711749001626
 DCD &3ffebc57, &c138aab6 ; double 1.92098212697116599301
 DCD &4003504f, &333f9de4 ; double 2.41421356237309403525
 DCD &40095f6d, &18828236 ; double 3.17159480236321211777
 DCD &40120af7, &2b84120c ; double 4.51070850366205533533
 DCD &401e620d, &5dba72b0 ; double 7.59575411272514600114
 DCD &4036e75d, &2dd1c367 ; double 2.29037655484311493126e1
 DCD &3fef838b, &8c811c17 ; double 9.84807753012208020316e-1
 DCD &3fe491b7, &523c161d ; double 6.42787609686539362919e-1
 DCD &3fd5e3a8, &748a0bf7 ; double 3.42020143325668823930e-1
 DCD &3fee11f6, &42522d1c ; double 9.39692620785908427905e-1
 DCD &bfc63a1a, &7e0b7388 ; double -1.73648177666930303431e-1
 DCD &bfe8836f, &a2cf5038 ; double -7.66044443118977902429e-1
 DCD &3febb67a, &e8584cab ; double 8.66025403784438707611e-1
 DCD &3fe00000, &0        ; double 0.5
 DCD &bfe076bf, &cd6fbecc ; double -5.14495755427526457737e-1
 DCD &bfde30db, &485db65f ; double -4.71731968564972292679e-1
 DCD &bfd40e60, &4f4701fd ; double -3.13377454203901895102e-1
 DCD &bfc748ee, &85851aed ; double -1.81913199610981207721e-1
 DCD &bfb83603, &a7f25359 ; double -9.45741925264206445556e-2
 DCD &bfa4f970, &dd8206d0 ; double -4.09655828853040526738e-2
 DCD &bf8d1423, &9d59a7c1 ; double -1.41985685724711502981e-2
 DCD &bf6e4f68, &c708d3f3 ; double -3.69997467376003688275e-3
 DCD &3feb7095, &10f9355  ; double 8.57492925712544207251e-1
 DCD &3fec373a, &fe3fa80c ; double 8.81741997317705195059e-1
 DCD &3fee635b, &9ee7b56f ; double 9.49628649102732924625e-1
 DCD &3fef7750, &2a0dd15a ; double 9.83314592491790095963e-1
 DCD &3fefdb48, &2dd30f5a ; double 9.95517816067585714634e-1
 DCD &3feff91f, &901a8104 ; double 9.99160558178147528707e-1
 DCD &3fefff2c, &98dbe44d ; double 9.99899195244447036579e-1
 DCD &3feffff1, &a52805d1 ; double 9.99993155070280193009e-1
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &0, &0 ; double 0.0
 DCD &3d501208, &fbcf462f ; double 2.28374824179953086884e-13
 DCD &3d5c69f5, &bb3b176f ; double 4.03785887402068598860e-13
 DCD &3d4e35c0, &9616c86c ; double 2.14654746482532296898e-13
 DCD &3d9804e4, &9bcec6a8 ; double 5.46131406980975488866e-12
 DCD &3d95a4a6, &671832bb ; double 4.92108577052405539814e-12
 DCD &3d931a3d, &4482c23d ; double 4.34340503709183840084e-12
 DCD &3d906a9c, &6870362a ; double 3.73266836870768671764e-12
 DCD &3d8b35ff, &14870149 ; double 3.09352384019088489639e-12
 DCD &3d8561c1, &6460d262 ; double 2.43083572732946594023e-12
 DCD &3d7e844c, &bbf65e9f ; double 1.73467901000775093055e-12
 DCD &3d712639, &20972c4a ; double 9.74825365660928080838e-13
 DCD &3d53af69, &3e3cb4c0 ; double 2.79743512016832601728e-13
 DCD &bd97ff0a, &65fe13fd ; double -5.45611610894341311869e-12
 DCD &bd95753f, &bd43632c ; double -4.87898519956585220564e-12
 DCD &bd92a652, &35798d9b ; double -4.24044899501736731540e-12
 DCD &bd8f5033, &dff9318d ; double -3.55990909475825320157e-12
 DCD &bd8923bd, &d333ebe0 ; double -2.85804335928807517991e-12
 DCD &bd82f747, &c66ea635 ; double -2.15617762381789796604e-12
 DCD &bd79f5ae, &76e9790f ; double -1.47563772355878203468e-12
 DCD &bd6d73f0, &af84459a ; double -8.37101519010297548334e-13
 DCD &bd524b36, &d35d7e37 ; double -2.59970609632737594537e-13
 DCD &bd50c360, &8a44266  ; double -2.38219173934791296993e-13
 DCD &bd669999, &7e7f85b3 ; double -6.42330587214783425746e-13
 DCD &bd7089c4, &1bb39bf1 ; double -9.40084909404968813781e-13
 DCD &bd73beff, &7aa6ff25 ; double -1.12243502609655590411e-12
 DCD &bd74d38a, &f6e3922b ; double -1.18384032126748109298e-12
 DCD &bd73beff, &7aa6ff25 ; double -1.12243502609655590411e-12
 DCD &bd7089c4, &1bb39bf1 ; double -9.40084909404968813781e-13
 DCD &bd669999, &7e7f85ba ; double -6.42330587214784132565e-13
 DCD &bd50c360, &8a44270  ; double -2.38219173934791801864e-13

|order|
 KEEP |order|
 DCD 0
 DCD 1
 DCD 16
 DCD 17
 DCD 8
 DCD 9
 DCD 24
 DCD 25
 DCD 4
 DCD 5
 DCD 20
 DCD 21
 DCD 12
 DCD 13
 DCD 28
 DCD 29
 DCD 2
 DCD 3
 DCD 18
 DCD 19
 DCD 10
 DCD 11
 DCD 26
 DCD 27
 DCD 6
 DCD 7
 DCD 22
 DCD 23
 DCD 14
 DCD 15
 DCD 30
 DCD 31

|L..9|
 DCD |enwindow|+80


|window_subband|
 ; frame = 464, frame_needed = 1
  mov r12, r13
  stmfd r13!, {r4 - r7, r11, r12, r14, r15}
 sfmfd f4, 4, [r13]!
  sub r11, r12, #4
  sub r12, r13, #464
 cmp r12, r10
 bllt |__rt_stkovf_split_big|
 sub r13, r13, #464
 mov r6, r1
 sub r2, r0, #248
 mvn r14, #14
 ldr r7, |L..9|

|L..6|
 ldfs f0, [r0, #896]
 ldfd f2, [r7, #-80]
 mufd f3, f0, f2
 ldfs f0, [r2, #-896]
 mufd f1, f0, f2
 ldfs f0, [r0, #640]
 ldfd f2, [r7, #-72]
 mufd f0, f0, f2
 adfd f3, f0, f3
 ldfs f0, [r2, #-640]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r0, #384]
 ldfd f2, [r7, #-64]
 mufd f0, f0, f2
 adfd f3, f0, f3
 ldfs f0, [r2, #-384]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r0, #128]
 ldfd f2, [r7, #-56]
 mufd f0, f0, f2
 adfd f3, f0, f3
 ldfs f0, [r2, #-128]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r0, #-128]
 ldfd f2, [r7, #-48]
 mufd f0, f0, f2
 adfd f3, f0, f3
 ldfs f0, [r2, #128]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r0, #-384]
 ldfd f2, [r7, #-40]
 mufd f0, f0, f2
 adfd f3, f0, f3
 ldfs f0, [r2, #384]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r0, #-640]
 ldfd f2, [r7, #-32]
 mufd f0, f0, f2
 adfd f3, f0, f3
 ldfs f0, [r2, #640]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r0, #-896]
 ldfd f2, [r7, #-24]
 mufd f0, f0, f2
 adfd f3, f0, f3
 ldfs f0, [r2, #896]
 mufd f0, f0, f2
 adfd f1, f0, f1
  add r12, r2, #1024
 ldfs f0, [r12, #0]  ; [r2, #1024]
 ldfd f2, [r7, #-16]
 mufd f0, f0, f2
 rsfd f3, f0, f3
  sub r12, r0, #1024
 ldfs f0, [r12, #0]  ; [r0, #-1024]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r2, #768]
 ldfd f2, [r7, #-8]
 mufd f0, f0, f2
 rsfd f3, f0, f3
 ldfs f0, [r0, #-768]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r2, #512]
 ldfd f2, [r7, #0]
 mufd f0, f0, f2
 rsfd f3, f0, f3
 ldfs f0, [r0, #-512]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r2, #256]
 ldfd f2, [r7, #8]
 mufd f0, f0, f2
 rsfd f3, f0, f3
 ldfs f0, [r0, #-256]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r2, #0]
 ldfd f2, [r7, #16]
 mufd f0, f0, f2
 rsfd f3, f0, f3
 ldfs f0, [r0, #0]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r2, #-256]
 ldfd f2, [r7, #24]
 mufd f0, f0, f2
 rsfd f3, f0, f3
 ldfs f0, [r0, #256]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r2, #-512]
 ldfd f2, [r7, #32]
 mufd f0, f0, f2
 rsfd f3, f0, f3
 ldfs f0, [r0, #512]
 mufd f0, f0, f2
 adfd f1, f0, f1
 ldfs f0, [r2, #-768]
 ldfd f2, [r7, #40]
 mufd f0, f0, f2
 rsfd f3, f0, f3
 ldfs f0, [r0, #768]
 mufd f0, f0, f2
 adfd f1, f0, f1
  add r12, r6, r14, lsl #4
 ldfd f2, [r7, #48]
 mufd f1, f1, f2
 adfd f0, f3, f1
 stfd f0, [r12, #240]
 sufd f3, f3, f1
 ldfd f0, [r7, #56]
 mufd f0, f3, f0
 stfd f0, [r12, #248]
  sub r0, r0, #4
  add r2, r2, #4
  add r7, r7, #144
  adds r14, r14, #1
 bmi |L..6|

  sub r12, r7, #1536
  adrl r5, |L..12|

 ldfs f1, [r0, #-64]
 ldfd f0, [r7, #-80]
 mufd f4, f1, f0        ; t  =  x1[- 16] * wp[-10]
 ldfs f0, [r0, #-192]
 ldfs f2, [r0, #64]
 sufs f0, f0, f2
 ldfd f1, [r7, #-72]
 mufd f0, f0, f1
 adfd f4, f0, f4        ; t += (x1[- 48] - x1[ 16]) * wp[-9]
 ldfs f1, [r0, #-320]
 ldfs f2, [r0, #192]
 adfs f1, f1, f2
 ldfd f0, [r7, #-64]
 mufd f1, f1, f0
 adfd f4, f1, f4        ; t += (x1[- 80] + x1[ 48]) * wp[-8]
 ldfs f1, [r0, #-448]
 ldfs f2, [r0, #320]
 sufs f1, f1, f2
 ldfd f0, [r7, #-56]
 mufd f1, f1, f0
 adfd f4, f1, f4        ; t += (x1[-112] - x1[ 80]) * wp[-7]
 ldfs f1, [r0, #-576]
 ldfs f2, [r0, #448]
 adfs f1, f1, f2
 ldfd f0, [r7, #-48]
 mufd f1, f1, f0
 adfd f4, f1, f4        ; t += (x1[-144] + x1[112]) * wp[-6]
 ldfs f1, [r0, #-704]
 ldfs f2, [r0, #576]
 sufs f1, f1, f2
 ldfd f0, [r7, #-40]
 mufd f1, f1, f0
 adfd f4, f1, f4        ; t += (x1[-176] - x1[144]) * wp[-5]
 ldfs f1, [r0, #-832]
 ldfs f2, [r0, #704]
 adfs f1, f1, f2
 ldfd f0, [r7, #-32]
 mufd f1, f1, f0
 adfd f4, f1, f4        ; t += (x1[-208] + x1[176]) * wp[-4]
 ldfs f1, [r0, #-960]
 ldfs f2, [r0, #832]
 ldfd f0, [r7, #-24]
 sufs f1, f1, f2
 mufd f1, f1, f0
 adfd f4, f4, f1        ; t += (x1[-240] - x1[208]) * wp[-3]
 ldfs f1, [r0, #-128]
 ldfd f3, [r7, #-16]
 mufd f3, f1, f3        ; s  = x1[ -32] * wp[-2]
 ldfs f0, [r0, #-384]
 ldfd f1, [r7, #-8]
 mufd f0, f0, f1
 adfd f3, f0, f3        ; s += x1[ -96] * wp[-1]
 ldfs f0, [r0, #-640]
 ldfd f1, [r7, #0]
 mufd f0, f0, f1
 adfd f3, f0, f3        ; s += x1[-160] * wp[ 0]
 ldfs f0, [r0, #-896]
 ldfd f1, [r7, #8]
 mufd f0, f0, f1
 adfd f3, f0, f3        ; s += x1[-224] * wp[ 1]
 ldfs f0, [r0, #128]
 ldfd f1, [r7, #16]
 mufd f0, f0, f1
 rsfd f3, f0, f3        ; s -= x1[  32] * wp[ 2]
 ldfs f0, [r0, #384]
 ldfd f1, [r7, #24]
 mufd f0, f0, f1
 rsfd f3, f0, f3        ; s -= x1[  96] * wp[ 3]
 ldfs f0, [r0, #640]
 ldfd f1, [r7, #32]
 mufd f0, f0, f1
 rsfd f3, f0, f3        ; s -= x1[ 160] * wp[ 4]
 ldfs f0, [r0, #896]
 sufd f3, f3, f0        ; s -= x1[ 224]
 sufd f1, f3, f4        ; u = s - t
 adfd f2, f3, f4        ; v = s + t
 ldfd f4, [r6, #112]    ; t = a[14]
 ldfd f0, [r6, #120]
 sufd f3, f0, f4        ; s = a[15] - t
 adfd f0, f3, f1
 stfd f0, [r6, #240]    ; a[30] = u + s;    A1
 sufd f0, f1, f3
 stfd f0, [r6, #120]    ; a[15] = u - s;    A2
 adfd f0, f2, f4
 stfd f0, [r6, #248]    ; a[31] = v + t;    A0
 sufd f0, f2, f4
 stfd f0, [r6, #112]    ; a[14] = v - t;    A3

 ldfd f0, [r6, #0]
 ldfd f1, [r6, #224]
 adfd f2, f0, f1
 stfd f2, [r6, #0]
 sufd f1, f1, f0
 ldfd f2, [r6, #8]
 ldfd f3, [r6, #232]
 adfd f0, f2, f3
 stfd f0, [r6, #8]
 ldfd f6, [r7, #-232]
 mufd f0, f1, f6
 stfd f0, [r6, #224]
 ldfd f0, [r6, #16]
 ldfd f4, [r6, #208]
 adfd f5, f0, f4
 stfd f5, [r6, #16]
 sufd f4, f4, f0
 sufd f3, f3, f2
 mufd f1, f3, f6
 stfd f1, [r6, #232]
 ldfd f1, [r6, #24]
 ldfd f3, [r6, #216]
 adfd f5, f1, f3
 stfd f5, [r6, #24]
 sufd f3, f3, f1
 ldfd f7, [r7, #-520]
 mufd f2, f4, f7
 stfd f2, [r6, #208]
 ldfd f2, [r6, #32]
 ldfd f4, [r6, #192]
 adfd f5, f2, f4
 stfd f5, [r6, #32]
 mufd f0, f3, f7
 stfd f0, [r6, #216]
 ldfd f0, [r6, #40]
 ldfd f1, [r6, #200]
 adfd f5, f0, f1
 stfd f5, [r6, #40]
 sufd f4, f4, f2
 ldfd f7, [r7, #-808]
 mufd f3, f4, f7
 stfd f3, [r6, #192]
 sufd f1, f1, f0
 mufd f2, f1, f7
 stfd f2, [r6, #200]
 ldfd f1, [r6, #48]
 ldfd f2, [r6, #176]
 adfd f0, f1, f2
 ldfd f6, [r6, #248]
 sufd f3, f6, f0
 stfd f3, [r6, #48]
 adfd f6, f6, f0
 stfd f6, [r6, #248]
 sufd f2, f2, f1
 ldfd f4, [r6, #56]
 ldfd f5, [r6, #184]
 adfd f3, f4, f5
 sufd f0, f3, f0
 ldfd f7, [r6, #240]
 sufd f6, f7, f0
 stfd f6, [r6, #56]
 adfd f7, f7, f0
 stfd f7, [r6, #240]
 ldfd f6, [r5, #0]
 mufd f1, f2, f6
 sufd f1, f1, f0
 ldfd f7, [r6, #120]
 sufd f7, f7, f1
 stfd f7, [r6, #176]
 sufd f5, f5, f4
 ldfd f0, [r6, #120]
 adfd f0, f0, f1
 stfd f0, [r13, #204]
 mufd f0, f5, f6
 sufd f0, f0, f3
 sufd f0, f0, f1
 ldfd f2, [r6, #112]
 sufd f1, f2, f0
 stfd f1, [r6, #184]
 adfd f0, f2, f0
 stfd f0, [r6, #112]
 ldfd f0, [r6, #64]
 ldfd f1, [r6, #160]
 adfd f2, f0, f1
 stfd f2, [r6, #64]
 sufd f1, f1, f0
 ldfd f4, [r6, #72]
 ldfd f5, [r6, #168]
 adfd f2, f4, f5
 stfd f2, [r6, #72]
 ldfd f2, [r12, #152]
 mufd f3, f1, f2
 ldfd f0, [r6, #80]
 ldfd f1, [r6, #144]
 adfd f6, f0, f1
 stfd f6, [r6, #80]
 sufd f5, f5, f4
 mufd f2, f5, f2
 stfd f2, [r6, #168]
 ldfd f4, [r6, #88]
 ldfd f5, [r6, #152]
 adfd f7, f4, f5
 stfd f7, [r6, #88]
 sufd f1, f1, f0
 ldfd f7, [r12, #-136]
 mufd f6, f1, f7
 sufd f5, f5, f4
 stfd f6, [r6, #144]
 ldfd f0, [r6, #96]
 ldfd f1, [r6, #128]
 adfd f6, f0, f1
 stfd f6, [r6, #96]
 mufd f7, f5, f7
 stfd f7, [r6, #152]
 sufd f1, f1, f0
 ldfd f7, [r12, #-424]
 mufd f7, f1, f7
 stfd f7, [r6, #128]
 ldfd f0, [r6, #104]
 ldfd f1, [r6, #136]
 adfd f4, f0, f1
 stfd f4, [r6, #104]
 sufd f1, f1, f0
 ldfd f5, [r6, #192]
 adfd f5, f3, f5
 stfd f5, [r6, #160]
 ldfd f4, [r12, #-424]
 mufd f1, f1, f4
 ldfd f0, [r6, #200]
 adfd f0, f2, f0
 stfd f0, [r6, #168]
 ldfd f0, [r6, #192]
 sufd f3, f0, f3
 ldfd f7, [r12, #-136]
 mufd f5, f3, f7
 stfd f5, [r6, #192]
 ldfd f0, [r6, #200]
 sufd f2, f0, f2
 mufd f3, f2, f7
 stfd f3, [r6, #200]
 ldfd f2, [r6, #32]
 ldfd f0, [r6, #64]
 adfd f4, f2, f0
 stfd f4, [r6, #32]
 sufd f2, f2, f0
 mufd f0, f2, f7
 stfd f0, [r6, #64]
 ldfd f0, [r6, #40]
 ldfd f2, [r6, #72]
 sufd f4, f0, f2
 adfd f2, f0, f2
 stfd f2, [r6, #40]
 mufd f4, f4, f7
 stfd f4, [r6, #72]
 ldfd f2, [r6, #0]
 adfd f0, f2, f6
 stfd f0, [r6, #0]
 sufd f6, f2, f6
 ldfd f7, [r7, #-520]
 mufd f0, f6, f7
 stfd f0, [r6, #96]
 ldfd f0, [r6, #128]
 ldfd f2, [r6, #224]
 adfd f0, f0, f2
 stfd f0, [r13, #348]
 ldfd f0, [r6, #8]
 ldfd f2, [r6, #104]
 adfd f6, f0, f2
 stfd f6, [r6, #8]

 sufd f0, f0, f2
 mufd f6, f0, f7
 stfd f6, [r6, #104]
 ldfd f6, [r6, #232]
 adfd f2, f1, f6
 stfd f2, [r6, #136]
 ldfd f2, [r6, #128]
 ldfd f0, [r6, #224]
 sufd f2, f2, f0
 mufd f0, f2, f7
 stfd f0, [r6, #224]
 sufd f1, f6, f1
 mufd f0, f1, f7
 stfd f0, [r6, #128]
 ldfd f1, [r6, #208]
 ldfd f6, [r6, #144]
 sufd f0, f1, f6
 ldfd f7, [r5, #0]
 mufd f0, f0, f7
 adfd f6, f6, f1
 stfd f6, [r13, #372]
 sufd f0, f0, f6
 stfd f0, [r13, #380]
 ldfd f1, [r6, #216]
 ldfd f6, [r6, #152]
 sufd f0, f1, f6
 mufd f2, f0, f7
 adfd f0, f6, f1
 stfd f0, [r13, #388]
 sufd f1, f2, f0
 stfd f1, [r13, #396]
 ldfd f6, [r6, #64]
 ldfd f7, [r6, #96]
 sufd f0, f6, f7
 ldfd f1, [r5, #8]
 mufd f2, f0, f1
 adfd f0, f6, f7
 stfd f0, [r13, #420]
 sufd f6, f2, f0
 stfd f6, [r13, #428]
 ldfd f7, [r6, #104]
 sufd f0, f4, f7
 mufd f0, f0, f1
 adfd f4, f4, f7
 sufd f0, f0, f4
 stfd f0, [r13, #436]
 ldfd f6, [r6, #128]
 sufd f0, f3, f6
 mufd f0, f0, f1
 adfd f3, f3, f6
 sufd f6, f0, f3
 ldfd f7, [r6, #224]
 adfd f0, f5, f7
 mufd f2, f0, f1
 sufd f5, f5, f7
 ldfd f0, [r13, #348]
 ldfd f1, [r6, #160]
 adfd f7, f0, f1
 sufd f0, f0, f1
 sufd f1, f2, f5
 ldfd f2, [r5, #0]
 mufd f0, f0, f2
 sufd f2, f5, f7
 sufd f2, f0, f2
 stfd f2, [r6, #160]
 sufd f0, f1, f2
 stfd f0, [r6, #224]
 ldfd f2, [r6, #136]
 ldfd f1, [r6, #168]
 sufd f0, f2, f1
 adfd f2, f2, f1
 ldfd f1, [r5, #0]
 mufd f0, f0, f1
 sufd f1, f3, f2
 sufd f1, f0, f1
 stfd f1, [r6, #168]
 sufd f0, f6, f1
 stfd f0, [r6, #232]
 ldfd f0, [r6, #8]
 ldfd f1, [r6, #40]
 adfd f6, f0, f1
 sufd f0, f0, f1
 ldfd f1, [r5, #0]
 mufd f0, f0, f1
 stfd f0, [r6, #40]
 sufd f1, f2, f6
 rsfd f1, f1, f4
 stfd f1, [r6, #72]
 sufd f3, f3, f2
 sufd f0, f3, f1
 stfd f0, [r6, #200]
 ldfd f1, [r6, #40]
 sufd f1, f1, f0
 stfd f1, [r6, #40]
 ldfd f0, [r6, #168]
 sufd f1, f0, f1
 stfd f1, [r6, #168]
 ldfd f0, [r13, #436]
 sufd f1, f0, f1
 stfd f1, [r6, #104]
 ldfd f0, [r6, #232]
 sufd f1, f0, f1
 stfd f1, [r6, #232]
 ldfd f0, [r6, #0]
 ldfd f1, [r6, #32]
 adfd f3, f0, f1
 sufd f0, f0, f1
 ldfd f4, [r5, #0]
 mufd f0, f0, f4
 stfd f0, [r6, #32]
 sufd f4, f6, f3
 rsfd f4, f4, f7
 stfd f4, [r6, #128]
 sufd f2, f2, f6
 sufd f0, f2, f4
 stfd f0, [r6, #136]
 ldfd f1, [r13, #420]
 sufd f1, f1, f0
 stfd f1, [r6, #64]
 ldfd f0, [r6, #72]
 sufd f1, f0, f1
 stfd f1, [r6, #72]
 sufd f5, f5, f7
 sufd f0, f5, f1
 stfd f0, [r6, #192]
 ldfd f1, [r6, #200]
 sufd f1, f1, f0
 stfd f1, [r6, #200]
 ldfd f0, [r6, #32]
 sufd f1, f0, f1
 stfd f1, [r6, #32]
 ldfd f0, [r6, #40]
 sufd f1, f0, f1
 stfd f1, [r6, #40]
 ldfd f0, [r6, #160]
 sufd f1, f0, f1
 stfd f1, [r6, #160]
 ldfd f0, [r6, #168]
 sufd f1, f0, f1
 stfd f1, [r6, #168]
 ldfd f0, [r13, #428]
 sufd f1, f0, f1
 stfd f1, [r6, #96]
 ldfd f0, [r6, #104]
 sufd f1, f0, f1
 stfd f1, [r6, #104]
 ldfd f0, [r6, #224]
 sufd f1, f0, f1
 stfd f1, [r6, #224]
 sufd f6, f6, f3
 ldfd f1, [r6, #16]
 ldfd f4, [r6, #80]
 sufd f0, f1, f4
 ldfd f7, [r5, #0]
 mufd f0, f0, f7
 stfd f0, [r6, #80]
 adfd f4, f1, f4
 ldfd f2, [r6, #248]
 adfd f0, f4, f2
 adfd f1, f0, f3
 stfd f1, [r6, #0]
 sufd f0, f0, f3
 stfd f0, [r6, #248]
 sufd f1, f2, f4
 ldfd f3, [r6, #232]
 ldfd f2, [r6, #224]
 sufd f3, f3, f2
 adfd f0, f3, f1
 stfd f0, [r6, #232]
 sufd f0, f1, f3
 stfd f0, [r6, #16]
 ldfd f0, [r6, #24]
 ldfd f1, [r6, #88]
 sufd f3, f0, f1
 ldfd f7, [r5, #0]
 mufd f3, f3, f7
 stfd f3, [r6, #88]
 adfd f3, f0, f1
 sufd f4, f3, f4
 ldfd f5, [r6, #240]
 rsfd f1, f4, f5
 adfd f0, f1, f2
 stfd f0, [r6, #224]
 sufd f0, f1, f2
 stfd f0, [r6, #24]
 adfd f0, f4, f5
 adfd f1, f6, f0
 stfd f1, [r6, #8]
 sufd f0, f0, f6
 stfd f0, [r6, #240]
 ldfd f0, [r13, #372]
 sufd f7, f0, f4
 ldfd f1, [r13, #204]
 adfd f0, f7, f1
 ldfd f2, [r6, #128]
 adfd f1, f2, f0
 stfd f1, [r6, #128]
 sufd f0, f0, f2
 stfd f0, [r6, #120]
 ldfd f0, [r13, #388]
 sufd f2, f0, f3 ; l3
 sufd f4, f2, f7
 ldfd f5, [r6, #112]
 adfd f0, f4, f5
 ldfd f6, [r6, #136]
 adfd f1, f0, f6
 stfd f1, [r6, #136]
 sufd f0, f0, f6
 stfd f0, [r6, #112]
 sufd f0, f5, f4
 ldfd f6, [r6, #96]
 adfd f1, f0, f6
 stfd f1, [r6, #96]
 sufd f0, f0, f6
 stfd f0, [r6, #152]
 ldfd f0, [r6, #80]
 sufd f6, f0, f4
 ldfd f4, [r6, #184]
 sufd f1, f4, f6
 ldfd f5, [r6, #168]
 adfd f0, f1, f5
 stfd f0, [r6, #168]
 sufd f0, f1, f5
 stfd f0, [r6, #80]
 adfd f0, f4, f6
 ldfd f5, [r6, #64]
 adfd f1, f5, f0
 stfd f1, [r6, #64]
 sufd f0, f0, f5
 stfd f0, [r6, #184]
 ldfd f0, [r6, #88]
 sufd f5, f0, f2
 sufd f2, f5, f6
 ldfd f6, [r6, #176]
 rsfd f1, f2, f6
 ldfd f4, [r6, #160]
 adfd f0, f1, f4
 stfd f0, [r6, #160]
 sufd f0, f1, f4
 stfd f0, [r6, #88]
 adfd f0, f2, f6
 ldfd f4, [r6, #72]
 adfd f1, f0, f4
 stfd f1, [r6, #72]
 sufd f0, f0, f4
 stfd f0, [r6, #176]
 ldfd f0, [r13, #380]
 sufd f6, f0, f2 ; l2
 ldfd f0, [r13, #396]
 sufd f0, f0, f5
 sufd f5, f0, f6
 ldfd f1, [r6, #56]
 adfd f0, f1, f6
 sufd f6, f1, f6
 ldfd f4, [r6, #192]
 adfd f1, f0, f4
 stfd f1, [r6, #192]
 sufd f0, f0, f4
 stfd f0, [r6, #56]
 ldfd f4, [r6, #40]
 adfd f0, f6, f4
 stfd f0, [r6, #40]
 sufd f0, f6, f4
 stfd f0, [r6, #208]
 ldfd f4, [r6, #48]
 sufd f1, f4, f5
 adfd f0, f4, f5
 ldfd f4, [r6, #200]
 adfd f5, f0, f4
 stfd f5, [r6, #200]
 sufd f0, f0, f4
 stfd f0, [r6, #48]
 ldfd f5, [r6, #32]
 adfd f0, f1, f5
 stfd f0, [r6, #32]
 sufd f0, f1, f5
 stfd f0, [r6, #216]
 ldfd f0, [r13, #204]
 sufd f1, f0, f7
 ldfd f2, [r6, #104]
 adfd f0, f1, f2
 stfd f0, [r6, #104]
 sufd f0, f1, f2
 stfd f0, [r6, #144]
 lfm f4, 4, [r11, #-76]
  ldmea r11, {r4 - r7, r11, r13, r15}

|L..12|
 DCD &3ff6a09e, &667f3bcd ; double  1.41421356237309514547
 DCD &bff6a09e, &667f3bcd ; double -1.41421356237309514547


|mdct_short|
  ldr r12, |L..24|
  mov r2, #0
 sfmfd f4, 4, [r13]!

|L..21|
 ldfd f0, [r0, #48]     ; inout[2*3]
 ldfd f1, [r12, #576]   ; win[SHORT_TYPE][0]
 mufd f2, f0, f1
 ldfd f3, [r0, #120]    ; inout[5*3]
 sufd f4, f2, f3        ; ts0 = inout[2*3] * win[SHORT_TYPE][0] - inout[5*3]
 mufd f2, f3, f1
 adfd f5, f2, f0        ; ts0a = inout[5*3] * win[SHORT_TYPE][0] + inout[2*3]
 ldfd f0, [r0, #0]      ; inout[0*3]
 ldfd f1, [r12, #592]   ; win[SHORT_TYPE][2]
 mufd f2, f0, f1
 ldfd f3, [r0, #72]     ; inout[3*3]
 sufd f7, f2, f3        ; tc0 = inout[0*3] * win[SHORT_TYPE][2] - inout[3*3]
 mufd f2, f3, f1
 adfd f6, f2, f0        ; tc0a = inout[3*3] * win[SHORT_TYPE][2] + inout[0*3]
 sufd f3, f6, f5        ; ts2 = tc0a - ts0a
 adfd f5, f5, f6        ; ts1 = ts0a + tc0a
 adfd f6, f4, f7        ; tc1 = ts0 + tc0
 sufd f4, f4, f7        ; tc2 = ts0 - tc0
 ldfd f2, [r0, #24]
 ldfd f0, [r12, #584]   ; win[SHORT_TYPE][1]
 mufd f7, f2, f0
 ldfd f1, [r0, #96]
 sufd f7, f7, f1
 mufd f1, f1, f0
 adfd f2, f1, f2
 ldfd f0, |L..24|+4
 mufd f7, f7, f0
 mufd f2, f2, f0
 ldfd f1, |L..24|+20
 mufd f0, f6, f1
 adfd f0, f0, f7
 stfd f0, [r0, #0]
 mufd f1, f1, f5
 rsfd f1, f1, f2
 stfd f1, [r0, #120]
 ldfd f0, |L..24|+12
 mufd f4, f4, f0        ; tc2 = tc2 * 0.86602540378443870761 * 1.907525191737281e-11
 ldfd f1, |L..24|+28
 mufd f5, f5, f1
 adfd f5, f5, f2
 rsfd f2, f5, f4
 stfd f2, [r0, #24]
 adfd f2, f4, f5
 stfd f2, [r0, #48]
 mufd f6, f6, f1
 sufd f6, f6, f7
 mufd f0, f0, f3
 adfd f1, f0, f6
 stfd f1, [r0, #72]
 sufd f1, f6, f0
 stfd f1, [r0, #96]
  add r0, r0, #8
  add r2, r2, #1
  cmp r2, #2
  ble |L..21|

 lfmfd f4, 4, [r13]!
 mov r15, r14

|L..24|
 DCD |win|
 DCD &3db6c278, &6cb19c4f ; double 2.06997811195308909253e-11
 DCD &3db229de, &6e5b10c2 ; double 1.65196527440326735879e-11
 DCD &3db4f934, &c242e570 ; double 1.90752519173727988323e-11
 DCD &3da4f934, &c242e573 ; double 9.53762595868640426293e-12


|mdct_long|  ; frame = 176
 sfmfd f4, 4, [r13]!
  sub r13, r13, #176
  add r2, r1, #8
  ldmia r2, {r2-r3}
  str r2, [r13, #56]
  str r3, [r13, #60]
  ldr r12, |L..28|
  add r2, r1, #56
  ldmia r2, {r2-r3}
  str r2, [r13, #64]
  str r3, [r13, #68]
 ldfd f1, [r13, #64]
 ldfd f2, [r1, #0]
 ldfd f0, [r13, #56]
 adfd f0, f0, f1
 stfd f0, [r13, #32]
 ldfd f3, [r1, #64]
 adfd f2, f2, f3
 stfd f2, [r13, #168]
 ldfd f7, [r1, #16]
 ldfd f0, [r1, #48]
 adfd f7, f7, f0
 stfd f7, [r13, #40]
 ldfd f1, [r1, #24]
 ldfd f2, [r1, #40]
 adfd f1, f1, f2
 stfd f1, [r13, #48]
 ldfd f3, [r13, #168]
 adfd f1, f3, f7
 ldfd f3, [r1, #32]
 ldfd f7, [r13, #48]
 sufd f1, f1, f7
 ldfd f0, [r13, #32]
 sufd f2, f0, f3
 sufd f0, f1, f2
 stfd f0, [r0, #136]
 ldfd f6, [r1, #136]
  ldmia r12, {r2-r3} ; double
  str r2, [r13, #72]
  str r3, [r13, #76]
 ldfd f0, [r13, #72]
 mufd f1, f1, f0
 adfd f1, f1, f2
 stfd f1, [r13, #8]
 ldfd f1, [r1, #72]
 sufd f4, f6, f1
 ldfd f2, [r1, #120]
 ldfd f7, [r1, #88]
 sufd f2, f2, f7
 stfd f2, [r13, #16]
 ldfd f0, [r1, #112]
 ldfd f1, [r1, #96]
 sufd f0, f0, f1
 stfd f0, [r13, #24]
 sufd f0, f4, f2
 ldfd f1, [r13, #24]
 sufd f0, f0, f1
 ldfd f5, [r1, #128]
  ldmdb r12, {r2-r3}
  str r2, [r13, #80]
  str r3, [r13, #84]
 ldfd f2, [r13, #80]
 mufd f0, f0, f2
 stfd f0, [r13, #0]
 ldfd f2, [r1, #80]
 ldfd f7, [r13, #8]
 adfd f0, f0, f7
 stfd f0, [r0, #40]
 adfd f0, f5, f2
 stfd f0, [r13, #160]
 ldfd f1, [r13, #0]
 sufd f0, f1, f7
 stfd f0, [r0, #48]
 ldfd f7, [r13, #32]
 ldfd f0, [r13, #72]
 mufd f1, f7, f0
 adfd f1, f1, f3
 stfd f1, [r13, #32]
 sufd f5, f5, f2
 ldfd f0, [r13, #80]
 mufd f5, f5, f0
 ldfd f0, [r13, #16]
  sub r2, r12, #56
  ldmia r2, {r2-r3}
  str r2, [r13, #88]
  str r3, [r13, #92]
 ldfd f2, [r13, #88]
 mufd f1, f4, f2
 adfd f1, f1, f5
  sub r2, r12, #48
  ldmia r2, {r2-r3}
  str r2, [r13, #96]
  str r3, [r13, #100]
 ldfd f3, [r13, #96]
 mufd f2, f0, f3
 adfd f1, f1, f2
 ldfd f2, [r13, #24]
  sub r2, r12, #40
  ldmia r2, {r2-r3}
  str r2, [r13, #104]
  str r3, [r13, #108]
 ldfd f3, [r13, #104]
 mufd f0, f2, f3
 adfd f1, f1, f0
 stfd f1, [r13, #0]
 ldfd f0, [r13, #168]
 mnfd f3, f0
  sub r2, r12, #24
  ldmia r2, {r2-r3}
  str r2, [r13, #112]
  str r3, [r13, #116]
 ldfd f1, [r13, #112]
 mufd f2, f3, f1
 ldfd f0, [r13, #32]
 adfd f2, f2, f0
  sub r2, r12, #16
  ldmia r2, {r2-r3}
  str r2, [r13, #120]
  str r3, [r13, #124]
 ldfd f7, [r13, #40]
 ldfd f0, [r13, #120]
 mufd f1, f7, f0
 sufd f2, f2, f1
 ldfd f1, [r13, #48]
  sub r2, r12, #32
  ldmia r2, {r2-r3}
  str r2, [r13, #128]
  str r3, [r13, #132]
 ldfd f7, [r13, #128]
 mufd f0, f1, f7
 adfd f2, f2, f0
 ldfd f0, [r13, #0]
 adfd f1, f0, f2
 stfd f1, [r0, #8]
 sufd f1, f0, f2
 stfd f1, [r0, #16]
 ldfd f2, [r13, #96]
 mufd f0, f4, f2
 sufd f0, f0, f5
 ldfd f7, [r13, #16]
 ldfd f2, [r13, #104]
 mufd f1, f7, f2
 sufd f0, f0, f1
 ldfd f7, [r13, #24]
 ldfd f1, [r13, #88]
 mufd f2, f7, f1
 adfd f0, f0, f2
 stfd f0, [r13, #0]
 ldfd f2, [r13, #120]
 mufd f3, f3, f2
 ldfd f7, [r13, #32]
 adfd f3, f3, f7
 ldfd f1, [r13, #40]
 ldfd f2, [r13, #128]
 mufd f0, f1, f2
 sufd f3, f3, f0
 ldfd f7, [r13, #48]
 ldfd f0, [r13, #112]
 mufd f1, f7, f0
 adfd f3, f3, f1
 ldfd f1, [r13, #0]
 adfd f0, f1, f3
 stfd f0, [r0, #72]
 sufd f1, f1, f3
 ldfd f2, [r13, #104]
 mufd f4, f4, f2
 sufd f4, f4, f5
 ldfd f3, [r13, #16]
 ldfd f7, [r13, #88]
 mufd f2, f3, f7
 adfd f4, f4, f2
 ldfd f2, [r13, #24]
 ldfd f3, [r13, #96]
 mufd f0, f2, f3
 sufd f4, f4, f0
 stfd f1, [r0, #80]
 ldfd f0, [r13, #168]
 ldfd f1, [r13, #128]
 mufd f7, f0, f1
 ldfd f2, [r13, #32]
 sufd f7, f7, f2
 ldfd f3, [r13, #40]
 ldfd f1, [r13, #112]
 mufd f0, f3, f1
 adfd f7, f7, f0
 ldfd f2, [r13, #48]
 ldfd f3, [r13, #120]
 mufd f0, f2, f3
 sufd f7, f7, f0
 adfd f0, f4, f7
 stfd f0, [r0, #104]
 sufd f1, f4, f7
 ldfd f7, [r1, #64]
 ldfd f0, [r1, #0]
 sufd f7, f7, f0
 stfd f7, [r13, #136]
 ldfd f2, [r1, #48]
 ldfd f3, [r1, #16]
 sufd f2, f2, f3
 stfd f2, [r13, #144]
 ldfd f7, [r1, #40]
 ldfd f0, [r1, #24]
 sufd f7, f7, f0
 stfd f7, [r13, #152]
 ldfd f3, [r13, #136]
 sufd f0, f3, f2
 adfd f0, f0, f7
 ldfd f7, [r13, #80]
 mufd f0, f0, f7
 stfd f0, [r13, #8]
 stfd f1, [r0, #112]
 ldfd f0, [r1, #72]
 adfd f6, f6, f0
 ldfd f1, [r1, #120]
 ldfd f2, [r1, #88]
 adfd f4, f1, f2
 ldfd f3, [r1, #112]
 ldfd f7, [r1, #96]
 adfd f5, f3, f7
 adfd f0, f6, f4
 ldfd f3, [r1, #104]
 adfd f0, f0, f5
 ldfd f1, [r13, #160]
 adfd f2, f1, f3
 ldfd f7, [r13, #72]
 mufd f1, f0, f7
 sufd f1, f1, f2
 adfd f0, f0, f2
 stfd f0, [r0, #0]
 ldfd f0, [r13, #160]
 mufd f2, f0, f7
 sufd f3, f3, f2
 stfd f3, [r13, #160]
 ldfd f2, [r13, #8]
 adfd f0, f1, f2
 stfd f0, [r0, #88]
 sufd f3, f1, f2
 ldfd f7, [r13, #128]
 mufd f0, f6, f7
 ldfd f1, [r13, #160]
 sufd f0, f0, f1
 ldfd f2, [r13, #112]
 mufd f1, f4, f2
 adfd f0, f0, f1
 ldfd f7, [r13, #120]
 mufd f2, f5, f7
 adfd f0, f0, f2
 stfd f0, [r13, #0]
 stfd f3, [r0, #96]
 ldfd f1, [r13, #64]
 ldfd f2, [r13, #56]
 sufd f0, f1, f2
 ldfd f3, [r13, #80]
 mufd f7, f0, f3
 ldfd f1, [r13, #136]
 ldfd f2, [r13, #104]
 mufd f0, f1, f2
 adfd f0, f0, f7
 ldfd f3, [r13, #144]
 ldfd f2, [r13, #88]
 mufd f1, f3, f2
 adfd f0, f1, f0
 ldfd f3, [r13, #152]
 ldfd f1, [r13, #96]
 mufd f2, f3, f1
 adfd f0, f0, f2
 ldfd f2, [r13, #0]
 adfd f1, f2, f0
 stfd f1, [r0, #24]
 sufd f3, f2, f0
 mnfd f6, f6
 ldfd f1, [r13, #120]
 mufd f0, f6, f1
 ldfd f2, [r13, #160]
 adfd f0, f0, f2
 ldfd f2, [r13, #128]
 mufd f1, f4, f2
 sufd f0, f0, f1
 ldfd f1, [r13, #112]
 mufd f2, f5, f1
 sufd f0, f0, f2
 stfd f0, [r13, #0]
 stfd f3, [r0, #32]
 ldfd f2, [r13, #136]
 ldfd f3, [r13, #96]
 mufd f0, f2, f3
 adfd f0, f0, f7
 ldfd f2, [r13, #144]
 ldfd f3, [r13, #104]
 mufd f1, f2, f3
 sufd f0, f0, f1
 ldfd f1, [r13, #152]
 ldfd f3, [r13, #88]
 mufd f2, f1, f3
 sufd f0, f0, f2
 ldfd f2, [r13, #0]
 adfd f1, f2, f0
 stfd f1, [r0, #56]
 sufd f0, f2, f0
 ldfd f3, [r13, #112]
 mufd f6, f6, f3
 ldfd f1, [r13, #160]
 adfd f6, f6, f1
 ldfd f2, [r13, #120]
 mufd f1, f4, f2
 sufd f6, f6, f1
 ldfd f3, [r13, #128]
 mufd f1, f5, f3
 sufd f6, f6, f1
 stfd f0, [r0, #64]
 ldfd f1, [r13, #136]
 ldfd f2, [r13, #88]
 mufd f0, f1, f2
 sufd f7, f0, f7
 ldfd f3, [r13, #144]
 ldfd f1, [r13, #96]
 mufd f0, f3, f1
 adfd f1, f7, f0
 ldfd f2, [r13, #152]
 ldfd f3, [r13, #104]
 mufd f0, f2, f3
 sufd f1, f1, f0
 adfd f0, f6, f1
 stfd f0, [r0, #120]
 sufd f1, f6, f1
 stfd f1, [r0, #128]

 lfm f4, 4, [r13, #176]!
  add r13, r13, #12*4
  mov r15, r14

|L..28|
 DCD |win|+728


 EXPORT |mdct_sub48|
|mdct_sub48|
 ; frame = 220, frame_needed = 1
  mov r12, r13
  stmfd r13!, {r4 - r9, r11, r12, r14, r15}
 sfmfd f4, 2, [r13]!
  sub r11, r12, #4
 cmp r13, r10
 bllt |__rt_stkovf_split_small|
 sub r13, r13, #220
 add r1, r1, #1136
 add r1, r1, #8
 str r1, [r13, #160]
 mov r9, r0
 ldr r12, [r9, #44]
 mov r0, #0
 str r0, [r13, #156]
 str r2, [r13, #144]
 str r3, [r13, #148]
 cmp r0, r12
 bge |L..32|
|L..34|
 ldr r12, [r9, #36]
 mov r1, #0
 str r1, [r13, #152]
 ldr r2, [r13, #156]
 cmp r1, r12
 add r2, r2, #1
 str r2, [r13, #200]
 bge |L..36|
 ldr r3, [r13, #156]
 mov r2, r3, lsl #3
 sub r12, r2, r3
 mov r12, r12, lsl #4
 str r12, [r13, #176]
 add r2, r2, r3
 str r2, [r13, #168]

|L..38|
 ldr r12, [r13, #152]
 mov r3, r12, lsl #3
 ldr r14, [r13, #148]
 add r2, r3, r12
 ldr r0, [r13, #168]
 add r2, r14, r2, lsl #10
 ldr r1, [r13, #176]
 add r2, r2, r0, lsl #9
 sub r12, r3, r12
 mov r12, r12, lsl #5
 add r12, r12, #32000
 add r12, r12, #136
 add r12, r9, r12
 str r2, [r13, #164]
 add r12, r12, r1
 str r12, [r13, #172]
 str r3, [r13, #212]
 ldr r3, [r13, #152]
 mov r6, #0
 ldr r12, |L..101|
 rsb r2, r3, #1
 add r14, r3, #1
 add r12, r12, r0, lsl #10
 add r12, r9, r12
 str r2, [r13, #204]
 add r2, r2, r2, lsl #3
 add r5, r12, r2, lsl #9
 str r14, [r13, #196]

|L..42|
 ldr r0, [r13, #160]
 mov r1, r5
 bl |window_subband|
 ldr r1, [r13, #160]
 add r0, r1, #128
 add r1, r5, #256
 bl |window_subband|
 add r5, r5, #512
 mov r8, #1
 ldr r2, [r13, #160]
 add r1, r6, r8
 add r2, r2, #256
 str r2, [r13, #160]

|L..46|
  add r12, r5, r8, lsl #3
  add r8, r8, #2
  sub r12, r12, #256
 ldr r6, [r12]          ; ldfd f0, [r12, #0]
 eor r6, r6, #1<<31     ; mnfdz f0, f0
 str r6, [r12]          ; stfd f0, [r12, #0]
  cmp r8, #31
  ble |L..46|

 mov r6, r1
 cmp r1, #8
 ble |L..42|

 ldr r12, |L..101|+4
 ldr r2, [r9, r12]
 cmp r2, #0
 bne |L..49|
 ldr r2, |L..101|+8
 sub r12, r12, #8
 ldr r8, [r9, r12]
 ldr r12, [r9, r2]
 cmp r8, r12
 bgt |L..51|
 ldr r3, [r13, #204]
 ldr r5, |L..101|+12
 add r12, r3, r3, lsl #3
 mov r0, r12, lsl #9
 ldr r12, [r13, #168]
 mov r4, r2
 ldr r14, |L..101|+16
 mov r1, r12, lsl #10

|L..53|
 mov r6, #0
 add r12, r9, r8, lsl #3
 ldr r2, [r5, r8, lsl #2]
 add r3, r12, r14
 mov r2, r2, lsl #3

|L..57|
  add r12, r2, r6, lsl #8
  add r12, r12, r0
  add r12, r12, r1
  add r12, r9, r12
  add r12, r12, #35840
  add r12, r12, #4
  add r6, r6, #1
 ldfd f0, [r12, #0]
 ldfd f1, [r3, #0]
 mufd f0, f0, f1
 stfd f0, [r12, #0]
  cmp r6, #17
 ble |L..57|

 ldr r12, [r9, r4]
 add r8, r8, #1
 cmp r8, r12
 ble |L..53|

|L..51|
 ldr r12, |L..101|+20
 ldr r2, |L..101|+24
 ldr r8, [r9, r12]
 ldr r12, [r9, r2]
 cmp r8, r12
 bgt |L..49|
 ldr r14, [r13, #204]
 ldr r3, [r13, #168]
 mov r4, r2
 ldr r5, |L..101|+12
 add r12, r14, r14, lsl #3
 mov r0, r12, lsl #9
 mov r1, r3, lsl #10
 ldr r14, |L..101|+28

|L..63|
 mov r6, #0
 add r12, r9, r8, lsl #3
 ldr r2, [r5, r8, lsl #2]
 add r3, r12, r14
 mov r2, r2, lsl #3

|L..67|
  add r12, r2, r6, lsl #8
  add r12, r12, r0
  add r12, r12, r1
  add r12, r9, r12
  add r12, r12, #35840
  add r12, r12, #4
  add r6, r6, #1
 ldfd f0, [r12, #0]
 ldfd f1, [r3, #0]
 mufd f0, f0, f1
 stfd f0, [r12, #0]
  cmp r6, #17
 ble |L..67|

 ldr r12, [r9, r4]
 add r8, r8, #1
 cmp r8, r12
 ble |L..63|

|L..49|
 mov r8, #0
|L..73|
 ldr r12, [r13, #172]
 ldr r14, [r13, #172]
 ldr r2, |L..101|+32
 ldr r12, [r12, #24]
 str r12, [r13, #180]
 ldr r1, [r9, r2]
 mov r0, r12
 ldr r2, |L..101|
 ldr r3, [r14, #28]
 cmp r8, #1
 movgt r12, #0
 movle r12, #1
 ldr r14, [r13, #152]
 cmp r3, #0
 moveq r12, #0
 cmp r12, #0
 movne r0, #0
 str r0, [r13, #180]
 cmp r8, r1
 ldr r1, [r13, #168]
 ldr r12, [r13, #212]
 ldr r0, |L..101|+12
 add r2, r2, r1, lsl #10
 add r2, r9, r2
 add r3, r12, r14
 ldr r1, [r0, r8, lsl #2]
 add r3, r2, r3, lsl #9
 mov r1, r1, lsl #3
 add r3, r3, r1
 str r3, [r13, #184]
 ldr r3, [r13, #204]
 add r12, r3, r3, lsl #3
 add r2, r2, r12, lsl #9
 add r2, r2, r1
 str r2, [r13, #188]
 bge |L..76|
 ldr r12, |L..101|+36
 ldr r2, [r9, r12]
 cmp r8, r2
 bgt |L..75|

|L..76|
 mov r1, #0
 ldr r0, [r13, #164]
 mov r2, #144
 bl |memset|
 ldr r14, [r13, #164]
 add r12, r8, #1
 str r12, [r13, #208]
 add r14, r14, #144
 str r14, [r13, #192]
 b |L..77|

|L..75|
 ldr r0, [r13, #180]
 cmp r0, #2
 bne |L..78|
 add r1, r8, #1
 str r1, [r13, #208]
 mvn r6, #2
 ldr r2, [r13, #164]
 mov r5, #2304
 ldr r7, |L..101|+40
 add r2, r2, #144
 str r2, [r13, #192]

|L..82|
  add r12, r6, #3
  add r12, r7, r12, lsl #3
  add r14, r6, r6, lsl #1
  ldr r3, [r13, #164]
  add r14, r3, r14, lsl #3
  ldr r0, [r13, #184]
  add r3, r0, r6, lsl #8
  ldr r4, [r13, #184]
  rsb r0, r6, #8
  add r4, r4, r0, lsl #8
  ldr r2, [r13, #188]
  rsb r5, r6, #2
  add r5, r2, r5, lsl #8
  add r1, r2, r6, lsl #8
  add r2, r3, #2304
  add r3, r3, #3840
 ldfd f2, [r12, #0]
 ldfd f0, [r2, #0]
 mufd f0, f0, f2
 ldfd f1, [r4, #0]
 sufd f0, f0, f1
 stfd f0, [r14, #72]
  add r4, r4, #1536
 ldfd f3, [r4, #0]
 mufd f1, f3, f2
 ldfd f0, [r3, #0]
 adfd f1, f1, f0
 stfd f1, [r14, #144]
 mufd f0, f0, f2
 sufd f0, f0, f3
 stfd f0, [r14, #80]
 ldfd f3, [r5, #0]
 mufd f1, f3, f2
 ldfd f0, [r1, #768]
 adfd f1, f1, f0
 stfd f1, [r14, #152]
 ldfd f0, [r1, #768]
 mufd f0, f0, f2
 sufd f0, f0, f3
 stfd f0, [r14, #88]
  add r5, r5, #1536
  add r1, r1, #2304
 ldfd f0, [r5, #0]
 ldfd f1, [r1, #0]
 mufd f0, f0, f2
 adfd f0, f0, f1
 stfd f0, [r14, #160]
  adds r6, r6, #1
 bmi |L..82|

 ldr r0, [r13, #164]
 bl |mdct_short|
 b |L..77|

|L..101|
 DCD 35844
 DCD 32040
 DCD 32036
 DCD |order|
 DCD 54532
 DCD 32024
 DCD 32028
 DCD 54276
 DCD 32016
 DCD 32020
 DCD |win|+576

|L..78|
 add r12, r8, #1
 str r12, [r13, #208]
 ldr r14, [r13, #164]
 mvn r6, #8
 ldr r0, [r13, #180]
 add r14, r14, #144
 add r12, r0, r0, lsl #3
 mov r7, r12, lsl #5
 str r14, [r13, #192]

|L..88|
  ldr r1, |L..104|+4
  add r2, r6, #9
  add r2, r7, r2, lsl #3
  add r2, r2, r1
  add r12, r2, #72
  ldr r14, [r13, #188]
  add r3, r14, r6, lsl #8
  rsb r0, r6, #8
  add r14, r14, r0, lsl #8
  add r3, r3, #2304
  ldr r1, |L..104|
  add r5, r1, r6, lsl #3
  add r1, r6, #9
  mov r1, r1, lsl #3
  add r4, r13, r1
  ldr r1, [r13, #184]
  rsb r0, r6, #8
  add r0, r1, r0, lsl #8
  add r1, r1, r6, lsl #8
  add r1, r1, #2304
 ldfd f2, [r3, #0]
 ldfd f3, [r2, #144]
 mufd f3, f3, f2
 ldfd f0, [r2, #216]
 ldfd f1, [r14, #0]
 mufd f0, f0, f1
 adfd f3, f3, f0
 ldfd f2, [r2, #0]
 ldfd f4, [r1, #0]
 mufd f2, f2, f4
 ldfd f0, [r12, #0]
 ldfd f1, [r0, #0]
 mufd f0, f0, f1
 sufd f2, f2, f0
 ldfd f1, [r5, #0]
 mufd f0, f2, f1
 sufd f0, f3, f0
 stfd f0, [r4, #0]
 mufd f3, f3, f1
 adfd f3, f3, f2
 stfd f3, [r4, #72]
  adds r6, r6, #1
  bmi |L..88|

 ldr r0, [r13, #164]
 mov r1, r13
 bl |mdct_long|
|L..77|
 ldr r2, [r13, #180]
 cmp r2, #2
 beq |L..72|
 cmp r8, #0
 beq |L..72|
 ldr r0, |L..104|+8
 mov r6, #7
 add r14, r0, #64

|L..95|
  ldr r12, [r13, #164]
  mvn r3, r6
  add r1, r12, r6, lsl #3
  add r3, r12, r3, lsl #3
  add r12, r0, r6, lsl #3
  add r2, r14, r6, lsl #3
 ldfd f2, [r1, #0]
 ldfd f5, [r12, #0]
 mufd f1, f2, f5
 ldfd f4, [r2, #0]
 mufd f2, f2, f4
 ldfd f3, [r3, #0]
 mufd f0, f3, f4
 adfd f1, f1, f0
 stfd f1, [r3, #0]
 mufd f3, f3, f5
 sufd f2, f2, f3
 stfd f2, [r1, #0]
  subs r6, r6, #1
 bpl |L..95|

|L..72|
 ldr r8, [r13, #208]
 ldr r14, [r13, #192]
 cmp r8, #31
 str r14, [r13, #164]
 ble |L..73|
 ldr r0, [r13, #196]
 ldr r12, [r9, #36]
 str r0, [r13, #152]
 cmp r0, r12
 blt |L..38|

|L..36|
 ldr r1, [r13, #144]
 cmp r12, #1
 add r1, r1, #1136
 str r1, [r13, #160]
 add r1, r1, #8
 str r1, [r13, #160]
 bne |L..33|
 ldr r2, [r13, #156]
 add r1, r2, r2, lsl #3
 add r1, r9, r1, lsl #10
 add r0, r1, #35840
 add r0, r0, #4
 add r1, r1, #40448
 add r1, r1, #4
 mov r2, #4608
 bl |memcpy|
|L..33|
 ldr r3, [r13, #200]
 ldr r12, [r9, #44]
 str r3, [r13, #156]
 cmp r3, r12
 blt |L..34|

|L..32|
  lfm f4, 2, [r11, #-60]
 ldmea r11, {r4 - r9, r11, r13, r15}

|L..104|
 DCD |win|+672
 DCD |win|
 DCD |win|+736

 END
