TeaWeb/vendor/opus-recorder/decoderWorker.wast
2018-02-27 17:20:49 +01:00

74651 lines
1.5 MiB

(module
(type $FUNCSIG$iiiiiii (func (param i32 i32 i32 i32 i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(import "env" "memory" (memory $0 256 256))
(import "env" "table" (table 8 8 anyfunc))
(import "env" "tableBase" (global $tableBase i32))
(import "env" "DYNAMICTOP_PTR" (global $DYNAMICTOP_PTR$asm2wasm$import i32))
(import "env" "STACKTOP" (global $STACKTOP$asm2wasm$import i32))
(import "env" "STACK_MAX" (global $STACK_MAX$asm2wasm$import i32))
(import "env" "abort" (func $abort (param i32)))
(import "env" "enlargeMemory" (func $enlargeMemory (result i32)))
(import "env" "getTotalMemory" (func $getTotalMemory (result i32)))
(import "env" "abortOnCannotGrowMemory" (func $abortOnCannotGrowMemory (result i32)))
(import "env" "___setErrNo" (func $___setErrNo (param i32)))
(import "env" "_abort" (func $_abort))
(import "env" "_emscripten_memcpy_big" (func $_emscripten_memcpy_big (param i32 i32 i32) (result i32)))
(import "env" "_llvm_stackrestore" (func $_llvm_stackrestore (param i32)))
(import "env" "_llvm_stacksave" (func $_llvm_stacksave (result i32)))
(global $DYNAMICTOP_PTR (mut i32) (get_global $DYNAMICTOP_PTR$asm2wasm$import))
(global $STACKTOP (mut i32) (get_global $STACKTOP$asm2wasm$import))
(global $STACK_MAX (mut i32) (get_global $STACK_MAX$asm2wasm$import))
(global $__THREW__ (mut i32) (i32.const 0))
(global $threwValue (mut i32) (i32.const 0))
(global $tempRet0 (mut i32) (i32.const 0))
(elem (get_global $tableBase) $b0 $_resampler_basic_direct_double $_resampler_basic_direct_single $_resampler_basic_interpolate_double $_resampler_basic_interpolate_single $_resampler_basic_zero $b0 $b0)
(data (i32.const 1024) "\c8Q\0c\d2\84\f4\ef?\00\00\00\00\00\00\f0?\c8Q\0c\d2\84\f4\ef?\f6\95\07\e9)\d2\ef?\da\d3\c4\f12\99\ef?\d4\fd\10\d9\0fJ\ef?~\9f\bbn[\e5\ee?a\c1?\9d\d9k\ee?\1d\d7\f1%u\de\ed?j\7fo\ec<>\ed?\c9\ea5\c1`\8c\ec?w$E\01.\ca\eb?\1e\bc~\da\0b\f9\ea?:\d0\bf4w\1a\ea?\f5%#\80\fe/\e9?\f2@C\83=;\e8?\0e\07S\de\d8=\e7?\f7\f2\af\a3y9\e6?L\c8\c5 \c9/\e5?\ce\b8x\91l\"\e4?\ff\99Z\19\01\13\e3?/\9c1\ed\17\03\e2?c\d9\06\cd2\f4\e0?MZ\86r\81\cf\df?\cd\8fd\fb5\be\dd?\15\c67\90\05\b7\db?\e0\07\ad\a8=\bc\d9?`3\n\93\f3\cf\d7?\f3\1d\fc\c4\01\f4\d5?J\85g\f8\05*\d4?\e7\cd<\14`s\d2?\8d\ca472\d1\d0?\d8\d1z\f0\c1\88\ce?\af\'x\12*\9b\cb?\c8H\93\dey\da\c8?\b5\cf[#\1fG\c6?=WB\14\1f\e1\c3?\b5\cd\01@\1d\a8\c1?M\ba\90\bb\c66\bf?.\0c&8\d4s\bb?f\92\05\n\c4\04\b8?\80T\16\c7y\e6\b4?bHN&n\15\b2?\a4\15\84\97\85\1b\af?\ec\b2\eb \a7\96\aa?\97\a8AE\93\93\a6?>x/\efX\t\a3?\d5\e7\acG\c8\dd\9f?l\cfM\179v\9a?\f4\f1\d8\e8\ff\c9\95?\0f\0b\b5\a6y\c7\91?U\17l\fa\1e\bb\8c?\fe\a4\b1(\b2\f7\86?<\b7\96\ea~%\82?\a5\fb\b5\ccTN|?g\1fTw\9f\c2u?\05\c4\7f\15;up?t\7f\b3\9c\9doh?\d3\f0\f3\00\92\c0a?\f7R\db\fa\a7#Y??\c1\ac\edy@Q?\f1B\00\91\fa\c2F?{\b2\cdS>\80<?&Q\92\"\f0\8f0?\c7Tn`z\14!?}\89\7f7 \ab\0b?\f1h\e3\88\b5\f8\e4>")
(data (i32.const 1568) "\b9\a6\a3\90\"\da\ef?\00\00\00\00\00\00\f0?\b9\a6\a3\90\"\da\ef?\85\0b\16\da{i\ef?DF\cdx\d7\b0\ee?&S\c3\86\c0\b4\ed?3\da.]V{\ec?\a9\ce\179\13\0c\eb?\a9\eaq!\87o\e9?r\e6\91\1e\n\af\e7?\d6\d1i\c4i\d4\e5?\c0\a7\a4\14\95\e9\e3?9\a0\00\e5J\f8\e1?\ea\83\1b\df\cd\t\e0?Uj\d52BM\dc?C]\de\fb\9f\ac\d8?\0fZ\f6\c1\85>\d5?\1f\05\db\caC\0d\d2?\a0g7#\18A\ce?\8c\8bz\f3\e1\fa\c8?\f0\aeH\86\fbL\c4?t\e3\'\1f\cc7\c0?\eea\8a\cd\"o\b9?;NU\ca\00\8a\b3?\e8a.\ca\e8W\ad?$3\cd*\"y\a5?\bbim\f9\cc\82\9e?\",to\8f\ef\94?>\11\dd\16\d9\8c\8b?]\c2_\9b\a62\81?P\08\b2\d8\05\07t?\81\c8*\be\04\1be?\dc\ee\ab\93\af\dbR?\1b\ca\9a\a2mF7?")
(data (i32.const 1856) "\c1SL\ce\1e\e2\ef?\00\00\00\00\00\00\f0?\c1SL\ce\1e\e2\ef?\cfB\c8\9a\0d\89\ef?\0cm\e7\98\7f\f6\ee?\88\12-y<-\ee?\9aM\f4\b7\0c1\ed?\b5\b0\c0\ba\9e\06\ec?\cc\99\0e\19f\b3\ea?\dcy,\c7u=\e9?Q\ab\"\bbV\ab\e7?\956\c9M\dc\03\e6?u\ab\e7\a4\f7M\e4?w\00\9b\de\8b\90\e2?\13\81\ea\1fD\d2\e0?\c6\00\c3\d1\d92\de?S>\04U\a3\d7\da?\d9\08a\c1?\9d\d7?\a8j\06\e1\9f\8c\d4?n$}\18)\ad\d1?Z\efy\f6C\t\ce?\1b\00`+W.\c9?Q\96k\1b\90\ce\c4?\8b\ecZ\ad\d9\eb\c0?\e9\d6)^~\n\bb?\df\17\fa\d4o.\b5?\06\0d\81L\008\b0?\ca\bdD\e5\f4/\a8?\a6\15\f8\ed\98x\a1?K\f5S\d2yC\98?\94\cf\9f\f4\8d\01\90?\00n7=\ff\a8\83?\dei\19F\cd\99u?\e0\85\8c\cb\e1(c?\fc\a9\f1\d2Mb@?")
(data (i32.const 2144) "%\91\e0\ba \ea\ef?\00\00\00\00\00\00\f0?%\91\e0\ba \ea\ef?\deK+\cf\cd\a8\ef?Z\1f\ff\9a\e6<\ef?U\cf\17\b5\da\a7\ee?\be\a0d\f6\a2\eb\ed?\d7\90n:\b8\n\ed?\8b\e8\cfe\07\08\ec?\b5\deo\b4\e3\e6\ea?X\00t\14\f7\aa\e9?\"rU41X\e8?P\c5\aei\b5\f2\e6?X\e4\b6\01\c8~\e5?\94E\'l\bb\00\e4?G+JK\dd|\e2?\a9\a3\e3jd\f7\e0?\aa\a9\97\a5\be\e8\de?\16\c4z\82H\ef\db?Kf\cc\8f\85\t\d9??\e9\e1W\ee=\d6?\c2jn}?\92\d3?\a0\be\a7ji\0b\d1?+r_9\08[\cd?\'\99b/\90\f7\c8?\a1\07\ca\af\17\f1\c4?\cab\ac\80\8cJ\c1?\"\c5\belT\n\bc?a\85\00\85\1fA\b6?\8f\dep\1f\b95\b1?C\84\c9\9eN\c3\a9?!{{\df\11x\a2?\f3G(\e8\bc\e7\98?Y\ed\0e\e7\e9u\8e?!\02\0e\a1J\cd~?")
(data (i32.const 2435) "@\fb!\f9?\00\00\00\00-Dt>\00\00\00\80\98F\f8<\00\00\00`Q\ccx;\00\00\00\80\83\1b\f09\00\00\00@ %z8\00\00\00\80\"\82\e36\00\00\00\00\1d\f3i5\00\00\00\00\00\00\e0?\00\00\00\00\00\00\e0\bf\01\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00\07\00\00\00\00\00\00\00\04\00\00\00\03\00\00\00\06\00\00\00\01\00\00\00\05\00\00\00\02\00\00\00\0f\00\00\00\00\00\00\00\08\00\00\00\07\00\00\00\0c\00\00\00\03\00\00\00\0b\00\00\00\04\00\00\00\0e\00\00\00\01\00\00\00\t\00\00\00\06\00\00\00\0d\00\00\00\02\00\00\00\n\00\00\00\05\00\00\00\00\00\9d>\00@^>\00\c0\04>\00\80\ed>\00@\89>\00\00\00\00\00\c0L?\00\00\cd=\00\00\00\00\a8\n\00\00h\0d\00\00$\10\00\00\dc\12\00\00\90\15\00\00@\18\00\00\ec\1a\00\00T\1c\00\00\10\1d\00\00\84\1d\00\00\d0\1d\00\00\08\1e\00\00(\1e\00\00@\1e\00\00L\1e\00\00\01")
(data (i32.const 3436) "\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\03\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00\0d\00\00\00\0f\00\00\00\11\00\00\00\13\00\00\00\15\00\00\00\17\00\00\00\19\00\00\00\1b\00\00\00\1d\00\00\00\1f\00\00\00!\00\00\00#\00\00\00%\00\00\00\'\00\00\00)\00\00\00+\00\00\00-\00\00\00/\00\00\001\00\00\003\00\00\005\00\00\007\00\00\009\00\00\00;\00\00\00=\00\00\00?\00\00\00A\00\00\00C\00\00\00E\00\00\00G\00\00\00I\00\00\00K\00\00\00M\00\00\00O\00\00\00Q\00\00\00S\00\00\00U\00\00\00W\00\00\00Y\00\00\00[\00\00\00]\00\00\00_\00\00\00a\00\00\00c\00\00\00e\00\00\00g\00\00\00i\00\00\00k\00\00\00m\00\00\00o\00\00\00q\00\00\00s\00\00\00u\00\00\00w\00\00\00y\00\00\00{\00\00\00}\00\00\00\7f\00\00\00\81\00\00\00\83\00\00\00\85\00\00\00\87\00\00\00\89\00\00\00\8b\00\00\00\8d\00\00\00\8f\00\00\00\91\00\00\00\93\00\00\00\95\00\00\00\97\00\00\00\99\00\00\00\9b\00\00\00\9d\00\00\00\9f\00\00\00\a1\00\00\00\a3\00\00\00\a5\00\00\00\a7\00\00\00\a9\00\00\00\ab\00\00\00\ad\00\00\00\af\00\00\00\b1\00\00\00\b3\00\00\00\b5\00\00\00\b7\00\00\00\b9\00\00\00\bb\00\00\00\bd\00\00\00\bf\00\00\00\c1\00\00\00\c3\00\00\00\c5\00\00\00\c7\00\00\00\c9\00\00\00\cb\00\00\00\cd\00\00\00\cf\00\00\00\d1\00\00\00\d3\00\00\00\d5\00\00\00\d7\00\00\00\d9\00\00\00\db\00\00\00\dd\00\00\00\df\00\00\00\e1\00\00\00\e3\00\00\00\e5\00\00\00\e7\00\00\00\e9\00\00\00\eb\00\00\00\ed\00\00\00\ef\00\00\00\f1\00\00\00\f3\00\00\00\f5\00\00\00\f7\00\00\00\f9\00\00\00\fb\00\00\00\fd\00\00\00\ff\00\00\00\01\01\00\00\03\01\00\00\05\01\00\00\07\01\00\00\t\01\00\00\0b\01\00\00\0d\01\00\00\0f\01\00\00\11\01\00\00\13\01\00\00\15\01\00\00\17\01\00\00\19\01\00\00\1b\01\00\00\1d\01\00\00\1f\01\00\00!\01\00\00#\01\00\00%\01\00\00\'\01\00\00)\01\00\00+\01\00\00-\01\00\00/\01\00\001\01\00\003\01\00\005\01\00\007\01\00\009\01\00\00;\01\00\00=\01\00\00?\01\00\00A\01\00\00C\01\00\00E\01\00\00G\01\00\00I\01\00\00K\01\00\00M\01\00\00O\01\00\00Q\01\00\00S\01\00\00U\01\00\00W\01\00\00Y\01\00\00[\01\00\00]\01\00\00_\01\00\00\0d\00\00\00\19\00\00\00)\00\00\00=\00\00\00U\00\00\00q\00\00\00\91\00\00\00\b5\00\00\00\dd\00\00\00\t\01\00\009\01\00\00m\01\00\00\a5\01\00\00\e1\01\00\00!\02\00\00e\02\00\00\ad\02\00\00\f9\02\00\00I\03\00\00\9d\03\00\00\f5\03\00\00Q\04\00\00\b1\04\00\00\15\05\00\00}\05\00\00\e9\05\00\00Y\06\00\00\cd\06\00\00E\07\00\00\c1\07\00\00A\08\00\00\c5\08\00\00M\t\00\00\d9\t\00\00i\n\00\00\fd\n\00\00\95\0b\00\001\0c\00\00\d1\0c\00\00u\0d\00\00\1d\0e\00\00\c9\0e\00\00y\0f\00\00-\10\00\00\e5\10\00\00\a1\11\00\00a\12\00\00%\13\00\00\ed\13\00\00\b9\14\00\00\89\15\00\00]\16\00\005\17\00\00\11\18\00\00\f1\18\00\00\d5\19\00\00\bd\1a\00\00\a9\1b\00\00\99\1c\00\00\8d\1d\00\00\85\1e\00\00\81\1f\00\00\81 \00\00\85!\00\00\8d\"\00\00\99#\00\00\a9$\00\00\bd%\00\00\d5&\00\00\f1\'\00\00\11)\00\005*\00\00]+\00\00\89,\00\00\b9-\00\00\ed.\00\00%0\00\00a1\00\00\a12\00\00\e53\00\00-5\00\00y6\00\00\c97\00\00\1d9\00\00u:\00\00\d1;\00\001=\00\00\95>\00\00\fd?\00\00iA\00\00\d9B\00\00MD\00\00\c5E\00\00AG\00\00\c1H\00\00EJ\00\00\cdK\00\00YM\00\00\e9N\00\00}P\00\00\15R\00\00\b1S\00\00QU\00\00\f5V\00\00\9dX\00\00IZ\00\00\f9[\00\00\ad]\00\00e_\00\00!a\00\00\e1b\00\00\a5d\00\00mf\00\009h\00\00\tj\00\00\ddk\00\00\b5m\00\00\91o\00\00qq\00\00Us\00\00=u\00\00)w\00\00\19y\00\00\0d{\00\00\05}\00\00\01\7f\00\00\01\81\00\00\05\83\00\00\0d\85\00\00\19\87\00\00)\89\00\00=\8b\00\00U\8d\00\00q\8f\00\00\91\91\00\00\b5\93\00\00\dd\95\00\00\t\98\00\009\9a\00\00m\9c\00\00\a5\9e\00\00\e1\a0\00\00!\a3\00\00e\a5\00\00\ad\a7\00\00\f9\a9\00\00I\ac\00\00\9d\ae\00\00\f5\b0\00\00Q\b3\00\00\b1\b5\00\00\15\b8\00\00}\ba\00\00\e9\bc\00\00Y\bf\00\00\cd\c1\00\00E\c4\00\00\c1\c6\00\00A\c9\00\00\c5\cb\00\00M\ce\00\00\d9\d0\00\00i\d3\00\00\fd\d5\00\00\95\d8\00\001\db\00\00\d1\dd\00\00u\e0\00\00\1d\e3\00\00\c9\e5\00\00y\e8\00\00-\eb\00\00\e5\ed\00\00\a1\f0\00\00?\00\00\00\81\00\00\00\e7\00\00\00y\01\00\00?\02\00\00A\03\00\00\87\04\00\00\19\06\00\00\ff\07\00\00A\n\00\00\e7\0c\00\00\f9\0f\00\00\7f\13\00\00\81\17\00\00\07\1c\00\00\19!\00\00\bf&\00\00\01-\00\00\e73\00\00y;\00\00\bfC\00\00\c1L\00\00\87V\00\00\19a\00\00\7fl\00\00\c1x\00\00\e7\85\00\00\f9\93\00\00\ff\a2\00\00\01\b3\00\00\07\c4\00\00\19\d6\00\00?\e9\00\00\81\fd\00\00\e7\12\01\00y)\01\00?A\01\00AZ\01\00\87t\01\00\19\90\01\00\ff\ac\01\00A\cb\01\00\e7\ea\01\00\f9\0b\02\00\7f.\02\00\81R\02\00\07x\02\00\19\9f\02\00\bf\c7\02\00\01\f2\02\00\e7\1d\03\00yK\03\00\bfz\03\00\c1\ab\03\00\87\de\03\00\19\13\04\00\7fI\04\00\c1\81\04\00\e7\bb\04\00\f9\f7\04\00\ff5\05\00\01v\05\00\07\b8\05\00\19\fc\05\00?B\06\00\81\8a\06\00\e7\d4\06\00y!\07\00?p\07\00A\c1\07\00\87\14\08\00\19j\08\00\ff\c1\08\00A\1c\t\00\e7x\t\00\f9\d7\t\00\7f9\n\00\81\9d\n\00\07\04\0b\00\19m\0b\00\bf\d8\0b\00\01G\0c\00\e7\b7\0c\00y+\0d\00\bf\a1\0d\00\c1\1a\0e\00\87\96\0e\00\19\15\0f\00\7f\96\0f\00\c1\1a\10\00\e7\a1\10\00\f9+\11\00\ff\b8\11\00\01I\12\00\07\dc\12\00\19r\13\00?\0b\14\00\81\a7\14\00\e7F\15\00y\e9\15\00?\8f\16\00A8\17\00\87\e4\17\00\19\94\18\00\ffF\19\00A\fd\19\00\e7\b6\1a\00\f9s\1b\00\7f4\1c\00\81\f8\1c\00\07\c0\1d\00\19\8b\1e\00\bfY\1f\00\01, \00\e7\01!\00y\db!\00\bf\b8\"\00\c1\99#\00\87~$\00\19g%\00\7fS&\00\c1C\'\00\e77(\00\f9/)\00\ff+*\00\01,+\00\070,\00\198-\00?D.\00\81T/\00\e7h0\00y\811\00?\9e2\00A\bf3\00\87\e44\00\19\0e6\00\ff;7\00An8\00\e7\a49\00\f9\df:\00\7f\1f<\00\81c=\00\07\ac>\00\19\f9?\00\bfJA\00\01\a1B\00\e7\fbC\00y[E\00\bf\bfF\00\c1(H\00\87\96I\00\19\tK\00\7f\80L\00\c1\fcM\00\e7}O\00\f9\03Q\00\ff\8eR\00\01\1fT\00\07\b4U\00\19NW\00?\edX\00\81\91Z\00\e7:\\\00y\e9]\00?\9d_\00AVa\00\87\14c\00\19\d8d\00\ff\a0f\00Aoh\00\e7Bj\00\f9\1bl\00\7f\fam\00A\01\00\00\a9\02\00\00\t\05\00\00\c1\08\00\00A\0e\00\00\t\16\00\00\a9 \00\00\c1.\00\00\01A\00\00)X\00\00\tu\00\00\81\98\00\00\81\c3\00\00\t\f7\00\00)4\01\00\01|\01\00\c1\cf\01\00\a90\02\00\t\a0\02\00A\1f\03\00\c1\af\03\00\tS\04\00\a9\n\05\00A\d8\05\00\81\bd\06\00)\bc\07\00\t\d6\08\00\01\0d\n\00\01c\0b\00\t\da\0c\00)t\0e\00\813\10\00A\1a\12\00\a9*\14\00\tg\16\00\c1\d1\18\00Am\1b\00\t<\1e\00\a9@!\00\c1}$\00\01\f6\'\00)\ac+\00\t\a3/\00\81\dd3\00\81^8\00\t)=\00)@B\00\01\a7G\00\c1`M\00\a9pS\00\t\daY\00A\a0`\00\c1\c6g\00\tQo\00\a9Bw\00A\9f\7f\00\81j\88\00)\a8\91\00\t\\\9b\00\01\8a\a5\00\016\b0\00\td\bb\00)\18\c7\00\81V\d3\00A#\e0\00\a9\82\ed\00\ty\fb\00\c1\n\n\01A<\19\01\t\12)\01\a9\909\01\c1\bcJ\01\01\9b\\\01)0o\01\t\81\82\01\81\92\96\01\81i\ab\01\t\0b\c1\01)|\d7\01\01\c2\ee\01\c1\e1\06\02\a9\e0\1f\02\t\c49\02A\91T\02\c1Mp\02\t\ff\8c\02\a9\aa\aa\02AV\c9\02\81\07\e9\02)\c4\t\03\t\92+\03\01wN\03\01yr\03\t\9e\97\03)\ec\bd\03\81i\e5\03A\1c\0e\04\a9\n8\04\t;c\04\c1\b3\8f\04A{\bd\04\t\98\ec\04\a9\10\1d\05\c1\ebN\05\010\82\05)\e4\b6\05\t\0f\ed\05\81\b7$\06\81\e4]\06\t\9d\98\06)\e8\d4\06\01\cd\12\07\c1RR\07\a9\80\93\07\t^\d6\07A\f2\1a\08\c1Da\08\t]\a9\08\a9B\f3\08A\fd>\t\81\94\8c\t)\10\dc\t\tx-\n\01\d4\80\n\01,\d6\n\t\88-\0b)\f0\86\0b\81l\e2\0bA\05@\0c\a9\c2\9f\0c\t\ad\01\0d\c1\cce\0dA*\cc\0d\t\ce4\0e\a9\c0\9f\0e\c1\n\0d\0f\01\b5|\0f)\c8\ee\0f\tMc\10\81L\da\10\81\cfS\11\t\df\cf\11)\84N\12\01\c8\cf\12\c1\b3S\13\a9P\da\13\t\a8c\14A\c3\ef\14\c1\ab~\15\tk\10\16\a9\n\a5\16A\94<\17\81\11\d7\17)\8ct\18\t\0e\15\19\01\a1\b8\19\01O_\1a\t\"\t\1b)$\b6\1b\81_f\1cA\de\19\1d\a9\aa\d0\1d\t\cf\8a\1e\c1UH\1fAI\t \t\b4\cd \a9\a0\95!\c1\19a\"\01*0#)\dc\02$\t;\d9$\81Q\b3%\93\06\00\00E\0e\00\00\0f\1c\00\00\113\00\00[W\00\00\0d\8e\00\00w\dd\00\009M\01\00c\e6\01\00\95\b3\02\00\1f\c1\03\00!\1d\05\00\ab\d7\06\00\dd\02\t\00\07\b3\0b\00\c9\fe\0e\003\ff\12\00\e5\cf\17\00/\8f\1d\001^$\00\fb`,\00\ad\be5\00\97\a1@\00Y7M\00\03\b1[\005Cl\00?&\7f\00A\96\94\00K\d3\ac\00}!\c8\00\'\c9\e6\00\e9\16\t\01\d3[/\01\85\edY\01O&\89\01Qe\bd\01\9b\0e\f7\01M\8b6\02\b7I|\02y\bd\c8\02\a3_\1c\03\d5\aew\03_/\db\03akG\04\eb\f2\bc\04\1d\\<\05GC\c6\05\tK[\06s\1c\fc\06%g\a9\07o\e1c\08qH,\t;`\03\n\ed\f3\e9\n\d7\d5\e0\0b\99\df\e8\0cC\f2\02\0eu\f6/\0f\7f\dcp\10\81\9c\c6\11\8b62\13\bd\b2\b4\14g!O\16)\9b\02\18\13A\d0\19\c5<\b9\1b\8f\c0\be\1d\91\07\e2\1f\dbU$\"\8d\f8\86$\f7E\0b\'\b9\9d\b2)\e3h~,\15\1ap/\9f-\892\a1)\cb5+\9e79]%\d0<\87c\96@I\07\8cD\b3\c9\b2Hen\0cM\af\c3\9aQ\b1\a2_V{\ef\\[-\99\94`\17\9a\08f\d9\f7\bak\83\c3\adq\b5\19\e3w\bf\"]~\1d#\00\00qM\00\00\91\9c\00\00\fd&\01\00e\0c\02\00\e9w\03\00\99\a2\05\005\d6\08\00-p\0d\00\e1\e4\13\00!\c3\1c\00\ed\b7(\00u\928\00YHM\00)\fag\00%\f8\89\00=\c7\b4\00Q&\ea\00\b1\13,\01\dd\d2|\01\85\f2\de\01\c9RU\02\b9+\e3\02\15\14\8c\03M\08T\04\c1q?\05A.S\06\cd\97\94\07\95\8c\t\t9w\b8\nIW\a8\0c\05\ca\e0\0e]\13j\111\'M\14\d1\b2\93\17\bd&H\1b\a5\c0u\1f\a9\95($\d9\9cm)\f5\b9R/m\c8\e65\a1\a69=aA\\E\ad\9f`N\b5\eeYX\19\8e\\ci\1c~o\e5\83\d5|\ff\bd\00\00\01\a8\01\00\8fk\03\00\f1\9e\06\00?#\0c\00\c1=\15\00\8f\b6#\00\f1\fc9\00\ffQ[\00\01\fa\8b\00\0fu\d1\00q\bf2\01?\9a\b8\01\c1\dcm\02\0f\cf_\03q\8e\9e\04\ff{=\06\01\b6S\08\8f\9c\fc\n\f1aX\0e?\a7\8c\12\c1%\c5\17\8fe4\1e\f1\81\14&\ff\fb\a7/\01\9c:;\0fb\"Iq\86\c0Y?\8a\82m\c1X\e3\84\01\0e\04\00\91!\t\00\11,\13\00A\ee%\00AOG\00\91C\80\00\11\f7\dd\00\01Fs\01\01\92Z\02\11\01\b8\03\915\bc\05A\8f\a7\08A\06\ce\0c\11\b2\9b\12\91\0f\9a\1a\01\1av%\01L\074\91\9eWG\11\9d\ac`A\a6\91\81#Q\16\00\c5\9e2\00\17\b9k\00\99\f6\d8\00k\89\a0\01\0d\c4\fe\02\1f\01P\05!\d9\1d\t3l0\0f\d5\a2\a4\18\a7g\08\')\fd}<{\b5\e7[\1dw\1d\89\af\a0-\c9\ad\8e{\00\89\e6\19\019\96^\02=\16\d8\04\b5cw\t\e1(\c6\11!\034 uH\828}WW`\bf[\af\02\81\d8\'\06\f7\84^\0d\e9\fe\ad\1b\7f\8b\eb6\81\b7\e5h\17\03\9c\c1\c1\0c\ff\0e9j\85\"\19\ee\91K\81x+\9e3\e1\tT\95\8b\00\007\98\00\00\ff\a5\00\00\04\b5\00\00g\c5\00\00E\d7\00\00\c1\ea\00\00\ff\ff\00\00\80\bb\00\00x\00\00\00\15\00\00\00\15\00\00\00\00\9aY?\00\00\00\00\00\00\80?\00\00\80?\14P\00\00\03\00\00\00\08\00\00\00x\00\00\00\0b\00\00\00\e0a\00\00@P\00\00\14\1f\00\00\80\07\00\00\03\00\00\00\f4 \00\00,!\00\00d!\00\00\9c!\00\00\d4!\00\00\88\01\00\00jP\00\00\c7b\00\00Od\00\00j\1c\8d8R\bb\1e:\08i\dc:\82\edW;\89c\b2;\03*\05<0\dc9<\b4>w<\1c\a3\9e<\d1\f2\c5<\fe\86\f1<\9b\ab\10=\05\ad*=\84\c2F=S\e6d=\11\89\82=\87\9f\93=\cb\b2\a5=\d1\be\b8=:\bf\cc=T\af\e1=\14\8a\f7=\0e%\07>\d9\f4\12>_1\1f>h\d7+>\8a\e38>0RF>\94\1fT>\bfGb>\8e\c6p>\b0\97\7f>R[\87>`\0f\8f>\98\e5\96>y\db\9e>p\ee\a6>\d8\1b\af>\fb`\b7>\11\bb\bf>F\'\c8>\b7\a2\d0>x*\d9>\94\bb\e1>\0cS\ea>\de\ed\f2>\06\89\fb>\be\10\02?\1fZ\06?$\9f\n?P\de\0e?+\16\13?AE\17?%j\1b?s\83\1f?\ce\8f#?\e6\8d\'?t|+??Z/?\19&3?\e7\de6?\99\83:?3\13>?\c5\8cA?w\efD?\7f:H?\'mK?\ce\86N?\e5\86Q?\f1lT?\8e8W?i\e9Y?E\7f\\?\fa\f9^?sYa?\af\9dc?\c1\c6e?\cf\d4g?\11\c8i?\d2\a0k?n_m?P\04o?\f4\8fp?\e6\02r?\bd]s?\1f\a1t?\bf\cdu?W\e4v?\b0\e5w?\97\d2x?\e3\aby?srz?\'\'{?\e7\ca{?\9d^|?5\e3|?\9cY}?\bd\c2}?\86\1f~?\dep~?\ab\b7~?\cf\f4~?&)\7f?\86U\7f?\bez\7f?\96\99\7f?\cc\b2\7f?\14\c7\7f?\1c\d7\7f?\82\e3\7f?\dd\ec\7f?\b6\f3\7f?\8a\f8\7f?\c8\fb\7f?\d6\fd\7f?\07\ff\7f?\a5\ff\7f?\e8\ff\7f?\fd\ff\7f?\00\00\80?\e0\01\00\00\87\88\08;\ff\ff\ff\ff\05\00`\00\03\00 \00\04\00\08\00\02\00\04\00\04\00\01")
(data (i32.const 8480) "\84T\00\00\f4=\00\00\00\00\00\00\f0\00\00\00\89\88\88;\01\00\00\00\05\000\00\03\00\10\00\04\00\04\00\04\00\01")
(data (i32.const 8536) "\a4R\00\00\f4=\00\00\00\00\00\00x\00\00\00\88\88\08<\02\00\00\00\05\00\18\00\03\00\08\00\02\00\04\00\04\00\01")
(data (i32.const 8592) "\b4Q\00\00\f4=\00\00\00\00\00\00<\00\00\00\89\88\88<\03\00\00\00\05\00\0c\00\03\00\04\00\04\00\01")
(data (i32.const 8648) "<Q\00\00\f4=\00\00\00\00\00\00\ff\ff\7f?\8e\ff\7f?j\fe\7f?\93\fc\7f?\07\fa\7f?\c8\f6\7f?\d6\f2\7f?0\ee\7f?\d6\e8\7f?\c8\e2\7f?\07\dc\7f?\93\d4\7f?k\cc\7f?\8f\c3\7f?\00\ba\7f?\bd\af\7f?\c7\a4\7f?\1d\99\7f?\c0\8c\7f?\b0\7f\7f?\ecq\7f?vc\7f?KT\7f?nD\7f?\de3\7f?\9a\"\7f?\a3\10\7f?\fa\fd~?\9d\ea~?\8d\d6~?\cb\c1~?V\ac~?.\96~?S\7f~?\c6g~?\86O~?\946~?\ef\1c~?\98\02~?\8f\e7}?\d3\cb}?f\af}?F\92}?tt}?\f1U}?\bc6}?\d5\16}?<\f6|?\f2\d4|?\f6\b2|?I\90|?\ebl|?\dbH|?\1b$|?\a9\fe{?\87\d8{?\b4\b1{?0\8a{?\fca{?\179{?\82\0f{?=\e5z?H\baz?\a2\8ez?Mbz?H5z?\94\07z?0\d9y?\1d\aay?Zzy?\e9Iy?\c8\18y?\f9\e6x?{\b4x?N\81x?sMx?\ea\18x?\b2\e3w?\cd\adw?:ww?\f9?w?\n\08w?n\cfv?%\96v?/\\v?\8c!v?<\e6u?@\aau?\97mu?B0u?A\f2t?\94\b3t?;tt?74t?\87\f3s?,\b2s?&ps?v-s?\1a\ear?\14\a6r?dar?\n\1cr?\05\d6q?W\8fq?\00Hq?\ff\ffp?U\b7p?\02np?\06$p?b\d9o?\15\8eo? Bo?\84\f5n??\a8n?SZn?\c0\0bn?\86\bcm?\a5lm?\1d\1cm?\ef\cal?\1byl?\a1&l?\80\d3k?\bb\7fk?P+k?@\d6j?\8c\80j?2*j?5\d3i?\93{i?M#i?d\cah?\d8ph?\a8\16h?\d5\bbg?``g?H\04g?\8f\a7f?3Jf?6\ece?\97\8de?W.e?w\ced?\f5md?\d4\0cd?\12\abc?\b1Hc?\b0\e5b?\10\82b?\d1\1db?\f3\b8a?wSa?\\\ed`?\a4\86`?N\1f`?[\b7_?\cbN_?\9e\e5^?\d5{^?p\11^?n\a6]?\d2:]?\9a\ce\\?\c6a\\?Y\f4[?Q\86[?\ae\17[?r\a8Z?\9d8Z?.\c8Y?\'WY?\87\e5X?OsX?\7f\00X?\17\8dW?\18\19W?\82\a4V?V/V?\93\b9U?:CU?K\ccT?\c7TT?\ae\dcS?\01dS?\bf\eaR?\e9pR?\7f\f6Q?\82{Q?\f2\ffP?\cf\83P?\1a\07P?\d2\89O?\fa\0bO?\90\8dN?\94\0eN?\t\8fM?\ed\0eM?A\8eL?\05\0dL?;\8bK?\e1\08K?\f9\85J?\83\02J?\7f~I?\ee\f9H?\cftH?$\efG?\edhG?)\e2F?\daZF?\00\d3E?\9bJE?\ac\c1D?28D?/\aeC?\a2#C?\8d\98B?\ef\0cB?\c8\80A?\1a\f4@?\e5f@?(\d9??\e5J??\1b\bc>?\cc,>?\f7\9c=?\9d\0c=?\be{<?\\\ea;?uX;?\n\c6:?\1d3:?\ad\9f9?\bb\0b9?Gw8?Q\e27?\daL7?\e3\b66?k 6?t\895?\fd\f14?\07Z4?\93\c13?\a0(3?0\8f2?B\f51?\d8Z1?\f1\bf0?\8e$0?\af\88/?U\ec.?\81O.?2\b2-?i\14-?\'v,?k\d7+?78+?\8b\98*?g\f8)?\ccW)?\ba\b6(?2\15(?3s\'?\bf\d0&?\d6-&?y\8a%?\a7\e6$?aB$?\a9\9d#?}\f8\"?\dfR\"?\cf\ac!?M\06!?[_ ?\f8\b7\1f?%\10\1f?\e2g\1e?0\bf\1d?\10\16\1d?\81l\1c?\84\c2\1b?\1a\18\1b?Cm\1a?\00\c2\19?Q\16\19?6j\18?\b1\bd\17?\c1\10\17?gc\16?\a3\b5\15?v\07\15?\e1X\14?\e4\a9\13?\7f\fa\12?\b3J\12?\80\9a\11?\e7\e9\10?\e88\10?\84\87\0f?\bb\d5\0e?\8e#\0e?\fep\0d?\n\be\0c?\b3\n\0c?\faV\0b?\df\a2\n?c\ee\t?\869\t?I\84\08?\ac\ce\07?\af\18\07?Tb\06?\9b\ab\05?\83\f4\04?\0f=\04?=\85\03?\0f\cd\02?\86\14\02?\a1[\01?a\a2\00?\8f\d1\ff>\a7]\fe>\0e\e9\fc>\c2s\fb>\c6\fd\f9>\1b\87\f8>\c1\0f\f7>\ba\97\f5>\06\1f\f4>\a8\a5\f2>\9e+\f1>\ec\b0\ef>\915\ee>\90\b9\ec>\e8<\eb>\9a\bf\e9>\a9A\e8>\15\c3\e6>\dfC\e5>\08\c4\e3>\91C\e2>|\c2\e0>\c8@\df>x\be\dd>\8c;\dc>\06\b8\da>\e63\d9>.\af\d7>\df)\d6>\f9\a3\d4>}\1d\d3>n\96\d1>\cc\0e\d0>\97\86\ce>\d2\fd\cc>}t\cb>\99\ea\c9>\'`\c8>(\d5\c6>\9fI\c5>\8a\bd\c3>\ec0\c2>\c6\a3\c0>\19\16\bf>\e6\87\bd>-\f9\bb>\f1i\ba>2\da\b8>\f1I\b7>/\b9\b5>\ee\'\b4>/\96\b2>\f2\03\b1>9q\af>\04\de\ad>VJ\ac>/\b6\aa>\90!\a9>z\8c\a7>\ef\f6\a5>\ef`\a4>|\ca\a2>\973\a1>@\9c\9f>z\04\9e>Dl\9c>\a1\d3\9a>\91:\99>\16\a1\97>0\07\96>\e1l\94>)\d2\92>\0b7\91>\87\9b\8f>\9e\ff\8d>Qc\8c>\a2\c6\8a>\91)\89> \8c\87>P\ee\85>\"P\84>\97\b1\82>\b0\12\81>\de\e6~>\a9\a7{>\c3gx>/\'u>\ee\e5q>\04\a4n>sak><\1eh>b\dad>\e8\95a>\cfP^>\1a\0b[>\cc\c4W>\e6}T>k6Q>]\eeM>\bf\a5J>\92\\G>\da\12D>\97\c8@>\ce}=>\802:>\ae\e66>]\9a3>\8dM0>B\00->}\b2)>Bd&>\91\15#>n\c6\1f>\dbv\1c>\da&\19>m\d6\15>\98\85\12>[4\0f>\ba\e2\0b>\b7\90\08>T>\05>\94\eb\01>\f00\fd=\06\8a\f6=q\e2\ef=3:\e9=O\91\e2=\cf\e7\db=\b5=\d5=\03\93\ce=\c0\e7\c7=\f2;\c1=\9c\8f\ba=\c3\e2\b3=l5\ad=\9b\87\a6=U\d9\9f=\9f*\99=~{\92=\f6\cb\8b=\0b\1c\85=\87\d7|=Fvo=]\14b=\d6\b1T=\b9NG=\10\eb9=\e5\86,=@\"\1f=,\bd\11=\b2W\04=\b5\e3\ed<`\17\d3<vJ\b8<\0b}\9d<2\af\82<\fa\c1O<\fe$\1a<*\0f\c9;\99\a7;;.}\d6\b9\d2Fq\bb\ab\de\e3\bb\a6\8c\'\bc\81)]\bc\e1b\89\bc\a00\a4\bc\ec\fd\be\bc\b3\ca\d9\bc\e0\96\f4\bc1\b1\07\bd\93\16\15\bd\8c{\"\bd\13\e0/\bd\1eD=\bd\a5\a7J\bd\9d\nX\bd\fele\bd\be\cer\bd\ea\17\80\bd\1b\c8\86\bd\edw\8d\bd\\\'\94\bdc\d6\9a\bd\fd\84\a1\bd&3\a8\bd\d9\e0\ae\bd\11\8e\b5\bd\ca:\bc\bd\fe\e6\c2\bd\aa\92\c9\bd\c8=\d0\bdT\e8\d6\bdJ\92\dd\bd\a4;\e4\bd]\e4\ea\bdr\8c\f1\bd\dd3\f8\bd\9a\da\fe\bdR\c0\02\be\fc\12\06\beGe\t\be2\b7\0c\be\ba\08\10\be\ddY\13\be\98\aa\16\be\ea\fa\19\be\d0J\1d\beG\9a \beN\e9#\be\e17\'\be\00\86*\be\a6\d3-\be\d3 1\be\83m4\be\b5\b97\bee\05;\be\93P>\be:\9bA\beZ\e5D\be\f0.H\be\f9wK\bet\c0N\be]\08R\be\b3OU\bes\96X\be\9c\dc[\be*\"_\be\1bgb\bem\abe\be\1f\efh\be,2l\be\94to\beT\b6r\bej\f7u\be\d37y\be\8dw|\be\96\b6\7f\beuz\81\beE\19\83\be\b9\b7\84\be\d0U\86\be\88\f3\87\be\e1\90\89\be\da-\8b\bep\ca\8c\be\a4f\8e\bet\02\90\be\df\9d\91\be\e48\93\be\81\d3\94\be\b6m\96\be\81\07\98\be\e2\a0\99\be\d79\9b\be_\d2\9c\beyj\9e\be#\02\a0\be^\99\a1\be&0\a3\be}\c6\a4\be`\\\a6\be\ce\f1\a7\be\c6\86\a9\beG\1b\ab\beP\af\ac\be\e0B\ae\be\f5\d5\af\be\8fh\b1\be\ad\fa\b2\beM\8c\b4\ben\1d\b6\be\10\ae\b7\be0>\b9\be\cf\cd\ba\be\ea\\\bc\be\82\eb\bd\be\94y\bf\be\1f\07\c1\be#\94\c2\be\9f \c4\be\91\ac\c5\be\f87\c7\be\d3\c2\c8\be\"M\ca\be\e2\d6\cb\be\13`\cd\be\b5\e8\ce\be\c5p\d0\beB\f8\d1\be-\7f\d3\be\83\05\d5\beC\8b\d6\bem\10\d8\be\ff\94\d9\be\f9\18\db\beY\9c\dc\be\1d\1f\de\beF\a1\df\be\d3\"\e1\be\c1\a3\e2\be\10$\e4\be\be\a3\e5\be\cc\"\e7\be8\a1\e8\be\00\1f\ea\be$\9c\eb\be\a2\18\ed\bez\94\ee\be\ab\0f\f0\be3\8a\f1\be\12\04\f3\beF}\f4\be\cf\f5\f5\be\aam\f7\be\d9\e4\f8\beX[\fa\be(\d1\fb\beGF\fd\be\b5\ba\fe\be8\17\00\bf\bb\d0\00\bf\e4\89\01\bf\b2B\02\bf%\fb\02\bf;\b3\03\bf\f6j\04\bfS\"\05\bfS\d9\05\bf\f5\8f\06\bf8F\07\bf\1d\fc\07\bf\a2\b1\08\bf\c7f\t\bf\8c\1b\n\bf\f0\cf\n\bf\f3\83\0b\bf\937\0c\bf\d1\ea\0c\bf\ac\9d\0d\bf$P\0e\bf8\02\0f\bf\e8\b3\0f\bf2e\10\bf\18\16\11\bf\97\c6\11\bf\b0v\12\bfc&\13\bf\ae\d5\13\bf\91\84\14\bf\0d3\15\bf\1f\e1\15\bf\c8\8e\16\bf\08<\17\bf\dd\e8\17\bfH\95\18\bfHA\19\bf\dc\ec\19\bf\04\98\1a\bf\c0B\1b\bf\0f\ed\1b\bf\f0\96\1c\bfc@\1d\bfh\e9\1d\bf\fe\91\1e\bf%:\1f\bf\dc\e1\1f\bf#\89 \bf\fa/!\bf_\d6!\bfR|\"\bf\d4!#\bf\e3\c6#\bf\7fk$\bf\a7\0f%\bf\\\b3%\bf\9dV&\bfh\f9&\bf\bf\9b\'\bf\a0=(\bf\0b\df(\bf\ff\7f)\bf} *\bf\83\c0*\bf\11`+\bf\'\ff+\bf\c4\9d,\bf\e8;-\bf\92\d9-\bf\c3v.\bfy\13/\bf\b4\af/\bfsK0\bf\b7\e60\bf\7f\811\bf\cb\1b2\bf\99\b52\bf\eaN3\bf\bd\e73\bf\12\804\bf\e8\175\bf?\af5\bf\16F6\bfn\dc6\bfEr7\bf\9c\078\bfq\9c8\bf\c509\bf\96\c49\bf\e6W:\bf\b2\ea:\bf\fc|;\bf\c2\0e<\bf\03\a0<\bf\c10=\bf\fa\c0=\bf\adP>\bf\db\df>\bf\83n?\bf\a5\fc?\bf@\8a@\bfS\17A\bf\e0\a3A\bf\e4/B\bf`\bbB\bfSFC\bf\be\d0C\bf\9eZD\bf\f6\e3D\bf\c2lE\bf\05\f5E\bf\bc|F\bf\e8\03G\bf\89\8aG\bf\9d\10H\bf%\96H\bf \1bI\bf\8e\9fI\bfo#J\bf\c1\a6J\bf\86)K\bf\bc\abK\bfc-L\bfz\aeL\bf\02/M\bf\fa\aeM\bfb.N\bf9\adN\bf~+O\bf3\a9O\bfU&P\bf\e6\a2P\bf\e4\1eQ\bfP\9aQ\bf(\15R\bfm\8fR\bf\1e\tS\bf;\82S\bf\c3\faS\bf\b7rT\bf\16\eaT\bf\df`U\bf\12\d7U\bf\b0LV\bf\b7\c1V\bf\'6W\bf\00\aaW\bfB\1dX\bf\ec\8fX\bf\fe\01Y\bfxsY\bfY\e4Y\bf\a2TZ\bfQ\c4Z\bff3[\bf\e2\a1[\bf\c3\0f\\\bf\n}\\\bf\b7\e9\\\bf\c8U]\bf>\c1]\bf\18,^\bfW\96^\bf\f9\ff^\bf\ffh_\bfh\d1_\bf39`\bfb\a0`\bf\f3\06a\bf\e5la\bf:\d2a\bf\f06b\bf\08\9bb\bf\80\feb\bfYac\bf\92\c3c\bf,%d\bf%\86d\bf~\e6d\bf7Fe\bfN\a5e\bf\c5\03f\bf\9aaf\bf\cd\bef\bf^\1bg\bfMwg\bf\9a\d2g\bfD-h\bfK\87h\bf\ae\e0h\bfo9i\bf\8b\91i\bf\04\e9i\bf\d9?j\bf\t\96j\bf\94\ebj\bf{@k\bf\bc\94k\bfY\e8k\bfO;l\bf\a0\8dl\bfK\dfl\bfO0m\bf\ad\80m\bfe\d0m\bfu\1fn\bf\dfmn\bf\a1\bbn\bf\bb\08o\bf.Uo\bf\f8\a0o\bf\1b\eco\bf\956p\bfg\80p\bf\90\c9p\bf\0f\12q\bf\e6Yq\bf\13\a1q\bf\97\e7q\bfq-r\bf\a0rr\bf&\b7r\bf\01\fbr\bf2>s\bf\b8\80s\bf\94\c2s\bf\c4\03t\bfIDt\bf\"\84t\bfP\c3t\bf\d2\01u\bf\a8?u\bf\d2|u\bfP\b9u\bf!\f5u\bfE0v\bf\bdjv\bf\88\a4v\bf\a6\ddv\bf\16\16w\bf\d9Mw\bf\ef\84w\bfW\bbw\bf\11\f1w\bf\1d&x\bfzZx\bf*\8ex\bf+\c1x\bf}\f3x\bf!%y\bf\16Vy\bf\\\86y\bf\f2\b5y\bf\da\e4y\bf\12\13z\bf\9a@z\bfsmz\bf\9d\99z\bf\16\c5z\bf\df\efz\bf\f8\19{\bfaC{\bf\1al{\bf\"\94{\bfz\bb{\bf \e2{\bf\17\08|\bf\\-|\bf\f0Q|\bf\d3u|\bf\05\99|\bf\86\bb|\bfU\dd|\bfs\fe|\bf\df\1e}\bf\9a>}\bf\a3]}\bf\fa{}\bf\9f\99}\bf\92\b6}\bf\d3\d2}\bfb\ee}\bf?\t~\bfi#~\bf\e1<~\bf\a7U~\bf\bam~\bf\1b\85~\bf\c9\9b~\bf\c4\b1~\bf\0d\c7~\bf\a2\db~\bf\85\ef~\bf\b5\02\7f\bf2\15\7f\bf\fc&\7f\bf\138\7f\bfvH\7f\bf\'X\7f\bf$g\7f\bfnu\7f\bf\05\83\7f\bf\e8\8f\7f\bf\19\9c\7f\bf\95\a7\7f\bf_\b2\7f\bft\bc\7f\bf\d7\c5\7f\bf\85\ce\7f\bf\81\d6\7f\bf\c8\dd\7f\bf]\e4\7f\bf=\ea\7f\bfj\ef\7f\bf\e3\f3\7f\bf\a9\f7\7f\bf\bb\fa\7f\bf\19\fd\7f\bf\c4\fe\7f\bf\bb\ff\7f\bf\fa\ff\7f?9\fe\7f?\a9\f9\7f?K\f2\7f?\1e\e8\7f?#\db\7f?Y\cb\7f?\c1\b8\7f?[\a3\7f?(\8b\7f?\'p\7f?ZR\7f?\bf1\7f?X\0e\7f?%\e8~?&\bf~?\\\93~?\c8d~?i3~?A\ff}?O\c8}?\96\8e}?\14R}?\cb\12}?\bc\d0|?\e7\8b|?MD|?\ef\f9{?\cd\ac{?\e9\\{?C\n{?\dd\b4z?\b6\\z?\d1\01z?.\a4y?\ceCy?\b2\e0x?\dczx?L\12x?\04\a7w?\049w?O\c8v?\e4Tv?\c6\deu?\f6eu?u\eat?Dlt?e\ebs?\dags?\a3\e1r?\c2Xr?9\cdq?\t?q?4\aep?\bb\1ap?\a0\84o?\e4\ebn?\8aPn?\93\b2m?\01\12m?\d5nl?\11\c9k?\b7 k?\c9uj?I\c8i?9\18i?\9beh?o\b0g?\ba\f8f?|>f?\b8\81e?o\c2d?\a4\00d?Z<c?\91ub?L\aca?\8e\e0`?Y\12`?\aeA_?\91n^?\03\99]?\08\c1\\?\a0\e6[?\cf\t[?\98*Z?\fbHY?\fddX?\9f~W?\e5\95V?\d0\aaU?c\bdT?\a1\cdS?\8c\dbR?\'\e7Q?u\f0P?y\f7O?4\fcN?\ab\feM?\df\feL?\d4\fcK?\8c\f8J?\n\f2I?R\e9H?e\deG?G\d1F?\fb\c1E?\84\b0D?\e5\9cC? \87B?:oA?4U@?\139??\d8\1a>?\88\fa<?&\d8;?\b4\b3:?6\8d9?\afd8?\":7?\93\0d6?\05\df4?|\ae3?\f9{2?\82G1?\19\110?\c2\d8.?\7f\9e-?Vb,?H$+?Z\e4)?\90\a2(?\eb^\'?q\19&?%\d2$?\t\89#?#>\"?u\f1 ?\04\a3\1f?\d2R\1e?\e4\00\1d?=\ad\1b?\e1W\1a?\d3\00\19?\19\a8\17?\b4M\16?\aa\f1\14?\fd\93\13?\b24\12?\cc\d3\10?Pq\0f?B\0d\0e?\a4\a7\0c?|@\0b?\cd\d7\t?\9am\08?\e9\01\07?\bd\94\05?\19&\04?\03\b6\02?~D\01?\1c\a3\ff>n\ba\fc>\fa\ce\f9>\ca\e0\f6>\e4\ef\f3>Q\fc\f0>\1a\06\ee>G\0d\eb>\e0\11\e8>\ed\13\e5>w\13\e2>\87\10\df>$\0b\dc>X\03\d9>*\f9\d5>\a4\ec\d2>\cd\dd\cf>\af\cc\cc>R\b9\c9>\bf\a3\c6>\fe\8b\c3>\18r\c0>\16V\bd>\008\ba>\e0\17\b7>\bd\f5\b3>\a1\d1\b0>\95\ab\ad>\a2\83\aa>\cfY\a7>\'.\a4>\b2\00\a1>y\d1\9d>\85\a0\9a>\dfm\97>\8f9\94>\a0\03\91>\1a\cc\8d>\05\93\8a>kX\87>V\1c\84>\cd\de\80>\b6?{>\10\bft>\bb;n>\c9\b5g>M-a>Y\a2Z>\ff\14T>Q\85M>c\f3F>F_@>\0d\c99>\ca03>\90\96,>r\fa%>\82\\\1f>\d2\bc\18>v\1b\12>\7fx\0b>\01\d4\04>\1d\\\fc=r\0d\ef=)\bc\e1=fh\d4=N\12\c7=\08\ba\b9=\b8_\ac=\84\03\9f=\92\a5\91=\07F\84=\12\cam=z\05S=\91>8=\a4u\1d=\fc\aa\02=\ca\bd\cf<V#\9a<a\0eI<\c5\a7\bb;=zV\ba\tF\f1\bb\12\ddc\bcP\8a\a7\bcA$\dd\bc\e3]\t\bd#($\bd\96\f0>\bd\f2\b6Y\bd\eazt\bd\1a\9e\87\bdB\fd\94\bd\c8Z\a2\bd\86\b6\af\bdW\10\bd\bd\16h\ca\bd\9b\bd\d7\bd\c3\10\e5\bdia\f2\bde\af\ff\bdJ}\06\beh!\0d\be\fa\c3\13\be\edd\1a\be.\04!\be\ac\a1\'\beS=.\be\10\d74\be\d2n;\be\86\04B\be\19\98H\bey)O\be\94\b8U\beVE\\\be\ae\cfb\be\89Wi\be\d6\dco\be\80_v\bex\df|\beT\ae\81\be\81\eb\84\be8\'\88\bera\8b\be$\9a\8e\beE\d1\91\be\cd\06\95\be\b3:\98\be\eel\9b\bet\9d\9e\be=\cc\a1\be@\f9\a4\bes$\a8\be\cfM\ab\beIu\ae\be\da\9a\b1\bex\be\b4\be\1b\e0\b7\be\ba\ff\ba\beK\1d\be\be\c78\c1\be%R\c4\be[i\c7\bea~\ca\be0\91\cd\be\bc\a1\d0\be\00\b0\d3\be\f1\bb\d6\be\87\c5\d9\be\ba\cc\dc\be\81\d1\df\be\d3\d3\e2\be\a9\d3\e5\be\fa\d0\e8\be\bd\cb\eb\be\ea\c3\ee\bex\b9\f1\be`\ac\f4\be\9a\9c\f7\be\1c\8a\fa\be\dft\fd\bem.\00\bf\03\a1\01\bf-\12\03\bf\e6\81\04\bf,\f0\05\bf\fa\\\07\bfL\c8\08\bf\1e2\n\bfl\9a\0b\bf2\01\0d\bflf\0e\bf\17\ca\0f\bf-,\11\bf\ac\8c\12\bf\90\eb\13\bf\d5H\15\bfv\a4\16\bfq\fe\17\bf\c0V\19\bfb\ad\1a\bfQ\02\1c\bf\8aU\1d\bf\t\a7\1e\bf\cb\f6\1f\bf\ccD!\bf\t\91\"\bf|\db#\bf$$%\bf\fdj&\bf\02\b0\'\bf0\f3(\bf\844*\bf\fas+\bf\8f\b1,\bf?\ed-\bf\07\'/\bf\e3^0\bf\d0\941\bf\ca\c82\bf\ce\fa3\bf\da*5\bf\e8X6\bf\f7\847\bf\02\af8\bf\07\d79\bf\03\fd:\bf\f1 <\bf\cfB=\bf\9ab>\bfO\80?\bf\e9\9b@\bfh\b5A\bf\c6\ccB\bf\01\e2C\bf\17\f5D\bf\03\06F\bf\c4\14G\bfV!H\bf\b6+I\bf\e13J\bf\d49K\bf\8d=L\bf\t?M\bfD>N\bf=;O\bf\f05P\bfZ.Q\bfy$R\bfJ\18S\bf\ca\tT\bf\f7\f8T\bf\ce\e5U\bfM\d0V\bfp\b8W\bf7\9eX\bf\9c\81Y\bf\a0bZ\bf>A[\bfu\1d\\\bfA\f7\\\bf\a2\ce]\bf\94\a3^\bf\14v_\bf\"F`\bf\ba\13a\bf\d9\dea\bf\7f\a7b\bf\a9mc\bfT1d\bf~\f2d\bf&\b1e\bfImf\bf\e5&g\bf\f8\ddg\bf\80\92h\bf{Di\bf\e8\f3i\bf\c3\a0j\bf\0cKk\bf\c0\f2k\bf\de\97l\bfd:m\bfP\dam\bf\a0wn\bfS\12o\bff\aao\bf\d9?p\bf\a9\d2p\bf\d5bq\bf[\f0q\bf:{r\bfq\03s\bf\fd\88s\bf\de\0bt\bf\11\8ct\bf\96\tu\bfk\84u\bf\8f\fcu\bf\00rv\bf\bd\e4v\bf\c6Tw\bf\18\c2w\bf\b2,x\bf\93\94x\bf\bb\f9x\bf(\\y\bf\d9\bby\bf\cd\18z\bf\02sz\bfy\caz\bf/\1f{\bf$q{\bfX\c0{\bf\c9\0c|\bfvV|\bf_\9d|\bf\82\e1|\bf\e0\"}\bfwa}\bfG\9d}\bfO\d6}\bf\8e\0c~\bf\04@~\bf\b0p~\bf\92\9e~\bf\a9\c9~\bf\f5\f1~\bfu\17\7f\bf):\7f\bf\10Z\7f\bf+w\7f\bfx\91\7f\bf\f8\a8\7f\bf\aa\bd\7f\bf\8f\cf\7f\bf\a5\de\7f\bf\ed\ea\7f\bff\f4\7f\bf\11\fb\7f\bf\ed\fe\7f\bf\ea\ff\7f?\e5\f8\7f?\a6\e6\7f?-\c9\7f?|\a0\7f?\95l\7f?y-\7f?,\e3~?\b1\8d~?\0b-~??\c1}?RJ}?H\c8|?(;|?\f7\a2{?\bd\ffz?\80Qz?H\98y?\1e\d4x?\t\05x?\13+w?FFv?\acVu?N\\t?8Ws?vGr?\13-q?\1c\08p?\9e\d8n?\a5\9em?@Zl?~\0bk?k\b2i?\19Oh?\96\e1f?\f2ie?>\e8c?\8b\\b?\ea\c6`?m\'_?&~]?(\cb[?\85\0eZ?SHX?\a3xV?\8b\9fT? \bdR?v\d1P?\a3\dcN?\bd\deL?\db\d7J?\13\c8H?|\afF?.\8eD?AdB?\ce1@?\ec\f6=?\b4\b3;?Bh9?\ad\147?\10\b94?\86U2?)\ea/?\15w-?e\fc*?5z(?\a1\f0%?\c6_#?\c0\c7 ?\ac(\1e?\a9\82\1b?\d4\d5\18?J\"\16?*h\13?\93\a7\10?\a4\e0\0d?{\13\0b?9@\08?\fdf\05?\e7\87\02?-F\ff>[q\f9>\97\91\f3>$\a7\ed>E\b2\e7><\b3\e1>L\aa\db>\ba\97\d5>\c9{\cf>\beV\c9>\df(\c3>p\f2\bc>\b7\b3\b6>\fbl\b0>\81\1e\aa>\92\c8\a3>sk\9d>l\07\97>\c5\9c\90>\c7+\8a>\b9\b4\83>\c7oz>!km>\11\\`>)CS>\fd F> \f68>&\c3+>\a4\88\1e>-G\11>W\ff\03>nc\ed=\c2\bd\d2=\da\0e\b8=\deW\9d=\fb\99\82=\bc\acO=e\1c\1a=\99\n\c9<*\a7;<\c1x\d6\ba-Dq\bcW\d7\e3\bcL\81\'\bd\94\0f]\bd\15J\89\bdZ\06\a4\bdm\bb\be\bd\"h\d9\bdN\0b\f4\bd\e3Q\07\be/\98\14\be\f7\d7!\be\a5\10/\be\a6A<\bedjI\beM\8aV\be\cd\a0c\beP\adp\beE\af}\be\0dS\85\be\9e\c8\8b\be\0d8\92\be\12\a1\98\bef\03\9f\be\bf^\a5\be\d8\b2\ab\bei\ff\b1\be+D\b8\be\d8\80\be\be*\b5\c4\be\db\e0\ca\be\a5\03\d1\beE\1d\d7\beu-\dd\be\f13\e3\bev0\e9\be\c0\"\ef\be\8d\n\f5\be\9b\e7\fa\be\d3\\\00\bf8@\03\bf\db\1d\06\bf\9b\f5\08\bfZ\c7\0b\bf\f7\92\0e\bfTX\11\bfP\17\14\bf\cd\cf\16\bf\ac\81\19\bf\d0,\1c\bf\1a\d1\1e\bfmn!\bf\ab\04$\bf\b7\93&\bft\1b)\bf\c7\9b+\bf\93\14.\bf\bb\850\bf&\ef2\bf\b7P5\bfU\aa7\bf\e3\fb9\bfJE<\bfn\86>\bf7\bf@\bf\8b\efB\bfS\17E\bfu6G\bf\daLI\bfkZK\bf\10_M\bf\b3ZO\bf>MQ\bf\9a6S\bf\b3\16U\bfr\edV\bf\c5\baX\bf\95~Z\bf\d08\\\bfb\e9]\bf8\90_\bf@-a\bfg\c0b\bf\9cId\bf\ce\c8e\bf\eb=g\bf\e3\a8h\bf\a7\tj\bf\'`k\bfT\acl\bf\1f\eem\bfz%o\bfXRp\bf\abtq\bfg\8cr\bf\7f\99s\bf\e7\9bt\bf\95\93u\bf~\80v\bf\96bw\bf\d49x\bf/\06y\bf\9e\c7y\bf\17~z\bf\94){\bf\0d\ca{\bfz_|\bf\d5\e9|\bf\18i}\bf>\dd}\bf@F~\bf\1c\a4~\bf\cc\f6~\bfM>\7f\bf\9cz\7f\bf\b6\ab\7f\bf\99\d1\7f\bfC\ec\7f\bf\b4\fb\7f\bf\a6\ff\7f?\94\e3\7f?\9c\9a\7f?\cc$\7f?8\82~?\fd\b2}??\b7|?*\8f{?\f3:z?\d4\bax?\11\0fw?\f67u?\d55s?\08\tq?\f1\b1n?\f90l?\90\86i?/\b3f?S\b7c?\84\93`?NH]?E\d6Y?\03>V?+\80R?e\9dN?^\96J?\cckF?j\1eB?\f9\ae=?@\1e9?\0dm4?2\9c/?\87\ac*?\eb\9e%??t ?m-\1b?a\cb\15?\0dO\10?h\b9\n?k\0b\05?.\8c\fe>\dd\d4\f2>\f1\f2\e6>\7f\e8\da>\a6\b7\ce>\88b\c2>N\eb\b5>*T\a9>Q\9f\9c>\fd\ce\8f>m\e5\82>\ce\c9k>b\9fQ>0P7>\d3\e0\1c>\f1U\02>bh\cf=|\00\9a=$\fbH=\1b\a4\bb<\f3wV\bbd=\f1\bc\bb\c0c\bdg]\a7\bd\14\bd\dc\bd\03\fb\08\bes\7f#\be4\e7=\be\a4-X\be&Nr\be\12\"\86\be\89\05\93\be4\cf\9f\be\d5|\ac\be3\0c\b9\be\1a{\c5\be[\c7\d1\be\cd\ee\dd\beP\ef\e9\be\c7\c6\f5\be\90\b9\00\bf&y\06\bf$!\0c\bf\8d\b0\11\bff&\17\bf\ba\81\1c\bf\98\c1!\bf\15\e5&\bfJ\eb+\bfV\d30\bf[\9c5\bf\83E:\bf\fd\cd>\bf\fc4C\bf\bcyG\bf}\9bK\bf\84\99O\bf\1fsS\bf\a1\'W\bfc\b6Z\bf\c6\1e^\bf0`a\bf\0fzd\bf\d8kg\bf\075j\bf\1f\d5l\bf\a9Ko\bf7\98q\bfb\bas\bf\c9\b1u\bf\16~w\bf\f6\1ey\bf!\94z\bfU\dd{\bfY\fa|\bf\fa\ea}\bf\0e\af~\bftF\7f\bf\0f\b1\7f\bf\ce\ee\7f\bf\00\00\80?\00\00\00\80c\fa\7f?\bfuV\bc\8b\e9\7f?\nq\d6\bcy\cd\7f?\e7\ce \bd/\a6\7f?:^V\bd\afs\7f?\13\f2\85\bd\f95\7f?*\af\a0\bd\12\ed~?3e\bb\bd\fd\98~?\04\13\d6\bd\bc9~?s\b7\f0\bdU\cf}?\a8\a8\05\be\cbY}?\bb\ef\12\be%\d9|?\\0 \begM|?\f5i-\be\98\b6{?\f3\9b:\be\be\14{?\c2\c5G\be\e2gz?\cd\e6T\be\t\b0y?\82\fea\be<\edx?M\0co\be\84\1fx?\9c\0f|\be\eaFw?\ee\83\84\bewcv?>\fa\8a\be6uu?uj\91\be0|t?L\d4\97\beqxs?z7\9e\be\03jr?\b7\93\a4\be\f4Pq?\bc\e8\aa\beO-p?A6\b1\be!\ffn?\01|\b7\bev\c6m?\b4\b9\bd\be^\83l?\15\ef\c3\be\e75k?\de\1b\ca\be\1e\dei?\c9?\d0\be\12|h?\92Z\d6\be\d4\0fg?\f3k\dc\bet\99e?\aas\e2\be\01\19d?qq\e8\be\8d\8eb?\07e\ee\be(\fa`?\'N\f4\be\e6[_?\90,\fa\be\d7\b3]?\00\00\00\bf\0f\02\\?\1b\e4\02\bf\a0FZ?w\c2\05\bf\9e\81X?\f6\9a\08\bf\1d\b3V?wm\0b\bf1\dbT?\da9\0e\bf\ef\f9R?\00\00\11\bfl\0fQ?\ca\bf\13\bf\bd\1bO?\18y\16\bf\f8\1eM?\cd+\19\bf4\19K?\ca\d7\1b\bf\88\nI?\f1|\1e\bf\n\f3F?$\1b!\bf\d1\d2D?F\b2#\bf\f7\a9B?:B&\bf\93x@?\e3\ca(\bf\bd>>?%L+\bf\8f\fc;?\e3\c5-\bf\"\b29?\0180\bf\90_7?e\a22\bf\f3\045?\f3\045\bfe\a22?\90_7\bf\0180?\"\b29\bf\e3\c5-?\8f\fc;\bf%L+?\bd>>\bf\e3\ca(?\93x@\bf:B&?\f7\a9B\bfF\b2#?\d1\d2D\bf$\1b!?\n\f3F\bf\f1|\1e?\88\nI\bf\ca\d7\1b?4\19K\bf\cd+\19?\f8\1eM\bf\18y\16?\bd\1bO\bf\ca\bf\13?l\0fQ\bf\00\00\11?\ef\f9R\bf\da9\0e?1\dbT\bfwm\0b?\1d\b3V\bf\f6\9a\08?\9e\81X\bfw\c2\05?\a0FZ\bf\1b\e4\02?\0f\02\\\bf\00\00\00?\d7\b3]\bf\90,\fa>\e6[_\bf\'N\f4>(\fa`\bf\07e\ee>\8d\8eb\bfqq\e8>\01\19d\bf\aas\e2>t\99e\bf\f3k\dc>\d4\0fg\bf\92Z\d6>\12|h\bf\c9?\d0>\1e\dei\bf\de\1b\ca>\e75k\bf\15\ef\c3>^\83l\bf\b4\b9\bd>v\c6m\bf\01|\b7>!\ffn\bfA6\b1>O-p\bf\bc\e8\aa>\f4Pq\bf\b7\93\a4>\03jr\bfz7\9e>qxs\bfL\d4\97>0|t\bfuj\91>6uu\bf>\fa\8a>wcv\bf\ee\83\84>\eaFw\bf\9c\0f|>\84\1fx\bfM\0co><\edx\bf\82\fea>\t\b0y\bf\cd\e6T>\e2gz\bf\c2\c5G>\be\14{\bf\f3\9b:>\98\b6{\bf\f5i->gM|\bf\\0 >%\d9|\bf\bb\ef\12>\cbY}\bf\a8\a8\05>U\cf}\bfs\b7\f0=\bc9~\bf\04\13\d6=\fd\98~\bf3e\bb=\12\ed~\bf*\af\a0=\f95\7f\bf\13\f2\85=\afs\7f\bf:^V=/\a6\7f\bf\e7\ce =y\cd\7f\bf\nq\d6<\8b\e9\7f\bf\bfuV<c\fa\7f\bf\000\8d$\00\00\80\bf\bfuV\bcc\fa\7f\bf\nq\d6\bc\8b\e9\7f\bf\e7\ce \bdy\cd\7f\bf:^V\bd/\a6\7f\bf\13\f2\85\bd\afs\7f\bf*\af\a0\bd\f95\7f\bf3e\bb\bd\12\ed~\bf\04\13\d6\bd\fd\98~\bfs\b7\f0\bd\bc9~\bf\a8\a8\05\beU\cf}\bf\bb\ef\12\be\cbY}\bf\\0 \be%\d9|\bf\f5i-\begM|\bf\f3\9b:\be\98\b6{\bf\c2\c5G\be\be\14{\bf\cd\e6T\be\e2gz\bf\82\fea\be\t\b0y\bfM\0co\be<\edx\bf\9c\0f|\be\84\1fx\bf\ee\83\84\be\eaFw\bf>\fa\8a\bewcv\bfuj\91\be6uu\bfL\d4\97\be0|t\bfz7\9e\beqxs\bf\b7\93\a4\be\03jr\bf\bc\e8\aa\be\f4Pq\bfA6\b1\beO-p\bf\01|\b7\be!\ffn\bf\b4\b9\bd\bev\c6m\bf\15\ef\c3\be^\83l\bf\de\1b\ca\be\e75k\bf\c9?\d0\be\1e\dei\bf\92Z\d6\be\12|h\bf\f3k\dc\be\d4\0fg\bf\aas\e2\bet\99e\bfqq\e8\be\01\19d\bf\07e\ee\be\8d\8eb\bf\'N\f4\be(\fa`\bf\90,\fa\be\e6[_\bf\00\00\00\bf\d7\b3]\bf\1b\e4\02\bf\0f\02\\\bfw\c2\05\bf\a0FZ\bf\f6\9a\08\bf\9e\81X\bfwm\0b\bf\1d\b3V\bf\da9\0e\bf1\dbT\bf\00\00\11\bf\ef\f9R\bf\ca\bf\13\bfl\0fQ\bf\18y\16\bf\bd\1bO\bf\cd+\19\bf\f8\1eM\bf\ca\d7\1b\bf4\19K\bf\f1|\1e\bf\88\nI\bf$\1b!\bf\n\f3F\bfF\b2#\bf\d1\d2D\bf:B&\bf\f7\a9B\bf\e3\ca(\bf\93x@\bf%L+\bf\bd>>\bf\e3\c5-\bf\8f\fc;\bf\0180\bf\"\b29\bfe\a22\bf\90_7\bf\f3\045\bf\f3\045\bf\90_7\bfe\a22\bf\"\b29\bf\0180\bf\8f\fc;\bf\e3\c5-\bf\bd>>\bf%L+\bf\93x@\bf\e3\ca(\bf\f7\a9B\bf:B&\bf\d1\d2D\bfF\b2#\bf\n\f3F\bf$\1b!\bf\88\nI\bf\f1|\1e\bf4\19K\bf\ca\d7\1b\bf\f8\1eM\bf\cd+\19\bf\bd\1bO\bf\18y\16\bfl\0fQ\bf\ca\bf\13\bf\ef\f9R\bf\00\00\11\bf1\dbT\bf\da9\0e\bf\1d\b3V\bfwm\0b\bf\9e\81X\bf\f6\9a\08\bf\a0FZ\bfw\c2\05\bf\0f\02\\\bf\1b\e4\02\bf\d7\b3]\bf\00\00\00\bf\e6[_\bf\90,\fa\be(\fa`\bf\'N\f4\be\8d\8eb\bf\07e\ee\be\01\19d\bfqq\e8\bet\99e\bf\aas\e2\be\d4\0fg\bf\f3k\dc\be\12|h\bf\92Z\d6\be\1e\dei\bf\c9?\d0\be\e75k\bf\de\1b\ca\be^\83l\bf\15\ef\c3\bev\c6m\bf\b4\b9\bd\be!\ffn\bf\01|\b7\beO-p\bfA6\b1\be\f4Pq\bf\bc\e8\aa\be\03jr\bf\b7\93\a4\beqxs\bfz7\9e\be0|t\bfL\d4\97\be6uu\bfuj\91\bewcv\bf>\fa\8a\be\eaFw\bf\ee\83\84\be\84\1fx\bf\9c\0f|\be<\edx\bfM\0co\be\t\b0y\bf\82\fea\be\e2gz\bf\cd\e6T\be\be\14{\bf\c2\c5G\be\98\b6{\bf\f3\9b:\begM|\bf\f5i-\be%\d9|\bf\\0 \be\cbY}\bf\bb\ef\12\beU\cf}\bf\a8\a8\05\be\bc9~\bfs\b7\f0\bd\fd\98~\bf\04\13\d6\bd\12\ed~\bf3e\bb\bd\f95\7f\bf*\af\a0\bd\afs\7f\bf\13\f2\85\bd/\a6\7f\bf:^V\bdy\cd\7f\bf\e7\ce \bd\8b\e9\7f\bf\nq\d6\bcc\fa\7f\bf\bfuV\bc\00\00\80\bf\000\0d\a5c\fa\7f\bf\bfuV<\8b\e9\7f\bf\nq\d6<y\cd\7f\bf\e7\ce =/\a6\7f\bf:^V=\afs\7f\bf\13\f2\85=\f95\7f\bf*\af\a0=\12\ed~\bf3e\bb=\fd\98~\bf\04\13\d6=\bc9~\bfs\b7\f0=U\cf}\bf\a8\a8\05>\cbY}\bf\bb\ef\12>%\d9|\bf\\0 >gM|\bf\f5i->\98\b6{\bf\f3\9b:>\be\14{\bf\c2\c5G>\e2gz\bf\cd\e6T>\t\b0y\bf\82\fea><\edx\bfM\0co>\84\1fx\bf\9c\0f|>\eaFw\bf\ee\83\84>wcv\bf>\fa\8a>6uu\bfuj\91>0|t\bfL\d4\97>qxs\bfz7\9e>\03jr\bf\b7\93\a4>\f4Pq\bf\bc\e8\aa>O-p\bfA6\b1>!\ffn\bf\01|\b7>v\c6m\bf\b4\b9\bd>^\83l\bf\15\ef\c3>\e75k\bf\de\1b\ca>\1e\dei\bf\c9?\d0>\12|h\bf\92Z\d6>\d4\0fg\bf\f3k\dc>t\99e\bf\aas\e2>\01\19d\bfqq\e8>\8d\8eb\bf\07e\ee>(\fa`\bf\'N\f4>\e6[_\bf\90,\fa>\d7\b3]\bf\00\00\00?\0f\02\\\bf\1b\e4\02?\a0FZ\bfw\c2\05?\9e\81X\bf\f6\9a\08?\1d\b3V\bfwm\0b?1\dbT\bf\da9\0e?\ef\f9R\bf\00\00\11?l\0fQ\bf\ca\bf\13?\bd\1bO\bf\18y\16?\f8\1eM\bf\cd+\19?4\19K\bf\ca\d7\1b?\88\nI\bf\f1|\1e?\n\f3F\bf$\1b!?\d1\d2D\bfF\b2#?\f7\a9B\bf:B&?\93x@\bf\e3\ca(?\bd>>\bf%L+?\8f\fc;\bf\e3\c5-?\"\b29\bf\0180?\90_7\bfe\a22?\f3\045\bf\f3\045?e\a22\bf\90_7?\0180\bf\"\b29?\e3\c5-\bf\8f\fc;?%L+\bf\bd>>?\e3\ca(\bf\93x@?:B&\bf\f7\a9B?F\b2#\bf\d1\d2D?$\1b!\bf\n\f3F?\f1|\1e\bf\88\nI?\ca\d7\1b\bf4\19K?\cd+\19\bf\f8\1eM?\18y\16\bf\bd\1bO?\ca\bf\13\bfl\0fQ?\00\00\11\bf\ef\f9R?\da9\0e\bf1\dbT?wm\0b\bf\1d\b3V?\f6\9a\08\bf\9e\81X?w\c2\05\bf\a0FZ?\1b\e4\02\bf\0f\02\\?\00\00\00\bf\d7\b3]?\90,\fa\be\e6[_?\'N\f4\be(\fa`?\07e\ee\be\8d\8eb?qq\e8\be\01\19d?\aas\e2\bet\99e?\f3k\dc\be\d4\0fg?\92Z\d6\be\12|h?\c9?\d0\be\1e\dei?\de\1b\ca\be\e75k?\15\ef\c3\be^\83l?\b4\b9\bd\bev\c6m?\01|\b7\be!\ffn?A6\b1\beO-p?\bc\e8\aa\be\f4Pq?\b7\93\a4\be\03jr?z7\9e\beqxs?L\d4\97\be0|t?uj\91\be6uu?>\fa\8a\bewcv?\ee\83\84\be\eaFw?\9c\0f|\be\84\1fx?M\0co\be<\edx?\82\fea\be\t\b0y?\cd\e6T\be\e2gz?\c2\c5G\be\be\14{?\f3\9b:\be\98\b6{?\f5i-\begM|?\\0 \be%\d9|?\bb\ef\12\be\cbY}?\a8\a8\05\beU\cf}?s\b7\f0\bd\bc9~?\04\13\d6\bd\fd\98~?3e\bb\bd\12\ed~?*\af\a0\bd\f95\7f?\13\f2\85\bd\afs\7f?:^V\bd/\a6\7f?\e7\ce \bdy\cd\7f?\nq\d6\bc\8b\e9\7f?\bfuV\bcc\fa\7f?\00\c8S\a5\00\00\80?\bfuV<c\fa\7f?\nq\d6<\8b\e9\7f?\e7\ce =y\cd\7f?:^V=/\a6\7f?\13\f2\85=\afs\7f?*\af\a0=\f95\7f?3e\bb=\12\ed~?\04\13\d6=\fd\98~?s\b7\f0=\bc9~?\a8\a8\05>U\cf}?\bb\ef\12>\cbY}?\\0 >%\d9|?\f5i->gM|?\f3\9b:>\98\b6{?\c2\c5G>\be\14{?\cd\e6T>\e2gz?\82\fea>\t\b0y?M\0co><\edx?\9c\0f|>\84\1fx?\ee\83\84>\eaFw?>\fa\8a>wcv?uj\91>6uu?L\d4\97>0|t?z7\9e>qxs?\b7\93\a4>\03jr?\bc\e8\aa>\f4Pq?A6\b1>O-p?\01|\b7>!\ffn?\b4\b9\bd>v\c6m?\15\ef\c3>^\83l?\de\1b\ca>\e75k?\c9?\d0>\1e\dei?\92Z\d6>\12|h?\f3k\dc>\d4\0fg?\aas\e2>t\99e?qq\e8>\01\19d?\07e\ee>\8d\8eb?\'N\f4>(\fa`?\90,\fa>\e6[_?\00\00\00?\d7\b3]?\1b\e4\02?\0f\02\\?w\c2\05?\a0FZ?\f6\9a\08?\9e\81X?wm\0b?\1d\b3V?\da9\0e?1\dbT?\00\00\11?\ef\f9R?\ca\bf\13?l\0fQ?\18y\16?\bd\1bO?\cd+\19?\f8\1eM?\ca\d7\1b?4\19K?\f1|\1e?\88\nI?$\1b!?\n\f3F?F\b2#?\d1\d2D?:B&?\f7\a9B?\e3\ca(?\93x@?%L+?\bd>>?\e3\c5-?\8f\fc;?\0180?\"\b29?e\a22?\90_7?\f3\045?\f3\045?\90_7?e\a22?\"\b29?\0180?\8f\fc;?\e3\c5-?\bd>>?%L+?\93x@?\e3\ca(?\f7\a9B?:B&?\d1\d2D?F\b2#?\n\f3F?$\1b!?\88\nI?\f1|\1e?4\19K?\ca\d7\1b?\f8\1eM?\cd+\19?\bd\1bO?\18y\16?l\0fQ?\ca\bf\13?\ef\f9R?\00\00\11?1\dbT?\da9\0e?\1d\b3V?wm\0b?\9e\81X?\f6\9a\08?\a0FZ?w\c2\05?\0f\02\\?\1b\e4\02?\d7\b3]?\00\00\00?\e6[_?\90,\fa>(\fa`?\'N\f4>\8d\8eb?\07e\ee>\01\19d?qq\e8>t\99e?\aas\e2>\d4\0fg?\f3k\dc>\12|h?\92Z\d6>\1e\dei?\c9?\d0>\e75k?\de\1b\ca>^\83l?\15\ef\c3>v\c6m?\b4\b9\bd>!\ffn?\01|\b7>O-p?A6\b1>\f4Pq?\bc\e8\aa>\03jr?\b7\93\a4>qxs?z7\9e>0|t?L\d4\97>6uu?uj\91>wcv?>\fa\8a>\eaFw?\ee\83\84>\84\1fx?\9c\0f|><\edx?M\0co>\t\b0y?\82\fea>\e2gz?\cd\e6T>\be\14{?\c2\c5G>\98\b6{?\f3\9b:>gM|?\f5i->%\d9|?\\0 >\cbY}?\bb\ef\12>U\cf}?\a8\a8\05>\bc9~?s\b7\f0=\fd\98~?\04\13\d6=\12\ed~?3e\bb=\f95\7f?*\af\a0=\afs\7f?\13\f2\85=/\a6\7f?:^V=y\cd\7f?\e7\ce =\8b\e9\7f?\nq\d6<c\fa\7f?\bfuV<\00\00\ce@\00\00\c8@\00\00\b8@\00\00\aa@\00\00\a2@\00\00\9a@\00\00\90@\00\00\8c@\00\00\9c@\00\00\96@\00\00\92@\00\00\8e@\00\00\9c@\00\00\94@\00\00\8a@\00\00\90@\00\00\8c@\00\00\94@\00\00\98@\00\00\8e@\00\00p@\00\00p@\00\00p@\00\00p@\00\00p@\00\00f?\00\00L?\00\00&?\00\00\00?\00\86k?\00\14.?\00p\bd>\00\d0L>\0f\00\00\00\n\00\00\00\05\00\00\00\06\00\00\00\04\00\00\00\03\00\00\00\a6f\00\00\aef\00\00\bef\00\00\def\00\00\06g\00\00Vg\00\00 \00\n\00\14.d\01\f6g\00\00PX\00\006i\00\00vi\00\00\88i\00\00(j\00\00pj\00\00\d0Z\00\00 \00\10\00f&\ab\01\b8j\00\00\e6Z\00\00\b8l\00\00\f8l\00\00\16m\00\00\16n\00\00^n\00\00\e6^\00\00\c1n\00\00\c4n\00\00\08\00\00\00\04\00\00\00\e1zT?\f6(\\?\dcN\00\00\10\00\00\00\04\00\00\00\9a\99Y?\aeGa?\dcN\00\00 \00\00\00\04\00\00\00\c1\caa?\c3\f5h?\dcN\00\000\00\00\00\08\00\00\00\b8\1ee?\83\c0j?\e4N\00\00@\00\00\00\08\00\00\00\a8\c6k?\d7\a3p?\e4N\00\00P\00\00\00\10\00\00\001\08l?\d7\a3p?\ecN\00\00`\00\00\00\10\00\00\00\d7\a3p?\85\ebq?\ecN\00\00\80\00\00\00\10\00\00\0033s?33s?\ecN\00\00\a0\00\00\00\10\00\00\00\8f\c2u?\8f\c2u?\ecN\00\00\c0\00\00\00 \00\00\00\d9\cew?\d9\cew?\f4N\00\00\00\01\00\00 \00\00\00\9a\99y?\9a\99y?\f4N\00\00`\08\00\00 \00\00\00@\07\00\00 \00\00\00 \06\00\00 \00\00\00\00\04\00\00@\00\00\00\83\f9\a2\00DNn\00\fc)\15\00\d1W\'\00\dd4\f5\00b\db\c0\00<\99\95\00A\90C\00cQ\fe\00\bb\de\ab\00\b7a\c5\00:n$\00\d2MB\00I\06\e0\00\t\ea.\00\1c\92\d1\00\eb\1d\fe\00)\b1\1c\00\e8>\a7\00\f55\82\00D\bb.\00\9c\e9\84\00\b4&p\00A~_\00\d6\919\00S\839\00\9c\f49\00\8b_\84\00(\f9\bd\00\f8\1f;\00\de\ff\97\00\0f\98\05\00\11/\ef\00\nZ\8b\00m\1fm\00\cf~6\00\t\cb\'\00FO\b7\00\9ef?\00-\ea_\00\ba\'u\00\e5\eb\c7\00={\f1\00\f79\07\00\92R\8a\00\fbk\ea\00\1f\b1_\00\08]\8d\000\03V\00{\fcF\00\f0\abk\00 \bc\cf\006\f4\9a\00\e3\a9\1d\00^a\91\00\08\1b\e6\00\85\99e\00\a0\14_\00\8d@h\00\80\d8\ff\00\'sM\00\06\061\00\caV\15\00\c9\a8s\00{\e2`\00k\8c\c0\00\00@\caE\1bL\ffR\82Z\b3b\a2k`u\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\n\00\0c\00\0e\00\10\00\14\00\18\00\1c\00\"\00(\000\00<\00N\00d")
(data (i32.const 20560) "\08\00\08\00\08\00\08\00\10\00\10\00\10\00\15\00\15\00\18\00\1d\00\"\00$\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff")
(data (i32.const 20610) ")\00)\00)\00R\00R\00{\00\a4\00\c8\00\de")
(data (i32.const 20644) ")\00)\00)\00)\00{\00{\00{\00\a4\00\a4\00\f0\00\n\01\1b\01\'\01)\00)\00)\00)\00)\00)\00)\00)\00{\00{\00{\00{\00\f0\00\f0\00\f0\00\n\01\n\011\01>\01H\01P\01{\00{\00{\00{\00{\00{\00{\00{\00\f0\00\f0\00\f0\00\f0\001\011\011\01>\01>\01W\01_\01f\01l\01\f0\00\f0\00\f0\00\f0\00\f0\00\f0\00\f0\00\f0\001\011\011\011\01W\01W\01W\01_\01_\01r\01x\01~\01\83\01\00\00\0c\00\18\00$\000\00\04\00\10\00\1c\00(\004\00\08\00\14\00 \00,\008\00\01\00\0d\00\19\00%\001\00\05\00\11\00\1d\00)\005\00\t\00\15\00!\00-\009\00\02\00\0e\00\1a\00&\002\00\06\00\12\00\1e\00*\006\00\n\00\16\00\"\00.\00:\00\03\00\0f\00\1b\00\'\003\00\07\00\13\00\1f\00+\007\00\0b\00\17\00#\00/\00;\00\00\00\18\000\00H\00`\00\08\00 \008\00P\00h\00\10\00(\00@\00X\00p\00\04\00\1c\004\00L\00d\00\0c\00$\00<\00T\00l\00\14\00,\00D\00\\\00t\00\01\00\19\001\00I\00a\00\t\00!\009\00Q\00i\00\11\00)\00A\00Y\00q\00\05\00\1d\005\00M\00e\00\0d\00%\00=\00U\00m\00\15\00-\00E\00]\00u\00\02\00\1a\002\00J\00b\00\n\00\"\00:\00R\00j\00\12\00*\00B\00Z\00r\00\06\00\1e\006\00N\00f\00\0e\00&\00>\00V\00n\00\16\00.\00F\00^\00v\00\03\00\1b\003\00K\00c\00\0b\00#\00;\00S\00k\00\13\00+\00C\00[\00s\00\07\00\1f\007\00O\00g\00\0f\00\'\00?\00W\00o\00\17\00/\00G\00_\00w\00\00\000\00`\00\90\00\c0\00\10\00@\00p\00\a0\00\d0\00 \00P\00\80\00\b0\00\e0\00\04\004\00d\00\94\00\c4\00\14\00D\00t\00\a4\00\d4\00$\00T\00\84\00\b4\00\e4\00\08\008\00h\00\98\00\c8\00\18\00H\00x\00\a8\00\d8\00(\00X\00\88\00\b8\00\e8\00\0c\00<\00l\00\9c\00\cc\00\1c\00L\00|\00\ac\00\dc\00,\00\\\00\8c\00\bc\00\ec\00\01\001\00a\00\91\00\c1\00\11\00A\00q\00\a1\00\d1\00!\00Q\00\81\00\b1\00\e1\00\05\005\00e\00\95\00\c5\00\15\00E\00u\00\a5\00\d5\00%\00U\00\85\00\b5\00\e5\00\t\009\00i\00\99\00\c9\00\19\00I\00y\00\a9\00\d9\00)\00Y\00\89\00\b9\00\e9\00\0d\00=\00m\00\9d\00\cd\00\1d\00M\00}\00\ad\00\dd\00-\00]\00\8d\00\bd\00\ed\00\02\002\00b\00\92\00\c2\00\12\00B\00r\00\a2\00\d2\00\"\00R\00\82\00\b2\00\e2\00\06\006\00f\00\96\00\c6\00\16\00F\00v\00\a6\00\d6\00&\00V\00\86\00\b6\00\e6\00\n\00:\00j\00\9a\00\ca\00\1a\00J\00z\00\aa\00\da\00*\00Z\00\8a\00\ba\00\ea\00\0e\00>\00n\00\9e\00\ce\00\1e\00N\00~\00\ae\00\de\00.\00^\00\8e\00\be\00\ee\00\03\003\00c\00\93\00\c3\00\13\00C\00s\00\a3\00\d3\00#\00S\00\83\00\b3\00\e3\00\07\007\00g\00\97\00\c7\00\17\00G\00w\00\a7\00\d7\00\'\00W\00\87\00\b7\00\e7\00\0b\00;\00k\00\9b\00\cb\00\1b\00K\00{\00\ab\00\db\00+\00[\00\8b\00\bb\00\eb\00\0f\00?\00o\00\9f\00\cf\00\1f\00O\00\7f\00\af\00\df\00/\00_\00\8f\00\bf\00\ef\00\00\00`\00\c0\00 \01\80\01 \00\80\00\e0\00@\01\a0\01@\00\a0\00\00\01`\01\c0\01\08\00h\00\c8\00(\01\88\01(\00\88\00\e8\00H\01\a8\01H\00\a8\00\08\01h\01\c8\01\10\00p\00\d0\000\01\90\010\00\90\00\f0\00P\01\b0\01P\00\b0\00\10\01p\01\d0\01\18\00x\00\d8\008\01\98\018\00\98\00\f8\00X\01\b8\01X\00\b8\00\18\01x\01\d8\01\04\00d\00\c4\00$\01\84\01$\00\84\00\e4\00D\01\a4\01D\00\a4\00\04\01d\01\c4\01\0c\00l\00\cc\00,\01\8c\01,\00\8c\00\ec\00L\01\ac\01L\00\ac\00\0c\01l\01\cc\01\14\00t\00\d4\004\01\94\014\00\94\00\f4\00T\01\b4\01T\00\b4\00\14\01t\01\d4\01\1c\00|\00\dc\00<\01\9c\01<\00\9c\00\fc\00\\\01\bc\01\\\00\bc\00\1c\01|\01\dc\01\01\00a\00\c1\00!\01\81\01!\00\81\00\e1\00A\01\a1\01A\00\a1\00\01\01a\01\c1\01\t\00i\00\c9\00)\01\89\01)\00\89\00\e9\00I\01\a9\01I\00\a9\00\t\01i\01\c9\01\11\00q\00\d1\001\01\91\011\00\91\00\f1\00Q\01\b1\01Q\00\b1\00\11\01q\01\d1\01\19\00y\00\d9\009\01\99\019\00\99\00\f9\00Y\01\b9\01Y\00\b9\00\19\01y\01\d9\01\05\00e\00\c5\00%\01\85\01%\00\85\00\e5\00E\01\a5\01E\00\a5\00\05\01e\01\c5\01\0d\00m\00\cd\00-\01\8d\01-\00\8d\00\ed\00M\01\ad\01M\00\ad\00\0d\01m\01\cd\01\15\00u\00\d5\005\01\95\015\00\95\00\f5\00U\01\b5\01U\00\b5\00\15\01u\01\d5\01\1d\00}\00\dd\00=\01\9d\01=\00\9d\00\fd\00]\01\bd\01]\00\bd\00\1d\01}\01\dd\01\02\00b\00\c2\00\"\01\82\01\"\00\82\00\e2\00B\01\a2\01B\00\a2\00\02\01b\01\c2\01\n\00j\00\ca\00*\01\8a\01*\00\8a\00\ea\00J\01\aa\01J\00\aa\00\n\01j\01\ca\01\12\00r\00\d2\002\01\92\012\00\92\00\f2\00R\01\b2\01R\00\b2\00\12\01r\01\d2\01\1a\00z\00\da\00:\01\9a\01:\00\9a\00\fa\00Z\01\ba\01Z\00\ba\00\1a\01z\01\da\01\06\00f\00\c6\00&\01\86\01&\00\86\00\e6\00F\01\a6\01F\00\a6\00\06\01f\01\c6\01\0e\00n\00\ce\00.\01\8e\01.\00\8e\00\ee\00N\01\ae\01N\00\ae\00\0e\01n\01\ce\01\16\00v\00\d6\006\01\96\016\00\96\00\f6\00V\01\b6\01V\00\b6\00\16\01v\01\d6\01\1e\00~\00\de\00>\01\9e\01>\00\9e\00\fe\00^\01\be\01^\00\be\00\1e\01~\01\de\01\03\00c\00\c3\00#\01\83\01#\00\83\00\e3\00C\01\a3\01C\00\a3\00\03\01c\01\c3\01\0b\00k\00\cb\00+\01\8b\01+\00\8b\00\eb\00K\01\ab\01K\00\ab\00\0b\01k\01\cb\01\13\00s\00\d3\003\01\93\013\00\93\00\f3\00S\01\b3\01S\00\b3\00\13\01s\01\d3\01\1b\00{\00\db\00;\01\9b\01;\00\9b\00\fb\00[\01\bb\01[\00\bb\00\1b\01{\01\db\01\07\00g\00\c7\00\'\01\87\01\'\00\87\00\e7\00G\01\a7\01G\00\a7\00\07\01g\01\c7\01\0f\00o\00\cf\00/\01\8f\01/\00\8f\00\ef\00O\01\af\01O\00\af\00\0f\01o\01\cf\01\17\00w\00\d7\007\01\97\017\00\97\00\f7\00W\01\b7\01W\00\b7\00\17\01w\01\d7\01\1f\00\7f\00\df\00?\01\9f\01?\00\9f\00\ff\00_\01\bf\01_\00\bf\00\1f\01\7f\01\df\01\b8~\9ay\9ayff\b8~3sQ\0b\n\t\n\t\n\t\ef\08\ef\08\n\t\fc\08\17\t\ef\08H\0b\14\nZ\t?\t\n\t\e2\08\e2\08\e2\08\e2\08\92\08\b7\t$\t$\t\n\t\n\t\n\t$\t$\t?\t2\t\90\0c\ce\n$\t$\t\n\t\e2\08\ad\08\9f\08\d5\08\92\08\9c\t\aa\t?\tZ\tZ\tZ\tZ\t?\tg\t\n\t\97\0d\f0\0bO\08\9f\08\e2\08\e2\08\e2\08\ef\08\n\t\d5\08\d2\0cE\0c\14\nZ\t\c7\08\ad\08\9f\08\92\08\92\08B\08\00\10\05\0f\ad\08<\n<\ng\t\n\tZ\t?\t\1a\08j\0c\ac\0c?\t\ad\08\f9\t\82\t$\t\n\tw\08\ad\08\n\0d\a0\0d\a6\n\92\08\d5\08\9c\t2\t?\t\9f\085\082\tt\t\17\t?\tZ\tt\tt\tt\t\9c\t?\t\c3\0e-\0e\82\t\df\t?\t\e2\08\e2\08\fc\08\9f\08\00\08\b6\0c\99\0c\99\n\1e\0b\8f\t\17\t\fc\08\fc\08\e2\08O\08\bf\0c\e4\0c\c1\n\f6\n\8f\t\d5\08\d5\08\c7\08O\085\089\0b\a5\0bI\n?\tg\t2\t\92\08\c7\08\c7\08B\08\99\0c}\0cI\n\14\n\e2\08\85\08\c7\08\ad\08\ad\08]\08j\0c\ee\0c\b4\ng\t\e2\08\e2\08\e2\08\ef\08\92\08B\08E\0c\c8\0c\9c\t\0d\08\ef\08\c4\t?\t\b7\t\82\t\85\08\b3\0d\d2\0c\n\t\8c\nW\n\aa\t?\tZ\t$\tO\08_\0d\cf\0d\de\0b\f0\0b\fc\08\9e\07\ad\08\e2\08\e2\08\e2\08L\0d&\0d\'\08\7f\n9\0b2\tt\t\e2\08\aa\t\ec\t\b0\0e\a0\0d\9e\07d\nQ\0b\df\tZ\t?\t\9c\t\d5\08\d4\0b\c8\0c\b4\nH\0b\b4\nj\08O\08\ef\08\ba\08\c7\08o\0eI\0e\e9\07\b1\07d\n\8c\n\14\n\c4\t\17\t?\t\87\0cU\0d2\t\1a\08H\0bH\0b$\t\b7\t\c7\08w\08\n\0d&\0d\1e\0b\dc\n\17\tj\08\e2\08\ef\08B\08\0d\08\17\t\fc\08\85\08w\08\85\08?\tI\n\8c\n\8c\n\f9\tg\t\82\t\ad\08\d5\08\ad\08\ad\08$\tt\t/\n\8c\n\de\0b\ac\0c\f6\nH\0b\aa\t\1a\08\fc\08\n\t2\tL\t\ad\08j\08O\08\ef\08\c4\t\e9\n\e9\n<\n\14\n?\t\\\0e\81\0e\ba\08.\07\85\08\c1\n\a6\nq\n\d1\t\9f\08\e9\nX\0c\a6\n\f9\t\1e\0b\d1\t\85\08Z\t\ad\08\85\08\fa\00\03\00\06\00\03\00\03\00\03\00\04\00\03\00\03\00\03\00\cd\01I\0em\0bm\0bm\0bm\0bm\0bm\0bm\0bm\0bm\0bm\0bm\0b\93\0b\93\0bm\0b\1e\0b\90\0c\0d\0c\9c\0b\f0\0b\f0\0b\c2\0b\c2\0b\c2\0b\93\0b\93\0b\c2\0b\9c\0bH\0b\1e\0b\1e\0b\a6\nP\0f\ae\0f\a5\0b\87\0c\87\0cv\0b\f0\0b\1e\0b2\0c\ac\0cm\0b\1e\0b<\n\f9\t\dc\nm\0b\bc\0d}\0c\c2\0b\1f\0c\cb\0bH\0bm\0bm\0bm\0bm\0bH\0bH\0bH\0bH\0bH\0b\c1\n\be\13\be\13v\0b\f5\0d9\0d\f0\0b\0d\0c\e9\nX\0cX\0c\9c\0b\1e\0b\d1\t\ec\t\c1\nH\0bL\115\10\8c\n\c1\n\9c\0b\c2\0bm\0b\1e\0b\a5\0b\cb\0bm\0bm\0bm\0bm\0bH\0b\a6\n$\0e\cb\0b\9c\0b\f0\0b\f0\0b9\0b\f6\n\f0\0b\90\0c\e7\0b\a5\0b\db\0c\db\0c\a5\0b\ee\0c\af\0bk\14\96\13\ec\t\n\0d\c6\0d9\0d}\0c\16\0c0\0d\a5\0b\8c\nW\n\7f\n\e9\n\1e\0bq\n\d9\136\14\07\12L\11\9c\tQ\0b\e7\0b\87\0ca\0c\7f\n\b4\nH\0b\1e\0b\e9\n\1e\0b\8c\n2\0cH\0b\93\0bm\0bm\0bm\0bm\0b\93\0b\93\0b\93\0b\93\0bm\0bm\0b\93\0b\93\0b\93\0bj\10\87\0c\a5\0b\1f\0c\c2\0bH\0bH\0bm\0b\9c\0b9\0bd\0b\cb\0b\9c\0b\c2\0b}\0c9\0b\b0\0e\b0\0e\ac\0c\1f\0c\a5\0bH\0bm\0bH\0b\9c\0bv\0b\e9\n\e9\n\1e\0bH\0bH\0bd\n\0e\0f\ae\0f\87\0c2\0c\ac\0cv\0b\e7\0b\93\0b\93\0b\0d\0c\1e\0b\e9\n\e9\n\e9\n\e9\n\14\n\05\0f\f0\0f\1d\0d\bc\0d\16\0c\b4\n\c2\0bv\0b2\0c\0d\0c\1e\0b\1e\0bW\nW\n\1e\0b\f6\n\1b\14\1e\13\99\0c\05\0fq\0da\0cQ\0bU\0d{\0d\8c\n\14\nq\n\b4\n\1e\0b\f6\n\c1\n\0d\10\cd\0e\db\0cX\0cm\0bH\0bH\0bm\0b\e9\n\b4\n\e9\n\b4\n\e9\n\1e\0bH\0b\f6\n\d9\13\be\13\e7\0b\d9\0d\ac\0c\f0\0b\0d\0c\80\0b\1f\0cQ\0b\b4\n\b4\n\b4\n\1e\0b\e9\n<\n\d5\10\d5\10,\0b\df\t\87\0c0\0d0\0d\03\0c\03\0c0\0d\f0\0b\1e\0bW\n\14\n\a6\n\c1\n\f0\0bd\0b\f6\nH\0b\b4\n\7f\nQ\0b\1f\0cN\0cN\0c\90\0ca\0c\f0\0b\c2\0b\93\0b\1e\0b\17\11*\0fm\0bH\0b\1e\0bH\0b\1e\0b\1e\0bH\0bH\0bH\0b\1e\0bH\0bm\0bH\0b\1e\0b\a5\0bd\0bd\0b\a5\0b\a5\0b\f0\0b2\0c\90\0cN\0c\f0\0b\c2\0b\9c\0b\9c\0b\9c\0bm\0b\b4\n\85\105\10\ee\0c\13\0dm\0b\93\0bH\0b\a5\0b\a5\0b\1e\0b\e9\n\b4\n\1e\0b\1e\0b\1e\0b\e9\n\f0\0f\ae\0f\1f\0c\c2\0bm\0bm\0bm\0bH\0bm\0bm\0b\1e\0b\1e\0b\1e\0b\e9\nH\0b\dc\n\07\12\df\11a\0cq\0d\87\0c\a5\0bQ\0b\de\0b2\0c\b4\n\7f\n\7f\n\7f\n\b4\n\e9\n\8c\n5\10\ad\10\cd\0eI\0e\a6\n\dc\nH\0bH\0b\c2\0b\9c\0bm\0b\1e\0b\7f\n\7f\n\e9\nH\0bw\10\e2\0d\c1\n\1e\0b\1e\0bH\0bH\0bH\0bm\0bm\0bH\0bm\0bm\0bm\0b\93\0bH\0b6\149\13\d5\08h\0d\cd\0e\97\0d\13\0d\1e\0b\ee\0c\97\0dN\0cQ\0b\9c\t\b7\t\c1\nm\0b{\0de\0e2\0c}\0c\1d\0d\e7\0b\87\0c\87\0c\a5\0b\90\0c\0d\0cm\0bm\0b\7f\n\ec\t\82\t\a5\0b\c2\0b\e9\n\e9\n\b4\n\e9\n\1e\0b\9c\0b\f0\0b\1f\0cN\0cN\0cN\0c\1f\0c\c2\0b\c2\0b\80\0b9\0b\7f\n\a6\n\dc\n\c2\0bh\0d\d9\0d\1d\0d\ac\0c\f0\0b\c2\0b\93\0bm\0bH\0b\1e\0b\cb\0b\80\0bQ\0b\c2\0b\c2\0b\9c\0b\cb\0b\1f\0c\f0\0b\f0\0b\c2\0bH\0b\1e\0bm\0bm\0bH\0bP\0f\7f\0f\c2\0b}\0c\1d\0d\90\0c\db\0c\db\0c\97\0dx\0eq\0d\a6\n\85\08\9c\t\14\n/\nd\00\03\00(\00\03\00\03\00\03\00\05\00\0e\00\0e\00\n\00\0b\00\03\00\08\00\t\00\07\00\03\00[\01\\\ca\be\d8\b6\df\9a\e2\9c\e6x\ecz\f4\cc\fc4\03\86\0b\88\13d\19f\1dJ B\'\a45d\00\f0\00 \00d\00\cd<\000\00 \00 \fe\1f\f6\1f\ea\1f\d8\1f\c2\1f\a8\1f\88\1fb\1f:\1f\n\1f\d8\1e\a0\1eb\1e\"\1e\dc\1d\90\1dB\1d\ee\1c\96\1c:\1c\d8\1br\1b\n\1b\9c\1a*\1a\b4\19:\19\bc\18<\18\b6\17.\17\a0\16\10\16~\15\e8\14N\14\b0\13\10\13n\12\c8\11\1e\11t\10\c6\0f\16\0fd\0e\ae\0d\f8\0c@\0c\84\0b\c8\n\n\nJ\t\8a\08\c6\07\02\07>\06x\05\b2\04\ea\03\"\03Z\02\92\01\ca\00\00\006\ffn\fe\a6\fd\de\fc\16\fcN\fb\88\fa\c2\f9\fe\f8:\f8v\f7\b6\f6\f6\f58\f5|\f4\c0\f3\08\f3R\f2\9c\f1\ea\f0:\f0\8c\ef\e2\ee8\ee\92\ed\f0\ecP\ec\b2\eb\18\eb\82\ea\f0\e9`\e9\d2\e8J\e8\c4\e7D\e7\c6\e6L\e6\d6\e5d\e5\f6\e4\8e\e4(\e4\c6\e3j\e3\12\e3\be\e2p\e2$\e2\de\e1\9e\e1`\e1(\e1\f6\e0\c6\e0\9e\e0x\e0X\e0>\e0(\e0\16\e0\n\e0\02\e0\00\e0*\af\d5\c9\cf\ff@\00\11\00c\ffa\01\10\fe\a3\00\'+\bdV\d9\ff\06\00[\00V\ff\ba\00\17\00\80\fc\c0\18\d8M\ed\ff\dc\fff\00\a7\ff\e8\ffH\01I\fc\08\n%>\87\c7=\c9@\00\80\00\86\ff$\006\01\00\fdH\023$EE\0c\00\80\00\12\00r\ff \01\8b\ff\9f\fc\1b\10{8h\02\0d\c8\f6\ff\'\00:\00\d2\ff\ac\ffx\00\b8\00\c5\fe\e3\fd\04\05\04\15@#\e6>\c6\c4\f3\ff\00\00\14\00\1a\00\05\00\e1\ff\d5\ff\fc\ffA\00Z\00\07\00c\ff\08\ff\d4\ffQ\02/\064\n\c7\0c\e4W\05\c5\03\00\f2\ff\ec\ff\f1\ff\02\00\19\00%\00\19\00\f0\ff\b9\ff\95\ff\b1\ff2\00$\01o\02\d6\03\08\05\b8\05\94kg\c4\11\00\0c\00\08\00\01\00\f6\ff\ea\ff\e2\ff\e0\ff\ea\ff\03\00,\00d\00\a8\00\f3\00=\01}\01\ad\01\c7\01\bd\00\a8\fdi\02gwu\00a\ff\d2\fb\08t4\00\dd\00\a8\f6tn\fc\ff\11\02\ea\f2\e5f\d0\ff\f6\02\8c\f0\a5]\b0\ff\89\03u\ef\06S\9d\ff\cc\03\82\effG\95\ff\c7\03\8b\f0\';\99\ff\80\03a\f2\ae.\a5\ff\05\03\cf\f4^\"\b9\ffc\02\a1\f7\98\16\d2\ff\a9\01\a1\fa\b4\0b\00\01\01\01\02\03\03\03\02\03\03\03\02\03\03\03\00\03\0c\0f03<?\c0\c3\cc\cf\f0\f3\fc\ff\00\ff\00\ff\00\ff\00\ff\00\ff\00\fe\01\00\01\ff\00\fe\00\fd\02\00\01\ff\00\fe\00\fd\03\00\01\ff\02\01\00\19\17\02\00~|wmW)\13\t\04\02")
(data (i32.const 25077) "ZPKE?81(\"\1d\14\12\n")
(data (i32.const 25098) "ndZTNGA:3-\' \1a\14\0c\00\00\00\00\00\00vng]VPKFA;5/(\1f\17\0f\04\00\00\00\00~wph_YSNHB<6/\' \19\11\0c\01\00\00\86\7fxrga[UNHB<6/)#\1d\17\10\n\01\90\89\82|qke_XRLF@93-\'!\1a\0f\01\98\91\8a\84{uoib\\VPJC=71+$\14\01\a2\9b\94\8e\85\7fyslf`ZTMGA;5.\1e\01\ac\a5\9e\98\8f\89\83}vpjd^WQKE?8-\14\c8\c8\c8\c8\c8\c8\c8\c8\c6\c1\bc\b7\b2\ad\a8\a3\9e\99\94\81h(\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07(\0f\17\1c\1f\"$&\')*+,-.//123456779:;<=>??ABCDEFGG(\14!)059=@BEGIKLNPRUWY[\\^`begiklnpruwy{|~\80(\17\'3<CIOSW[^adfikosvy|~\81\83\87\8b\8e\91\94\96\99\9b\9f\a3\a6\a9\ac\ae\b1\b3#\1c1ANYckrx~\84\88\8d\91\95\99\9f\a5\ab\b0\b4\b9\bd\c0\c7\cd\d3\d8\dc\e1\e5\e8\ef\f5\fb\15!:Oap}\89\94\9d\a6\ae\b6\bd\c3\c9\cf\d9\e3\eb\f3\fb\11#?Vj{\8b\98\a5\b1\bb\c5\ce\d6\de\e6\ed\fa\19\1f7K[iu\80\8a\92\9a\a1\a8\ae\b4\b9\be\c8\d0\d7\de\e5\eb\f0\f5\ff\10$AYn\80\90\9f\ad\b9\c4\cf\d9\e2\ea\f2\fa\0b)Jg\80\97\ac\bf\d1\e1\f1\ff\t+On\8a\a3\ba\cf\e3\f6\0c\'Gc{\90\a4\b6\c6\d6\e4\f1\fd\t,Qq\8e\a8\c0\d6\eb\ff\071Z\7f\a0\bf\dc\f7\063_\86\aa\cb\ea\07/W{\9b\b8\d4\ed\064a\89\ae\d0\f0\059j\97\c0\e7\05;o\9e\ca\f3\057g\93\bb\e0\05<q\a1\ce\f8\04Az\af\e0\04C\7f\b6\ea\e0\e0\e0\e0\e0\e0\e0\e0\a0\a0\a0\a0\b9\b9\b9\b2\b2\a8\86=%\e0\e0\e0\e0\e0\e0\e0\e0\f0\f0\f0\f0\cf\cf\cf\c6\c6\b7\90B(\a0\a0\a0\a0\a0\a0\a0\a0\b9\b9\b9\b9\c1\c1\c1\b7\b7\ac\8a@&\f0\f0\f0\f0\f0\f0\f0\f0\cf\cf\cf\cf\cc\cc\cc\c1\c1\b4\8fB(\b9\b9\b9\b9\b9\b9\b9\b9\c1\c1\c1\c1\c1\c1\c1\b7\b7\ac\8aA\'\cf\cf\cf\cf\cf\cf\cf\cf\cc\cc\cc\cc\c9\c9\c9\bc\bc\b0\8dB(\c1\c1\c1\c1\c1\c1\c1\c1\c1\c1\c1\c1\c2\c2\c2\b8\b8\ad\8bA\'\cc\cc\cc\cc\cc\cc\cc\cc\c9\c9\c9\c9\c6\c6\c6\bb\bb\af\8cB(H\7fA\81B\80A\80@\80>\80@\80@\80\\N\\O\\NZOt)s(r(\84\1a\84\1a\91\11\a1\0c\b0\n\b1\0b\18\b30\8a6\876\845\868\857\847\84=rF`JXKXWJYB[Cd;l2x(z%a+N2SNTQXKVJWGZI]J]Jm(r$u\"u\"\8f\11\91\12\92\13\a2\0c\a5\n\b2\07\bd\06\be\08\b1\t\17\b26s?fBbEcJYG[I[NYVP\\B]@f;g<h<u4{,\8a#\85\1fa&M-=Z]<i*k)n-t&q&p&|\1a\84\1b\88\13\8c\14\9b\0e\9f\10\9e\12\aa\0d\b1\n\bb\08\c0\06\af\t\9f\n\15\b2;nGVKUTS[BXIWH\\KbHi:k6s4r7p8\813\84(\96!\8c\1db#M**y`Bl+o(u,{ x$w!\7f!\86\"\8b\15\93\17\98\14\9e\19\9a\1a\a6\15\ad\10\b8\0d\b8\n\96\0d\8b\0f\16\b2?rJRTS\\Rg>`H`CeIkHq7v4}4v4u7\871\89\'\9d \91\1da!M(\02\01\00\00\08\0d\10\13\15\17\18\1a\1b\1c\1d\1e\1f !\"\"#$$%%\e0p,\0f\03\02\01\00\fe\ed\c0\84F\17\04\00\ff\fc\e2\9b=\0b\02\00\fa\f5\ea\cbG2*&#!\1f\1d\1c\1b\1a\19\18\17\16\15\14\13\12\11\10\0f\0e\0d\0c\0b\n\t\08\07\06\05\04\03\02\01\00\b3c\00G8+\1e\15\0c\06\00\c7\a5\90|m`TG=3* \17\0f\08\00\f1\e1\d3\c7\bb\af\a4\99\8e\84{ri`XPH@92,&!\1d\18\14\10\0c\t\05\02\00\04\06\18\07\05\00\00\02\00\00\0c\1c)\0d\fc\f7\0f*\19\0e\01\fe>)\f7\f6%A\fc\03\fa\04B\07\f8\10\0e&\fd!\0d\16\'\17\0c\ff$@\1b\fa\f9\n7+\11\01\01\08\01\01\06\f5J5\f7\f47L\f4\08\fd\03]\1b\fc\1a\';\03\f8\02\00M\0b\t\f8\16,\fa\07(\t\1a\03\t\f9\14e\f9\04\03\f8*\1a\00\f1!D\02\17\fe7.\fe\0f\03\ff\15\10)\fa\1b=\'\05\f5*X\04\01\fe<A\06\fc\ff\fbI8\01\f7\13^\1d\f7\00\0cc\06\04\08\edf.\f3\03\02\0d\03\02\t\ebTH\ee\f5.h\ea\08\12&0\17\00\f0FS\eb\0b\05\f5u\16\f8\fa\17u\f4\03\03\f8_\1c\04\f6\0fM<\f1\ff\04|\02\fc\03&T\18\e7\02\0d*\0d\1f\15\fc8.\ff\ff#O\f3\13\f9AX\f7\f2\14\04Q1\e3\14\00K\03\ef\05\f7,\\\f8\01\fd\16E\1f\fa_)\f4\05\'C\10\fc\01\00\fax7\dc\f3,z\04\e8Q\05\0b\03\07\02\00\t\nX\0c#<Sl\84\9d\b4\ce\e4\0f 7Me}\97\af\c9\e1\13*BYr\89\a2\b8\d1\e6\0c\192Hax\93\ac\c8\df\1a,EZr\87\9f\b4\cd\e1\0d\165Pj\82\9c\b4\cd\e4\0f\19,@Zs\8e\a8\c4\de\13\18>Rdx\91\a8\be\d6\16\1f2Ogx\97\aa\cb\e3\15\1d-Aj|\96\ab\c4\e0\1e1Kay\8e\a5\ba\d1\e5\13\194F]t\8f\a6\c0\db\1a\">Kav\91\a7\c2\d9\19!8F[q\8f\a5\c4\df\15\"3Hau\91\ab\c4\de\14\1d2CZu\90\a8\c5\dd\16\1f0B_u\92\a8\c4\de\18!3Mt\86\9e\b4\c8\e0\15\1cFWj|\95\aa\c2\d9\1a!5@Su\98\ad\cc\e1\1b\"A_l\81\9b\ae\d2\e1\14\1aHcq\83\9a\b0\c8\db\"+=N]r\9b\b1\cd\e5\17\1d6a|\8a\a3\b3\d1\e5\1e&8Yv\81\9e\b2\c8\e7\15\1d1?Uo\8e\a3\c1\de\1b0Mg\85\9e\b3\c4\d7\e8\1d/Jc|\97\b0\c6\dc\ed!*=L]y\9b\ae\cf\e1\1d5Wp\88\9a\aa\bc\d0\e3\18\1e4T\83\96\a6\ba\cb\e5%0@Thv\9c\b1\c9\e6\d4\b2\94\81l`UROM=;98310-*)(&$\"\1f\1e\15\0c\n\03\01\00\ff\f5\f4\ec\e9\e1\d9\cb\be\b0\af\a1\95\88}rf[QG<4+#\1c\14\13\12\0c\0b\05\00\b3\8a\8c\94\97\95\99\97\a3tCR;\\HdY\\\10\00\00\00\00cB$$\"$\"\"\"\"SE$4\"tfFDD\b0fDD\"AUDT$t\8d\98\8b\aa\84\bb\b8\d8\89\84\f9\a8\b9\8bhfdDD\b2\da\b9\b9\aa\f4\d8\bb\bb\aa\f4\bb\bb\db\8ag\9b\b8\b9\89t\b7\9b\98\88\84\d9\b8\b8\aa\a4\d9\ab\9b\8b\f4\a9\b8\b9\aa\a4\d8\df\da\8a\d6\8f\bc\da\a8\f4\8d\88\9b\aa\a8\8a\dc\db\8b\a4\db\ca\d8\89\a8\ba\f6\b9\8bt\b9\db\b9\8add\86df\"DDdD\a8\cb\dd\da\a8\a7\9a\88hF\a4\f6\ab\89\8b\89\9b\da\db\8b\ff\fe\fd\ee\0e\03\02\01\00\ff\fe\fc\da#\03\02\01\00\ff\fe\fa\d0;\04\02\01\00\ff\fe\f6\c2G\n\02\01\00\ff\fc\ec\b7R\08\02\01\00\ff\fc\eb\b4Z\11\02\01\00\ff\f8\e0\aba\1e\04\01\00\ff\fe\ec\ad_%\07\01\00\ff\ff\ff\83\06\91\ff\ff\ff\ff\ff\ec]\0f`\ff\ff\ff\ff\ff\c2S\19G\dd\ff\ff\ff\ff\a2I\"B\a2\ff\ff\ff\d2~I+9\ad\ff\ff\ff\c9}G0:\82\ff\ff\ff\a6nI9>h\d2\ff\ff\fb{A7Dd\ab\ff\07\17&6EUdt\83\93\a2\b2\c1\d0\df\ef\0d\19)7ESbp\7f\8e\9d\ab\bb\cb\dc\ec\0f\15\"3=N\\j~\88\98\a7\b9\cd\e1\f0\n\15$2?O_n~\8d\9d\ad\bd\cd\dd\ed\11\14%3;NYk{\86\96\a4\b8\cd\e0\f0\n\0f 3CQ`p\81\8e\9e\ad\bd\cc\dc\ec\08\15%3AObq~\8a\9b\a8\b3\c0\d1\da\0c\0f\"7?NWlv\83\94\a7\b9\cb\db\ec\10\13 $8O[lv\88\9a\ab\ba\cc\dc\ed\0b\1c+:JYix\87\96\a5\b4\c4\d3\e2\f1\06\10!.<K\\k{\89\9c\a9\b9\c7\d6\e1\0b\13\1e,9JYiy\87\98\a9\ba\ca\da\ea\0c\13\1d.9GXdx\84\94\a5\b6\c7\d8\e9\11\17#.8M\\j{\86\98\a7\b9\cc\de\ed\0e\11-5?KYks\84\97\ab\bc\ce\dd\f0\t\10\1d(8GXgw\89\9a\ab\bd\cd\de\ed\10\13$09LWiv\84\96\a7\b9\ca\da\ec\0c\11\1d6GQ^h~\88\95\a4\b6\c9\dd\ed\0f\1c/>Oas\81\8e\9b\a8\b4\c2\d0\df\ee\08\0e\1e->N^o\7f\8f\9f\af\c0\cf\df\ef\11\1e1>O\\kw\84\91\a0\ae\be\cc\dc\eb\0e\13$-=L[ly\8a\9a\ac\bd\cd\de\ee\0c\12\1f-<L[k{\8a\9a\ab\bb\cc\dd\ec\0d\11\1f+5FSgr\83\95\a7\b9\cb\dc\ed\11\16#*:N]n}\8b\9b\aa\bc\ce\e0\f0\08\0f\"2CScs\83\92\a2\b2\c1\d1\e0\ef\0d\10)BIV_o\80\89\96\a3\b7\ce\e1\f1\11\19%4?K\\fw\84\90\a0\af\bf\d4\e7\13\1f1ASdu\85\93\a1\ae\bb\c8\d5\e3\f2\12\1f4DXgu~\8a\95\a3\b1\c0\cf\df\ef\10\1d/=LZjw\85\93\a1\b0\c1\d1\e0\f0\0f\15#2=IVanw\81\8d\af\c6\da\ed\e1\cc\c9\b8\b7\af\9e\9a\99\87wsqnmcb_OD420-+ \1f\1b\12\n\03\00\ff\fb\eb\e6\d4\c9\c4\b6\a7\a6\a3\97\8a|nhZNLFE9-\"\18\15\0b\06\05\04\03\00\af\94\a0\b0\b2\ad\ae\a4\b1\ae\c4\b6\c6\c0\b6D>B<HuUZv\88\97\8e\a0\8e\9b\00\00\00\00\00\00\00\01dffDD$\"`\a4k\9e\b9\b4\b9\8bf@B$\"\"\00\01 \d0\8b\8d\bf\98\b9\9bh`\abh\a6fff\84\01\00\00\00\00\10\10\00PmNk\b9\8bge\d0\d4\8d\8b\ad\99{g$\00\00\00\00\00\00\010\00\00\00\00\00\00 D\87{wwgEbDgxvvfGb\86\88\9d\b8\b6\99\8b\86\d0\a8\f8K\bd\8fyk 1\"\"\"\00\11\02\d2\eb\8b{\b9\89i\86b\87h\b6d\b7\ab\86dFDFBB\"\83@\a6fD$\02\01\00\86\a6fD\"\"B\84\d4\f6\9e\8bkkWfd\db}z\89vg\84r\87\89i\abj2\"\a4\d6\8d\8f\b9\97yg\c0\"\00\00\00\00\00\01\d0mJ\bb\86\f9\9f\89fn\9avWewe\00\02\00$$BD#`\a4fd$\00\02!\a7\8a\aefdT\02\02dkxw$\c5\18\00\ff\fe\fd\f4\0c\03\02\01\00\ff\fe\fc\e0&\03\02\01\00\ff\fe\fb\d19\04\02\01\00\ff\fe\f4\c3E\04\02\01\00\ff\fb\e8\b8T\07\02\01\00\ff\fe\f0\baV\0e\02\01\00\ff\fe\ef\b2[\1e\05\01\00\ff\f8\e3\b1d\13\02\01\00\ff\ff\ff\9c\04\9a\ff\ff\ff\ff\ff\e3f\0f\\\ff\ff\ff\ff\ff\d5S\18H\ec\ff\ff\ff\ff\96L!?\d6\ff\ff\ff\beyM+7\b9\ff\ff\ff\f5\89G+;\8b\ff\ff\ff\ff\83B2Bk\c2\ff\ff\a6tL75}\ff\ff\f9\f7\f6\f5\f4\ea\d2\ca\c9\c8\c5\aeR;876.\16\0c\0b\n\t\07\00@\00\cb\96\00\d7\c3\a6}nR\00x\00\80@\00\e8\9e\n\00\e6\00\f3\dd\c0\b5\00\abU\00\c0\80@\00\cd\9af3\00\d5\ab\80U+\00\e0\c0\a0\80`@ \00d(\10\07\03\01\00\fd\fa\f4\e9\d4\b6\96\83xnbUH<1( \19\13\0f\0d\0b\t\08\07\06\05\04\03\02\01\00\d2\d0\ce\cb\c7\c1\b7\a8\8ehJ4%\1b\14\0e\n\06\04\02\00\df\c9\b7\a7\98\8a|obXOF>82,\'#\1f\1b\18\15\12\10\0e\0c\n\08\06\04\03\02\01\00\bc\b0\9b\8awaC+\1a\n\00\a5wP=/#\1b\14\0e\t\04\00q?\00}3\1a\12\0f\0c\0b\n\t\08\07\06\05\04\03\02\01\00\c6i-\16\0f\0c\0b\n\t\08\07\06\05\04\03\02\01\00\d5\a2tS;+ \18\12\0f\0c\t\07\06\05\03\02\00\ef\bbt;\1c\10\0b\n\t\08\07\06\05\04\03\02\01\00\fa\e5\bc\87V3\1e\13\0d\n\08\06\05\04\03\02\01\00\f9\eb\d5\b9\9c\80gSB5*!\1a\15\11\0d\n\00\fe\f9\eb\ce\a4vM.\1b\10\n\07\05\04\03\02\01\00\ff\fd\f9\ef\dc\bf\9cwU9%\17\0f\n\06\04\02\00\ff\fd\fb\f6\ed\df\cb\b3\98|bK7(\1d\15\0f\00\ff\fe\fd\f7\dc\a2jC*\1c\12\0c\t\06\04\03\02\00\f1\be\b2\84WJ)\0e\00\df\c1\9d\8cj9\'\12\00\80\00\d6*\00\eb\80\15\00\f4\b8H\0b\00\f8\d6\80*\07\00\f8\e1\aaP\19\05\00\fb\ec\c6~6\12\03\00\fa\ee\d3\9fR#\0f\05\00\fa\e7\cb\a8\80X5\19\06\00\fc\ee\d8\b9\94lG(\12\04\00\fd\f3\e1\c7\a6\80Z9\1f\0d\03\00\fe\f6\e9\d4\b7\93mI,\17\n\02\00\ff\fa\f0\df\c6\a6\80Z:!\10\06\01\00\ff\fb\f4\e7\d2\b5\92nK.\19\0c\05\01\00\ff\fd\f8\ee\dd\c4\a4\80\\<#\12\08\03\01\00\ff\fd\f9\f2\e5\d0\b4\92nL0\1b\0e\07\03\01\00\81\00\cf2\00\ec\81\14\00\f5\b9H\n\00\f9\d5\81*\06\00\fa\e2\a9W\1b\04\00\fb\e9\c2\82>\14\04\00\fa\ec\cf\a0c/\11\03\00\ff\f0\d9\b6\83Q)\0b\01\00\ff\fe\e9\c9\9fk=\14\02\01\00\ff\f9\e9\ce\aa\80V2\17\07\01\00\ff\fa\ee\d9\ba\94lF\'\12\06\01\00\ff\fc\f3\e2\c8\a6\80Z8\1e\0d\04\01\00\ff\fc\f5\e7\d1\b4\92nL/\19\0b\04\01\00\ff\fd\f8\ed\db\c2\a3\80]>%\13\08\03\01\00\ff\fe\fa\f1\e2\cd\b1\91oO3\1e\0f\06\02\01\00\81\00\cb6\00\ea\81\17\00\f5\b8I\n\00\fa\d7\81)\05\00\fc\e8\adV\18\03\00\fd\f0\c8\818\0f\02\00\fd\f4\d9\a4^&\n\01\00\fd\f5\e2\bd\84G\1b\07\01\00\fd\f6\e7\cb\9fi8\17\06\01\00\ff\f8\eb\d5\b3\85U/\13\05\01\00\ff\fe\f3\dd\c2\9fuF%\0c\02\01\00\ff\fe\f8\ea\d0\ab\80U0\16\08\02\01\00\ff\fe\fa\f0\dc\bd\95kC$\10\06\02\01\00\ff\fe\fb\f3\e3\c9\a6\80Z7\1d\0d\05\02\01\00\ff\fe\fc\f6\ea\d5\b7\93mI+\16\n\04\02\01\00\82\00\c8:\00\e7\82\1a\00\f4\b8L\0c\00\f9\d6\82+\06\00\fc\e8\adW\18\03\00\fd\f1\cb\838\0e\02\00\fe\f6\dd\a7^#\08\01\00\fe\f9\e8\c1\82A\17\05\01\00\ff\fb\ef\d3\a2c-\0f\04\01\00\ff\fb\f3\df\ba\83J!\0b\03\01\00\ff\fc\f5\e6\ca\9ei9\18\08\02\01\00\ff\fd\f7\eb\d6\b3\84T,\13\07\02\01\00\ff\fe\fa\f0\df\c4\9fpE$\0f\06\02\01\00\ff\fe\fd\f5\e7\d1\b0\88]7\1b\0b\03\02\01\00\ff\fe\fd\fc\ef\dd\c2\9euL*\12\04\03\02\01\00\00\00\02\05\t\0e\14\1b#,6AMZhw\87\fe1CMR]c\c6\0b\12\18\1f$-\ff.BNW^h\d0\0e\15 *3B\ff^hmpsv\f85EPX_f\00\0f\08\07\04\0b\0c\03\02\0d\n\05\06\t\0e\01\00\t\06\03\04\05\08\01\02\07\00\01\00\00\00\01\00\00\01\ff\01\ff\02\fe\02\fe\03\fd\00\01\00\01\ff\02\ff\02\fe\03\fe\03\00\02\ff\ff\ff\00\00\01\01\00\01\00\01\00\00\00\00\00\01\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\ff\02\01\00\01\01\00\00\ff\ff\00\00\01\ff\00\01\ff\00\ff\01\fe\02\fe\fe\02\fd\02\03\fd\fc\03\fc\04\04\fb\05\fa\fb\06\f9\06\05\08\f7\00\00\01\00\00\00\00\00\00\00\ff\01\00\00\01\ff\00\01\ff\ff\01\ff\02\01\ff\02\fe\fe\02\fe\02\02\03\fd\00\01\00\00\00\00\00\00\01\00\01\00\00\01\ff\01\00\00\02\01\ff\02\ff\ff\02\ff\02\02\ff\03\fe\fe\fe\03\00\01\00\00\01\00\01\ff\02\ff\02\ff\02\03\fe\03\fe\fe\04\04\fd\05\fd\fc\06\fc\06\05\fb\08\fa\fb\f9\t\04\00\02\00\00\00\t\04\07\04\00\03\0c\07\07")
(export "_free" (func $_free))
(export "_malloc" (func $_malloc))
(export "_memcpy" (func $_memcpy))
(export "_memmove" (func $_memmove))
(export "_memset" (func $_memset))
(export "_opus_decode_float" (func $_opus_decode_float))
(export "_opus_decoder_create" (func $_opus_decoder_create))
(export "_opus_decoder_destroy" (func $_opus_decoder_destroy))
(export "_sbrk" (func $_sbrk))
(export "_speex_resampler_destroy" (func $_speex_resampler_destroy))
(export "_speex_resampler_init" (func $_speex_resampler_init))
(export "_speex_resampler_process_interleaved_float" (func $_speex_resampler_process_interleaved_float))
(export "dynCall_iiiiiii" (func $dynCall_iiiiiii))
(export "establishStackSpace" (func $establishStackSpace))
(export "getTempRet0" (func $getTempRet0))
(export "runPostSets" (func $runPostSets))
(export "setTempRet0" (func $setTempRet0))
(export "setThrew" (func $setThrew))
(export "stackAlloc" (func $stackAlloc))
(export "stackRestore" (func $stackRestore))
(export "stackSave" (func $stackSave))
(func $stackAlloc (; 9 ;) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(get_local $0)
)
)
(set_global $STACKTOP
(i32.and
(i32.add
(get_global $STACKTOP)
(i32.const 15)
)
(i32.const -16)
)
)
(get_local $1)
)
(func $stackSave (; 10 ;) (result i32)
(get_global $STACKTOP)
)
(func $stackRestore (; 11 ;) (param $0 i32)
(set_global $STACKTOP
(get_local $0)
)
)
(func $establishStackSpace (; 12 ;) (param $0 i32) (param $1 i32)
(set_global $STACKTOP
(get_local $0)
)
(set_global $STACK_MAX
(get_local $1)
)
)
(func $setThrew (; 13 ;) (param $0 i32) (param $1 i32)
(if
(i32.eqz
(get_global $__THREW__)
)
(block
(set_global $__THREW__
(get_local $0)
)
(set_global $threwValue
(get_local $1)
)
)
)
)
(func $setTempRet0 (; 14 ;) (param $0 i32)
(set_global $tempRet0
(get_local $0)
)
)
(func $getTempRet0 (; 15 ;) (result i32)
(get_global $tempRet0)
)
(func $_celt_lcg_rand (; 16 ;) (param $0 i32) (result i32)
(i32.add
(i32.mul
(get_local $0)
(i32.const 1664525)
)
(i32.const 1013904223)
)
)
(func $_bitexact_cos (; 17 ;) (param $0 i32) (result i32)
(local $1 i32)
(set_local $0
(i32.shr_s
(i32.shl
(tee_local $1
(i32.shr_u
(i32.add
(i32.mul
(tee_local $0
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 16)
)
(i32.const 16)
)
)
(get_local $0)
)
(i32.const 4096)
)
(i32.const 13)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.and
(i32.add
(i32.sub
(i32.shr_u
(i32.add
(i32.mul
(get_local $0)
(i32.shr_s
(i32.add
(i32.shl
(i32.shr_u
(i32.add
(i32.mul
(get_local $0)
(i32.shr_s
(i32.add
(i32.shl
(i32.shr_u
(i32.add
(i32.mul
(get_local $0)
(i32.const -626)
)
(i32.const 16384)
)
(i32.const 15)
)
(i32.const 16)
)
(i32.const 542441472)
)
(i32.const 16)
)
)
(i32.const 16384)
)
(i32.const 15)
)
(i32.const 16)
)
(i32.const -501415936)
)
(i32.const 16)
)
)
(i32.const 16384)
)
(i32.const 15)
)
(get_local $1)
)
(i32.const 32768)
)
(i32.const 65535)
)
)
(func $_bitexact_log2tan (; 18 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(set_local $0
(i32.shr_s
(i32.shl
(i32.shl
(get_local $0)
(i32.sub
(i32.const 15)
(tee_local $2
(i32.sub
(i32.const 32)
(i32.clz
(get_local $0)
)
)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $1
(i32.shr_s
(i32.shl
(i32.shl
(get_local $1)
(i32.sub
(i32.const 15)
(tee_local $3
(i32.sub
(i32.const 32)
(i32.clz
(get_local $1)
)
)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.sub
(i32.add
(i32.shl
(i32.sub
(get_local $2)
(get_local $3)
)
(i32.const 11)
)
(i32.shr_s
(i32.add
(i32.mul
(get_local $0)
(i32.shr_s
(i32.add
(i32.shl
(i32.shr_u
(i32.add
(i32.mul
(get_local $0)
(i32.const -2597)
)
(i32.const 16384)
)
(i32.const 15)
)
(i32.const 16)
)
(i32.const 519831552)
)
(i32.const 16)
)
)
(i32.const 16384)
)
(i32.const 15)
)
)
(i32.shr_s
(i32.add
(i32.mul
(get_local $1)
(i32.shr_s
(i32.add
(i32.shl
(i32.shr_u
(i32.add
(i32.mul
(get_local $1)
(i32.const -2597)
)
(i32.const 16384)
)
(i32.const 15)
)
(i32.const 16)
)
(i32.const 519831552)
)
(i32.const 16)
)
)
(i32.const 16384)
)
(i32.const 15)
)
)
)
(func $_denormalise_bands (; 19 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32)
(local $10 i32)
(local $11 f32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(set_local $12
(i32.mul
(get_local $1)
(get_local $7)
)
)
(set_local $1
(i32.mul
(i32.load16_s
(i32.add
(get_local $0)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
(get_local $7)
)
)
(if
(i32.ne
(get_local $8)
(i32.const 1)
)
(if
(i32.ge_s
(get_local $1)
(tee_local $8
(i32.div_s
(get_local $12)
(get_local $8)
)
)
)
(set_local $1
(get_local $8)
)
)
)
(set_local $14
(if (result i32)
(tee_local $8
(i32.eqz
(get_local $9)
)
)
(get_local $6)
(i32.const 0)
)
)
(if
(i32.eqz
(get_local $8)
)
(set_local $5
(i32.const 0)
)
)
(set_local $13
(if (result i32)
(get_local $8)
(get_local $1)
(i32.const 0)
)
)
(set_local $8
(i32.mul
(tee_local $6
(i32.load16_s
(tee_local $9
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
)
(get_local $7)
)
)
(set_local $1
(get_local $3)
)
(loop $while-in
(if
(i32.lt_s
(get_local $10)
(i32.mul
(i32.shr_s
(i32.shl
(get_local $6)
(i32.const 16)
)
(i32.const 16)
)
(get_local $7)
)
)
(block
(f32.store
(get_local $1)
(f32.const 0)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 4)
)
)
(set_local $10
(i32.add
(get_local $10)
(i32.const 1)
)
)
(set_local $6
(i32.load16_s
(get_local $9)
)
)
(br $while-in)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(loop $label$continue$L8
(if
(i32.lt_s
(get_local $5)
(get_local $14)
)
(block
(set_local $6
(i32.mul
(i32.load16_s
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
(get_local $7)
)
)
(set_local $10
(i32.mul
(i32.load16_s
(i32.add
(get_local $0)
(i32.shl
(tee_local $9
(i32.add
(get_local $5)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(get_local $7)
)
)
(set_local $11
(f32.demote/f64
(call $_exp
(f64.mul
(f64.promote/f32
(if (result f32)
(f32.gt
(tee_local $11
(f32.add
(f32.load
(i32.add
(get_local $4)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(i32.shl
(get_local $5)
(i32.const 2)
)
(i32.const 19700)
)
)
)
)
(f32.const 32)
)
(f32.const 32)
(get_local $11)
)
)
(f64.const 0.6931471805599453)
)
)
)
)
(set_local $5
(get_local $6)
)
(set_local $8
(get_local $2)
)
(set_local $6
(get_local $1)
)
(loop $while-in1
(set_local $2
(i32.add
(get_local $8)
(i32.const 4)
)
)
(set_local $1
(i32.add
(get_local $6)
(i32.const 4)
)
)
(f32.store
(get_local $6)
(f32.mul
(f32.load
(get_local $8)
)
(get_local $11)
)
)
(if
(i32.lt_s
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(get_local $10)
)
(block
(set_local $8
(get_local $2)
)
(set_local $6
(get_local $1)
)
(br $while-in1)
)
(block
(set_local $5
(get_local $9)
)
(br $label$continue$L8)
)
)
)
)
)
)
(drop
(call $_memset
(i32.add
(get_local $3)
(i32.shl
(get_local $13)
(i32.const 2)
)
)
(i32.const 0)
(i32.shl
(i32.sub
(get_local $12)
(get_local $13)
)
(i32.const 2)
)
)
)
)
(func $_anti_collapse (; 20 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (param $11 i32) (param $12 i32)
(local $13 f32)
(local $14 i32)
(local $15 f32)
(local $16 i32)
(local $17 f32)
(local $18 i32)
(local $19 i32)
(local $20 f32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 f32)
(local $29 i32)
(local $30 i32)
(set_local $18
(i32.add
(get_local $0)
(i32.const 32)
)
)
(set_local $22
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $23
(i32.eq
(get_local $4)
(i32.const 1)
)
)
(set_local $24
(i32.eq
(get_local $3)
(i32.const 3)
)
)
(set_local $25
(i32.shl
(i32.const 1)
(get_local $3)
)
)
(set_local $0
(get_local $12)
)
(loop $label$continue$L1
(if
(i32.lt_s
(get_local $6)
(get_local $7)
)
(block
(set_local $20
(f32.mul
(f32.demote/f64
(call $_exp
(f64.mul
(f64.promote/f32
(f32.mul
(f32.convert_s/i32
(i32.shr_u
(call $_celt_udiv
(i32.add
(i32.load
(i32.add
(get_local $11)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
(i32.const 1)
)
(tee_local $19
(i32.sub
(i32.load16_s
(i32.add
(tee_local $12
(i32.load
(get_local $18)
)
)
(i32.shl
(tee_local $26
(i32.add
(get_local $6)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $12)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
)
)
)
(get_local $3)
)
)
(f32.const -0.125)
)
)
(f64.const 0.6931471805599453)
)
)
)
(f32.const 0.5)
)
)
(set_local $28
(f32.div
(f32.const 1)
(f32.demote/f64
(f64.sqrt
(f64.convert_s/i32
(tee_local $27
(i32.shl
(get_local $19)
(get_local $3)
)
)
)
)
)
)
)
(set_local $29
(i32.mul
(get_local $6)
(get_local $4)
)
)
(set_local $16
(i32.const 0)
)
(loop $while-in
(set_local $15
(f32.load
(i32.add
(get_local $9)
(i32.shl
(tee_local $12
(i32.add
(i32.mul
(get_local $16)
(tee_local $14
(i32.load
(get_local $22)
)
)
)
(get_local $6)
)
)
(i32.const 2)
)
)
)
)
(set_local $13
(f32.load
(i32.add
(get_local $10)
(i32.shl
(get_local $12)
(i32.const 2)
)
)
)
)
(if
(get_local $23)
(block
(if
(i32.eqz
(f32.gt
(get_local $15)
(tee_local $17
(f32.load
(i32.add
(get_local $9)
(i32.shl
(tee_local $14
(i32.add
(get_local $14)
(get_local $6)
)
)
(i32.const 2)
)
)
)
)
)
)
(set_local $15
(get_local $17)
)
)
(if
(i32.eqz
(f32.gt
(get_local $13)
(tee_local $17
(f32.load
(i32.add
(get_local $10)
(i32.shl
(get_local $14)
(i32.const 2)
)
)
)
)
)
)
(set_local $13
(get_local $17)
)
)
)
)
(set_local $13
(f32.mul
(tee_local $15
(f32.mul
(f32.demote/f64
(call $_exp
(f64.mul
(f64.promote/f32
(f32.neg
(if (result f32)
(f32.lt
(tee_local $13
(f32.sub
(f32.load
(i32.add
(get_local $8)
(i32.shl
(get_local $12)
(i32.const 2)
)
)
)
(if (result f32)
(f32.lt
(get_local $15)
(get_local $13)
)
(get_local $15)
(get_local $13)
)
)
)
(f32.const 0)
)
(f32.const 0)
(get_local $13)
)
)
)
(f64.const 0.6931471805599453)
)
)
)
(f32.const 2)
)
)
(f32.const 1.4142135381698608)
)
)
(set_local $21
(i32.add
(i32.add
(get_local $1)
(i32.shl
(i32.mul
(get_local $16)
(get_local $5)
)
(i32.const 2)
)
)
(i32.shl
(i32.shl
(i32.load16_s
(i32.add
(i32.load
(get_local $18)
)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
(get_local $3)
)
(i32.const 2)
)
)
)
(set_local $30
(i32.add
(get_local $2)
(i32.add
(get_local $29)
(get_local $16)
)
)
)
(set_local $15
(f32.neg
(tee_local $13
(f32.mul
(if (result f32)
(f32.lt
(get_local $20)
(if (result f32)
(get_local $24)
(get_local $13)
(tee_local $13
(get_local $15)
)
)
)
(get_local $20)
(get_local $13)
)
(get_local $28)
)
)
)
)
(set_local $12
(i32.const 0)
)
(set_local $14
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $14)
(get_local $25)
)
(block
(if
(i32.eqz
(i32.and
(i32.shl
(i32.const 1)
(get_local $14)
)
(i32.load8_u
(get_local $30)
)
)
)
(block
(set_local $12
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $12)
(get_local $19)
)
(block
(f32.store
(i32.add
(get_local $21)
(i32.shl
(i32.add
(i32.shl
(get_local $12)
(get_local $3)
)
(get_local $14)
)
(i32.const 2)
)
)
(if (result f32)
(i32.and
(tee_local $0
(call $_celt_lcg_rand
(get_local $0)
)
)
(i32.const 32768)
)
(get_local $13)
(get_local $15)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.const 1)
)
)
(br $while-in3)
)
(set_local $12
(i32.const 1)
)
)
)
)
)
(set_local $14
(i32.add
(get_local $14)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(if
(get_local $12)
(call $_renormalise_vector
(get_local $21)
(get_local $27)
(f32.const 1)
)
)
(br_if $while-in
(i32.lt_s
(tee_local $16
(i32.add
(get_local $16)
(i32.const 1)
)
)
(get_local $4)
)
)
(set_local $6
(get_local $26)
)
(br $label$continue$L1)
)
)
)
)
)
(func $_celt_udiv (; 21 ;) (param $0 i32) (param $1 i32) (result i32)
(i32.div_u
(get_local $0)
(get_local $1)
)
)
(func $_haar1 (; 22 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 f32)
(local $6 i32)
(local $7 i32)
(local $8 f32)
(set_local $6
(i32.shr_s
(get_local $1)
(i32.const 1)
)
)
(set_local $7
(i32.shl
(get_local $2)
(i32.const 1)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $1)
(get_local $2)
)
(block
(set_local $3
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $3)
(get_local $6)
)
(block
(set_local $5
(f32.mul
(f32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.shl
(i32.add
(i32.mul
(get_local $7)
(get_local $3)
)
(get_local $1)
)
(i32.const 2)
)
)
)
)
(f32.const 0.7071067690849304)
)
)
(f32.store
(get_local $4)
(f32.add
(get_local $5)
(tee_local $8
(f32.mul
(f32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.shl
(i32.add
(i32.mul
(i32.or
(i32.shl
(get_local $3)
(i32.const 1)
)
(i32.const 1)
)
(get_local $2)
)
(get_local $1)
)
(i32.const 2)
)
)
)
)
(f32.const 0.7071067690849304)
)
)
)
)
(f32.store
(get_local $4)
(f32.sub
(get_local $5)
(get_local $8)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_quant_all_bands (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (param $11 i32) (param $12 i32) (param $13 i32) (param $14 i32) (param $15 i32) (param $16 i32) (param $17 i32) (param $18 i32) (param $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 i32)
(local $33 i32)
(local $34 i32)
(local $35 i32)
(local $36 i32)
(local $37 i32)
(local $38 i32)
(local $39 i32)
(local $40 i32)
(local $41 i32)
(local $42 i32)
(local $43 i32)
(local $44 i32)
(local $45 i32)
(local $46 i32)
(local $47 i32)
(local $48 i32)
(local $49 i32)
(local $50 i32)
(local $51 i32)
(local $52 i32)
(local $53 i32)
(set_local $20
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 64)
)
)
(set_local $27
(i32.load offset=32
(get_local $0)
)
)
(set_local $28
(i32.shl
(i32.const 1)
(get_local $15)
)
)
(set_local $25
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(i32.mul
(tee_local $31
(if (result i32)
(get_local $4)
(i32.const 2)
(i32.const 1)
)
)
(i32.sub
(tee_local $21
(i32.shl
(i32.load16_s
(i32.add
(get_local $27)
(i32.shl
(i32.add
(i32.load offset=8
(get_local $0)
)
(i32.const -1)
)
(i32.const 1)
)
)
)
(get_local $15)
)
)
(tee_local $32
(i32.shl
(i32.load16_s
(tee_local $40
(i32.add
(get_local $27)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
)
)
(get_local $15)
)
)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $34
(i32.add
(i32.add
(get_local $25)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
(i32.shl
(tee_local $33
(i32.sub
(i32.const 0)
(get_local $32)
)
)
(i32.const 2)
)
)
)
(i32.store offset=36
(get_local $20)
(i32.const 0)
)
(i32.store offset=28
(get_local $20)
(get_local $14)
)
(i32.store
(get_local $20)
(i32.const 0)
)
(i32.store offset=16
(get_local $20)
(get_local $10)
)
(i32.store offset=8
(get_local $20)
(get_local $0)
)
(i32.store
(tee_local $41
(i32.add
(get_local $20)
(i32.const 40)
)
)
(i32.load
(get_local $17)
)
)
(i32.store offset=20
(get_local $20)
(get_local $8)
)
(i32.store offset=44
(get_local $20)
(get_local $18)
)
(i32.store offset=52
(get_local $20)
(get_local $19)
)
(i32.store offset=4
(get_local $20)
(i32.const 1)
)
(i32.store
(tee_local $42
(i32.add
(get_local $20)
(i32.const 48)
)
)
(i32.const 0)
)
(i32.store
(tee_local $43
(i32.add
(get_local $20)
(i32.const 56)
)
)
(tee_local $44
(i32.gt_s
(if (result i32)
(get_local $7)
(get_local $28)
(tee_local $28
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(set_local $45
(i32.add
(get_local $20)
(i32.const 12)
)
)
(set_local $46
(i32.add
(get_local $2)
(i32.const -1)
)
)
(set_local $38
(i32.eqz
(get_local $4)
)
)
(set_local $47
(i32.add
(get_local $14)
(i32.const 20)
)
)
(set_local $48
(i32.add
(get_local $14)
(i32.const 28)
)
)
(set_local $49
(i32.add
(get_local $20)
(i32.const 32)
)
)
(set_local $50
(i32.add
(get_local $20)
(i32.const 24)
)
)
(set_local $51
(i32.add
(get_local $0)
(i32.const 12)
)
)
(set_local $19
(i32.add
(i32.shl
(i32.const 1)
(get_local $28)
)
(i32.const -1)
)
)
(set_local $52
(i32.ne
(get_local $8)
(i32.const 3)
)
)
(set_local $22
(i32.const 1)
)
(set_local $7
(i32.const 0)
)
(set_local $8
(get_local $1)
)
(set_local $14
(i32.add
(get_local $3)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $8)
(get_local $2)
)
(block
(i32.store
(get_local $45)
(get_local $8)
)
(set_local $21
(i32.load16_s
(tee_local $29
(i32.add
(get_local $27)
(i32.shl
(get_local $8)
(i32.const 1)
)
)
)
)
)
(set_local $23
(i32.load16_s
(i32.add
(get_local $27)
(i32.shl
(tee_local $53
(i32.add
(get_local $8)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
)
(set_local $37
(call $_ec_tell_frac
(i32.load
(get_local $47)
)
(i32.load
(get_local $48)
)
)
)
(set_local $39
(i32.sub
(get_local $13)
(if (result i32)
(i32.eq
(get_local $8)
(get_local $1)
)
(i32.const 0)
(get_local $37)
)
)
)
(i32.store
(get_local $49)
(i32.add
(tee_local $0
(i32.sub
(get_local $12)
(get_local $37)
)
)
(i32.const -1)
)
)
(set_local $30
(if (result i32)
(i32.lt_s
(get_local $8)
(get_local $16)
)
(block (result i32)
(set_local $13
(call $_celt_sudiv
(get_local $39)
(if (result i32)
(i32.lt_s
(tee_local $13
(i32.sub
(get_local $16)
(get_local $8)
)
)
(i32.const 3)
)
(get_local $13)
(i32.const 3)
)
)
)
(if (result i32)
(i32.and
(i32.lt_s
(if (result i32)
(tee_local $18
(i32.lt_s
(get_local $0)
(tee_local $13
(i32.add
(i32.load
(i32.add
(get_local $6)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(get_local $13)
)
)
)
)
(get_local $0)
(get_local $13)
)
(i32.const 16384)
)
(i32.lt_s
(if (result i32)
(get_local $18)
(get_local $0)
(get_local $13)
)
(i32.const 0)
)
)
(i32.const 0)
(block (result i32)
(set_local $30
(i32.gt_s
(if (result i32)
(get_local $18)
(get_local $0)
(get_local $13)
)
(i32.const 16383)
)
)
(if
(i32.eqz
(get_local $18)
)
(set_local $0
(get_local $13)
)
)
(if (result i32)
(get_local $30)
(i32.const 16383)
(get_local $0)
)
)
)
)
(i32.const 0)
)
)
(if
(i32.ge_s
(i32.sub
(i32.shl
(i32.load16_s
(get_local $29)
)
(get_local $15)
)
(tee_local $26
(i32.sub
(i32.shl
(get_local $23)
(get_local $15)
)
(tee_local $24
(i32.shl
(get_local $21)
(get_local $15)
)
)
)
)
)
(i32.shl
(i32.load16_s
(get_local $40)
)
(get_local $15)
)
)
(if
(i32.or
(get_local $22)
(i32.eqz
(get_local $7)
)
)
(set_local $7
(get_local $8)
)
)
)
(i32.store
(get_local $50)
(tee_local $0
(i32.load
(i32.add
(get_local $11)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
)
)
(set_local $35
(i32.load
(get_local $51)
)
)
(if
(get_local $7)
(if
(i32.or
(i32.or
(get_local $52)
(get_local $44)
)
(i32.lt_s
(get_local $0)
(i32.const 0)
)
)
(block
(set_local $21
(i32.sub
(tee_local $0
(i32.sub
(i32.shl
(i32.load16_s
(i32.add
(get_local $27)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
)
(get_local $15)
)
(get_local $32)
)
)
(get_local $26)
)
)
(set_local $13
(i32.add
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $26)
)
(tee_local $21
(i32.const 0)
)
(get_local $21)
)
(get_local $32)
)
)
(set_local $0
(get_local $7)
)
(loop $while-in1
(br_if $while-in1
(i32.gt_s
(i32.shl
(i32.load16_s
(i32.add
(get_local $27)
(i32.shl
(tee_local $0
(i32.add
(get_local $0)
(i32.const -1)
)
)
(i32.const 1)
)
)
)
(get_local $15)
)
(get_local $13)
)
)
)
(set_local $18
(i32.add
(get_local $13)
(get_local $26)
)
)
(set_local $22
(i32.add
(get_local $7)
(i32.const -1)
)
)
(loop $while-in3
(if
(i32.lt_s
(i32.shl
(i32.load16_s
(i32.add
(get_local $27)
(i32.shl
(tee_local $13
(i32.add
(get_local $22)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(get_local $15)
)
(get_local $18)
)
(block
(set_local $22
(get_local $13)
)
(br $while-in3)
)
(block
(set_local $18
(i32.const 0)
)
(set_local $13
(i32.const 0)
)
)
)
)
(loop $while-in5
(set_local $13
(i32.or
(get_local $13)
(i32.load8_u
(i32.add
(get_local $5)
(tee_local $23
(i32.mul
(get_local $0)
(get_local $31)
)
)
)
)
)
)
(set_local $18
(i32.or
(get_local $18)
(i32.load8_u
(i32.add
(get_local $5)
(i32.add
(i32.add
(get_local $23)
(get_local $31)
)
(i32.const -1)
)
)
)
)
)
(set_local $23
(i32.add
(get_local $0)
(i32.const 1)
)
)
(if
(i32.lt_s
(get_local $0)
(get_local $22)
)
(block
(set_local $0
(get_local $23)
)
(br $while-in5)
)
(set_local $0
(get_local $18)
)
)
)
)
(block
(set_local $21
(i32.const -1)
)
(set_local $13
(tee_local $0
(get_local $19)
)
)
)
)
(block
(set_local $21
(i32.const -1)
)
(set_local $13
(tee_local $0
(get_local $19)
)
)
)
)
(set_local $36
(i32.eq
(get_local $8)
(get_local $46)
)
)
(set_local $22
(i32.add
(get_local $3)
(i32.shl
(get_local $24)
(i32.const 2)
)
)
)
(set_local $18
(i32.add
(get_local $4)
(i32.shl
(get_local $24)
(i32.const 2)
)
)
)
(if
(get_local $38)
(set_local $18
(i32.const 0)
)
)
(set_local $24
(i32.lt_s
(get_local $8)
(get_local $35)
)
)
(set_local $23
(if (result i32)
(get_local $38)
(i32.const 0)
(get_local $25)
)
)
(if
(i32.eqz
(get_local $24)
)
(set_local $14
(i32.const 0)
)
)
(if
(i32.eqz
(get_local $24)
)
(set_local $22
(get_local $25)
)
)
(if
(get_local $24)
(set_local $23
(get_local $18)
)
)
(if
(get_local $36)
(set_local $14
(i32.const 0)
)
)
(block $do-once
(block $__rjti$0
(br_if $__rjti$0
(i32.eqz
(get_local $9)
)
)
(if
(i32.eq
(get_local $8)
(get_local $10)
)
(block
(set_local $18
(i32.add
(get_local $27)
(i32.shl
(get_local $10)
(i32.const 1)
)
)
)
(set_local $9
(i32.const 0)
)
(loop $while-in7
(if
(i32.lt_s
(get_local $9)
(i32.sub
(i32.shl
(i32.load16_s
(get_local $18)
)
(get_local $15)
)
(get_local $32)
)
)
(block
(f32.store
(tee_local $24
(i32.add
(get_local $25)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
(f32.mul
(f32.add
(f32.load
(get_local $24)
)
(f32.load
(i32.add
(get_local $34)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
)
(f32.const 0.5)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in7)
)
(br $__rjti$0)
)
)
)
)
(set_local $24
(i32.div_s
(get_local $30)
(i32.const 2)
)
)
(set_local $18
(i32.add
(get_local $25)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
)
(if
(tee_local $35
(i32.eq
(get_local $21)
(i32.const -1)
)
)
(set_local $18
(i32.const 0)
)
)
(set_local $21
(if (result i32)
(get_local $36)
(block (result i32)
(set_local $13
(call $_quant_band
(get_local $20)
(get_local $22)
(get_local $26)
(get_local $24)
(get_local $28)
(get_local $18)
(get_local $15)
(i32.const 0)
(f32.const 1)
(get_local $14)
(get_local $13)
)
)
(set_local $18
(i32.add
(get_local $34)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
)
(if
(get_local $35)
(set_local $18
(i32.const 0)
)
)
(i32.const 0)
)
(block (result i32)
(set_local $13
(call $_quant_band
(get_local $20)
(get_local $22)
(get_local $26)
(get_local $24)
(get_local $28)
(get_local $18)
(get_local $15)
(i32.add
(i32.add
(get_local $25)
(i32.shl
(i32.shl
(i32.load16_s
(get_local $29)
)
(get_local $15)
)
(i32.const 2)
)
)
(i32.shl
(get_local $33)
(i32.const 2)
)
)
(f32.const 1)
(get_local $14)
(get_local $13)
)
)
(set_local $18
(i32.add
(get_local $34)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
)
(if
(get_local $35)
(set_local $18
(i32.const 0)
)
)
(i32.add
(i32.add
(get_local $34)
(i32.shl
(i32.shl
(i32.load16_s
(get_local $29)
)
(get_local $15)
)
(i32.const 2)
)
)
(i32.shl
(get_local $33)
(i32.const 2)
)
)
)
)
)
(set_local $18
(call $_quant_band
(get_local $20)
(get_local $23)
(get_local $26)
(get_local $24)
(get_local $28)
(get_local $18)
(get_local $15)
(get_local $21)
(f32.const 1)
(get_local $14)
(get_local $0)
)
)
(set_local $0
(get_local $13)
)
(br $do-once)
)
(set_local $18
(if (result i32)
(get_local $23)
(block (result i32)
(i32.store
(get_local $42)
(i32.const 0)
)
(set_local $18
(if (result i32)
(get_local $36)
(i32.const 0)
(i32.add
(i32.add
(get_local $25)
(i32.shl
(i32.shl
(i32.load16_s
(get_local $29)
)
(get_local $15)
)
(i32.const 2)
)
)
(i32.shl
(get_local $33)
(i32.const 2)
)
)
)
)
(set_local $29
(i32.add
(get_local $25)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
)
(set_local $9
(i32.const 0)
)
(tee_local $0
(call $_quant_band_stereo
(get_local $20)
(get_local $22)
(get_local $23)
(get_local $26)
(get_local $30)
(get_local $28)
(if (result i32)
(i32.eq
(get_local $21)
(i32.const -1)
)
(i32.const 0)
(get_local $29)
)
(get_local $15)
(get_local $18)
(get_local $14)
(i32.or
(get_local $13)
(get_local $0)
)
)
)
)
(block (result i32)
(set_local $18
(if (result i32)
(get_local $36)
(i32.const 0)
(i32.add
(i32.add
(get_local $25)
(i32.shl
(i32.shl
(i32.load16_s
(get_local $29)
)
(get_local $15)
)
(i32.const 2)
)
)
(i32.shl
(get_local $33)
(i32.const 2)
)
)
)
)
(set_local $23
(i32.add
(get_local $25)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
)
(set_local $9
(i32.const 0)
)
(tee_local $0
(call $_quant_band
(get_local $20)
(get_local $22)
(get_local $26)
(get_local $30)
(get_local $28)
(if (result i32)
(i32.eq
(get_local $21)
(i32.const -1)
)
(i32.const 0)
(get_local $23)
)
(get_local $15)
(get_local $18)
(f32.const 1)
(get_local $14)
(i32.or
(get_local $13)
(get_local $0)
)
)
)
)
)
)
)
(i32.store8
(i32.add
(get_local $5)
(tee_local $13
(i32.mul
(get_local $8)
(get_local $31)
)
)
)
(get_local $0)
)
(i32.store8
(i32.add
(get_local $5)
(i32.add
(i32.add
(get_local $13)
(get_local $31)
)
(i32.const -1)
)
)
(get_local $18)
)
(set_local $0
(i32.load
(i32.add
(get_local $6)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
)
(i32.store
(get_local $43)
(i32.const 0)
)
(set_local $22
(i32.gt_s
(get_local $30)
(i32.shl
(get_local $26)
(i32.const 3)
)
)
)
(set_local $13
(i32.add
(get_local $39)
(i32.add
(get_local $0)
(get_local $37)
)
)
)
(set_local $8
(get_local $53)
)
(br $while-in)
)
)
)
(i32.store
(get_local $17)
(i32.load
(get_local $41)
)
)
(set_global $STACKTOP
(get_local $20)
)
)
(func $_celt_sudiv (; 24 ;) (param $0 i32) (param $1 i32) (result i32)
(i32.div_s
(get_local $0)
(get_local $1)
)
)
(func $_quant_band (; 25 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 f32) (param $9 i32) (param $10 i32) (result i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(set_local $13
(i32.load
(get_local $0)
)
)
(set_local $12
(i32.load offset=24
(get_local $0)
)
)
(set_local $18
(call $_celt_udiv
(get_local $2)
(get_local $4)
)
)
(if
(i32.eq
(get_local $2)
(i32.const 1)
)
(block
(call $_quant_band_n1
(get_local $0)
(get_local $1)
(i32.const 0)
(get_local $3)
(get_local $7)
)
(return
(i32.const 1)
)
)
)
(set_local $14
(i32.eq
(get_local $4)
(i32.const 1)
)
)
(set_local $11
(if (result i32)
(i32.gt_s
(get_local $12)
(i32.const 0)
)
(get_local $12)
(i32.const 0)
)
)
(block $do-once
(if
(get_local $9)
(set_local $5
(if (result i32)
(get_local $5)
(block (result i32)
(if
(i32.lt_s
(get_local $12)
(i32.const 1)
)
(br_if $do-once
(i32.eqz
(i32.or
(i32.and
(i32.eqz
(i32.and
(get_local $18)
(i32.const 1)
)
)
(i32.ne
(get_local $12)
(i32.const 0)
)
)
(i32.gt_s
(get_local $4)
(i32.const 1)
)
)
)
)
)
(drop
(call $_memcpy
(get_local $9)
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
(get_local $9)
)
(i32.const 0)
)
)
)
)
(set_local $15
(i32.eqz
(get_local $13)
)
)
(set_local $16
(i32.eqz
(get_local $5)
)
)
(set_local $13
(get_local $10)
)
(set_local $9
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $9)
(get_local $11)
)
(block
(if
(i32.eqz
(get_local $15)
)
(call $_haar1
(get_local $1)
(i32.shr_s
(get_local $2)
(get_local $9)
)
(i32.shl
(i32.const 1)
(get_local $9)
)
)
)
(if
(i32.eqz
(get_local $16)
)
(call $_haar1
(get_local $5)
(i32.shr_s
(get_local $2)
(get_local $9)
)
(i32.shl
(i32.const 1)
(get_local $9)
)
)
)
(set_local $13
(i32.or
(i32.shl
(i32.load8_u
(i32.add
(i32.shr_s
(get_local $13)
(i32.const 4)
)
(i32.const 24974)
)
)
(i32.const 2)
)
(i32.load8_u
(i32.add
(i32.and
(get_local $13)
(i32.const 15)
)
(i32.const 24974)
)
)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $10
(i32.shl
(get_local $18)
(get_local $11)
)
)
(set_local $9
(i32.shr_s
(get_local $4)
(get_local $11)
)
)
(set_local $4
(get_local $13)
)
(loop $while-in1
(if
(i32.and
(i32.eqz
(i32.and
(get_local $10)
(i32.const 1)
)
)
(i32.lt_s
(get_local $12)
(i32.const 0)
)
)
(block
(if
(i32.eqz
(get_local $15)
)
(call $_haar1
(get_local $1)
(get_local $10)
(get_local $9)
)
)
(if
(i32.eqz
(get_local $16)
)
(call $_haar1
(get_local $5)
(get_local $10)
(get_local $9)
)
)
(set_local $4
(i32.or
(get_local $4)
(i32.shl
(get_local $4)
(get_local $9)
)
)
)
(set_local $17
(i32.add
(get_local $17)
(i32.const 1)
)
)
(set_local $10
(i32.shr_s
(get_local $10)
(i32.const 1)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.const 1)
)
)
(set_local $9
(i32.shl
(get_local $9)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(if
(tee_local $12
(i32.gt_s
(get_local $9)
(i32.const 1)
)
)
(block
(if
(i32.eqz
(get_local $15)
)
(call $_deinterleave_hadamard
(get_local $1)
(i32.shr_s
(get_local $10)
(get_local $11)
)
(i32.shl
(get_local $9)
(get_local $11)
)
(get_local $14)
)
)
(if
(i32.eqz
(get_local $16)
)
(call $_deinterleave_hadamard
(get_local $5)
(i32.shr_s
(get_local $10)
(get_local $11)
)
(i32.shl
(get_local $9)
(get_local $11)
)
(get_local $14)
)
)
)
)
(set_local $4
(call $_quant_partition
(get_local $0)
(get_local $1)
(get_local $2)
(get_local $3)
(get_local $9)
(get_local $5)
(get_local $6)
(get_local $8)
(get_local $4)
)
)
(if
(i32.eqz
(i32.load offset=4
(get_local $0)
)
)
(return
(get_local $4)
)
)
(set_local $0
(if (result i32)
(get_local $12)
(block (result i32)
(call $_interleave_hadamard
(get_local $1)
(i32.shr_s
(get_local $10)
(get_local $11)
)
(i32.shl
(get_local $9)
(get_local $11)
)
(get_local $14)
)
(set_local $5
(i32.const 0)
)
(set_local $3
(get_local $10)
)
(get_local $9)
)
(block (result i32)
(set_local $5
(i32.const 0)
)
(set_local $3
(get_local $10)
)
(get_local $9)
)
)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $5)
(get_local $17)
)
(block
(call $_haar1
(get_local $1)
(tee_local $3
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(tee_local $0
(i32.shr_s
(get_local $0)
(i32.const 1)
)
)
)
(set_local $4
(i32.or
(get_local $4)
(i32.shr_u
(get_local $4)
(get_local $0)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in3)
)
(set_local $3
(i32.const 0)
)
)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $3)
(get_local $11)
)
(block
(set_local $4
(i32.load8_u
(i32.add
(get_local $4)
(i32.const 24990)
)
)
)
(call $_haar1
(get_local $1)
(i32.shr_s
(get_local $2)
(get_local $3)
)
(i32.shl
(i32.const 1)
(get_local $3)
)
)
(set_local $4
(i32.and
(get_local $4)
(i32.const 255)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(set_local $3
(i32.shl
(get_local $0)
(get_local $11)
)
)
(block $label$break$L51
(if
(get_local $7)
(block
(set_local $8
(f32.demote/f64
(f64.sqrt
(f64.convert_s/i32
(get_local $2)
)
)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in8
(br_if $label$break$L51
(i32.ge_s
(get_local $0)
(get_local $2)
)
)
(f32.store
(i32.add
(get_local $7)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(f32.mul
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(get_local $8)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in8)
)
)
)
)
(i32.and
(get_local $4)
(i32.add
(i32.shl
(i32.const 1)
(get_local $3)
)
(i32.const -1)
)
)
)
(func $_quant_band_stereo (; 26 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (result i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 f32)
(local $16 i32)
(local $17 i32)
(local $18 f32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 f32)
(set_local $13
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 32)
)
)
(i32.store
(tee_local $11
(i32.add
(get_local $13)
(i32.const 28)
)
)
(get_local $4)
)
(i32.store
(tee_local $16
(i32.add
(get_local $13)
(i32.const 24)
)
)
(get_local $10)
)
(set_local $19
(i32.load
(get_local $0)
)
)
(set_local $12
(i32.load offset=28
(get_local $0)
)
)
(if
(i32.eq
(get_local $3)
(i32.const 1)
)
(block
(call $_quant_band_n1
(get_local $0)
(get_local $1)
(get_local $2)
(get_local $4)
(get_local $8)
)
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.const 1)
)
)
)
(call $_compute_theta
(get_local $0)
(get_local $13)
(get_local $1)
(get_local $2)
(get_local $3)
(get_local $11)
(get_local $5)
(get_local $5)
(get_local $7)
(i32.const 1)
(get_local $16)
)
(set_local $20
(i32.load
(get_local $13)
)
)
(set_local $14
(i32.load offset=16
(get_local $13)
)
)
(set_local $17
(i32.load offset=20
(get_local $13)
)
)
(set_local $18
(f32.mul
(f32.convert_s/i32
(i32.load offset=4
(get_local $13)
)
)
(f32.const 0.000030517578125)
)
)
(set_local $15
(f32.mul
(f32.convert_s/i32
(i32.load offset=8
(get_local $13)
)
)
(f32.const 0.000030517578125)
)
)
(if
(tee_local $21
(i32.eq
(get_local $3)
(i32.const 2)
)
)
(block
(set_local $11
(i32.load
(get_local $11)
)
)
(block $__rjto$0
(block $__rjti$0
(if
(i32.lt_s
(get_local $14)
(i32.const 16384)
)
(block $switch
(block $switch-default
(block $switch-case
(br_table $switch-case $switch-default
(get_local $14)
)
)
(set_local $4
(i32.const 0)
)
(br $switch)
)
(br $__rjti$0)
)
(block $switch0
(block $switch-default2
(block $switch-case1
(br_table $switch-case1 $switch-default2
(i32.sub
(get_local $14)
(i32.const 16384)
)
)
)
(set_local $4
(i32.const 0)
)
(br $switch0)
)
(br $__rjti$0)
)
)
(br $__rjto$0)
)
(set_local $4
(i32.const 8)
)
)
(set_local $16
(i32.sub
(get_local $11)
(get_local $4)
)
)
(i32.store
(tee_local $11
(i32.add
(get_local $0)
(i32.const 32)
)
)
(i32.sub
(i32.load
(get_local $11)
)
(i32.add
(get_local $17)
(get_local $4)
)
)
)
(set_local $14
(if (result i32)
(tee_local $11
(i32.gt_s
(get_local $14)
(i32.const 8192)
)
)
(get_local $2)
(get_local $1)
)
)
(set_local $11
(if (result i32)
(get_local $11)
(get_local $1)
(get_local $2)
)
)
(if
(get_local $4)
(if
(get_local $19)
(call $_ec_enc_bits
(get_local $12)
(tee_local $12
(f32.lt
(f32.sub
(f32.mul
(f32.load
(get_local $14)
)
(f32.load offset=4
(get_local $11)
)
)
(f32.mul
(f32.load offset=4
(get_local $14)
)
(f32.load
(get_local $11)
)
)
)
(f32.const 0)
)
)
(i32.const 1)
)
(set_local $12
(call $_ec_dec_bits
(get_local $12)
(i32.const 1)
)
)
)
(set_local $12
(i32.const 0)
)
)
(set_local $4
(call $_quant_band
(get_local $0)
(get_local $14)
(i32.const 2)
(get_local $16)
(get_local $5)
(get_local $6)
(get_local $7)
(get_local $8)
(f32.const 1)
(get_local $9)
(get_local $10)
)
)
(f32.store
(get_local $11)
(f32.mul
(f32.load offset=4
(get_local $14)
)
(f32.convert_s/i32
(i32.sub
(i32.const 0)
(tee_local $5
(i32.sub
(i32.const 1)
(i32.shl
(get_local $12)
(i32.const 1)
)
)
)
)
)
)
)
(f32.store offset=4
(get_local $11)
(f32.mul
(f32.load
(get_local $14)
)
(f32.convert_s/i32
(get_local $5)
)
)
)
(if
(i32.load offset=4
(get_local $0)
)
(block
(f32.store
(get_local $1)
(f32.mul
(get_local $18)
(f32.load
(get_local $1)
)
)
)
(f32.store
(tee_local $6
(i32.add
(get_local $1)
(i32.const 4)
)
)
(f32.mul
(get_local $18)
(f32.load
(get_local $6)
)
)
)
(f32.store
(get_local $2)
(tee_local $22
(f32.mul
(get_local $15)
(f32.load
(get_local $2)
)
)
)
)
(f32.store
(tee_local $5
(i32.add
(get_local $2)
(i32.const 4)
)
)
(f32.mul
(get_local $15)
(f32.load
(get_local $5)
)
)
)
(f32.store
(get_local $1)
(f32.sub
(tee_local $15
(f32.load
(get_local $1)
)
)
(get_local $22)
)
)
(f32.store
(get_local $2)
(f32.add
(get_local $15)
(f32.load
(get_local $2)
)
)
)
(f32.store
(get_local $6)
(f32.sub
(tee_local $15
(f32.load
(get_local $6)
)
)
(f32.load
(get_local $5)
)
)
)
(f32.store
(get_local $5)
(f32.add
(get_local $15)
(f32.load
(get_local $5)
)
)
)
)
)
)
(block
(set_local $4
(i32.div_s
(i32.sub
(tee_local $10
(i32.load
(get_local $11)
)
)
(i32.load offset=12
(get_local $13)
)
)
(i32.const 2)
)
)
(set_local $12
(i32.lt_s
(if (result i32)
(tee_local $11
(i32.lt_s
(get_local $10)
(get_local $4)
)
)
(get_local $10)
(get_local $4)
)
(i32.const 0)
)
)
(if
(get_local $11)
(set_local $4
(get_local $10)
)
)
(set_local $10
(i32.sub
(get_local $10)
(if (result i32)
(get_local $12)
(tee_local $4
(i32.const 0)
)
(get_local $4)
)
)
)
(set_local $17
(i32.sub
(i32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.const 32)
)
)
)
(get_local $17)
)
)
(i32.store
(get_local $12)
(get_local $17)
)
(set_local $11
(i32.load
(get_local $16)
)
)
(set_local $4
(if (result i32)
(i32.lt_s
(get_local $4)
(get_local $10)
)
(block (result i32)
(set_local $16
(call $_quant_band
(get_local $0)
(get_local $2)
(get_local $3)
(get_local $10)
(get_local $5)
(i32.const 0)
(get_local $7)
(i32.const 0)
(get_local $15)
(i32.const 0)
(i32.shr_s
(get_local $11)
(get_local $5)
)
)
)
(set_local $12
(i32.add
(tee_local $10
(i32.add
(get_local $10)
(i32.sub
(i32.load
(get_local $12)
)
(get_local $17)
)
)
)
(i32.const -24)
)
)
(i32.or
(get_local $16)
(call $_quant_band
(get_local $0)
(get_local $1)
(get_local $3)
(i32.add
(get_local $4)
(if (result i32)
(i32.or
(i32.lt_s
(get_local $10)
(i32.const 25)
)
(i32.eq
(get_local $14)
(i32.const 16384)
)
)
(i32.const 0)
(get_local $12)
)
)
(get_local $5)
(get_local $6)
(get_local $7)
(get_local $8)
(f32.const 1)
(get_local $9)
(get_local $11)
)
)
)
(block (result i32)
(set_local $6
(call $_quant_band
(get_local $0)
(get_local $1)
(get_local $3)
(get_local $4)
(get_local $5)
(get_local $6)
(get_local $7)
(get_local $8)
(f32.const 1)
(get_local $9)
(get_local $11)
)
)
(set_local $8
(i32.add
(tee_local $4
(i32.add
(get_local $4)
(i32.sub
(i32.load
(get_local $12)
)
(get_local $17)
)
)
)
(i32.const -24)
)
)
(i32.or
(get_local $6)
(call $_quant_band
(get_local $0)
(get_local $2)
(get_local $3)
(i32.add
(get_local $10)
(if (result i32)
(i32.or
(i32.lt_s
(get_local $4)
(i32.const 25)
)
(i32.eqz
(get_local $14)
)
)
(i32.const 0)
(get_local $8)
)
)
(get_local $5)
(i32.const 0)
(get_local $7)
(i32.const 0)
(get_local $15)
(i32.const 0)
(i32.shr_s
(get_local $11)
(get_local $5)
)
)
)
)
)
)
)
)
(if
(i32.eqz
(i32.load offset=4
(get_local $0)
)
)
(block
(set_global $STACKTOP
(get_local $13)
)
(return
(get_local $4)
)
)
)
(if
(i32.eqz
(get_local $21)
)
(call $_stereo_merge
(get_local $1)
(get_local $2)
(get_local $18)
(get_local $3)
)
)
(if
(get_local $20)
(set_local $0
(i32.const 0)
)
(block
(set_global $STACKTOP
(get_local $13)
)
(return
(get_local $4)
)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $0)
(get_local $3)
)
(block
(f32.store
(tee_local $1
(i32.add
(get_local $2)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(f32.neg
(f32.load
(get_local $1)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_global $STACKTOP
(get_local $13)
)
(get_local $4)
)
(func $_quant_band_n1 (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(set_local $6
(i32.load offset=28
(get_local $0)
)
)
(set_local $7
(i32.eqz
(i32.load
(get_local $0)
)
)
)
(if
(i32.gt_s
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 32)
)
)
)
(i32.const 7)
)
(block
(if
(get_local $7)
(set_local $3
(call $_ec_dec_bits
(get_local $6)
(i32.const 1)
)
)
(call $_ec_enc_bits
(get_local $6)
(tee_local $3
(f32.lt
(f32.load
(get_local $1)
)
(f32.const 0)
)
)
(i32.const 1)
)
)
(i32.store
(get_local $5)
(i32.add
(i32.load
(get_local $5)
)
(i32.const -8)
)
)
)
(set_local $3
(i32.const 0)
)
)
(if
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 4)
)
)
)
(f32.store
(get_local $1)
(if (result f32)
(get_local $3)
(f32.const -1)
(f32.const 1)
)
)
)
(set_local $9
(if (result i32)
(tee_local $0
(i32.ne
(get_local $2)
(i32.const 0)
)
)
(i32.const 2)
(i32.const 1)
)
)
(if
(get_local $0)
(block
(set_local $3
(i32.const 1)
)
(loop $while-in
(if
(i32.gt_s
(i32.load
(get_local $5)
)
(i32.const 7)
)
(block
(if
(get_local $7)
(set_local $0
(call $_ec_dec_bits
(get_local $6)
(i32.const 1)
)
)
(call $_ec_enc_bits
(get_local $6)
(tee_local $0
(f32.lt
(f32.load
(get_local $2)
)
(f32.const 0)
)
)
(i32.const 1)
)
)
(i32.store
(get_local $5)
(i32.add
(i32.load
(get_local $5)
)
(i32.const -8)
)
)
)
(set_local $0
(i32.const 0)
)
)
(if
(i32.load
(get_local $8)
)
(f32.store
(get_local $2)
(if (result f32)
(get_local $0)
(f32.const -1)
(f32.const 1)
)
)
)
(br_if $while-in
(i32.lt_s
(tee_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(get_local $9)
)
)
)
)
)
(if
(i32.eqz
(get_local $4)
)
(return)
)
(i32.store
(get_local $4)
(i32.load
(get_local $1)
)
)
)
(func $_deinterleave_hadamard (; 28 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(set_local $7
(get_global $STACKTOP)
)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(tee_local $8
(i32.mul
(get_local $1)
(get_local $2)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(if
(i32.eqz
(get_local $3)
)
(block
(set_local $3
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $3)
(get_local $2)
)
(block
(set_local $6
(i32.mul
(get_local $3)
(get_local $1)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $4)
(get_local $1)
)
(block
(i32.store
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $6)
(get_local $4)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(i32.add
(i32.mul
(get_local $4)
(get_local $2)
)
(get_local $3)
)
(i32.const 2)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(drop
(call $_memcpy
(get_local $0)
(get_local $5)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $7)
)
(return)
)
)
(set_local $6
(i32.add
(i32.shl
(get_local $2)
(i32.const 2)
)
(i32.const 2504)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $3)
(get_local $2)
)
(block
(set_local $9
(i32.add
(get_local $6)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $4)
(get_local $1)
)
(block
(i32.store
(i32.add
(get_local $5)
(i32.shl
(i32.add
(i32.mul
(i32.load
(get_local $9)
)
(get_local $1)
)
(get_local $4)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(i32.add
(i32.mul
(get_local $4)
(get_local $2)
)
(get_local $3)
)
(i32.const 2)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(drop
(call $_memcpy
(get_local $0)
(get_local $5)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $7)
)
)
(func $_quant_partition (; 29 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 f32) (param $8 i32) (result i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 f32)
(local $19 f32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(set_local $9
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 32)
)
)
(i32.store
(tee_local $12
(i32.add
(tee_local $10
(get_local $9)
)
(i32.const 28)
)
)
(get_local $3)
)
(i32.store
(tee_local $13
(i32.add
(get_local $10)
(i32.const 24)
)
)
(get_local $8)
)
(set_local $20
(i32.load
(get_local $0)
)
)
(set_local $16
(i32.load offset=20
(get_local $0)
)
)
(set_local $17
(i32.load offset=28
(get_local $0)
)
)
(set_local $9
(i32.add
(tee_local $11
(i32.load offset=100
(tee_local $14
(i32.load offset=8
(get_local $0)
)
)
)
)
(i32.load16_s
(i32.add
(tee_local $21
(i32.load offset=96
(get_local $14)
)
)
(i32.shl
(i32.add
(i32.mul
(i32.add
(get_local $6)
(i32.const 1)
)
(tee_local $22
(i32.load offset=8
(get_local $14)
)
)
)
(tee_local $15
(i32.load offset=12
(get_local $0)
)
)
)
(i32.const 1)
)
)
)
)
)
(if
(i32.ne
(get_local $6)
(i32.const -1)
)
(if
(i32.and
(i32.lt_s
(i32.add
(i32.load8_u
(i32.add
(get_local $9)
(i32.load8_u
(get_local $9)
)
)
)
(i32.const 12)
)
(get_local $3)
)
(i32.gt_s
(get_local $2)
(i32.const 2)
)
)
(block
(if
(i32.eq
(get_local $4)
(i32.const 1)
)
(i32.store
(get_local $13)
(i32.or
(i32.and
(get_local $8)
(i32.const 1)
)
(i32.shl
(get_local $8)
(i32.const 1)
)
)
)
)
(call $_compute_theta
(get_local $0)
(get_local $10)
(get_local $1)
(tee_local $16
(i32.add
(get_local $1)
(i32.shl
(tee_local $8
(i32.shr_s
(get_local $2)
(i32.const 1)
)
)
(i32.const 2)
)
)
)
(get_local $8)
(get_local $12)
(tee_local $9
(i32.shr_s
(i32.add
(get_local $4)
(i32.const 1)
)
(i32.const 1)
)
)
(get_local $4)
(tee_local $14
(i32.add
(get_local $6)
(i32.const -1)
)
)
(i32.const 0)
(get_local $13)
)
(set_local $2
(i32.load offset=12
(get_local $10)
)
)
(set_local $17
(i32.load offset=20
(get_local $10)
)
)
(set_local $18
(f32.mul
(f32.convert_s/i32
(i32.load offset=4
(get_local $10)
)
)
(f32.const 0.000030517578125)
)
)
(set_local $19
(f32.mul
(f32.convert_s/i32
(i32.load offset=8
(get_local $10)
)
)
(f32.const 0.000030517578125)
)
)
(if
(i32.eqz
(i32.or
(i32.lt_s
(get_local $4)
(i32.const 2)
)
(i32.eqz
(i32.and
(tee_local $11
(i32.load offset=16
(get_local $10)
)
)
(i32.const 16383)
)
)
)
)
(if
(i32.gt_s
(get_local $11)
(i32.const 8192)
)
(set_local $2
(i32.sub
(get_local $2)
(i32.shr_s
(get_local $2)
(i32.sub
(i32.const 5)
(get_local $6)
)
)
)
)
(if
(i32.ge_s
(tee_local $2
(i32.add
(get_local $2)
(i32.shr_s
(i32.shl
(get_local $8)
(i32.const 3)
)
(i32.sub
(i32.const 6)
(get_local $6)
)
)
)
)
(i32.const 0)
)
(set_local $2
(i32.const 0)
)
)
)
)
(set_local $2
(i32.div_s
(i32.sub
(tee_local $3
(i32.load
(get_local $12)
)
)
(get_local $2)
)
(i32.const 2)
)
)
(set_local $15
(i32.lt_s
(if (result i32)
(tee_local $6
(i32.lt_s
(get_local $3)
(get_local $2)
)
)
(get_local $3)
(get_local $2)
)
(i32.const 0)
)
)
(if
(get_local $6)
(set_local $2
(get_local $3)
)
)
(set_local $6
(i32.sub
(get_local $3)
(if (result i32)
(get_local $15)
(tee_local $2
(i32.const 0)
)
(get_local $2)
)
)
)
(set_local $12
(i32.sub
(i32.load
(tee_local $15
(i32.add
(get_local $0)
(i32.const 32)
)
)
)
(get_local $17)
)
)
(i32.store
(get_local $15)
(get_local $12)
)
(set_local $3
(i32.add
(get_local $5)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(if
(i32.eqz
(get_local $5)
)
(set_local $3
(i32.const 0)
)
)
(if
(i32.lt_s
(get_local $2)
(get_local $6)
)
(block
(set_local $4
(i32.shl
(call $_quant_partition
(get_local $0)
(get_local $16)
(get_local $8)
(get_local $6)
(get_local $9)
(get_local $3)
(get_local $14)
(f32.mul
(get_local $19)
(get_local $7)
)
(i32.shr_s
(tee_local $3
(i32.load
(get_local $13)
)
)
(get_local $9)
)
)
(i32.shr_s
(get_local $4)
(i32.const 1)
)
)
)
(set_local $13
(i32.add
(tee_local $6
(i32.add
(get_local $6)
(i32.sub
(i32.load
(get_local $15)
)
(get_local $12)
)
)
)
(i32.const -24)
)
)
(set_local $0
(i32.or
(get_local $4)
(call $_quant_partition
(get_local $0)
(get_local $1)
(get_local $8)
(i32.add
(get_local $2)
(if (result i32)
(i32.or
(i32.lt_s
(get_local $6)
(i32.const 25)
)
(i32.eq
(get_local $11)
(i32.const 16384)
)
)
(i32.const 0)
(get_local $13)
)
)
(get_local $9)
(get_local $5)
(get_local $14)
(f32.mul
(get_local $18)
(get_local $7)
)
(get_local $3)
)
)
)
(set_global $STACKTOP
(get_local $10)
)
(return
(get_local $0)
)
)
(block
(set_local $5
(call $_quant_partition
(get_local $0)
(get_local $1)
(get_local $8)
(get_local $2)
(get_local $9)
(get_local $5)
(get_local $14)
(f32.mul
(get_local $18)
(get_local $7)
)
(tee_local $1
(i32.load
(get_local $13)
)
)
)
)
(set_local $13
(i32.add
(tee_local $2
(i32.add
(get_local $2)
(i32.sub
(i32.load
(get_local $15)
)
(get_local $12)
)
)
)
(i32.const -24)
)
)
(set_local $0
(i32.or
(get_local $5)
(i32.shl
(call $_quant_partition
(get_local $0)
(get_local $16)
(get_local $8)
(i32.add
(get_local $6)
(if (result i32)
(i32.or
(i32.lt_s
(get_local $2)
(i32.const 25)
)
(i32.eqz
(get_local $11)
)
)
(i32.const 0)
(get_local $13)
)
)
(get_local $9)
(get_local $3)
(get_local $14)
(f32.mul
(get_local $19)
(get_local $7)
)
(i32.shr_s
(get_local $1)
(get_local $9)
)
)
(i32.shr_s
(get_local $4)
(i32.const 1)
)
)
)
)
(set_global $STACKTOP
(get_local $10)
)
(return
(get_local $0)
)
)
)
)
)
)
(set_local $9
(call $_pulses2bits
(get_local $14)
(get_local $15)
(get_local $6)
(tee_local $3
(call $_bits2pulses
(get_local $22)
(get_local $21)
(get_local $11)
(get_local $15)
(get_local $6)
(get_local $3)
)
)
)
)
(set_local $11
(i32.sub
(i32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.const 32)
)
)
)
(get_local $9)
)
)
(loop $while-in
(i32.store
(get_local $12)
(get_local $11)
)
(if
(i32.and
(i32.lt_s
(get_local $11)
(i32.const 0)
)
(i32.gt_s
(get_local $3)
(i32.const 0)
)
)
(block
(i32.store
(get_local $12)
(tee_local $11
(i32.add
(get_local $11)
(get_local $9)
)
)
)
(set_local $11
(i32.sub
(get_local $11)
(tee_local $9
(call $_pulses2bits
(get_local $14)
(get_local $15)
(get_local $6)
(tee_local $3
(i32.add
(get_local $3)
(i32.const -1)
)
)
)
)
)
)
(br $while-in)
)
)
)
(if
(get_local $3)
(block
(set_local $3
(call $_get_pulses
(get_local $3)
)
)
(if
(get_local $20)
(block
(set_local $0
(call $_alg_quant
(get_local $1)
(get_local $2)
(get_local $3)
(get_local $16)
(get_local $4)
(get_local $17)
(get_local $7)
(i32.load offset=4
(get_local $0)
)
)
)
(set_global $STACKTOP
(get_local $10)
)
(return
(get_local $0)
)
)
(block
(set_local $0
(call $_alg_unquant
(get_local $1)
(get_local $2)
(get_local $3)
(get_local $16)
(get_local $4)
(get_local $17)
(get_local $7)
)
)
(set_global $STACKTOP
(get_local $10)
)
(return
(get_local $0)
)
)
)
)
)
(if
(i32.eqz
(i32.load offset=4
(get_local $0)
)
)
(block
(set_global $STACKTOP
(get_local $10)
)
(return
(i32.const 0)
)
)
)
(i32.store
(get_local $13)
(tee_local $3
(i32.and
(tee_local $4
(i32.add
(i32.shl
(i32.const 1)
(get_local $4)
)
(i32.const -1)
)
)
(get_local $8)
)
)
)
(if
(i32.eqz
(get_local $3)
)
(block
(drop
(call $_memset
(get_local $1)
(i32.const 0)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $10)
)
(return
(i32.const 0)
)
)
)
(set_local $6
(i32.add
(get_local $0)
(i32.const 40)
)
)
(if
(get_local $5)
(block
(set_local $0
(i32.const 0)
)
(loop $while-in4
(if
(i32.lt_s
(get_local $0)
(get_local $2)
)
(block
(i32.store
(get_local $6)
(tee_local $4
(call $_celt_lcg_rand
(i32.load
(get_local $6)
)
)
)
)
(f32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(f32.add
(f32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(if (result f32)
(i32.and
(get_local $4)
(i32.const 32768)
)
(f32.const 0.00390625)
(f32.const -0.00390625)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in4)
)
(set_local $0
(get_local $3)
)
)
)
)
(block
(set_local $0
(i32.const 0)
)
(loop $while-in2
(if
(i32.lt_s
(get_local $0)
(get_local $2)
)
(block
(i32.store
(get_local $6)
(tee_local $3
(call $_celt_lcg_rand
(i32.load
(get_local $6)
)
)
)
)
(f32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(f32.convert_s/i32
(i32.shr_s
(get_local $3)
(i32.const 20)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in2)
)
(set_local $0
(get_local $4)
)
)
)
)
)
(call $_renormalise_vector
(get_local $1)
(get_local $2)
(get_local $7)
)
(set_global $STACKTOP
(get_local $10)
)
(get_local $0)
)
(func $_interleave_hadamard (; 30 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(set_local $7
(get_global $STACKTOP)
)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(tee_local $8
(i32.mul
(get_local $1)
(get_local $2)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(if
(i32.eqz
(get_local $3)
)
(block
(set_local $3
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $3)
(get_local $2)
)
(block
(set_local $6
(i32.mul
(get_local $3)
(get_local $1)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $4)
(get_local $1)
)
(block
(i32.store
(i32.add
(get_local $5)
(i32.shl
(i32.add
(i32.mul
(get_local $4)
(get_local $2)
)
(get_local $3)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(i32.add
(get_local $6)
(get_local $4)
)
(i32.const 2)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(drop
(call $_memcpy
(get_local $0)
(get_local $5)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $7)
)
(return)
)
)
(set_local $6
(i32.add
(i32.shl
(get_local $2)
(i32.const 2)
)
(i32.const 2504)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $3)
(get_local $2)
)
(block
(set_local $9
(i32.add
(get_local $6)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $4)
(get_local $1)
)
(block
(i32.store
(i32.add
(get_local $5)
(i32.shl
(i32.add
(i32.mul
(get_local $4)
(get_local $2)
)
(get_local $3)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(i32.add
(i32.mul
(i32.load
(get_local $9)
)
(get_local $1)
)
(get_local $4)
)
(i32.const 2)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(drop
(call $_memcpy
(get_local $0)
(get_local $5)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $7)
)
)
(func $_compute_theta (; 31 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(set_local $13
(i32.load
(get_local $0)
)
)
(set_local $22
(i32.load offset=16
(get_local $0)
)
)
(set_local $12
(i32.load offset=28
(get_local $0)
)
)
(set_local $17
(i32.load offset=36
(get_local $0)
)
)
(set_local $14
(call $_compute_qn
(get_local $4)
(tee_local $11
(i32.load
(get_local $5)
)
)
(i32.sub
(i32.shr_s
(tee_local $8
(i32.add
(i32.shl
(get_local $8)
(i32.const 3)
)
(i32.load16_s
(i32.add
(i32.load offset=56
(tee_local $18
(i32.load offset=8
(get_local $0)
)
)
)
(i32.shl
(tee_local $16
(i32.load offset=12
(get_local $0)
)
)
(i32.const 1)
)
)
)
)
)
(i32.const 1)
)
(if (result i32)
(i32.and
(i32.eq
(get_local $4)
(i32.const 2)
)
(i32.xor
(tee_local $15
(i32.eqz
(get_local $9)
)
)
(i32.const 1)
)
)
(i32.const 16)
(i32.const 4)
)
)
(get_local $8)
(get_local $9)
)
)
(set_local $8
(if (result i32)
(tee_local $13
(i32.eqz
(get_local $13)
)
)
(i32.const 0)
(call $_stereo_itheta
(get_local $2)
(get_local $3)
(get_local $9)
(get_local $4)
)
)
)
(set_local $21
(call $_ec_tell_frac
(i32.load
(tee_local $19
(i32.add
(get_local $12)
(i32.const 20)
)
)
)
(i32.load
(tee_local $20
(i32.add
(get_local $12)
(i32.const 28)
)
)
)
)
)
(block $label$break$L77
(block $__rjti$5
(if
(i32.eq
(tee_local $9
(if (result i32)
(i32.or
(get_local $15)
(i32.lt_s
(get_local $16)
(get_local $22)
)
)
(get_local $14)
(i32.const 1)
)
)
(i32.const 1)
)
(if
(get_local $15)
(block
(set_local $0
(get_local $8)
)
(set_local $2
(i32.const 0)
)
(br $__rjti$5)
)
(block
(set_local $2
(if (result i32)
(get_local $13)
(i32.const 0)
(block (result i32)
(if
(i32.gt_s
(get_local $8)
(i32.const 8192)
)
(block
(set_local $7
(tee_local $8
(i32.eqz
(i32.load offset=52
(get_local $0)
)
)
)
)
(if
(get_local $8)
(block
(set_local $8
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $8)
(get_local $4)
)
(block
(f32.store
(tee_local $9
(i32.add
(get_local $3)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(f32.neg
(f32.load
(get_local $9)
)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(set_local $7
(i32.const 0)
)
)
)
(set_local $7
(i32.const 0)
)
)
(call $_intensity_stereo
(i32.load offset=8
(get_local $18)
)
(get_local $2)
(get_local $3)
(get_local $17)
(get_local $16)
(get_local $4)
)
(set_local $11
(i32.load
(get_local $5)
)
)
(get_local $7)
)
)
)
(if
(i32.gt_s
(get_local $11)
(i32.const 16)
)
(if
(i32.gt_s
(i32.load offset=32
(get_local $0)
)
(i32.const 16)
)
(if
(get_local $13)
(set_local $2
(call $_ec_dec_bit_logp
(get_local $12)
(i32.const 2)
)
)
(call $_ec_enc_bit_logp
(get_local $12)
(get_local $2)
(i32.const 2)
)
)
(set_local $2
(i32.const 0)
)
)
(set_local $2
(i32.const 0)
)
)
(if
(i32.load offset=52
(get_local $0)
)
(set_local $2
(i32.const 0)
)
)
)
)
(block
(block $__rjto$3
(block $__rjti$3
(block $__rjti$2
(block $__rjti$1
(if
(get_local $13)
(if
(get_local $15)
(block
(set_local $0
(get_local $8)
)
(br $__rjti$1)
)
)
(if
(get_local $15)
(block
(br_if $__rjti$1
(i32.eqz
(i32.and
(i32.and
(i32.ne
(i32.load offset=56
(get_local $0)
)
(i32.const 0)
)
(i32.gt_s
(tee_local $0
(i32.shr_s
(i32.add
(i32.mul
(get_local $8)
(get_local $9)
)
(i32.const 8192)
)
(i32.const 14)
)
)
(i32.const 0)
)
)
(i32.lt_s
(get_local $0)
(get_local $9)
)
)
)
)
(set_local $14
(i32.shr_s
(i32.shl
(call $_bitexact_cos
(i32.and
(tee_local $8
(call $_celt_udiv
(i32.shl
(get_local $0)
(i32.const 14)
)
(get_local $9)
)
)
(i32.const 65535)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(if
(i32.gt_s
(tee_local $8
(i32.shr_s
(i32.add
(i32.mul
(i32.shr_s
(i32.add
(i32.shl
(get_local $4)
(i32.const 23)
)
(i32.const -8388608)
)
(i32.const 16)
)
(i32.shr_s
(i32.shl
(call $_bitexact_log2tan
(i32.shr_s
(i32.shl
(call $_bitexact_cos
(i32.and
(i32.sub
(i32.const 16384)
(get_local $8)
)
(i32.const 65535)
)
)
(i32.const 16)
)
(i32.const 16)
)
(get_local $14)
)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.const 16384)
)
(i32.const 15)
)
)
(get_local $11)
)
(block
(set_local $0
(get_local $9)
)
(br $__rjti$1)
)
)
(if
(i32.lt_s
(get_local $8)
(i32.sub
(i32.const 0)
(get_local $11)
)
)
(set_local $0
(i32.const 0)
)
)
(br $__rjti$1)
)
(set_local $8
(if (result i32)
(tee_local $11
(i32.load offset=48
(get_local $0)
)
)
(block (result i32)
(set_local $7
(i32.lt_s
(tee_local $0
(i32.add
(i32.mul
(get_local $8)
(get_local $9)
)
(i32.div_s
(if (result i32)
(i32.gt_s
(get_local $8)
(i32.const 8192)
)
(i32.const 32767)
(i32.const -32767)
)
(get_local $9)
)
)
)
(i32.const 0)
)
)
(set_local $8
(i32.shr_s
(get_local $0)
(i32.const 14)
)
)
(set_local $8
(i32.gt_s
(get_local $9)
(if (result i32)
(get_local $7)
(i32.const 0)
(get_local $8)
)
)
)
(set_local $14
(i32.add
(get_local $9)
(i32.const -1)
)
)
(set_local $0
(i32.shr_s
(get_local $0)
(i32.const 14)
)
)
(if
(get_local $7)
(set_local $0
(i32.const 0)
)
)
(i32.add
(if (result i32)
(get_local $8)
(get_local $0)
(get_local $14)
)
(i32.xor
(i32.shr_u
(get_local $11)
(i32.const 31)
)
(i32.const 1)
)
)
)
(i32.shr_s
(i32.add
(i32.mul
(get_local $8)
(get_local $9)
)
(i32.const 8192)
)
(i32.const 14)
)
)
)
)
)
(if
(i32.gt_s
(get_local $4)
(i32.const 2)
)
(block
(set_local $14
(i32.add
(tee_local $11
(i32.add
(i32.mul
(tee_local $7
(i32.div_s
(get_local $9)
(i32.const 2)
)
)
(i32.const 3)
)
(i32.const 3)
)
)
(get_local $7)
)
)
(if
(i32.eqz
(get_local $13)
)
(block
(set_local $0
(if (result i32)
(tee_local $15
(i32.gt_s
(get_local $8)
(get_local $7)
)
)
(i32.add
(i32.sub
(i32.add
(get_local $8)
(i32.const -1)
)
(get_local $7)
)
(get_local $11)
)
(i32.mul
(get_local $8)
(i32.const 3)
)
)
)
(set_local $13
(i32.add
(i32.mul
(get_local $8)
(i32.const 3)
)
(i32.const 3)
)
)
(set_local $7
(i32.add
(i32.sub
(get_local $8)
(get_local $7)
)
(get_local $11)
)
)
(call $_ec_encode
(get_local $12)
(get_local $0)
(if (result i32)
(get_local $15)
(get_local $7)
(get_local $13)
)
(get_local $14)
)
(set_local $0
(call $_celt_udiv
(i32.shl
(get_local $8)
(i32.const 14)
)
(get_local $9)
)
)
(br $__rjto$3)
)
)
(set_local $2
(if (result i32)
(tee_local $3
(i32.gt_s
(tee_local $0
(if (result i32)
(i32.lt_s
(tee_local $0
(call $_ec_decode
(get_local $12)
(get_local $14)
)
)
(get_local $11)
)
(i32.div_s
(get_local $0)
(i32.const 3)
)
(i32.add
(i32.add
(get_local $7)
(i32.const 1)
)
(i32.sub
(get_local $0)
(get_local $11)
)
)
)
)
(get_local $7)
)
)
(i32.add
(i32.sub
(i32.add
(get_local $0)
(i32.const -1)
)
(get_local $7)
)
(get_local $11)
)
(i32.mul
(get_local $0)
(i32.const 3)
)
)
)
(set_local $8
(i32.add
(i32.mul
(get_local $0)
(i32.const 3)
)
(i32.const 3)
)
)
(set_local $7
(i32.add
(i32.sub
(get_local $0)
(get_local $7)
)
(get_local $11)
)
)
(call $_ec_dec_update
(get_local $12)
(get_local $2)
(if (result i32)
(get_local $3)
(get_local $7)
(get_local $8)
)
(get_local $14)
)
(br $__rjti$3)
)
(block
(set_local $0
(get_local $8)
)
(br $__rjti$2)
)
)
)
(if
(i32.eqz
(i32.or
(i32.gt_s
(get_local $7)
(i32.const 1)
)
(i32.xor
(get_local $15)
(i32.const 1)
)
)
)
(block
(set_local $3
(i32.mul
(tee_local $7
(i32.add
(tee_local $2
(i32.shr_s
(get_local $9)
(i32.const 1)
)
)
(i32.const 1)
)
)
(get_local $7)
)
)
(if
(get_local $13)
(block
(call $_ec_dec_update
(get_local $12)
(tee_local $7
(if (result i32)
(i32.lt_s
(tee_local $0
(call $_ec_decode
(get_local $12)
(get_local $3)
)
)
(i32.shr_s
(i32.mul
(get_local $2)
(get_local $7)
)
(i32.const 1)
)
)
(block (result i32)
(set_local $2
(i32.add
(tee_local $0
(i32.shr_u
(i32.add
(call $_isqrt32
(i32.or
(i32.shl
(get_local $0)
(i32.const 3)
)
(i32.const 1)
)
)
(i32.const -1)
)
(i32.const 1)
)
)
(i32.const 1)
)
)
(i32.shr_u
(i32.mul
(get_local $0)
(get_local $2)
)
(i32.const 1)
)
)
(i32.sub
(get_local $3)
(i32.shr_s
(i32.mul
(tee_local $2
(i32.sub
(i32.add
(get_local $9)
(i32.const 1)
)
(tee_local $0
(i32.shr_u
(i32.sub
(i32.add
(i32.shl
(get_local $9)
(i32.const 1)
)
(i32.const 2)
)
(call $_isqrt32
(i32.add
(i32.shl
(i32.sub
(get_local $3)
(get_local $0)
)
(i32.const 3)
)
(i32.const -7)
)
)
)
(i32.const 1)
)
)
)
)
(i32.sub
(i32.add
(get_local $9)
(i32.const 2)
)
(get_local $0)
)
)
(i32.const 1)
)
)
)
)
(i32.add
(get_local $7)
(get_local $2)
)
(get_local $3)
)
(br $__rjti$3)
)
(block
(set_local $8
(i32.add
(get_local $0)
(i32.const 1)
)
)
(set_local $11
(i32.sub
(i32.add
(get_local $9)
(i32.const 1)
)
(get_local $0)
)
)
(call $_ec_encode
(get_local $12)
(tee_local $2
(if (result i32)
(tee_local $7
(i32.gt_s
(get_local $0)
(get_local $2)
)
)
(i32.sub
(get_local $3)
(i32.shr_s
(i32.mul
(i32.sub
(i32.add
(get_local $9)
(i32.const 1)
)
(get_local $0)
)
(i32.sub
(i32.add
(get_local $9)
(i32.const 2)
)
(get_local $0)
)
)
(i32.const 1)
)
)
(i32.shr_s
(i32.mul
(get_local $0)
(i32.add
(get_local $0)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(i32.add
(get_local $2)
(if (result i32)
(get_local $7)
(get_local $11)
(get_local $8)
)
)
(get_local $3)
)
(set_local $0
(call $_celt_udiv
(i32.shl
(get_local $0)
(i32.const 14)
)
(get_local $9)
)
)
(set_local $2
(i32.const 0)
)
(br $__rjti$5)
)
)
)
)
)
(set_local $7
(i32.add
(get_local $9)
(i32.const 1)
)
)
(if
(get_local $13)
(block
(set_local $0
(call $_ec_dec_uint
(get_local $12)
(get_local $7)
)
)
(br $__rjti$3)
)
(block
(call $_ec_enc_uint
(get_local $12)
(get_local $0)
(get_local $7)
)
(set_local $0
(call $_celt_udiv
(i32.shl
(get_local $0)
(i32.const 14)
)
(get_local $9)
)
)
(if
(get_local $15)
(block
(set_local $2
(i32.const 0)
)
(br $__rjti$5)
)
)
)
)
(br $__rjto$3)
)
(set_local $0
(call $_celt_udiv
(i32.shl
(get_local $0)
(i32.const 14)
)
(get_local $9)
)
)
(set_local $2
(i32.const 0)
)
(br $__rjti$5)
)
(if
(get_local $0)
(block
(call $_stereo_split
(get_local $2)
(get_local $3)
(get_local $4)
)
(set_local $2
(i32.const 0)
)
(br $__rjti$5)
)
(block
(call $_intensity_stereo
(i32.load offset=8
(get_local $18)
)
(get_local $2)
(get_local $3)
(get_local $17)
(get_local $16)
(get_local $4)
)
(set_local $2
(i32.const 0)
)
)
)
)
)
(set_local $0
(i32.sub
(call $_ec_tell_frac
(i32.load
(get_local $19)
)
(i32.load
(get_local $20)
)
)
(get_local $21)
)
)
(i32.store
(get_local $5)
(i32.sub
(i32.load
(get_local $5)
)
(get_local $0)
)
)
(set_local $4
(i32.const 0)
)
(br $label$break$L77)
)
(set_local $3
(i32.sub
(call $_ec_tell_frac
(i32.load
(get_local $19)
)
(i32.load
(get_local $20)
)
)
(get_local $21)
)
)
(i32.store
(get_local $5)
(i32.sub
(i32.load
(get_local $5)
)
(get_local $3)
)
)
(block $label$break$L79
(if
(i32.lt_s
(get_local $0)
(i32.const 16384)
)
(block $switch-default
(block $switch-case
(br_table $switch-case $switch-default
(get_local $0)
)
)
(set_local $4
(get_local $0)
)
(set_local $0
(get_local $3)
)
(br $label$break$L77)
)
(block
(block $switch10
(block $switch-default12
(block $switch-case11
(br_table $switch-case11 $switch-default12
(i32.sub
(get_local $0)
(i32.const 16384)
)
)
)
(br $switch10)
)
(br $label$break$L79)
)
(i32.store
(get_local $10)
(i32.and
(i32.load
(get_local $10)
)
(i32.shl
(i32.add
(i32.shl
(i32.const 1)
(get_local $6)
)
(i32.const -1)
)
(get_local $6)
)
)
)
(i32.store
(get_local $1)
(i32.const 0)
)
(i32.store offset=4
(get_local $1)
(i32.const 0)
)
(i32.store offset=8
(get_local $1)
(i32.const 32767)
)
(i32.store offset=12
(get_local $1)
(i32.const 16384)
)
(i32.store offset=16
(get_local $1)
(get_local $0)
)
(i32.store offset=20
(get_local $1)
(get_local $3)
)
(return)
)
)
)
(set_local $5
(i32.shr_s
(i32.shl
(call $_bitexact_cos
(i32.and
(get_local $0)
(i32.const 65535)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $4
(i32.shr_s
(i32.add
(i32.mul
(i32.shr_s
(i32.add
(i32.shl
(get_local $4)
(i32.const 23)
)
(i32.const -8388608)
)
(i32.const 16)
)
(i32.shr_s
(i32.shl
(call $_bitexact_log2tan
(tee_local $6
(i32.shr_s
(i32.shl
(call $_bitexact_cos
(i32.and
(i32.sub
(i32.const 16384)
(get_local $0)
)
(i32.const 65535)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(get_local $5)
)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.const 16384)
)
(i32.const 15)
)
)
(i32.store
(get_local $1)
(i32.const 0)
)
(i32.store offset=4
(get_local $1)
(get_local $5)
)
(i32.store offset=8
(get_local $1)
(get_local $6)
)
(i32.store offset=12
(get_local $1)
(get_local $4)
)
(i32.store offset=16
(get_local $1)
(get_local $0)
)
(i32.store offset=20
(get_local $1)
(get_local $3)
)
(return)
)
(i32.store
(get_local $10)
(i32.and
(i32.load
(get_local $10)
)
(i32.add
(i32.shl
(i32.const 1)
(get_local $6)
)
(i32.const -1)
)
)
)
(i32.store
(get_local $1)
(get_local $2)
)
(i32.store offset=4
(get_local $1)
(i32.const 32767)
)
(i32.store offset=8
(get_local $1)
(i32.const 0)
)
(i32.store offset=12
(get_local $1)
(i32.const -16384)
)
(i32.store offset=16
(get_local $1)
(get_local $4)
)
(i32.store offset=20
(get_local $1)
(get_local $0)
)
)
(func $_bits2pulses (; 32 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(local $6 i32)
(set_local $5
(i32.add
(get_local $5)
(i32.const -1)
)
)
(set_local $0
(i32.load8_u
(tee_local $3
(i32.add
(get_local $2)
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(i32.add
(i32.mul
(i32.add
(get_local $4)
(i32.const 1)
)
(get_local $0)
)
(get_local $3)
)
(i32.const 1)
)
)
)
)
)
)
)
(set_local $1
(i32.const 0)
)
(set_local $4
(i32.const 0)
)
(loop $while-in
(if
(i32.ne
(get_local $4)
(i32.const 6)
)
(block
(if
(tee_local $6
(i32.gt_s
(get_local $5)
(i32.load8_u
(i32.add
(get_local $3)
(tee_local $2
(i32.shr_s
(i32.add
(i32.add
(get_local $1)
(get_local $0)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
)
)
(set_local $1
(get_local $2)
)
)
(if
(i32.eqz
(get_local $6)
)
(set_local $0
(get_local $2)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(if (result i32)
(i32.gt_s
(i32.sub
(get_local $5)
(tee_local $2
(if (result i32)
(get_local $1)
(i32.load8_u
(i32.add
(get_local $3)
(get_local $1)
)
)
(i32.const -1)
)
)
)
(i32.sub
(i32.load8_u
(i32.add
(get_local $3)
(get_local $0)
)
)
(get_local $5)
)
)
(get_local $0)
(get_local $1)
)
)
(func $_pulses2bits (; 33 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(if
(i32.eqz
(get_local $3)
)
(return
(i32.const 0)
)
)
(i32.add
(i32.load8_u
(i32.add
(i32.add
(i32.load offset=100
(get_local $0)
)
(i32.load16_s
(i32.add
(i32.load offset=96
(get_local $0)
)
(i32.shl
(i32.add
(i32.mul
(i32.add
(get_local $2)
(i32.const 1)
)
(i32.load offset=8
(get_local $0)
)
)
(get_local $1)
)
(i32.const 1)
)
)
)
)
(get_local $3)
)
)
(i32.const 1)
)
)
(func $_get_pulses (; 34 ;) (param $0 i32) (result i32)
(if
(i32.lt_s
(get_local $0)
(i32.const 8)
)
(return
(get_local $0)
)
)
(i32.shl
(i32.or
(i32.and
(get_local $0)
(i32.const 7)
)
(i32.const 8)
)
(i32.add
(i32.shr_s
(get_local $0)
(i32.const 3)
)
(i32.const -1)
)
)
)
(func $_compute_qn (; 35 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(if
(i32.gt_s
(if (result i32)
(i32.lt_s
(tee_local $3
(i32.add
(i32.sub
(get_local $1)
(get_local $3)
)
(i32.const -32)
)
)
(tee_local $0
(call $_celt_sudiv
(i32.add
(i32.mul
(tee_local $0
(i32.add
(i32.shl
(get_local $0)
(i32.const 1)
)
(if (result i32)
(i32.and
(i32.ne
(get_local $4)
(i32.const 0)
)
(i32.eq
(get_local $0)
(i32.const 2)
)
)
(i32.const -2)
(i32.const -1)
)
)
)
(get_local $2)
)
(get_local $1)
)
(get_local $0)
)
)
)
(tee_local $0
(get_local $3)
)
(get_local $0)
)
(i32.const 64)
)
(set_local $0
(i32.const 64)
)
(if
(i32.lt_s
(get_local $0)
(i32.const 4)
)
(return
(i32.const 1)
)
)
)
(i32.and
(i32.add
(i32.shr_s
(i32.load16_s
(i32.add
(i32.shl
(i32.and
(get_local $0)
(i32.const 7)
)
(i32.const 1)
)
(i32.const 20484)
)
)
(i32.sub
(i32.const 14)
(i32.shr_s
(get_local $0)
(i32.const 3)
)
)
)
(i32.const 1)
)
(i32.const -2)
)
)
(func $_intensity_stereo (; 36 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 f32)
(local $7 f32)
(local $8 f32)
(set_local $8
(f32.add
(f32.sqrt
(f32.add
(f32.add
(f32.mul
(tee_local $6
(f32.load
(i32.add
(get_local $3)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
(get_local $6)
)
(f32.const 1.0000000036274937e-15)
)
(f32.mul
(tee_local $7
(f32.load
(i32.add
(get_local $3)
(i32.shl
(i32.add
(get_local $0)
(get_local $4)
)
(i32.const 2)
)
)
)
)
(get_local $7)
)
)
)
(f32.const 1.0000000036274937e-15)
)
)
(set_local $6
(f32.div
(get_local $6)
(get_local $8)
)
)
(set_local $7
(f32.div
(get_local $7)
(get_local $8)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $0)
(get_local $5)
)
(block
(f32.store
(tee_local $3
(i32.add
(get_local $1)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(f32.add
(f32.mul
(get_local $6)
(f32.load
(get_local $3)
)
)
(f32.mul
(get_local $7)
(f32.load
(i32.add
(get_local $2)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_stereo_split (; 37 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 f32)
(local $6 f32)
(loop $while-in
(if
(i32.lt_s
(get_local $3)
(get_local $2)
)
(block
(set_local $5
(f32.mul
(f32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
(f32.const 0.7071067690849304)
)
)
(f32.store
(get_local $4)
(f32.add
(get_local $5)
(tee_local $6
(f32.mul
(f32.load
(tee_local $4
(i32.add
(get_local $1)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
(f32.const 0.7071067690849304)
)
)
)
)
(f32.store
(get_local $4)
(f32.sub
(get_local $6)
(get_local $5)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_stereo_merge (; 38 ;) (param $0 i32) (param $1 i32) (param $2 f32) (param $3 i32)
(local $4 i32)
(local $5 f32)
(local $6 i32)
(local $7 f32)
(local $8 f32)
(local $9 i32)
(local $10 f32)
(set_local $6
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(f32.store
(tee_local $4
(i32.add
(get_local $6)
(i32.const 4)
)
)
(f32.const 0)
)
(f32.store
(get_local $6)
(f32.const 0)
)
(call $_dual_inner_prod_c
(get_local $1)
(get_local $0)
(get_local $1)
(get_local $3)
(get_local $4)
(get_local $6)
)
(f32.store
(get_local $4)
(tee_local $5
(f32.mul
(f32.load
(get_local $4)
)
(get_local $2)
)
)
)
(set_local $5
(f32.sub
(tee_local $7
(f32.add
(f32.mul
(get_local $2)
(get_local $2)
)
(f32.load
(get_local $6)
)
)
)
(tee_local $8
(f32.mul
(get_local $5)
(f32.const 2)
)
)
)
)
(if
(i32.or
(f32.lt
(tee_local $7
(f32.add
(get_local $7)
(get_local $8)
)
)
(f32.const 6.000000284984708e-04)
)
(f32.lt
(get_local $5)
(f32.const 6.000000284984708e-04)
)
)
(block
(drop
(call $_memcpy
(get_local $1)
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $6)
)
(return)
)
)
(set_local $8
(f32.div
(f32.const 1)
(f32.sqrt
(get_local $5)
)
)
)
(set_local $7
(f32.div
(f32.const 1)
(f32.sqrt
(get_local $7)
)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $4)
(get_local $3)
)
(block
(set_local $5
(f32.mul
(f32.load
(tee_local $9
(i32.add
(get_local $0)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
(get_local $2)
)
)
(f32.store
(get_local $9)
(f32.mul
(get_local $8)
(f32.sub
(get_local $5)
(tee_local $10
(f32.load
(tee_local $9
(i32.add
(get_local $1)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
)
)
)
(f32.store
(get_local $9)
(f32.mul
(get_local $7)
(f32.add
(get_local $5)
(get_local $10)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_global $STACKTOP
(get_local $6)
)
)
(func $_dual_inner_prod_c (; 39 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 i32)
(local $7 f32)
(local $8 f32)
(local $9 f32)
(loop $while-in
(if
(i32.lt_s
(get_local $6)
(get_local $3)
)
(block
(set_local $7
(f32.add
(get_local $7)
(f32.mul
(tee_local $9
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
(f32.load
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
)
)
(set_local $8
(f32.add
(get_local $8)
(f32.mul
(get_local $9)
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(f32.store
(get_local $4)
(get_local $8)
)
(f32.store
(get_local $5)
(get_local $7)
)
)
(func $_resampling_factor (; 40 ;) (param $0 i32) (result i32)
(block $__rjto$0 (result i32)
(block $__rjti$0
(br $__rjto$0
(if (result i32)
(i32.lt_s
(get_local $0)
(i32.const 16000)
)
(if (result i32)
(i32.lt_s
(get_local $0)
(i32.const 12000)
)
(block (result i32)
(block $switch
(block $switch-default
(block $switch-case
(br_table $switch-case $switch-default
(i32.sub
(get_local $0)
(i32.const 8000)
)
)
)
(br $switch)
)
(br $__rjti$0)
)
(i32.const 6)
)
(block (result i32)
(block $switch0
(block $switch-default2
(block $switch-case1
(br_table $switch-case1 $switch-default2
(i32.sub
(get_local $0)
(i32.const 12000)
)
)
)
(br $switch0)
)
(br $__rjti$0)
)
(i32.const 4)
)
)
(block (result i32)
(if
(i32.lt_s
(get_local $0)
(i32.const 24000)
)
(block
(block $switch3
(block $switch-default5
(block $switch-case4
(br_table $switch-case4 $switch-default5
(i32.sub
(get_local $0)
(i32.const 16000)
)
)
)
(br $switch3)
)
(br $__rjti$0)
)
(br $__rjto$0
(i32.const 3)
)
)
)
(if
(i32.ge_s
(get_local $0)
(i32.const 48000)
)
(block $switch6
(block $switch-default8
(block $switch-case7
(br_table $switch-case7 $switch-default8
(i32.sub
(get_local $0)
(i32.const 48000)
)
)
)
(br $__rjto$0
(i32.const 1)
)
)
(br $__rjti$0)
)
)
(block $switch9
(block $switch-default11
(block $switch-case10
(br_table $switch-case10 $switch-default11
(i32.sub
(get_local $0)
(i32.const 24000)
)
)
)
(br $switch9)
)
(br $__rjti$0)
)
(i32.const 2)
)
)
)
)
(i32.const 0)
)
)
(func $_comb_filter (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 f32) (param $6 f32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32)
(local $11 f32)
(local $12 f32)
(local $13 f32)
(local $14 f32)
(local $15 f32)
(local $16 f32)
(local $17 f32)
(local $18 f32)
(local $19 f32)
(local $20 f32)
(local $21 f32)
(local $22 f32)
(if
(i32.and
(f32.eq
(get_local $5)
(f32.const 0)
)
(f32.eq
(get_local $6)
(f32.const 0)
)
)
(block
(if
(i32.eq
(get_local $1)
(get_local $0)
)
(return)
)
(drop
(call $_memmove
(get_local $0)
(get_local $1)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(return)
)
)
(if
(i32.le_s
(get_local $2)
(i32.const 15)
)
(set_local $2
(i32.const 15)
)
)
(set_local $19
(f32.mul
(f32.load
(i32.add
(i32.mul
(get_local $7)
(i32.const 12)
)
(i32.const 2632)
)
)
(get_local $5)
)
)
(set_local $20
(f32.mul
(f32.load
(i32.add
(i32.mul
(get_local $7)
(i32.const 12)
)
(i32.const 2636)
)
)
(get_local $5)
)
)
(set_local $21
(f32.mul
(f32.load
(i32.add
(i32.mul
(get_local $7)
(i32.const 12)
)
(i32.const 2640)
)
)
(get_local $5)
)
)
(set_local $15
(f32.mul
(f32.load
(i32.add
(i32.mul
(get_local $8)
(i32.const 12)
)
(i32.const 2632)
)
)
(get_local $6)
)
)
(set_local $16
(f32.mul
(f32.load
(i32.add
(i32.mul
(get_local $8)
(i32.const 12)
)
(i32.const 2636)
)
)
(get_local $6)
)
)
(set_local $17
(f32.mul
(f32.load
(i32.add
(i32.mul
(get_local $8)
(i32.const 12)
)
(i32.const 2640)
)
)
(get_local $6)
)
)
(set_local $13
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(i32.const 1)
(if (result i32)
(i32.gt_s
(get_local $3)
(i32.const 15)
)
(get_local $3)
(tee_local $3
(i32.const 15)
)
)
)
(i32.const 2)
)
)
)
)
(set_local $14
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(i32.const 0)
(get_local $3)
)
(i32.const 2)
)
)
)
)
(set_local $11
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.xor
(get_local $3)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
(set_local $18
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(i32.const -2)
(get_local $3)
)
(i32.const 2)
)
)
)
)
(if
(i32.and
(i32.and
(f32.eq
(get_local $5)
(get_local $6)
)
(i32.eq
(get_local $2)
(get_local $3)
)
)
(i32.eq
(get_local $7)
(get_local $8)
)
)
(set_local $10
(i32.const 0)
)
)
(set_local $5
(get_local $11)
)
(set_local $7
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(get_local $10)
)
(block
(f32.store
(i32.add
(get_local $0)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(f32.add
(f32.add
(f32.add
(f32.add
(f32.add
(f32.add
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
(f32.mul
(f32.mul
(tee_local $12
(f32.sub
(f32.const 1)
(tee_local $11
(f32.mul
(tee_local $11
(f32.load
(i32.add
(get_local $9)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
)
(get_local $11)
)
)
)
)
(get_local $19)
)
(f32.load
(i32.add
(get_local $1)
(i32.shl
(tee_local $8
(i32.sub
(get_local $7)
(get_local $2)
)
)
(i32.const 2)
)
)
)
)
)
(f32.mul
(f32.mul
(get_local $12)
(get_local $20)
)
(f32.add
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $8)
(i32.const 1)
)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $8)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
)
)
(f32.mul
(f32.mul
(get_local $12)
(get_local $21)
)
(f32.add
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $8)
(i32.const 2)
)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $8)
(i32.const -2)
)
(i32.const 2)
)
)
)
)
)
)
(f32.mul
(f32.mul
(get_local $11)
(get_local $15)
)
(get_local $14)
)
)
(f32.mul
(f32.mul
(get_local $11)
(get_local $16)
)
(f32.add
(get_local $13)
(get_local $5)
)
)
)
(f32.mul
(f32.mul
(get_local $11)
(get_local $17)
)
(f32.add
(tee_local $22
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(i32.sub
(get_local $7)
(get_local $3)
)
(i32.const 2)
)
(i32.const 2)
)
)
)
)
(get_local $18)
)
)
)
)
(set_local $11
(get_local $13)
)
(set_local $12
(get_local $14)
)
(set_local $18
(get_local $5)
)
(set_local $13
(get_local $22)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(set_local $14
(get_local $11)
)
(set_local $5
(get_local $12)
)
(br $while-in)
)
)
)
(if
(f32.ne
(get_local $6)
(f32.const 0)
)
(block
(call $_comb_filter_const_c
(i32.add
(get_local $0)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(get_local $3)
(i32.sub
(get_local $4)
(get_local $7)
)
(get_local $15)
(get_local $16)
(get_local $17)
)
(return)
)
)
(if
(i32.eq
(get_local $1)
(get_local $0)
)
(return)
)
(drop
(call $_memmove
(i32.add
(get_local $0)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
(i32.add
(get_local $1)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
(i32.shl
(i32.sub
(get_local $4)
(get_local $10)
)
(i32.const 2)
)
)
)
)
(func $_comb_filter_const_c (; 42 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 f32) (param $5 f32) (param $6 f32)
(local $7 i32)
(local $8 f32)
(local $9 f32)
(local $10 f32)
(local $11 f32)
(local $12 f32)
(local $13 f32)
(local $14 f32)
(set_local $11
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(i32.const -2)
(get_local $2)
)
(i32.const 2)
)
)
)
)
(set_local $8
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.xor
(get_local $2)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
(set_local $9
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(i32.const 0)
(get_local $2)
)
(i32.const 2)
)
)
)
)
(set_local $10
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(i32.const 1)
(get_local $2)
)
(i32.const 2)
)
)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(get_local $3)
)
(block
(f32.store
(i32.add
(get_local $0)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(f32.add
(f32.add
(f32.add
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
(f32.mul
(get_local $9)
(get_local $4)
)
)
(f32.mul
(f32.add
(get_local $10)
(get_local $8)
)
(get_local $5)
)
)
(f32.mul
(f32.add
(tee_local $12
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(i32.sub
(get_local $7)
(get_local $2)
)
(i32.const 2)
)
(i32.const 2)
)
)
)
)
(get_local $11)
)
(get_local $6)
)
)
)
(set_local $13
(get_local $10)
)
(set_local $14
(get_local $9)
)
(set_local $11
(get_local $8)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(set_local $10
(get_local $12)
)
(set_local $9
(get_local $13)
)
(set_local $8
(get_local $14)
)
(br $while-in)
)
)
)
)
(func $_init_caps (; 43 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(set_local $5
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $6
(i32.add
(get_local $0)
(i32.const 32)
)
)
(set_local $7
(i32.add
(get_local $0)
(i32.const 104)
)
)
(set_local $8
(i32.add
(i32.add
(i32.shl
(get_local $2)
(i32.const 1)
)
(get_local $3)
)
(i32.const -1)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $0)
(tee_local $4
(i32.load
(get_local $5)
)
)
)
(block
(i32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(i32.shr_s
(i32.mul
(i32.mul
(i32.add
(i32.load8_u
(i32.add
(i32.load
(get_local $7)
)
(i32.add
(i32.mul
(get_local $4)
(get_local $8)
)
(get_local $0)
)
)
)
(i32.const 64)
)
(get_local $3)
)
(i32.shl
(i32.sub
(i32.load16_s
(i32.add
(tee_local $9
(i32.load
(get_local $6)
)
)
(i32.shl
(tee_local $4
(i32.add
(get_local $0)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $9)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
)
)
(get_local $2)
)
)
(i32.const 2)
)
)
(set_local $0
(get_local $4)
)
(br $while-in)
)
)
)
)
(func $_celt_decoder_get_size (; 44 ;) (param $0 i32) (result i32)
(local $1 i32)
(call $_opus_custom_decoder_get_size
(i32.load offset=4
(tee_local $1
(call $_opus_custom_mode_create)
)
)
(i32.load offset=8
(get_local $1)
)
(get_local $0)
)
)
(func $_opus_custom_decoder_get_size (; 45 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.add
(i32.add
(i32.add
(i32.shl
(i32.mul
(i32.add
(get_local $0)
(i32.const 2048)
)
(get_local $2)
)
(i32.const 2)
)
(i32.const 92)
)
(i32.mul
(get_local $2)
(i32.const 96)
)
)
(i32.shl
(get_local $1)
(i32.const 5)
)
)
)
(func $_celt_decoder_init (; 46 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(if (result i32)
(tee_local $2
(call $_opus_custom_decoder_init
(get_local $0)
(call $_opus_custom_mode_create)
(get_local $2)
)
)
(get_local $2)
(block (result i32)
(i32.store offset=16
(get_local $0)
(tee_local $0
(call $_resampling_factor
(get_local $1)
)
)
)
(i32.shr_s
(i32.shl
(i32.eqz
(get_local $0)
)
(i32.const 31)
)
(i32.const 31)
)
)
)
)
(func $_opus_custom_decoder_init (; 47 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.gt_u
(get_local $2)
(i32.const 2)
)
(block
(set_global $STACKTOP
(get_local $3)
)
(return
(i32.const -1)
)
)
)
(if
(i32.eqz
(get_local $0)
)
(block
(set_global $STACKTOP
(get_local $3)
)
(return
(i32.const -7)
)
)
)
(drop
(call $_memset
(get_local $0)
(i32.const 0)
(call $_opus_custom_decoder_get_size
(i32.load
(tee_local $4
(i32.add
(get_local $1)
(i32.const 4)
)
)
)
(i32.load offset=8
(get_local $1)
)
(get_local $2)
)
)
)
(i32.store
(get_local $0)
(get_local $1)
)
(i32.store offset=4
(get_local $0)
(i32.load
(get_local $4)
)
)
(i32.store offset=8
(get_local $0)
(get_local $2)
)
(i32.store offset=12
(get_local $0)
(get_local $2)
)
(i32.store offset=16
(get_local $0)
(i32.const 1)
)
(i32.store offset=20
(get_local $0)
(i32.const 0)
)
(i32.store offset=24
(get_local $0)
(i32.load offset=12
(get_local $1)
)
)
(i32.store offset=28
(get_local $0)
(i32.const 1)
)
(i32.store offset=32
(get_local $0)
(i32.const 0)
)
(i32.store offset=36
(get_local $0)
(i32.const 0)
)
(call $_opus_custom_decoder_ctl
(get_local $0)
(i32.const 4028)
(get_local $3)
)
(set_global $STACKTOP
(get_local $3)
)
(i32.const 0)
)
(func $_opus_custom_decoder_ctl (; 48 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(i32.store
(get_local $3)
(get_local $2)
)
(block $__rjto$1
(block $__rjti$1
(block $__rjti$0
(block $switch-default
(block $switch-case10
(block $switch-case9
(block $switch-case8
(block $switch-case7
(block $switch-case6
(block $switch-case5
(block $switch-case4
(block $switch-case3
(block $switch-case2
(block $switch-case1
(block $switch-case0
(block $switch-case
(br_table $switch-case3 $switch-case4 $switch-default $switch-default $switch-case8 $switch-default $switch-case5 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case9 $switch-case10 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case2 $switch-case1 $switch-default $switch-case $switch-default $switch-case0 $switch-default $switch-default $switch-case6 $switch-case7 $switch-default
(i32.sub
(get_local $1)
(i32.const 4027)
)
)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.lt_s
(get_local $2)
(i32.const 0)
)
)
(br_if $__rjti$1
(i32.ge_s
(get_local $2)
(i32.load offset=8
(i32.load
(get_local $0)
)
)
)
)
(i32.store offset=20
(get_local $0)
(get_local $2)
)
(br $__rjti$0)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.lt_s
(get_local $2)
(i32.const 1)
)
)
(br_if $__rjti$1
(i32.gt_s
(get_local $2)
(i32.load offset=8
(i32.load
(get_local $0)
)
)
)
)
(i32.store offset=24
(get_local $0)
(get_local $2)
)
(br $__rjti$0)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.gt_u
(i32.add
(get_local $2)
(i32.const -1)
)
(i32.const 1)
)
)
(i32.store offset=12
(get_local $0)
(get_local $2)
)
(br $__rjti$0)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.eqz
(get_local $2)
)
)
(i32.store
(get_local $2)
(i32.load
(tee_local $0
(i32.add
(get_local $0)
(i32.const 44)
)
)
)
)
(i32.store
(get_local $0)
(i32.const 0)
)
(br $__rjti$0)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.eqz
(get_local $2)
)
)
(i32.store
(get_local $2)
(i32.div_s
(i32.load offset=4
(get_local $0)
)
(i32.load offset=16
(get_local $0)
)
)
)
(br $__rjti$0)
)
(set_local $2
(i32.add
(tee_local $6
(i32.add
(i32.add
(i32.add
(i32.add
(get_local $0)
(i32.const 92)
)
(i32.shl
(i32.mul
(i32.add
(i32.load offset=4
(get_local $0)
)
(i32.const 2048)
)
(tee_local $5
(i32.load offset=8
(get_local $0)
)
)
)
(i32.const 2)
)
)
(i32.shl
(i32.mul
(get_local $5)
(i32.const 24)
)
(i32.const 2)
)
)
(i32.shl
(tee_local $2
(i32.shl
(tee_local $4
(i32.load offset=8
(tee_local $1
(i32.load
(get_local $0)
)
)
)
)
(i32.const 1)
)
)
(i32.const 2)
)
)
)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
(drop
(call $_memset
(i32.add
(get_local $0)
(i32.const 40)
)
(i32.const 0)
(i32.add
(call $_opus_custom_decoder_get_size
(i32.load offset=4
(get_local $1)
)
(get_local $4)
(get_local $5)
)
(i32.const -40)
)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $4)
(i32.shl
(i32.load offset=8
(get_local $1)
)
(i32.const 1)
)
)
(block
(f32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(f32.const -28)
)
(f32.store
(i32.add
(get_local $6)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(f32.const -28)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(set_local $1
(i32.load
(get_local $0)
)
)
(br $while-in)
)
)
)
(i32.store offset=56
(get_local $0)
(i32.const 1)
)
(br $__rjti$0)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.eqz
(get_local $2)
)
)
(i32.store
(get_local $2)
(i32.load offset=60
(get_local $0)
)
)
(br $__rjti$0)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.eqz
(get_local $2)
)
)
(i32.store
(get_local $2)
(i32.load
(get_local $0)
)
)
(br $__rjti$0)
)
(set_local $1
(i32.load
(tee_local $2
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $2)
(i32.const 4)
)
)
(i32.store offset=28
(get_local $0)
(get_local $1)
)
(br $__rjti$0)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.eqz
(get_local $2)
)
)
(i32.store
(get_local $2)
(i32.load offset=40
(get_local $0)
)
)
(br $__rjti$0)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.gt_u
(get_local $2)
(i32.const 1)
)
)
(i32.store offset=32
(get_local $0)
(get_local $2)
)
(br $__rjti$0)
)
(set_local $2
(i32.load
(tee_local $1
(i32.and
(i32.add
(i32.load
(get_local $3)
)
(i32.const 3)
)
(i32.const -4)
)
)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br_if $__rjti$1
(i32.eqz
(get_local $2)
)
)
(i32.store
(get_local $2)
(i32.load offset=32
(get_local $0)
)
)
(br $__rjti$0)
)
(set_global $STACKTOP
(get_local $3)
)
(return)
)
(set_global $STACKTOP
(get_local $3)
)
(return)
)
(set_global $STACKTOP
(get_local $3)
)
)
)
(func $_celt_decode_with_ec (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 f32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 f32)
(local $33 i32)
(local $34 i32)
(local $35 i32)
(local $36 i32)
(local $37 i32)
(local $38 i32)
(local $39 i32)
(local $40 i32)
(local $41 i32)
(local $42 i32)
(local $43 i32)
(local $44 i32)
(local $45 i32)
(local $46 i32)
(local $47 i32)
(local $48 i32)
(local $49 i32)
(local $50 i32)
(local $51 i32)
(local $52 i32)
(local $53 i32)
(local $54 i32)
(local $55 i32)
(local $56 i32)
(local $57 i32)
(local $58 f32)
(set_local $7
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 80)
)
)
(set_local $8
(i32.add
(get_local $7)
(i32.const 32)
)
)
(set_local $38
(i32.add
(get_local $7)
(i32.const 24)
)
)
(set_local $33
(i32.add
(get_local $7)
(i32.const 16)
)
)
(set_local $26
(i32.load offset=8
(get_local $0)
)
)
(i32.store
(tee_local $46
(i32.add
(tee_local $30
(get_local $7)
)
(i32.const 8)
)
)
(i32.const 0)
)
(i32.store
(tee_local $47
(i32.add
(get_local $30)
(i32.const 4)
)
)
(i32.const 0)
)
(set_local $18
(i32.load offset=12
(get_local $0)
)
)
(set_local $10
(i32.load offset=8
(tee_local $12
(i32.load
(get_local $0)
)
)
)
)
(set_local $48
(i32.load offset=32
(get_local $12)
)
)
(set_local $19
(i32.load offset=20
(get_local $0)
)
)
(set_local $14
(i32.load offset=24
(get_local $0)
)
)
(set_local $42
(i32.mul
(i32.load
(tee_local $34
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
(get_local $4)
)
)
(set_local $54
(i32.add
(tee_local $31
(i32.add
(tee_local $27
(i32.add
(tee_local $11
(i32.add
(i32.add
(i32.add
(get_local $0)
(i32.const 92)
)
(i32.shl
(i32.mul
(tee_local $7
(i32.add
(tee_local $43
(i32.load offset=4
(get_local $12)
)
)
(i32.const 2048)
)
)
(get_local $26)
)
(i32.const 2)
)
)
(i32.shl
(i32.mul
(get_local $26)
(i32.const 24)
)
(i32.const 2)
)
)
)
(i32.shl
(tee_local $39
(i32.shl
(get_local $10)
(i32.const 1)
)
)
(i32.const 2)
)
)
)
(i32.shl
(get_local $39)
(i32.const 2)
)
)
)
(i32.shl
(get_local $39)
(i32.const 2)
)
)
)
(set_local $40
(i32.add
(get_local $12)
(i32.const 44)
)
)
(set_local $4
(i32.load offset=36
(get_local $12)
)
)
(block $__rjto$0
(block $__rjti$0
(loop $while-in
(block $while-out
(if
(i32.gt_s
(get_local $9)
(get_local $4)
)
(block
(set_local $0
(i32.const -1)
)
(br $__rjti$0)
)
)
(if
(i32.ne
(i32.shl
(i32.load
(get_local $40)
)
(get_local $9)
)
(get_local $42)
)
(block
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(br $__rjto$0)
)
(set_global $STACKTOP
(get_local $30)
)
(return
(i32.const -1)
)
)
(if
(i32.or
(i32.gt_u
(get_local $2)
(i32.const 1275)
)
(i32.eqz
(get_local $3)
)
)
(block
(set_global $STACKTOP
(get_local $30)
)
(return
(i32.const -1)
)
)
)
(set_local $15
(i32.sub
(i32.const 0)
(tee_local $22
(i32.shl
(i32.load
(get_local $40)
)
(get_local $9)
)
)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in1
(i32.store
(i32.add
(get_local $38)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(tee_local $17
(i32.add
(i32.add
(get_local $0)
(i32.const 92)
)
(i32.shl
(i32.mul
(get_local $4)
(get_local $7)
)
(i32.const 2)
)
)
)
)
(i32.store
(i32.add
(get_local $33)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(i32.add
(i32.add
(get_local $17)
(i32.const 8192)
)
(i32.shl
(get_local $15)
(i32.const 2)
)
)
)
(br_if $while-in1
(i32.lt_s
(tee_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(get_local $26)
)
)
)
(set_local $4
(i32.load offset=12
(get_local $12)
)
)
(if
(i32.or
(i32.eqz
(get_local $1)
)
(i32.lt_s
(get_local $2)
(i32.const 2)
)
)
(block
(call $_celt_decode_lost
(get_local $0)
(get_local $22)
(get_local $9)
)
(call $_deemphasis
(get_local $33)
(get_local $3)
(get_local $22)
(get_local $26)
(i32.load
(get_local $34)
)
(i32.add
(get_local $12)
(i32.const 16)
)
(i32.add
(get_local $0)
(i32.const 84)
)
(get_local $6)
)
(set_local $0
(i32.div_s
(get_local $42)
(i32.load
(get_local $34)
)
)
)
(set_global $STACKTOP
(get_local $30)
)
(return
(get_local $0)
)
)
)
(i32.store offset=56
(get_local $0)
(i32.ne
(i32.load
(tee_local $49
(i32.add
(get_local $0)
(i32.const 52)
)
)
)
(i32.const 0)
)
)
(if
(get_local $5)
(set_local $8
(get_local $5)
)
(call $_ec_dec_init
(get_local $8)
(get_local $1)
(get_local $2)
)
)
(set_local $50
(i32.shl
(i32.const 1)
(get_local $9)
)
)
(set_local $41
(if (result i32)
(i32.gt_s
(get_local $14)
(get_local $4)
)
(get_local $4)
(get_local $14)
)
)
(block $label$break$L21
(if
(tee_local $55
(i32.eq
(get_local $18)
(i32.const 1)
)
)
(block
(set_local $1
(i32.const 0)
)
(loop $while-in3
(br_if $label$break$L21
(i32.ge_s
(get_local $1)
(get_local $10)
)
)
(set_local $16
(f32.load
(tee_local $4
(i32.add
(get_local $11)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $4)
(if (result f32)
(f32.gt
(get_local $16)
(tee_local $32
(f32.load
(i32.add
(get_local $11)
(i32.shl
(i32.add
(get_local $10)
(get_local $1)
)
(i32.const 2)
)
)
)
)
)
(get_local $16)
(get_local $32)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
)
(block $__rjto$1
(block $__rjti$1
(if
(i32.lt_s
(tee_local $1
(call $_ec_tell_2
(tee_local $4
(i32.load
(tee_local $20
(i32.add
(get_local $8)
(i32.const 20)
)
)
)
)
(tee_local $5
(i32.load
(tee_local $21
(i32.add
(get_local $8)
(i32.const 28)
)
)
)
)
)
)
(tee_local $23
(i32.shl
(get_local $2)
(i32.const 3)
)
)
)
(if
(i32.eq
(get_local $1)
(i32.const 1)
)
(if
(tee_local $4
(call $_ec_dec_bit_logp
(get_local $8)
(i32.const 15)
)
)
(block
(set_local $1
(i32.load
(get_local $20)
)
)
(set_local $5
(i32.load
(get_local $21)
)
)
(br $__rjti$1)
)
(set_local $1
(i32.const 1)
)
)
)
(block
(set_local $1
(get_local $4)
)
(set_local $4
(i32.const 1)
)
(br $__rjti$1)
)
)
(br $__rjto$1)
)
(i32.store
(get_local $20)
(i32.add
(get_local $1)
(i32.sub
(get_local $23)
(call $_ec_tell_2
(get_local $1)
(get_local $5)
)
)
)
)
(set_local $1
(get_local $23)
)
(set_local $28
(get_local $4)
)
)
(set_local $44
(if (result i32)
(i32.or
(get_local $19)
(i32.gt_s
(i32.add
(get_local $1)
(i32.const 16)
)
(get_local $23)
)
)
(block (result i32)
(set_local $16
(f32.const 0)
)
(i32.const 0)
)
(block (result i32)
(set_local $4
(if (result i32)
(call $_ec_dec_bit_logp
(get_local $8)
(i32.const 1)
)
(block (result i32)
(set_local $5
(call $_ec_dec_bits
(get_local $8)
(i32.add
(tee_local $1
(call $_ec_dec_uint
(get_local $8)
(i32.const 6)
)
)
(i32.const 4)
)
)
)
(set_local $16
(f32.mul
(f32.convert_s/i32
(i32.add
(tee_local $7
(call $_ec_dec_bits
(get_local $8)
(i32.const 3)
)
)
(i32.const 1)
)
)
(f32.const 0.09375)
)
)
(set_local $35
(i32.add
(i32.add
(i32.shl
(i32.const 16)
(get_local $1)
)
(get_local $5)
)
(i32.const -1)
)
)
(if (result i32)
(i32.gt_s
(i32.add
(call $_ec_tell_2
(i32.load
(get_local $20)
)
(i32.load
(get_local $21)
)
)
(i32.const 2)
)
(get_local $23)
)
(i32.const 0)
(call $_ec_dec_icdf
(get_local $8)
(i32.const 25038)
(i32.const 2)
)
)
)
(block (result i32)
(set_local $16
(f32.const 0)
)
(i32.const 0)
)
)
)
(set_local $1
(call $_ec_tell_2
(i32.load
(get_local $20)
)
(i32.load
(get_local $21)
)
)
)
(get_local $4)
)
)
)
(block $__rjto$2
(block $__rjti$2
(br_if $__rjti$2
(i32.or
(i32.lt_s
(get_local $9)
(i32.const 1)
)
(i32.gt_s
(i32.add
(get_local $1)
(i32.const 3)
)
(get_local $23)
)
)
)
(set_local $24
(call $_ec_dec_bit_logp
(get_local $8)
(i32.const 3)
)
)
(set_local $1
(call $_ec_tell_2
(i32.load
(get_local $20)
)
(i32.load
(get_local $21)
)
)
)
(br_if $__rjti$2
(i32.eqz
(get_local $24)
)
)
(set_local $36
(get_local $50)
)
(br $__rjto$2)
)
(set_local $24
(i32.const 0)
)
)
(call $_unquant_coarse_energy
(get_local $12)
(get_local $19)
(get_local $14)
(get_local $11)
(tee_local $1
(if (result i32)
(i32.gt_s
(i32.add
(get_local $1)
(i32.const 3)
)
(get_local $23)
)
(i32.const 0)
(call $_ec_dec_bit_logp
(get_local $8)
(i32.const 3)
)
)
)
(get_local $8)
(get_local $18)
(get_local $9)
)
(set_local $56
(call $_llvm_stacksave)
)
(set_local $51
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $10)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(call $_tf_decode
(get_local $19)
(get_local $14)
(get_local $24)
(get_local $51)
(get_local $9)
(get_local $8)
)
(set_local $57
(if (result i32)
(i32.gt_s
(i32.add
(call $_ec_tell_2
(i32.load
(get_local $20)
)
(i32.load
(get_local $21)
)
)
(i32.const 4)
)
(get_local $23)
)
(i32.const 2)
(call $_ec_dec_icdf
(get_local $8)
(i32.const 25041)
(i32.const 5)
)
)
)
(set_local $37
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $10)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(call $_init_caps
(get_local $12)
(get_local $37)
(get_local $9)
(get_local $18)
)
(set_local $52
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $10)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $5
(i32.const 6)
)
(set_local $15
(tee_local $53
(i32.shl
(get_local $2)
(i32.const 6)
)
)
)
(set_local $1
(tee_local $4
(i32.load
(get_local $20)
)
)
)
(set_local $2
(tee_local $17
(i32.load
(get_local $21)
)
)
)
(set_local $7
(get_local $19)
)
(set_local $4
(call $_ec_tell_frac
(get_local $4)
(get_local $17)
)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $7)
(get_local $14)
)
(block
(set_local $45
(i32.lt_s
(tee_local $29
(i32.shl
(tee_local $13
(i32.shl
(i32.mul
(get_local $18)
(i32.sub
(i32.load16_s
(i32.add
(get_local $48)
(i32.shl
(tee_local $17
(i32.add
(get_local $7)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $48)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
)
)
)
(get_local $9)
)
)
(i32.const 3)
)
)
(if (result i32)
(tee_local $25
(i32.lt_s
(get_local $13)
(i32.const 48)
)
)
(i32.const 48)
(get_local $13)
)
)
)
(if
(get_local $25)
(set_local $13
(i32.const 48)
)
)
(if
(i32.eqz
(get_local $45)
)
(set_local $29
(get_local $13)
)
)
(set_local $45
(i32.add
(get_local $37)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
(set_local $25
(i32.const 0)
)
(set_local $13
(get_local $5)
)
(loop $while-in7
(block $while-out6
(br_if $while-out6
(i32.ge_s
(i32.add
(get_local $4)
(i32.shl
(get_local $13)
(i32.const 3)
)
)
(get_local $15)
)
)
(br_if $while-out6
(i32.ge_s
(get_local $25)
(i32.load
(get_local $45)
)
)
)
(set_local $13
(call $_ec_dec_bit_logp
(get_local $8)
(get_local $13)
)
)
(set_local $4
(call $_ec_tell_frac
(tee_local $1
(i32.load
(get_local $20)
)
)
(tee_local $2
(i32.load
(get_local $21)
)
)
)
)
(if
(get_local $13)
(block
(set_local $25
(i32.add
(get_local $25)
(get_local $29)
)
)
(set_local $13
(i32.const 1)
)
(set_local $15
(i32.sub
(get_local $15)
(get_local $29)
)
)
(br $while-in7)
)
)
)
)
(i32.store
(i32.add
(get_local $52)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(get_local $25)
)
(if
(i32.gt_s
(get_local $25)
(i32.const 0)
)
(block
(set_local $7
(i32.add
(get_local $5)
(i32.const -1)
)
)
(set_local $5
(if (result i32)
(i32.lt_s
(get_local $5)
(i32.const 3)
)
(i32.const 2)
(get_local $7)
)
)
(set_local $7
(get_local $17)
)
(br $while-in5)
)
(block
(set_local $7
(get_local $17)
)
(br $while-in5)
)
)
)
)
)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $10)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(if
(i32.gt_s
(i32.add
(get_local $4)
(i32.const 48)
)
(get_local $15)
)
(set_local $4
(i32.const 5)
)
(block
(set_local $4
(call $_ec_dec_icdf
(get_local $8)
(i32.const 25045)
(i32.const 7)
)
)
(set_local $1
(i32.load
(get_local $20)
)
)
(set_local $2
(i32.load
(get_local $21)
)
)
)
)
(set_local $1
(i32.add
(i32.sub
(get_local $53)
(call $_ec_tell_frac
(get_local $1)
(get_local $2)
)
)
(i32.const -1)
)
)
(set_local $7
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $10)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $15
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $10)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $29
(call $_compute_allocation
(get_local $12)
(get_local $19)
(get_local $14)
(get_local $52)
(get_local $37)
(get_local $4)
(get_local $46)
(get_local $47)
(i32.sub
(get_local $1)
(tee_local $17
(if (result i32)
(tee_local $2
(if (result i32)
(i32.and
(i32.gt_s
(get_local $9)
(i32.const 1)
)
(i32.xor
(tee_local $25
(i32.eqz
(get_local $24)
)
)
(i32.const 1)
)
)
(i32.ge_s
(get_local $1)
(i32.add
(i32.shl
(get_local $9)
(i32.const 3)
)
(i32.const 16)
)
)
(i32.const 0)
)
)
(i32.const 8)
(i32.const 0)
)
)
)
(get_local $30)
(get_local $7)
(get_local $5)
(get_local $15)
(get_local $18)
(get_local $9)
(get_local $8)
)
)
(call $_unquant_fine_energy
(get_local $12)
(get_local $19)
(get_local $14)
(get_local $11)
(get_local $5)
(get_local $8)
(get_local $18)
)
(set_local $4
(i32.shl
(i32.add
(i32.sub
(i32.const 2048)
(get_local $22)
)
(i32.div_s
(get_local $43)
(i32.const 2)
)
)
(i32.const 2)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in9
(drop
(call $_memmove
(tee_local $13
(i32.load
(i32.add
(get_local $38)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(i32.add
(get_local $13)
(i32.shl
(get_local $22)
(i32.const 2)
)
)
(get_local $4)
)
)
(br_if $while-in9
(i32.lt_s
(tee_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(get_local $26)
)
)
)
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(tee_local $37
(i32.mul
(get_local $18)
(get_local $10)
)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $1
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(i32.mul
(get_local $18)
(get_local $22)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $38
(i32.add
(get_local $1)
(i32.shl
(get_local $22)
(i32.const 2)
)
)
)
(set_local $13
(i32.add
(get_local $0)
(i32.const 40)
)
)
(call $_quant_all_bands
(get_local $12)
(get_local $19)
(get_local $14)
(get_local $1)
(if (result i32)
(i32.eq
(get_local $18)
(i32.const 2)
)
(get_local $38)
(i32.const 0)
)
(get_local $4)
(get_local $7)
(get_local $36)
(get_local $57)
(i32.load
(get_local $47)
)
(i32.load
(get_local $46)
)
(get_local $51)
(i32.sub
(get_local $53)
(get_local $17)
)
(i32.load
(get_local $30)
)
(get_local $8)
(get_local $9)
(get_local $29)
(get_local $13)
(i32.load offset=36
(get_local $0)
)
(i32.load offset=32
(get_local $0)
)
)
(set_local $2
(if (result i32)
(get_local $2)
(call $_ec_dec_bits
(get_local $8)
(i32.const 1)
)
(i32.const 0)
)
)
(call $_unquant_energy_finalise
(get_local $12)
(get_local $19)
(get_local $14)
(get_local $11)
(get_local $5)
(get_local $15)
(i32.sub
(get_local $23)
(call $_ec_tell_2
(i32.load
(get_local $20)
)
(i32.load
(get_local $21)
)
)
)
(get_local $8)
(get_local $18)
)
(if
(get_local $2)
(call $_anti_collapse
(get_local $12)
(get_local $1)
(get_local $4)
(get_local $9)
(get_local $18)
(get_local $22)
(get_local $19)
(get_local $14)
(get_local $11)
(get_local $27)
(get_local $31)
(get_local $7)
(i32.load
(get_local $13)
)
)
)
(block $label$break$L79
(if
(get_local $28)
(block
(set_local $2
(i32.const 0)
)
(loop $while-in12
(br_if $label$break$L79
(i32.ge_s
(get_local $2)
(get_local $37)
)
)
(f32.store
(i32.add
(get_local $11)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
(f32.const -28)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in12)
)
)
)
)
(call $_celt_synthesis
(get_local $12)
(get_local $1)
(get_local $33)
(get_local $11)
(get_local $19)
(get_local $41)
(get_local $18)
(get_local $26)
(get_local $24)
(get_local $9)
(i32.load
(get_local $34)
)
(get_local $28)
)
(set_local $5
(i32.add
(get_local $0)
(i32.const 60)
)
)
(set_local $7
(i32.add
(get_local $0)
(i32.const 64)
)
)
(set_local $28
(i32.add
(get_local $0)
(i32.const 72)
)
)
(set_local $15
(i32.add
(get_local $0)
(i32.const 68)
)
)
(set_local $24
(i32.add
(get_local $0)
(i32.const 80)
)
)
(set_local $17
(i32.add
(get_local $0)
(i32.const 76)
)
)
(set_local $36
(i32.add
(get_local $12)
(i32.const 60)
)
)
(set_local $29
(i32.eqz
(get_local $9)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in14
(i32.store
(get_local $5)
(if (result i32)
(i32.gt_s
(tee_local $2
(i32.load
(get_local $5)
)
)
(i32.const 15)
)
(get_local $2)
(tee_local $2
(i32.const 15)
)
)
)
(i32.store
(get_local $7)
(if (result i32)
(i32.gt_s
(tee_local $4
(i32.load
(get_local $7)
)
)
(i32.const 15)
)
(get_local $4)
(tee_local $4
(i32.const 15)
)
)
)
(call $_comb_filter
(tee_local $41
(i32.load
(i32.add
(get_local $33)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(get_local $41)
(get_local $4)
(get_local $2)
(i32.load
(get_local $40)
)
(f32.load
(get_local $28)
)
(f32.load
(get_local $15)
)
(i32.load
(get_local $24)
)
(i32.load
(get_local $17)
)
(i32.load
(get_local $36)
)
(get_local $43)
)
(if
(i32.eqz
(get_local $29)
)
(call $_comb_filter
(tee_local $4
(i32.add
(get_local $41)
(i32.shl
(tee_local $2
(i32.load
(get_local $40)
)
)
(i32.const 2)
)
)
)
(get_local $4)
(i32.load
(get_local $5)
)
(get_local $35)
(i32.sub
(get_local $22)
(get_local $2)
)
(f32.load
(get_local $15)
)
(get_local $16)
(i32.load
(get_local $17)
)
(get_local $44)
(i32.load
(get_local $36)
)
(get_local $43)
)
)
(br_if $while-in14
(i32.lt_s
(tee_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(get_local $26)
)
)
)
(i32.store
(get_local $7)
(i32.load
(get_local $5)
)
)
(i32.store
(get_local $28)
(i32.load
(get_local $15)
)
)
(i32.store
(get_local $24)
(i32.load
(get_local $17)
)
)
(i32.store
(get_local $5)
(get_local $35)
)
(f32.store
(get_local $15)
(get_local $16)
)
(i32.store
(get_local $17)
(get_local $44)
)
(if
(i32.eqz
(get_local $29)
)
(block
(i32.store
(get_local $7)
(get_local $35)
)
(f32.store
(get_local $28)
(get_local $16)
)
(i32.store
(get_local $24)
(get_local $44)
)
)
)
(if
(get_local $55)
(drop
(call $_memcpy
(i32.add
(get_local $11)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
(get_local $11)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
)
)
(if
(get_local $25)
(block
(drop
(call $_memcpy
(get_local $31)
(get_local $27)
(tee_local $1
(i32.shl
(get_local $10)
(i32.const 3)
)
)
)
)
(drop
(call $_memcpy
(get_local $27)
(get_local $11)
(get_local $1)
)
)
(set_local $16
(f32.mul
(f32.convert_s/i32
(get_local $50)
)
(f32.const 1.0000000474974513e-03)
)
)
(if
(i32.ge_s
(i32.load
(get_local $49)
)
(i32.const 10)
)
(set_local $16
(f32.const 1)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in17
(if
(i32.lt_s
(get_local $1)
(get_local $39)
)
(block
(set_local $32
(f32.add
(f32.load
(tee_local $2
(i32.add
(get_local $54)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(get_local $16)
)
)
(f32.store
(get_local $2)
(if (result f32)
(f32.lt
(get_local $32)
(tee_local $58
(f32.load
(i32.add
(get_local $11)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
(get_local $32)
(get_local $58)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in17)
)
(set_local $1
(i32.const 0)
)
)
)
)
(block
(set_local $1
(i32.const 0)
)
(loop $while-in19
(if
(i32.lt_s
(get_local $1)
(get_local $39)
)
(block
(set_local $16
(f32.load
(tee_local $2
(i32.add
(get_local $27)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $2)
(if (result f32)
(f32.lt
(get_local $16)
(tee_local $32
(f32.load
(i32.add
(get_local $11)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
(get_local $16)
(get_local $32)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in19)
)
(set_local $1
(i32.const 0)
)
)
)
)
)
(loop $while-in21
(if
(i32.lt_s
(get_local $1)
(get_local $19)
)
(block
(f32.store
(i32.add
(get_local $11)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(f32.const 0)
)
(f32.store
(i32.add
(get_local $31)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(f32.const -28)
)
(f32.store
(i32.add
(get_local $27)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(f32.const -28)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in21)
)
(set_local $1
(get_local $14)
)
)
)
(loop $while-in23
(if
(i32.lt_s
(get_local $1)
(get_local $10)
)
(block
(f32.store
(i32.add
(get_local $11)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(f32.const 0)
)
(f32.store
(i32.add
(get_local $31)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(f32.const -28)
)
(f32.store
(i32.add
(get_local $27)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(f32.const -28)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in23)
)
(set_local $1
(i32.const 0)
)
)
)
(loop $while-in25
(if
(i32.lt_s
(get_local $1)
(get_local $19)
)
(block
(f32.store
(i32.add
(get_local $11)
(i32.shl
(tee_local $2
(i32.add
(get_local $10)
(get_local $1)
)
)
(i32.const 2)
)
)
(f32.const 0)
)
(f32.store
(i32.add
(get_local $31)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
(f32.const -28)
)
(f32.store
(i32.add
(get_local $27)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
(f32.const -28)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in25)
)
)
)
(loop $while-in27
(if
(i32.lt_s
(get_local $14)
(get_local $10)
)
(block
(f32.store
(i32.add
(get_local $11)
(i32.shl
(tee_local $1
(i32.add
(get_local $10)
(get_local $14)
)
)
(i32.const 2)
)
)
(f32.const 0)
)
(f32.store
(i32.add
(get_local $31)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(f32.const -28)
)
(f32.store
(i32.add
(get_local $27)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(f32.const -28)
)
(set_local $14
(i32.add
(get_local $14)
(i32.const 1)
)
)
(br $while-in27)
)
)
)
(i32.store
(get_local $13)
(i32.load
(get_local $21)
)
)
(call $_deemphasis
(get_local $33)
(get_local $3)
(get_local $22)
(get_local $26)
(i32.load
(get_local $34)
)
(i32.add
(get_local $12)
(i32.const 16)
)
(i32.add
(get_local $0)
(i32.const 84)
)
(get_local $6)
)
(i32.store
(get_local $49)
(i32.const 0)
)
(set_local $0
(if (result i32)
(i32.gt_s
(call $_ec_tell_2
(i32.load
(get_local $20)
)
(i32.load
(get_local $21)
)
)
(get_local $23)
)
(i32.const -3)
(block (result i32)
(if
(call $_ec_get_error_6
(i32.load offset=44
(get_local $8)
)
)
(i32.store offset=44
(get_local $0)
(i32.const 1)
)
)
(i32.div_s
(get_local $42)
(i32.load
(get_local $34)
)
)
)
)
)
(call $_llvm_stackrestore
(get_local $56)
)
(set_global $STACKTOP
(get_local $30)
)
(get_local $0)
)
(func $_celt_decode_lost (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 f32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 f32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 f32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 f32)
(local $32 i32)
(local $33 i32)
(local $34 i32)
(local $35 i32)
(local $36 i32)
(local $37 i32)
(local $38 i32)
(local $39 i32)
(local $40 i32)
(local $41 f32)
(set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 4416)
)
)
(set_local $22
(i32.add
(get_local $3)
(i32.const 4400)
)
)
(set_local $17
(i32.add
(get_local $3)
(i32.const 4392)
)
)
(set_local $5
(i32.add
(get_local $3)
(i32.const 200)
)
)
(set_local $8
(i32.add
(get_local $3)
(i32.const 96)
)
)
(set_local $23
(get_local $3)
)
(set_local $11
(i32.load offset=8
(get_local $0)
)
)
(set_local $15
(i32.load offset=8
(tee_local $12
(i32.load
(get_local $0)
)
)
)
)
(set_local $24
(i32.load offset=32
(get_local $12)
)
)
(set_local $14
(i32.add
(tee_local $10
(i32.load offset=4
(get_local $12)
)
)
(i32.const 2048)
)
)
(set_local $18
(i32.sub
(i32.const 0)
(get_local $1)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in
(i32.store
(i32.add
(get_local $22)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(tee_local $7
(i32.add
(i32.add
(get_local $0)
(i32.const 92)
)
(i32.shl
(i32.mul
(get_local $3)
(get_local $14)
)
(i32.const 2)
)
)
)
)
(i32.store
(i32.add
(get_local $17)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(i32.add
(i32.add
(get_local $7)
(i32.const 8192)
)
(i32.shl
(get_local $18)
(i32.const 2)
)
)
)
(br_if $while-in
(i32.lt_s
(tee_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(get_local $11)
)
)
)
(set_local $21
(i32.add
(i32.add
(get_local $0)
(i32.const 92)
)
(i32.shl
(i32.mul
(get_local $14)
(get_local $11)
)
(i32.const 2)
)
)
)
(if
(i32.and
(i32.lt_s
(tee_local $25
(i32.load
(tee_local $30
(i32.add
(get_local $0)
(i32.const 52)
)
)
)
)
(i32.const 5)
)
(i32.eqz
(tee_local $14
(i32.load offset=20
(get_local $0)
)
)
)
)
(if
(i32.eqz
(i32.load offset=56
(get_local $0)
)
)
(block
(set_local $31
(if (result f32)
(tee_local $24
(i32.eqz
(get_local $25)
)
)
(block (result f32)
(i32.store offset=48
(get_local $0)
(tee_local $2
(call $_celt_plc_pitch_search
(get_local $22)
(get_local $11)
)
)
)
(f32.const 1)
)
(block (result f32)
(set_local $2
(i32.load offset=48
(get_local $0)
)
)
(f32.const 0.800000011920929)
)
)
)
(set_local $26
(call $_llvm_stacksave)
)
(set_local $15
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $10)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $7
(i32.add
(get_local $5)
(i32.const 96)
)
)
(set_local $17
(i32.load offset=60
(get_local $12)
)
)
(set_local $19
(i32.lt_s
(get_local $2)
(i32.const 512)
)
)
(set_local $14
(i32.shl
(get_local $2)
(i32.const 1)
)
)
(set_local $27
(i32.add
(get_local $5)
(i32.const 4192)
)
)
(set_local $32
(i32.shl
(tee_local $13
(i32.sub
(i32.const 2048)
(get_local $1)
)
)
(i32.const 2)
)
)
(set_local $12
(i32.add
(get_local $10)
(get_local $1)
)
)
(set_local $34
(i32.add
(i32.sub
(i32.const 1024)
(get_local $1)
)
(tee_local $33
(i32.sub
(i32.const 1024)
(get_local $2)
)
)
)
)
(set_local $35
(i32.add
(get_local $13)
(i32.const -1)
)
)
(set_local $36
(i32.add
(get_local $0)
(i32.const 60)
)
)
(set_local $37
(i32.add
(get_local $0)
(i32.const 68)
)
)
(set_local $38
(i32.add
(get_local $0)
(i32.const 76)
)
)
(set_local $39
(i32.div_s
(get_local $10)
(i32.const 2)
)
)
(set_local $40
(i32.add
(get_local $10)
(i32.const -1)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in1
(set_local $5
(i32.load
(i32.add
(get_local $22)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in3
(if
(i32.ne
(get_local $3)
(i32.const 1024)
)
(block
(i32.store
(i32.add
(get_local $7)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $3)
(i32.const 1024)
)
(i32.const 2)
)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(if
(get_local $24)
(block
(call $__celt_autocorr
(get_local $7)
(get_local $8)
(get_local $17)
(get_local $10)
(i32.const 24)
(i32.const 1024)
)
(f32.store
(get_local $8)
(f32.mul
(f32.load
(get_local $8)
)
(f32.const 1.000100016593933)
)
)
(set_local $3
(i32.const 1)
)
(loop $while-in5
(if
(i32.ne
(get_local $3)
(i32.const 25)
)
(block
(set_local $4
(f32.load
(tee_local $6
(i32.add
(get_local $8)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $6)
(f32.sub
(get_local $4)
(f32.mul
(f32.mul
(f32.mul
(get_local $4)
(f32.const 6.400000711437315e-05)
)
(tee_local $4
(f32.convert_s/i32
(get_local $3)
)
)
)
(get_local $4)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(call $__celt_lpc
(i32.add
(get_local $21)
(i32.shl
(i32.mul
(get_local $0)
(i32.const 24)
)
(i32.const 2)
)
)
(get_local $8)
(i32.const 24)
)
)
)
(set_local $20
(i32.sub
(i32.const 2024)
(tee_local $3
(if (result i32)
(get_local $19)
(get_local $14)
(i32.const 1024)
)
)
)
)
(set_local $29
(i32.add
(tee_local $28
(i32.sub
(i32.const 1024)
(get_local $3)
)
)
(i32.const -24)
)
)
(set_local $6
(i32.const 0)
)
(loop $while-in7
(if
(i32.ne
(get_local $6)
(i32.const 24)
)
(block
(i32.store
(i32.add
(get_local $7)
(i32.shl
(i32.add
(get_local $29)
(get_local $6)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $20)
(get_local $6)
)
(i32.const 2)
)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in7)
)
)
)
(call $_celt_fir_c
(tee_local $6
(i32.add
(get_local $27)
(i32.shl
(i32.sub
(i32.const 0)
(get_local $3)
)
(i32.const 2)
)
)
)
(tee_local $20
(i32.add
(get_local $21)
(i32.shl
(i32.mul
(get_local $0)
(i32.const 24)
)
(i32.const 2)
)
)
)
(get_local $6)
(get_local $3)
)
(set_local $29
(i32.sub
(i32.const 1024)
(tee_local $6
(i32.shr_s
(get_local $3)
(i32.const 1)
)
)
)
)
(set_local $4
(f32.const 1)
)
(set_local $16
(f32.const 1)
)
(set_local $3
(i32.const 0)
)
(loop $while-in9
(if
(i32.lt_s
(get_local $3)
(get_local $6)
)
(block
(set_local $4
(f32.add
(get_local $4)
(f32.mul
(tee_local $4
(f32.load
(i32.add
(get_local $7)
(i32.shl
(i32.add
(get_local $28)
(get_local $3)
)
(i32.const 2)
)
)
)
)
(get_local $4)
)
)
)
(set_local $16
(f32.add
(get_local $16)
(f32.mul
(tee_local $9
(f32.load
(i32.add
(get_local $7)
(i32.shl
(i32.add
(get_local $29)
(get_local $3)
)
(i32.const 2)
)
)
)
)
(get_local $9)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in9)
)
)
)
(drop
(call $_memmove
(get_local $5)
(i32.add
(get_local $5)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $32)
)
)
(set_local $9
(f32.const 0)
)
(set_local $4
(f32.mul
(get_local $31)
(tee_local $16
(f32.sqrt
(f32.div
(if (result f32)
(f32.lt
(get_local $16)
(get_local $4)
)
(get_local $16)
(get_local $4)
)
(get_local $4)
)
)
)
)
)
(set_local $6
(i32.const 0)
)
(set_local $3
(i32.const 0)
)
(loop $while-in11
(if
(i32.lt_s
(get_local $3)
(get_local $12)
)
(block
(set_local $41
(f32.mul
(get_local $4)
(get_local $16)
)
)
(f32.store
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $13)
(get_local $3)
)
(i32.const 2)
)
)
(f32.mul
(if (result f32)
(tee_local $28
(i32.lt_s
(get_local $6)
(get_local $2)
)
)
(get_local $4)
(tee_local $4
(get_local $41)
)
)
(f32.load
(i32.add
(get_local $7)
(i32.shl
(i32.add
(get_local $33)
(tee_local $6
(i32.sub
(get_local $6)
(if (result i32)
(get_local $28)
(i32.const 0)
(get_local $2)
)
)
)
)
(i32.const 2)
)
)
)
)
)
(set_local $9
(f32.add
(get_local $9)
(f32.mul
(tee_local $9
(f32.load
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $34)
(get_local $6)
)
(i32.const 2)
)
)
)
)
(get_local $9)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in11)
)
(set_local $3
(i32.const 0)
)
)
)
(loop $while-in13
(if
(i32.ne
(get_local $3)
(i32.const 24)
)
(block
(i32.store
(i32.add
(get_local $23)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $5)
(i32.shl
(i32.sub
(get_local $35)
(get_local $3)
)
(i32.const 2)
)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in13)
)
)
)
(call $_celt_iir
(tee_local $3
(i32.add
(tee_local $6
(i32.add
(get_local $5)
(i32.const 8192)
)
)
(i32.shl
(get_local $18)
(i32.const 2)
)
)
)
(get_local $20)
(get_local $3)
(get_local $12)
(get_local $23)
)
(set_local $4
(f32.const 0)
)
(set_local $3
(i32.const 0)
)
(loop $while-in15
(if
(i32.lt_s
(get_local $3)
(get_local $12)
)
(block
(set_local $4
(f32.add
(get_local $4)
(f32.mul
(tee_local $4
(f32.load
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $13)
(get_local $3)
)
(i32.const 2)
)
)
)
)
(get_local $4)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in15)
)
)
)
(block $label$break$L43
(if
(f32.gt
(get_local $9)
(f32.mul
(get_local $4)
(f32.const 0.20000000298023224)
)
)
(if
(f32.lt
(get_local $9)
(get_local $4)
)
(block
(set_local $9
(f32.sub
(f32.const 1)
(tee_local $4
(f32.sqrt
(f32.div
(f32.add
(get_local $9)
(f32.const 1)
)
(f32.add
(get_local $4)
(f32.const 1)
)
)
)
)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in17
(if
(i32.lt_s
(get_local $3)
(get_local $10)
)
(block
(f32.store
(tee_local $20
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $13)
(get_local $3)
)
(i32.const 2)
)
)
)
(f32.mul
(f32.sub
(f32.const 1)
(f32.mul
(f32.load
(i32.add
(get_local $17)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(get_local $9)
)
)
(f32.load
(get_local $20)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in17)
)
(set_local $3
(get_local $10)
)
)
)
(loop $while-in19
(br_if $label$break$L43
(i32.ge_s
(get_local $3)
(get_local $12)
)
)
(f32.store
(tee_local $20
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $13)
(get_local $3)
)
(i32.const 2)
)
)
)
(f32.mul
(get_local $4)
(f32.load
(get_local $20)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in19)
)
)
)
(block
(set_local $3
(i32.const 0)
)
(loop $while-in21
(br_if $label$break$L43
(i32.ge_s
(get_local $3)
(get_local $12)
)
)
(f32.store
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $13)
(get_local $3)
)
(i32.const 2)
)
)
(f32.const 0)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in21)
)
)
)
)
(call $_comb_filter
(get_local $15)
(get_local $6)
(tee_local $3
(i32.load
(get_local $36)
)
)
(get_local $3)
(get_local $10)
(tee_local $4
(f32.neg
(f32.load
(get_local $37)
)
)
)
(get_local $4)
(tee_local $3
(i32.load
(get_local $38)
)
)
(get_local $3)
(i32.const 0)
(i32.const 0)
)
(set_local $3
(i32.const 0)
)
(loop $while-in23
(if
(i32.lt_s
(get_local $3)
(get_local $39)
)
(block
(f32.store
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $3)
(i32.const 2048)
)
(i32.const 2)
)
)
(f32.add
(f32.mul
(f32.load
(i32.add
(get_local $17)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $15)
(i32.shl
(i32.sub
(get_local $40)
(get_local $3)
)
(i32.const 2)
)
)
)
)
(f32.mul
(f32.load
(i32.add
(get_local $17)
(i32.shl
(i32.add
(i32.sub
(get_local $10)
(get_local $3)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $15)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in23)
)
)
)
(br_if $while-in1
(i32.lt_s
(tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(get_local $11)
)
)
)
(call $_llvm_stackrestore
(get_local $26)
)
(i32.store
(get_local $30)
(i32.add
(get_local $25)
(i32.const 1)
)
)
(set_global $STACKTOP
(get_local $23)
)
(return)
)
)
)
(set_local $8
(i32.add
(i32.add
(i32.add
(tee_local $21
(i32.add
(get_local $21)
(i32.shl
(i32.mul
(get_local $11)
(i32.const 24)
)
(i32.const 2)
)
)
)
(i32.shl
(tee_local $3
(i32.shl
(get_local $15)
(i32.const 1)
)
)
(i32.const 2)
)
)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(set_local $13
(i32.gt_s
(get_local $14)
(if (result i32)
(tee_local $5
(i32.lt_s
(tee_local $7
(i32.load offset=24
(get_local $0)
)
)
(tee_local $3
(i32.load offset=12
(get_local $12)
)
)
)
)
(get_local $7)
(get_local $3)
)
)
)
(if
(get_local $5)
(set_local $3
(get_local $7)
)
)
(set_local $13
(if (result i32)
(get_local $13)
(get_local $14)
(get_local $3)
)
)
(set_local $3
(i32.mul
(get_local $11)
(get_local $1)
)
)
(set_local $26
(call $_llvm_stacksave)
)
(set_local $6
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $3)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $16
(if (result f32)
(get_local $25)
(f32.const 0.5)
(f32.const 1.5)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in25
(set_local $18
(i32.mul
(get_local $3)
(get_local $15)
)
)
(set_local $5
(get_local $14)
)
(loop $while-in27
(if
(i32.lt_s
(get_local $5)
(get_local $7)
)
(block
(set_local $4
(f32.load
(i32.add
(get_local $8)
(i32.shl
(tee_local $19
(i32.add
(get_local $18)
(get_local $5)
)
)
(i32.const 2)
)
)
)
)
(set_local $9
(f32.sub
(f32.load
(tee_local $19
(i32.add
(get_local $21)
(i32.shl
(get_local $19)
(i32.const 2)
)
)
)
)
(get_local $16)
)
)
(f32.store
(get_local $19)
(if (result f32)
(f32.gt
(get_local $4)
(get_local $9)
)
(get_local $4)
(get_local $9)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in27)
)
)
)
(br_if $while-in25
(i32.lt_s
(tee_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(get_local $11)
)
)
)
(set_local $3
(i32.load
(tee_local $19
(i32.add
(get_local $0)
(i32.const 40)
)
)
)
)
(set_local $7
(i32.const 0)
)
(loop $while-in29
(if
(i32.lt_s
(get_local $7)
(get_local $11)
)
(block
(set_local $27
(i32.mul
(get_local $7)
(get_local $1)
)
)
(set_local $5
(get_local $14)
)
(loop $while-in31
(if
(i32.lt_s
(get_local $5)
(get_local $13)
)
(block
(set_local $15
(i32.add
(get_local $27)
(i32.shl
(tee_local $8
(i32.load16_s
(i32.add
(get_local $24)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
(get_local $2)
)
)
)
(set_local $18
(i32.shl
(i32.sub
(i32.load16_s
(i32.add
(get_local $24)
(i32.shl
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(get_local $8)
)
(get_local $2)
)
)
(set_local $8
(i32.const 0)
)
(loop $while-in33
(if
(i32.lt_s
(get_local $8)
(get_local $18)
)
(block
(f32.store
(i32.add
(get_local $6)
(i32.shl
(i32.add
(get_local $15)
(get_local $8)
)
(i32.const 2)
)
)
(f32.convert_s/i32
(i32.shr_s
(tee_local $3
(call $_celt_lcg_rand
(get_local $3)
)
)
(i32.const 20)
)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in33)
)
)
)
(call $_renormalise_vector
(i32.add
(get_local $6)
(i32.shl
(get_local $15)
(i32.const 2)
)
)
(get_local $18)
(f32.const 1)
)
(br $while-in31)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in29)
)
)
)
(i32.store
(get_local $19)
(get_local $3)
)
(set_local $5
(i32.shl
(i32.add
(i32.sub
(i32.const 2048)
(get_local $1)
)
(i32.shr_u
(get_local $10)
(i32.const 1)
)
)
(i32.const 2)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in35
(drop
(call $_memmove
(tee_local $10
(i32.load
(i32.add
(get_local $22)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
(i32.add
(get_local $10)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $5)
)
)
(br_if $while-in35
(i32.lt_s
(tee_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(get_local $11)
)
)
)
(call $_celt_synthesis
(get_local $12)
(get_local $6)
(get_local $17)
(get_local $21)
(get_local $14)
(get_local $13)
(get_local $11)
(get_local $11)
(i32.const 0)
(get_local $2)
(i32.load offset=16
(get_local $0)
)
(i32.const 0)
)
(call $_llvm_stackrestore
(get_local $26)
)
(i32.store
(get_local $30)
(i32.add
(get_local $25)
(i32.const 1)
)
)
(set_global $STACKTOP
(get_local $23)
)
)
(func $_deemphasis (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32)
(local $8 i32)
(local $9 f32)
(local $10 i32)
(local $11 i32)
(local $12 f32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(set_local $10
(get_global $STACKTOP)
)
(if
(i32.and
(i32.and
(i32.eq
(get_local $4)
(i32.const 1)
)
(i32.eq
(get_local $3)
(i32.const 2)
)
)
(i32.eqz
(get_local $7)
)
)
(block
(call $_deemphasis_stereo_simple
(i32.load
(get_local $0)
)
(i32.load offset=4
(get_local $0)
)
(get_local $1)
(get_local $2)
(f32.load
(get_local $5)
)
(get_local $6)
)
(set_global $STACKTOP
(get_local $10)
)
(return)
)
)
(set_local $16
(call $_llvm_stacksave)
)
(set_local $11
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $2)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $12
(f32.load
(get_local $5)
)
)
(set_local $17
(i32.div_s
(get_local $2)
(get_local $4)
)
)
(set_local $18
(i32.gt_s
(get_local $4)
(i32.const 1)
)
)
(set_local $5
(i32.const 0)
)
(set_local $7
(i32.const 0)
)
(loop $while-in
(set_local $9
(f32.load
(tee_local $13
(i32.add
(get_local $6)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
)
)
(set_local $14
(i32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
)
(set_local $15
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
(block $label$break$L16
(block $__rjti$0
(if
(get_local $18)
(block
(set_local $5
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $5)
(get_local $2)
)
(block
(f32.store
(i32.add
(get_local $11)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(tee_local $9
(f32.add
(f32.add
(f32.load
(i32.add
(get_local $14)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
(f32.const 1.0000000031710769e-30)
)
(get_local $9)
)
)
)
(set_local $9
(f32.mul
(get_local $12)
(get_local $9)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(f32.store
(get_local $13)
(get_local $9)
)
(set_local $5
(i32.const 1)
)
(br $__rjti$0)
)
(block
(set_local $8
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $8)
(get_local $2)
)
(block
(f32.store
(i32.add
(get_local $15)
(i32.shl
(i32.mul
(get_local $8)
(get_local $3)
)
(i32.const 2)
)
)
(f32.mul
(tee_local $9
(f32.add
(f32.add
(f32.load
(i32.add
(get_local $14)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(f32.const 1.0000000031710769e-30)
)
(get_local $9)
)
)
(f32.const 0.000030517578125)
)
)
(set_local $9
(f32.mul
(get_local $12)
(get_local $9)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(f32.store
(get_local $13)
(get_local $9)
)
(br_if $__rjti$0
(get_local $5)
)
(set_local $5
(i32.const 0)
)
)
)
(br $label$break$L16)
)
(set_local $8
(i32.const 0)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $8)
(get_local $17)
)
(block
(f32.store
(i32.add
(get_local $15)
(i32.shl
(i32.mul
(get_local $8)
(get_local $3)
)
(i32.const 2)
)
)
(f32.mul
(f32.load
(i32.add
(get_local $11)
(i32.shl
(i32.mul
(get_local $8)
(get_local $4)
)
(i32.const 2)
)
)
)
(f32.const 0.000030517578125)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
)
(br_if $while-in
(i32.lt_s
(tee_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(get_local $3)
)
)
)
(call $_llvm_stackrestore
(get_local $16)
)
(set_global $STACKTOP
(get_local $10)
)
)
(func $_ec_tell_2 (; 52 ;) (param $0 i32) (param $1 i32) (result i32)
(i32.add
(i32.add
(i32.clz
(get_local $1)
)
(i32.const -32)
)
(get_local $0)
)
)
(func $_tf_decode (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(set_local $6
(i32.shl
(i32.load offset=4
(get_local $5)
)
(i32.const 3)
)
)
(set_local $10
(call $_ec_tell_2
(i32.load
(tee_local $11
(i32.add
(get_local $5)
(i32.const 20)
)
)
)
(i32.load
(tee_local $12
(i32.add
(get_local $5)
(i32.const 28)
)
)
)
)
)
(set_local $8
(if (result i32)
(tee_local $7
(i32.ne
(get_local $2)
(i32.const 0)
)
)
(i32.const 2)
(i32.const 4)
)
)
(set_local $14
(i32.sub
(get_local $6)
(tee_local $13
(if (result i32)
(i32.gt_s
(get_local $4)
(i32.const 0)
)
(i32.le_u
(i32.add
(i32.add
(get_local $10)
(get_local $8)
)
(i32.const 1)
)
(get_local $6)
)
(i32.const 0)
)
)
)
)
(set_local $15
(if (result i32)
(get_local $7)
(i32.const 4)
(i32.const 5)
)
)
(set_local $7
(i32.const 0)
)
(set_local $6
(i32.const 0)
)
(set_local $9
(get_local $0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $9)
(get_local $1)
)
(block
(if
(i32.le_u
(i32.add
(get_local $10)
(get_local $8)
)
(get_local $14)
)
(block
(set_local $6
(i32.xor
(get_local $6)
(call $_ec_dec_bit_logp
(get_local $5)
(get_local $8)
)
)
)
(set_local $10
(call $_ec_tell_2
(i32.load
(get_local $11)
)
(i32.load
(get_local $12)
)
)
)
(set_local $7
(i32.or
(get_local $7)
(get_local $6)
)
)
)
)
(i32.store
(i32.add
(get_local $3)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
(get_local $6)
)
(set_local $8
(get_local $15)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $2
(i32.add
(tee_local $2
(i32.shl
(get_local $2)
(i32.const 2)
)
)
(tee_local $5
(if (result i32)
(get_local $13)
(if (result i32)
(i32.eq
(i32.load8_s
(i32.add
(i32.add
(i32.shl
(get_local $4)
(i32.const 3)
)
(i32.const 25006)
)
(i32.add
(get_local $2)
(get_local $7)
)
)
)
(i32.load8_s
(i32.add
(i32.add
(i32.shl
(get_local $4)
(i32.const 3)
)
(i32.const 25006)
)
(i32.add
(i32.or
(get_local $2)
(i32.const 2)
)
(get_local $7)
)
)
)
)
(i32.const 0)
(i32.shl
(call $_ec_dec_bit_logp
(get_local $5)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const 0)
)
)
)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $0)
(get_local $1)
)
(block
(i32.store
(tee_local $5
(i32.add
(get_local $3)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(i32.load8_s
(i32.add
(i32.add
(i32.shl
(get_local $4)
(i32.const 3)
)
(i32.const 25006)
)
(i32.add
(get_local $2)
(i32.load
(get_local $5)
)
)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
)
(func $_celt_synthesis (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (param $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(set_local $19
(get_global $STACKTOP)
)
(set_local $14
(i32.load offset=4
(get_local $0)
)
)
(set_local $21
(i32.load offset=8
(get_local $0)
)
)
(set_local $12
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(tee_local $15
(i32.shl
(tee_local $13
(i32.load
(tee_local $22
(i32.add
(get_local $0)
(i32.const 44)
)
)
)
)
(get_local $9)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $16
(i32.shl
(i32.const 1)
(get_local $9)
)
)
(set_local $20
(i32.load offset=36
(get_local $0)
)
)
(set_local $8
(if (result i32)
(tee_local $17
(i32.eqz
(get_local $8)
)
)
(i32.const 1)
(get_local $16)
)
)
(set_local $18
(if (result i32)
(get_local $17)
(get_local $15)
(get_local $13)
)
)
(set_local $9
(i32.sub
(get_local $20)
(if (result i32)
(get_local $17)
(get_local $9)
(i32.const 0)
)
)
)
(block $switch-default
(block $switch-case6
(block $switch-case
(br_table $switch-case6 $switch-case $switch-default
(i32.sub
(get_local $7)
(i32.const 1)
)
)
)
(if
(i32.eq
(get_local $6)
(i32.const 1)
)
(block
(call $_denormalise_bands
(i32.load offset=32
(get_local $0)
)
(get_local $13)
(get_local $1)
(get_local $12)
(get_local $3)
(get_local $4)
(get_local $5)
(get_local $16)
(get_local $10)
(get_local $11)
)
(drop
(call $_memcpy
(tee_local $5
(i32.add
(i32.load
(tee_local $4
(i32.add
(get_local $2)
(i32.const 4)
)
)
)
(i32.shl
(i32.div_s
(get_local $14)
(i32.const 2)
)
(i32.const 2)
)
)
)
(get_local $12)
(i32.shl
(get_local $15)
(i32.const 2)
)
)
)
(set_local $1
(i32.add
(get_local $0)
(i32.const 64)
)
)
(set_local $3
(i32.add
(get_local $0)
(i32.const 60)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $0)
(get_local $8)
)
(block
(call $_clt_mdct_backward_c
(get_local $1)
(i32.add
(get_local $5)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(i32.add
(i32.load
(get_local $2)
)
(i32.shl
(i32.mul
(get_local $18)
(get_local $0)
)
(i32.const 2)
)
)
(i32.load
(get_local $3)
)
(get_local $14)
(get_local $9)
(get_local $8)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in)
)
(set_local $0
(i32.const 0)
)
)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $0)
(get_local $8)
)
(block
(call $_clt_mdct_backward_c
(get_local $1)
(i32.add
(get_local $12)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(i32.add
(i32.load
(get_local $4)
)
(i32.shl
(i32.mul
(get_local $18)
(get_local $0)
)
(i32.const 2)
)
)
(i32.load
(get_local $3)
)
(get_local $14)
(get_local $9)
(get_local $8)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_global $STACKTOP
(get_local $19)
)
(return)
)
)
(br $switch-default)
)
(if
(i32.eq
(get_local $6)
(i32.const 2)
)
(block
(set_local $6
(i32.add
(i32.load
(get_local $2)
)
(i32.shl
(i32.div_s
(get_local $14)
(i32.const 2)
)
(i32.const 2)
)
)
)
(call $_denormalise_bands
(i32.load
(tee_local $7
(i32.add
(get_local $0)
(i32.const 32)
)
)
)
(get_local $13)
(get_local $1)
(get_local $12)
(get_local $3)
(get_local $4)
(get_local $5)
(get_local $16)
(get_local $10)
(get_local $11)
)
(call $_denormalise_bands
(i32.load
(get_local $7)
)
(i32.load
(get_local $22)
)
(i32.add
(get_local $1)
(i32.shl
(get_local $15)
(i32.const 2)
)
)
(get_local $6)
(i32.add
(get_local $3)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
(get_local $4)
(get_local $5)
(get_local $16)
(get_local $10)
(get_local $11)
)
(set_local $1
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $1)
(get_local $15)
)
(block
(f32.store
(tee_local $3
(i32.add
(get_local $12)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(f32.add
(f32.mul
(f32.load
(get_local $3)
)
(f32.const 0.5)
)
(f32.mul
(f32.load
(i32.add
(get_local $6)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(f32.const 0.5)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(set_local $1
(i32.add
(get_local $0)
(i32.const 64)
)
)
(set_local $3
(i32.add
(get_local $0)
(i32.const 60)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $0)
(get_local $8)
)
(block
(call $_clt_mdct_backward_c
(get_local $1)
(i32.add
(get_local $12)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(i32.add
(i32.load
(get_local $2)
)
(i32.shl
(i32.mul
(get_local $18)
(get_local $0)
)
(i32.const 2)
)
)
(i32.load
(get_local $3)
)
(get_local $14)
(get_local $9)
(get_local $8)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(set_global $STACKTOP
(get_local $19)
)
(return)
)
)
)
(set_local $17
(i32.add
(get_local $0)
(i32.const 32)
)
)
(set_local $20
(i32.add
(get_local $0)
(i32.const 64)
)
)
(set_local $23
(i32.add
(get_local $0)
(i32.const 60)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in8
(call $_denormalise_bands
(i32.load
(get_local $17)
)
(get_local $13)
(i32.add
(get_local $1)
(i32.shl
(i32.mul
(get_local $0)
(get_local $15)
)
(i32.const 2)
)
)
(get_local $12)
(i32.add
(get_local $3)
(i32.shl
(i32.mul
(get_local $0)
(get_local $21)
)
(i32.const 2)
)
)
(get_local $4)
(get_local $5)
(get_local $16)
(get_local $10)
(get_local $11)
)
(set_local $13
(i32.add
(get_local $2)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(set_local $6
(i32.const 0)
)
(loop $while-in10
(if
(i32.lt_s
(get_local $6)
(get_local $8)
)
(block
(call $_clt_mdct_backward_c
(get_local $20)
(i32.add
(get_local $12)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
(i32.add
(i32.load
(get_local $13)
)
(i32.shl
(i32.mul
(get_local $18)
(get_local $6)
)
(i32.const 2)
)
)
(i32.load
(get_local $23)
)
(get_local $14)
(get_local $9)
(get_local $8)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in10)
)
)
)
(if
(i32.lt_s
(tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(get_local $7)
)
(block
(set_local $13
(i32.load
(get_local $22)
)
)
(br $while-in8)
)
)
)
(set_global $STACKTOP
(get_local $19)
)
)
(func $_ec_get_error_6 (; 55 ;) (param $0 i32) (result i32)
(get_local $0)
)
(func $_deemphasis_stereo_simple (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 f32) (param $5 i32)
(local $6 i32)
(local $7 f32)
(local $8 f32)
(local $9 i32)
(local $10 i32)
(set_local $7
(f32.load
(tee_local $9
(i32.add
(get_local $5)
(i32.const 4)
)
)
)
)
(set_local $8
(f32.load
(get_local $5)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $6)
(get_local $3)
)
(block
(set_local $7
(f32.add
(f32.add
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
(f32.const 1.0000000031710769e-30)
)
(get_local $7)
)
)
(f32.store
(i32.add
(get_local $2)
(i32.shl
(tee_local $10
(i32.shl
(get_local $6)
(i32.const 1)
)
)
(i32.const 2)
)
)
(f32.mul
(tee_local $8
(f32.add
(f32.add
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
(f32.const 1.0000000031710769e-30)
)
(get_local $8)
)
)
(f32.const 0.000030517578125)
)
)
(f32.store
(i32.add
(get_local $2)
(i32.shl
(i32.or
(get_local $10)
(i32.const 1)
)
(i32.const 2)
)
)
(f32.mul
(get_local $7)
(f32.const 0.000030517578125)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(set_local $7
(f32.mul
(get_local $7)
(get_local $4)
)
)
(set_local $8
(f32.mul
(get_local $8)
(get_local $4)
)
)
(br $while-in)
)
)
)
(f32.store
(get_local $5)
(get_local $8)
)
(f32.store
(get_local $9)
(get_local $7)
)
)
(func $_celt_plc_pitch_search (; 57 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(set_local $2
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 4112)
)
)
(call $_pitch_downsample
(get_local $0)
(get_local $2)
(get_local $1)
)
(call $_pitch_search
(i32.add
(get_local $2)
(i32.const 1440)
)
(get_local $2)
(tee_local $0
(i32.add
(get_local $2)
(i32.const 4096)
)
)
)
(set_local $0
(i32.sub
(i32.const 720)
(i32.load
(get_local $0)
)
)
)
(set_global $STACKTOP
(get_local $2)
)
(get_local $0)
)
(func $_encode_pulses (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(set_local $4
(i32.add
(get_local $2)
(i32.const 1)
)
)
(call $_ec_enc_uint
(get_local $3)
(call $_icwrs
(get_local $1)
(get_local $0)
)
(i32.add
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $1)
(get_local $2)
)
(get_local $1)
(get_local $2)
)
(i32.const 2)
)
(i32.const 2668)
)
)
(i32.shl
(if (result i32)
(tee_local $0
(i32.gt_s
(get_local $1)
(get_local $2)
)
)
(get_local $1)
(get_local $2)
)
(i32.const 2)
)
)
)
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(if (result i32)
(get_local $0)
(get_local $4)
(get_local $1)
)
(i32.const 2)
)
(i32.const 2668)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $4)
(get_local $1)
)
(get_local $1)
(get_local $4)
)
(i32.const 2)
)
)
)
)
)
)
(func $_icwrs (; 59 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(set_local $4
(i32.shr_u
(tee_local $2
(i32.load
(i32.add
(get_local $1)
(i32.shl
(tee_local $7
(i32.add
(get_local $0)
(i32.const -1)
)
)
(i32.const 2)
)
)
)
)
(i32.const 31)
)
)
(set_local $6
(i32.sub
(i32.const 0)
(get_local $2)
)
)
(if
(i32.le_s
(get_local $2)
(i32.const -1)
)
(set_local $2
(get_local $6)
)
)
(loop $while-in
(set_local $4
(i32.add
(get_local $4)
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(if (result i32)
(i32.lt_s
(tee_local $3
(i32.sub
(get_local $0)
(tee_local $6
(i32.add
(get_local $7)
(i32.const -1)
)
)
)
)
(get_local $2)
)
(get_local $3)
(get_local $2)
)
(i32.const 2)
)
(i32.const 2668)
)
)
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $3)
(get_local $2)
)
(get_local $3)
(get_local $2)
)
(i32.const 2)
)
)
)
)
)
(set_local $5
(i32.sub
(i32.const 0)
(tee_local $8
(i32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(if (result i32)
(i32.gt_s
(get_local $8)
(i32.const -1)
)
(get_local $8)
(get_local $5)
)
)
)
(if
(i32.lt_s
(get_local $8)
(i32.const 0)
)
(block
(set_local $5
(i32.add
(get_local $2)
(i32.const 1)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $3)
(get_local $2)
)
(get_local $5)
(get_local $3)
)
(i32.const 2)
)
(i32.const 2668)
)
)
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $3)
(get_local $5)
)
(get_local $3)
(get_local $5)
)
(i32.const 2)
)
)
)
)
)
)
)
(if
(i32.gt_s
(get_local $7)
(i32.const 1)
)
(block
(set_local $7
(get_local $6)
)
(br $while-in)
)
)
)
(get_local $4)
)
(func $_decode_pulses (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result f32)
(local $4 i32)
(set_local $4
(i32.add
(get_local $2)
(i32.const 1)
)
)
(call $_cwrsi
(get_local $1)
(get_local $2)
(call $_ec_dec_uint
(get_local $3)
(i32.add
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $1)
(get_local $2)
)
(get_local $1)
(get_local $2)
)
(i32.const 2)
)
(i32.const 2668)
)
)
(i32.shl
(if (result i32)
(tee_local $3
(i32.gt_s
(get_local $1)
(get_local $2)
)
)
(get_local $1)
(get_local $2)
)
(i32.const 2)
)
)
)
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(if (result i32)
(get_local $3)
(get_local $4)
(get_local $1)
)
(i32.const 2)
)
(i32.const 2668)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $4)
(get_local $1)
)
(get_local $1)
(get_local $4)
)
(i32.const 2)
)
)
)
)
)
(get_local $0)
)
)
(func $_cwrsi (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result f32)
(local $4 i32)
(local $5 f32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(set_local $4
(get_local $0)
)
(loop $while-in
(if
(i32.gt_s
(get_local $4)
(i32.const 2)
)
(block
(block $do-once
(set_local $1
(if (result i32)
(i32.lt_s
(get_local $1)
(get_local $4)
)
(block (result i32)
(if
(i32.and
(i32.ge_u
(get_local $2)
(tee_local $6
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(get_local $1)
(i32.const 2)
)
(i32.const 2668)
)
)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
(i32.lt_u
(get_local $2)
(tee_local $0
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(get_local $1)
(i32.const 2)
)
(i32.const 2672)
)
)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
)
(block
(i32.store
(get_local $3)
(i32.const 0)
)
(set_local $2
(i32.sub
(get_local $2)
(get_local $6)
)
)
(br $do-once)
)
)
(set_local $2
(i32.sub
(get_local $2)
(if (result i32)
(tee_local $6
(i32.ge_u
(get_local $2)
(get_local $0)
)
)
(get_local $0)
(i32.const 0)
)
)
)
(set_local $0
(get_local $1)
)
(loop $while-in1
(br_if $while-in1
(i32.lt_u
(get_local $2)
(tee_local $7
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(tee_local $0
(i32.add
(get_local $0)
(i32.const -1)
)
)
(i32.const 2)
)
(i32.const 2668)
)
)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
)
)
(i32.store
(get_local $3)
(i32.shr_s
(i32.shl
(tee_local $1
(i32.xor
(i32.add
(i32.sub
(get_local $1)
(get_local $0)
)
(tee_local $1
(i32.shr_s
(i32.shl
(get_local $6)
(i32.const 31)
)
(i32.const 31)
)
)
)
(get_local $1)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $5
(f32.add
(get_local $5)
(f32.mul
(tee_local $5
(f32.convert_s/i32
(i32.shr_s
(i32.shl
(i32.and
(get_local $1)
(i32.const 65535)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(get_local $5)
)
)
)
(set_local $2
(i32.sub
(get_local $2)
(get_local $7)
)
)
(get_local $0)
)
(block (result i32)
(set_local $8
(i32.shr_s
(i32.shl
(tee_local $6
(i32.ge_u
(get_local $2)
(tee_local $0
(i32.load
(i32.add
(tee_local $7
(i32.load
(i32.add
(i32.shl
(get_local $4)
(i32.const 2)
)
(i32.const 2668)
)
)
)
(i32.shl
(i32.add
(get_local $1)
(i32.const 1)
)
(i32.const 2)
)
)
)
)
)
)
(i32.const 31)
)
(i32.const 31)
)
)
(if
(i32.gt_u
(i32.load
(i32.add
(get_local $7)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(tee_local $6
(i32.sub
(get_local $2)
(if (result i32)
(get_local $6)
(get_local $0)
(i32.const 0)
)
)
)
)
(block
(set_local $0
(get_local $4)
)
(loop $while-in4
(br_if $while-in4
(i32.gt_u
(tee_local $2
(i32.load
(i32.add
(i32.load
(i32.add
(i32.shl
(tee_local $0
(i32.add
(get_local $0)
(i32.const -1)
)
)
(i32.const 2)
)
(i32.const 2668)
)
)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
(get_local $6)
)
)
)
)
(block
(set_local $0
(get_local $1)
)
(loop $while-in6
(if
(i32.gt_u
(tee_local $2
(i32.load
(i32.add
(get_local $7)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
(get_local $6)
)
(block
(set_local $0
(i32.add
(get_local $0)
(i32.const -1)
)
)
(br $while-in6)
)
)
)
)
)
(i32.store
(get_local $3)
(i32.shr_s
(i32.shl
(tee_local $1
(i32.xor
(i32.add
(i32.sub
(get_local $1)
(get_local $0)
)
(get_local $8)
)
(get_local $8)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $5
(f32.add
(get_local $5)
(f32.mul
(tee_local $5
(f32.convert_s/i32
(i32.shr_s
(i32.shl
(i32.and
(get_local $1)
(i32.const 65535)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(get_local $5)
)
)
)
(set_local $2
(i32.sub
(get_local $6)
(get_local $2)
)
)
(get_local $0)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const -1)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 4)
)
)
(br $while-in)
)
)
)
(if
(tee_local $2
(i32.shr_u
(tee_local $6
(i32.add
(tee_local $0
(i32.sub
(get_local $2)
(if (result i32)
(tee_local $4
(i32.ge_u
(get_local $2)
(tee_local $0
(i32.or
(i32.shl
(get_local $1)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(get_local $0)
(i32.const 0)
)
)
)
(i32.const 1)
)
)
(i32.const 1)
)
)
(set_local $0
(i32.sub
(get_local $0)
(i32.add
(i32.and
(get_local $6)
(i32.const -2)
)
(i32.const -1)
)
)
)
)
(i32.store
(get_local $3)
(i32.shr_s
(i32.shl
(tee_local $1
(i32.xor
(i32.add
(i32.sub
(get_local $1)
(get_local $2)
)
(tee_local $1
(i32.shr_s
(i32.shl
(get_local $4)
(i32.const 31)
)
(i32.const 31)
)
)
)
(get_local $1)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.store offset=4
(get_local $3)
(i32.shr_s
(i32.shl
(tee_local $0
(i32.xor
(i32.sub
(get_local $2)
(get_local $0)
)
(i32.sub
(i32.const 0)
(get_local $0)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(f32.add
(f32.add
(get_local $5)
(f32.mul
(tee_local $5
(f32.convert_s/i32
(i32.shr_s
(i32.shl
(i32.and
(get_local $1)
(i32.const 65535)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(get_local $5)
)
)
(f32.mul
(tee_local $5
(f32.convert_s/i32
(i32.shr_s
(i32.shl
(i32.and
(get_local $0)
(i32.const 65535)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(get_local $5)
)
)
)
(func $_ec_tell_frac (; 62 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(set_local $1
(i32.add
(i32.shr_u
(tee_local $3
(i32.shr_u
(get_local $1)
(i32.add
(tee_local $2
(i32.sub
(i32.const 32)
(i32.clz
(get_local $1)
)
)
)
(i32.const -16)
)
)
)
(i32.const 12)
)
(i32.const -8)
)
)
(i32.sub
(i32.shl
(get_local $0)
(i32.const 3)
)
(i32.add
(i32.shl
(get_local $2)
(i32.const 3)
)
(i32.add
(get_local $1)
(i32.gt_u
(get_local $3)
(i32.load
(i32.add
(i32.shl
(get_local $1)
(i32.const 2)
)
(i32.const 7816)
)
)
)
)
)
)
)
(func $_ec_dec_init (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(i32.store
(get_local $0)
(get_local $1)
)
(i32.store offset=4
(get_local $0)
(get_local $2)
)
(i32.store offset=8
(get_local $0)
(i32.const 0)
)
(i32.store offset=12
(get_local $0)
(i32.const 0)
)
(i32.store offset=16
(get_local $0)
(i32.const 0)
)
(i32.store offset=20
(get_local $0)
(i32.const 9)
)
(i32.store offset=24
(get_local $0)
(i32.const 0)
)
(i32.store
(tee_local $1
(i32.add
(get_local $0)
(i32.const 28)
)
)
(i32.const 128)
)
(i32.store offset=40
(get_local $0)
(tee_local $2
(call $_ec_read_byte
(get_local $0)
)
)
)
(i32.store offset=32
(get_local $0)
(i32.sub
(i32.add
(i32.load
(get_local $1)
)
(i32.const -1)
)
(i32.shr_s
(get_local $2)
(i32.const 1)
)
)
)
(i32.store offset=44
(get_local $0)
(i32.const 0)
)
(call $_ec_dec_normalize
(get_local $0)
)
)
(func $_ec_read_byte (; 64 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(if
(i32.ge_u
(tee_local $1
(i32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 24)
)
)
)
)
(i32.load offset=4
(get_local $0)
)
)
(return
(i32.const 0)
)
)
(set_local $0
(i32.load
(get_local $0)
)
)
(i32.store
(get_local $2)
(i32.add
(get_local $1)
(i32.const 1)
)
)
(i32.load8_u
(i32.add
(get_local $0)
(get_local $1)
)
)
)
(func $_ec_dec_normalize (; 65 ;) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(set_local $2
(i32.add
(get_local $0)
(i32.const 28)
)
)
(set_local $3
(i32.add
(get_local $0)
(i32.const 20)
)
)
(set_local $4
(i32.add
(get_local $0)
(i32.const 40)
)
)
(set_local $5
(i32.add
(get_local $0)
(i32.const 32)
)
)
(loop $while-in
(if
(i32.lt_u
(tee_local $1
(i32.load
(get_local $2)
)
)
(i32.const 8388609)
)
(block
(i32.store
(get_local $3)
(i32.add
(i32.load
(get_local $3)
)
(i32.const 8)
)
)
(i32.store
(get_local $2)
(i32.shl
(get_local $1)
(i32.const 8)
)
)
(set_local $1
(i32.load
(get_local $4)
)
)
(i32.store
(get_local $4)
(tee_local $6
(call $_ec_read_byte
(get_local $0)
)
)
)
(i32.store
(get_local $5)
(i32.xor
(i32.or
(i32.and
(i32.shr_u
(i32.or
(i32.shl
(get_local $1)
(i32.const 8)
)
(get_local $6)
)
(i32.const 1)
)
(i32.const 255)
)
(i32.and
(i32.shl
(i32.load
(get_local $5)
)
(i32.const 8)
)
(i32.const 2147483392)
)
)
(i32.const 255)
)
)
(br $while-in)
)
)
)
)
(func $_ec_decode (; 66 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(i32.store offset=36
(get_local $0)
(tee_local $2
(call $_celt_udiv
(i32.load offset=28
(get_local $0)
)
(get_local $1)
)
)
)
(i32.sub
(get_local $1)
(if (result i32)
(i32.gt_u
(tee_local $0
(i32.add
(i32.div_u
(i32.load offset=32
(get_local $0)
)
(get_local $2)
)
(i32.const 1)
)
)
(get_local $1)
)
(get_local $1)
(get_local $0)
)
)
)
(func $_ec_decode_bin (; 67 ;) (param $0 i32) (result i32)
(local $1 i32)
(i32.store offset=36
(get_local $0)
(tee_local $1
(i32.shr_u
(i32.load offset=28
(get_local $0)
)
(i32.const 15)
)
)
)
(set_local $0
(i32.add
(tee_local $1
(i32.div_u
(i32.load offset=32
(get_local $0)
)
(get_local $1)
)
)
(i32.const 1)
)
)
(set_local $1
(i32.sub
(i32.const 32767)
(get_local $1)
)
)
(i32.sub
(i32.const 32768)
(i32.add
(get_local $0)
(if (result i32)
(i32.gt_u
(get_local $0)
(i32.const 32768)
)
(get_local $1)
(i32.const 0)
)
)
)
)
(func $_ec_dec_update (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(i32.store
(tee_local $4
(i32.add
(get_local $0)
(i32.const 32)
)
)
(i32.sub
(i32.load
(get_local $4)
)
(tee_local $3
(i32.mul
(tee_local $4
(i32.load offset=36
(get_local $0)
)
)
(i32.sub
(get_local $3)
(get_local $2)
)
)
)
)
)
(if
(get_local $1)
(block
(i32.store offset=28
(get_local $0)
(i32.mul
(get_local $4)
(i32.sub
(get_local $2)
(get_local $1)
)
)
)
(call $_ec_dec_normalize
(get_local $0)
)
)
(block
(i32.store
(tee_local $1
(i32.add
(get_local $0)
(i32.const 28)
)
)
(i32.sub
(i32.load
(get_local $1)
)
(get_local $3)
)
)
(call $_ec_dec_normalize
(get_local $0)
)
)
)
)
(func $_ec_dec_bit_logp (; 69 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(if
(i32.eqz
(tee_local $6
(i32.lt_u
(tee_local $3
(i32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 32)
)
)
)
)
(tee_local $1
(i32.shr_u
(tee_local $5
(i32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.const 28)
)
)
)
)
(get_local $1)
)
)
)
)
)
(block
(i32.store
(get_local $2)
(i32.sub
(get_local $3)
(get_local $1)
)
)
(set_local $1
(i32.sub
(get_local $5)
(get_local $1)
)
)
)
)
(i32.store
(get_local $4)
(get_local $1)
)
(call $_ec_dec_normalize
(get_local $0)
)
(get_local $6)
)
(func $_ec_dec_icdf (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(set_local $5
(i32.load
(tee_local $6
(i32.add
(get_local $0)
(i32.const 32)
)
)
)
)
(set_local $8
(i32.shr_u
(tee_local $3
(i32.load
(tee_local $7
(i32.add
(get_local $0)
(i32.const 28)
)
)
)
)
(get_local $2)
)
)
(set_local $4
(i32.const -1)
)
(set_local $2
(get_local $3)
)
(loop $while-in
(if
(i32.lt_u
(get_local $5)
(tee_local $3
(i32.mul
(get_local $8)
(i32.load8_u
(i32.add
(get_local $1)
(tee_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
)
)
)
)
)
(block
(set_local $2
(get_local $3)
)
(br $while-in)
)
)
)
(i32.store
(get_local $6)
(i32.sub
(get_local $5)
(get_local $3)
)
)
(i32.store
(get_local $7)
(i32.sub
(get_local $2)
(get_local $3)
)
)
(call $_ec_dec_normalize
(get_local $0)
)
(get_local $4)
)
(func $_ec_dec_uint (; 71 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(if
(i32.le_s
(tee_local $2
(i32.sub
(i32.const 32)
(i32.clz
(tee_local $3
(i32.add
(get_local $1)
(i32.const -1)
)
)
)
)
)
(i32.const 8)
)
(block
(call $_ec_dec_update
(get_local $0)
(tee_local $0
(call $_ec_decode
(get_local $0)
(get_local $1)
)
)
(i32.add
(get_local $0)
(i32.const 1)
)
(get_local $1)
)
(return
(get_local $0)
)
)
)
(call $_ec_dec_update
(get_local $0)
(tee_local $2
(call $_ec_decode
(get_local $0)
(tee_local $4
(i32.add
(i32.shr_u
(get_local $3)
(tee_local $1
(i32.add
(get_local $2)
(i32.const -8)
)
)
)
(i32.const 1)
)
)
)
)
(i32.add
(get_local $2)
(i32.const 1)
)
(get_local $4)
)
(if
(i32.le_u
(tee_local $1
(i32.or
(i32.shl
(get_local $2)
(get_local $1)
)
(call $_ec_dec_bits
(get_local $0)
(get_local $1)
)
)
)
(get_local $3)
)
(return
(get_local $1)
)
)
(i32.store offset=44
(get_local $0)
(i32.const 1)
)
(get_local $3)
)
(func $_ec_dec_bits (; 72 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(set_local $3
(i32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.const 12)
)
)
)
)
(if
(i32.lt_u
(tee_local $2
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(get_local $1)
)
(block
(set_local $6
(i32.add
(get_local $2)
(i32.and
(i32.sub
(i32.add
(if (result i32)
(i32.gt_s
(get_local $2)
(i32.const 17)
)
(get_local $2)
(i32.const 17)
)
(i32.const 7)
)
(get_local $2)
)
(i32.const -8)
)
)
)
(loop $while-in
(set_local $3
(i32.or
(get_local $3)
(i32.shl
(call $_ec_read_byte_from_end
(get_local $0)
)
(get_local $2)
)
)
)
(set_local $7
(i32.add
(get_local $2)
(i32.const 8)
)
)
(if
(i32.lt_s
(get_local $2)
(i32.const 17)
)
(block
(set_local $2
(get_local $7)
)
(br $while-in)
)
)
)
(set_local $2
(i32.add
(get_local $6)
(i32.const 8)
)
)
)
)
(i32.store
(get_local $4)
(i32.shr_u
(get_local $3)
(get_local $1)
)
)
(i32.store
(get_local $5)
(i32.sub
(get_local $2)
(get_local $1)
)
)
(i32.store
(tee_local $0
(i32.add
(get_local $0)
(i32.const 20)
)
)
(i32.add
(i32.load
(get_local $0)
)
(get_local $1)
)
)
(i32.and
(get_local $3)
(i32.add
(i32.shl
(i32.const 1)
(get_local $1)
)
(i32.const -1)
)
)
)
(func $_ec_read_byte_from_end (; 73 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(if
(i32.ge_u
(tee_local $2
(i32.load
(tee_local $1
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(tee_local $3
(i32.load offset=4
(get_local $0)
)
)
)
(return
(i32.const 0)
)
)
(set_local $0
(i32.load
(get_local $0)
)
)
(i32.store
(get_local $1)
(tee_local $1
(i32.add
(get_local $2)
(i32.const 1)
)
)
)
(i32.load8_u
(i32.add
(get_local $0)
(i32.sub
(get_local $3)
(get_local $1)
)
)
)
)
(func $_ec_encode (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(set_local $4
(call $_celt_udiv
(tee_local $6
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 28)
)
)
)
)
(get_local $3)
)
)
(if
(get_local $1)
(block
(i32.store
(tee_local $7
(i32.add
(get_local $0)
(i32.const 32)
)
)
(i32.add
(i32.load
(get_local $7)
)
(i32.sub
(get_local $6)
(i32.mul
(get_local $4)
(i32.sub
(get_local $3)
(get_local $1)
)
)
)
)
)
(i32.store
(get_local $5)
(i32.mul
(get_local $4)
(i32.sub
(get_local $2)
(get_local $1)
)
)
)
(call $_ec_enc_normalize
(get_local $0)
)
)
(block
(i32.store
(get_local $5)
(i32.sub
(get_local $6)
(i32.mul
(get_local $4)
(i32.sub
(get_local $3)
(get_local $2)
)
)
)
)
(call $_ec_enc_normalize
(get_local $0)
)
)
)
)
(func $_ec_enc_normalize (; 75 ;) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(set_local $1
(i32.add
(get_local $0)
(i32.const 32)
)
)
(set_local $2
(i32.add
(get_local $0)
(i32.const 20)
)
)
(set_local $4
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 28)
)
)
)
)
(loop $while-in
(if
(i32.lt_u
(get_local $4)
(i32.const 8388609)
)
(block
(call $_ec_enc_carry_out
(get_local $0)
(i32.shr_u
(i32.load
(get_local $1)
)
(i32.const 23)
)
)
(i32.store
(get_local $1)
(i32.and
(i32.shl
(i32.load
(get_local $1)
)
(i32.const 8)
)
(i32.const 2147483392)
)
)
(i32.store
(get_local $3)
(tee_local $4
(i32.shl
(i32.load
(get_local $3)
)
(i32.const 8)
)
)
)
(i32.store
(get_local $2)
(i32.add
(i32.load
(get_local $2)
)
(i32.const 8)
)
)
(br $while-in)
)
)
)
)
(func $_ec_enc_carry_out (; 76 ;) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(if
(i32.eq
(get_local $1)
(i32.const 255)
)
(block
(i32.store
(tee_local $0
(i32.add
(get_local $0)
(i32.const 36)
)
)
(i32.add
(i32.load
(get_local $0)
)
(i32.const 1)
)
)
(return)
)
)
(set_local $3
(i32.shr_s
(get_local $1)
(i32.const 8)
)
)
(if
(i32.gt_s
(tee_local $2
(i32.load
(tee_local $6
(i32.add
(get_local $0)
(i32.const 40)
)
)
)
)
(i32.const -1)
)
(block
(set_local $2
(call $_ec_write_byte
(get_local $0)
(i32.add
(get_local $2)
(get_local $3)
)
)
)
(i32.store
(tee_local $4
(i32.add
(get_local $0)
(i32.const 44)
)
)
(i32.or
(i32.load
(get_local $4)
)
(get_local $2)
)
)
)
)
(if
(i32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 36)
)
)
)
(block
(set_local $4
(i32.and
(i32.add
(get_local $3)
(i32.const 255)
)
(i32.const 255)
)
)
(set_local $3
(i32.add
(get_local $0)
(i32.const 44)
)
)
(loop $while-in
(set_local $5
(call $_ec_write_byte
(get_local $0)
(get_local $4)
)
)
(i32.store
(get_local $3)
(i32.or
(i32.load
(get_local $3)
)
(get_local $5)
)
)
(i32.store
(get_local $2)
(tee_local $5
(i32.add
(i32.load
(get_local $2)
)
(i32.const -1)
)
)
)
(br_if $while-in
(get_local $5)
)
)
)
)
(i32.store
(get_local $6)
(i32.and
(get_local $1)
(i32.const 255)
)
)
)
(func $_ec_write_byte (; 77 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
(i32.ge_u
(i32.add
(tee_local $2
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 24)
)
)
)
)
(i32.load offset=8
(get_local $0)
)
)
(i32.load offset=4
(get_local $0)
)
)
(return
(i32.const -1)
)
)
(set_local $0
(i32.load
(get_local $0)
)
)
(i32.store
(get_local $3)
(i32.add
(get_local $2)
(i32.const 1)
)
)
(i32.store8
(i32.add
(get_local $0)
(get_local $2)
)
(get_local $1)
)
(i32.const 0)
)
(func $_ec_enc_bit_logp (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(set_local $2
(i32.shr_u
(tee_local $3
(i32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.const 28)
)
)
)
)
(get_local $2)
)
)
(set_local $3
(i32.sub
(get_local $3)
(get_local $2)
)
)
(i32.store
(get_local $4)
(tee_local $1
(if (result i32)
(get_local $1)
(block (result i32)
(i32.store
(tee_local $1
(i32.add
(get_local $0)
(i32.const 32)
)
)
(i32.add
(i32.load
(get_local $1)
)
(get_local $3)
)
)
(get_local $2)
)
(get_local $3)
)
)
)
(call $_ec_enc_normalize
(get_local $0)
)
)
(func $_ec_enc_uint (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(if
(i32.gt_s
(tee_local $3
(i32.sub
(i32.const 32)
(i32.clz
(tee_local $4
(i32.add
(get_local $2)
(i32.const -1)
)
)
)
)
)
(i32.const 8)
)
(block
(call $_ec_encode
(get_local $0)
(tee_local $3
(i32.shr_u
(get_local $1)
(tee_local $2
(i32.add
(get_local $3)
(i32.const -8)
)
)
)
)
(i32.add
(get_local $3)
(i32.const 1)
)
(i32.add
(i32.shr_u
(get_local $4)
(get_local $2)
)
(i32.const 1)
)
)
(call $_ec_enc_bits
(get_local $0)
(i32.and
(i32.add
(i32.shl
(i32.const 1)
(get_local $2)
)
(i32.const -1)
)
(get_local $1)
)
(get_local $2)
)
)
(call $_ec_encode
(get_local $0)
(get_local $1)
(i32.add
(get_local $1)
(i32.const 1)
)
(get_local $2)
)
)
)
(func $_ec_enc_bits (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(set_local $5
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 12)
)
)
)
)
(if
(i32.gt_u
(i32.add
(tee_local $3
(i32.load
(tee_local $9
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(get_local $2)
)
(i32.const 32)
)
(block
(set_local $7
(i32.add
(get_local $0)
(i32.const 44)
)
)
(set_local $10
(i32.and
(i32.add
(i32.add
(get_local $3)
(if (result i32)
(i32.gt_s
(tee_local $4
(i32.xor
(get_local $3)
(i32.const -1)
)
)
(i32.const -16)
)
(get_local $4)
(i32.const -16)
)
)
(i32.const 8)
)
(i32.const -8)
)
)
(set_local $4
(get_local $3)
)
(loop $while-in
(set_local $6
(call $_ec_write_byte_at_end
(get_local $0)
(i32.and
(get_local $5)
(i32.const 255)
)
)
)
(i32.store
(get_local $7)
(i32.or
(i32.load
(get_local $7)
)
(get_local $6)
)
)
(set_local $5
(i32.shr_u
(get_local $5)
(i32.const 8)
)
)
(set_local $6
(i32.add
(get_local $4)
(i32.const -8)
)
)
(if
(i32.gt_s
(get_local $4)
(i32.const 15)
)
(block
(set_local $4
(get_local $6)
)
(br $while-in)
)
)
)
(set_local $3
(i32.sub
(i32.add
(get_local $3)
(i32.const -8)
)
(get_local $10)
)
)
)
)
(i32.store
(get_local $8)
(i32.or
(get_local $5)
(i32.shl
(get_local $1)
(get_local $3)
)
)
)
(i32.store
(get_local $9)
(i32.add
(get_local $3)
(get_local $2)
)
)
(i32.store
(tee_local $0
(i32.add
(get_local $0)
(i32.const 20)
)
)
(i32.add
(i32.load
(get_local $0)
)
(get_local $2)
)
)
)
(func $_ec_write_byte_at_end (; 81 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(if
(i32.ge_u
(i32.add
(i32.load offset=24
(get_local $0)
)
(tee_local $3
(i32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(tee_local $4
(i32.load offset=4
(get_local $0)
)
)
)
(return
(i32.const -1)
)
)
(set_local $0
(i32.load
(get_local $0)
)
)
(i32.store
(get_local $2)
(tee_local $2
(i32.add
(get_local $3)
(i32.const 1)
)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.sub
(get_local $4)
(get_local $2)
)
)
(get_local $1)
)
(i32.const 0)
)
(func $_opus_fft_impl (; 82 ;) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 32)
)
)
(if
(i32.le_s
(tee_local $7
(i32.load offset=8
(get_local $0)
)
)
(i32.const 0)
)
(set_local $7
(i32.const 0)
)
)
(i32.store
(get_local $5)
(i32.const 1)
)
(set_local $6
(i32.const 1)
)
(loop $while-in
(set_local $8
(i32.load16_s
(i32.add
(i32.add
(get_local $0)
(i32.const 12)
)
(i32.shl
(i32.or
(tee_local $2
(i32.shl
(get_local $4)
(i32.const 1)
)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(i32.store
(i32.add
(get_local $5)
(i32.shl
(tee_local $3
(i32.add
(get_local $4)
(i32.const 1)
)
)
(i32.const 2)
)
)
(tee_local $6
(i32.mul
(get_local $6)
(i32.load16_s
(i32.add
(i32.add
(get_local $0)
(i32.const 12)
)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
)
)
)
(if
(i32.ne
(get_local $8)
(i32.const 1)
)
(block
(set_local $4
(get_local $3)
)
(br $while-in)
)
)
)
(set_local $8
(i32.add
(get_local $0)
(i32.const 48)
)
)
(set_local $2
(get_local $4)
)
(set_local $6
(i32.load16_s offset=10
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
(loop $while-in1
(if
(i32.gt_s
(get_local $2)
(i32.const -1)
)
(block
(set_local $3
(i32.shl
(get_local $2)
(i32.const 1)
)
)
(set_local $4
(if (result i32)
(get_local $2)
(i32.load16_s offset=10
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
(i32.const 1)
)
)
(block $switch-default
(block $switch-case4
(block $switch-case3
(block $switch-case2
(block $switch-case
(br_table $switch-case $switch-case3 $switch-case2 $switch-case4 $switch-default
(i32.sub
(i32.load16_s
(i32.add
(i32.add
(get_local $0)
(i32.const 12)
)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
(i32.const 2)
)
)
)
(call $_kf_bfly2
(get_local $1)
(i32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
(br $switch-default)
)
(call $_kf_bfly4
(get_local $1)
(i32.shl
(tee_local $3
(i32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
(get_local $7)
)
(get_local $0)
(get_local $6)
(get_local $3)
(get_local $4)
)
(br $switch-default)
)
(call $_kf_bfly3
(get_local $1)
(i32.shl
(tee_local $3
(i32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
(get_local $7)
)
(get_local $0)
(get_local $6)
(get_local $3)
(get_local $4)
)
(br $switch-default)
)
(call $_kf_bfly5
(get_local $1)
(i32.shl
(tee_local $3
(i32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
(get_local $7)
)
(i32.load
(get_local $8)
)
(get_local $6)
(get_local $3)
(get_local $4)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const -1)
)
)
(set_local $6
(get_local $4)
)
(br $while-in1)
)
)
)
(set_global $STACKTOP
(get_local $5)
)
)
(func $_kf_bfly2 (; 83 ;) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 f32)
(local $5 f32)
(local $6 f32)
(local $7 f32)
(local $8 i32)
(local $9 f32)
(loop $while-in
(if
(i32.lt_s
(get_local $8)
(get_local $1)
)
(block
(set_local $5
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 32)
)
)
)
)
(set_local $4
(f32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 36)
)
)
)
)
(f32.store
(get_local $2)
(f32.sub
(tee_local $6
(f32.load
(get_local $0)
)
)
(get_local $5)
)
)
(f32.store
(get_local $3)
(f32.sub
(tee_local $7
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 4)
)
)
)
)
(get_local $4)
)
)
(f32.store
(get_local $0)
(f32.add
(get_local $6)
(get_local $5)
)
)
(f32.store
(get_local $2)
(f32.add
(get_local $7)
(get_local $4)
)
)
(set_local $5
(f32.mul
(f32.add
(tee_local $4
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 40)
)
)
)
)
(tee_local $6
(f32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 44)
)
)
)
)
)
(f32.const 0.7071067690849304)
)
)
(f32.store
(get_local $2)
(f32.sub
(tee_local $7
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(get_local $5)
)
)
(f32.store
(get_local $3)
(f32.sub
(tee_local $9
(f32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 12)
)
)
)
)
(tee_local $4
(f32.mul
(f32.sub
(get_local $6)
(get_local $4)
)
(f32.const 0.7071067690849304)
)
)
)
)
(f32.store
(get_local $2)
(f32.add
(get_local $7)
(get_local $5)
)
)
(f32.store
(get_local $3)
(f32.add
(get_local $9)
(get_local $4)
)
)
(set_local $5
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 48)
)
)
)
)
(f32.store
(get_local $2)
(f32.sub
(tee_local $4
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(tee_local $6
(f32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 52)
)
)
)
)
)
)
(f32.store
(get_local $3)
(f32.add
(tee_local $7
(f32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
)
)
)
)
(get_local $5)
)
)
(f32.store
(get_local $2)
(f32.add
(get_local $4)
(get_local $6)
)
)
(f32.store
(get_local $3)
(f32.sub
(get_local $7)
(get_local $5)
)
)
(set_local $5
(f32.mul
(f32.sub
(tee_local $4
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 60)
)
)
)
)
(tee_local $6
(f32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 56)
)
)
)
)
)
(f32.const 0.7071067690849304)
)
)
(f32.store
(get_local $3)
(f32.sub
(tee_local $7
(f32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 24)
)
)
)
)
(get_local $5)
)
)
(f32.store
(get_local $2)
(f32.sub
(tee_local $9
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 28)
)
)
)
)
(tee_local $4
(f32.mul
(f32.add
(get_local $4)
(get_local $6)
)
(f32.const -0.7071067690849304)
)
)
)
)
(f32.store
(get_local $3)
(f32.add
(get_local $7)
(get_local $5)
)
)
(f32.store
(get_local $2)
(f32.add
(get_local $9)
(get_local $4)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 64)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_kf_bfly4 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 i32)
(local $7 f32)
(local $8 f32)
(local $9 f32)
(local $10 f32)
(local $11 f32)
(local $12 i32)
(local $13 i32)
(local $14 f32)
(local $15 f32)
(local $16 f32)
(local $17 f32)
(local $18 i32)
(local $19 f32)
(local $20 f32)
(local $21 f32)
(local $22 f32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 i32)
(local $33 i32)
(local $34 f32)
(local $35 i32)
(local $36 i32)
(local $37 f32)
(local $38 f32)
(local $39 f32)
(local $40 f32)
(if
(i32.eq
(get_local $3)
(i32.const 1)
)
(block
(set_local $1
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $1)
(get_local $4)
)
(block
(set_local $9
(f32.sub
(tee_local $7
(f32.load
(get_local $0)
)
)
(tee_local $8
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
)
)
(set_local $15
(f32.sub
(tee_local $10
(f32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 4)
)
)
)
)
(tee_local $14
(f32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 20)
)
)
)
)
)
)
(set_local $11
(f32.add
(tee_local $19
(f32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.const 12)
)
)
)
)
(tee_local $20
(f32.load
(tee_local $6
(i32.add
(get_local $0)
(i32.const 28)
)
)
)
)
)
)
(f32.store
(get_local $2)
(f32.sub
(tee_local $7
(f32.add
(get_local $7)
(get_local $8)
)
)
(tee_local $22
(f32.add
(tee_local $8
(f32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(tee_local $21
(f32.load
(tee_local $13
(i32.add
(get_local $0)
(i32.const 24)
)
)
)
)
)
)
)
)
(f32.store
(get_local $5)
(f32.sub
(tee_local $10
(f32.add
(get_local $10)
(get_local $14)
)
)
(get_local $11)
)
)
(f32.store
(get_local $0)
(f32.add
(get_local $7)
(get_local $22)
)
)
(f32.store
(get_local $3)
(f32.add
(get_local $10)
(get_local $11)
)
)
(f32.store
(get_local $2)
(f32.add
(get_local $9)
(tee_local $11
(f32.sub
(get_local $19)
(get_local $20)
)
)
)
)
(f32.store
(get_local $12)
(f32.sub
(get_local $15)
(tee_local $7
(f32.sub
(get_local $8)
(get_local $21)
)
)
)
)
(f32.store
(get_local $13)
(f32.sub
(get_local $9)
(get_local $11)
)
)
(f32.store
(get_local $6)
(f32.add
(get_local $15)
(get_local $7)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 32)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(return)
)
)
(set_local $25
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(set_local $26
(i32.mul
(get_local $3)
(i32.const 3)
)
)
(set_local $27
(i32.add
(get_local $2)
(i32.const 48)
)
)
(set_local $28
(i32.shl
(get_local $1)
(i32.const 1)
)
)
(set_local $29
(i32.mul
(get_local $1)
(i32.const 3)
)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $13)
(get_local $4)
)
(block
(set_local $18
(tee_local $2
(i32.load
(get_local $27)
)
)
)
(set_local $12
(get_local $2)
)
(set_local $23
(i32.const 0)
)
(set_local $6
(i32.add
(get_local $0)
(i32.shl
(i32.mul
(get_local $13)
(get_local $5)
)
(i32.const 3)
)
)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $23)
(get_local $3)
)
(block
(set_local $9
(f32.sub
(f32.mul
(tee_local $8
(f32.load
(tee_local $30
(i32.add
(get_local $6)
(i32.shl
(get_local $3)
(i32.const 3)
)
)
)
)
)
(tee_local $10
(f32.load
(get_local $12)
)
)
)
(f32.mul
(tee_local $14
(f32.load
(tee_local $31
(i32.add
(i32.add
(get_local $6)
(i32.shl
(get_local $3)
(i32.const 3)
)
)
(i32.const 4)
)
)
)
)
(tee_local $19
(f32.load offset=4
(get_local $12)
)
)
)
)
)
(set_local $15
(f32.sub
(f32.mul
(tee_local $20
(f32.load
(tee_local $32
(i32.add
(get_local $6)
(i32.shl
(get_local $26)
(i32.const 3)
)
)
)
)
)
(tee_local $21
(f32.load
(get_local $18)
)
)
)
(f32.mul
(tee_local $22
(f32.load
(tee_local $33
(i32.add
(i32.add
(get_local $6)
(i32.shl
(get_local $26)
(i32.const 3)
)
)
(i32.const 4)
)
)
)
)
(tee_local $34
(f32.load offset=4
(get_local $18)
)
)
)
)
)
(set_local $11
(f32.sub
(tee_local $16
(f32.load
(get_local $6)
)
)
(tee_local $39
(f32.sub
(f32.mul
(tee_local $7
(f32.load
(tee_local $35
(i32.add
(get_local $6)
(i32.shl
(get_local $25)
(i32.const 3)
)
)
)
)
)
(tee_local $17
(f32.load
(get_local $2)
)
)
)
(f32.mul
(tee_local $37
(f32.load
(tee_local $36
(i32.add
(i32.add
(get_local $6)
(i32.shl
(get_local $25)
(i32.const 3)
)
)
(i32.const 4)
)
)
)
)
(tee_local $38
(f32.load offset=4
(get_local $2)
)
)
)
)
)
)
)
(set_local $7
(f32.sub
(tee_local $40
(f32.load
(tee_local $24
(i32.add
(get_local $6)
(i32.const 4)
)
)
)
)
(tee_local $17
(f32.add
(f32.mul
(get_local $7)
(get_local $38)
)
(f32.mul
(get_local $37)
(get_local $17)
)
)
)
)
)
(f32.store
(get_local $6)
(tee_local $16
(f32.add
(get_local $16)
(get_local $39)
)
)
)
(f32.store
(get_local $24)
(tee_local $17
(f32.add
(get_local $40)
(get_local $17)
)
)
)
(f32.store
(get_local $35)
(f32.sub
(get_local $16)
(tee_local $16
(f32.add
(get_local $9)
(get_local $15)
)
)
)
)
(f32.store
(get_local $36)
(f32.sub
(get_local $17)
(tee_local $14
(f32.add
(tee_local $8
(f32.add
(f32.mul
(get_local $8)
(get_local $19)
)
(f32.mul
(get_local $14)
(get_local $10)
)
)
)
(tee_local $10
(f32.add
(f32.mul
(get_local $20)
(get_local $34)
)
(f32.mul
(get_local $22)
(get_local $21)
)
)
)
)
)
)
)
(f32.store
(get_local $6)
(f32.add
(f32.load
(get_local $6)
)
(get_local $16)
)
)
(f32.store
(get_local $24)
(f32.add
(f32.load
(get_local $24)
)
(get_local $14)
)
)
(f32.store
(get_local $30)
(f32.add
(get_local $11)
(tee_local $8
(f32.sub
(get_local $8)
(get_local $10)
)
)
)
)
(f32.store
(get_local $31)
(f32.sub
(get_local $7)
(tee_local $9
(f32.sub
(get_local $9)
(get_local $15)
)
)
)
)
(f32.store
(get_local $32)
(f32.sub
(get_local $11)
(get_local $8)
)
)
(f32.store
(get_local $33)
(f32.add
(get_local $7)
(get_local $9)
)
)
(set_local $18
(i32.add
(get_local $18)
(i32.shl
(get_local $29)
(i32.const 3)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.shl
(get_local $28)
(i32.const 3)
)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.shl
(get_local $1)
(i32.const 3)
)
)
)
(set_local $23
(i32.add
(get_local $23)
(i32.const 1)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 8)
)
)
(br $while-in3)
)
)
)
(set_local $13
(i32.add
(get_local $13)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
)
(func $_kf_bfly3 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 f32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 f32)
(local $13 f32)
(local $14 f32)
(local $15 i32)
(local $16 f32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 f32)
(local $21 i32)
(local $22 i32)
(local $23 f32)
(local $24 f32)
(local $25 i32)
(local $26 f32)
(local $27 f32)
(local $28 f32)
(local $29 f32)
(set_local $15
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(set_local $16
(f32.load offset=4
(i32.add
(i32.load
(tee_local $18
(i32.add
(get_local $2)
(i32.const 48)
)
)
)
(i32.shl
(i32.mul
(get_local $1)
(get_local $3)
)
(i32.const 3)
)
)
)
)
(set_local $19
(i32.shl
(get_local $1)
(i32.const 1)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $9)
(get_local $4)
)
(block
(set_local $6
(i32.add
(get_local $0)
(i32.shl
(i32.mul
(get_local $9)
(get_local $5)
)
(i32.const 3)
)
)
)
(set_local $7
(tee_local $2
(i32.load
(get_local $18)
)
)
)
(set_local $17
(get_local $3)
)
(loop $while-in1
(set_local $12
(f32.sub
(f32.mul
(tee_local $8
(f32.load
(tee_local $10
(i32.add
(get_local $6)
(i32.shl
(get_local $3)
(i32.const 3)
)
)
)
)
)
(tee_local $13
(f32.load
(get_local $2)
)
)
)
(f32.mul
(tee_local $14
(f32.load
(tee_local $11
(i32.add
(i32.add
(get_local $6)
(i32.shl
(get_local $3)
(i32.const 3)
)
)
(i32.const 4)
)
)
)
)
(tee_local $20
(f32.load offset=4
(get_local $2)
)
)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.shl
(get_local $1)
(i32.const 3)
)
)
)
(set_local $21
(i32.add
(get_local $7)
(i32.shl
(get_local $19)
(i32.const 3)
)
)
)
(f32.store
(get_local $10)
(f32.sub
(f32.load
(get_local $6)
)
(f32.mul
(tee_local $29
(f32.add
(get_local $12)
(tee_local $28
(f32.sub
(f32.mul
(tee_local $23
(f32.load
(tee_local $22
(i32.add
(get_local $6)
(i32.shl
(get_local $15)
(i32.const 3)
)
)
)
)
)
(tee_local $24
(f32.load
(get_local $7)
)
)
)
(f32.mul
(tee_local $26
(f32.load
(tee_local $25
(i32.add
(i32.add
(get_local $6)
(i32.shl
(get_local $15)
(i32.const 3)
)
)
(i32.const 4)
)
)
)
)
(tee_local $27
(f32.load offset=4
(get_local $7)
)
)
)
)
)
)
)
(f32.const 0.5)
)
)
)
(f32.store
(get_local $11)
(f32.sub
(f32.load
(tee_local $7
(i32.add
(get_local $6)
(i32.const 4)
)
)
)
(f32.mul
(tee_local $14
(f32.add
(tee_local $8
(f32.add
(f32.mul
(get_local $8)
(get_local $20)
)
(f32.mul
(get_local $14)
(get_local $13)
)
)
)
(tee_local $13
(f32.add
(f32.mul
(get_local $23)
(get_local $27)
)
(f32.mul
(get_local $26)
(get_local $24)
)
)
)
)
)
(f32.const 0.5)
)
)
)
(f32.store
(get_local $6)
(f32.add
(f32.load
(get_local $6)
)
(get_local $29)
)
)
(f32.store
(get_local $7)
(f32.add
(f32.load
(get_local $7)
)
(get_local $14)
)
)
(f32.store
(get_local $22)
(f32.add
(f32.load
(get_local $10)
)
(tee_local $8
(f32.mul
(f32.sub
(get_local $8)
(get_local $13)
)
(get_local $16)
)
)
)
)
(f32.store
(get_local $25)
(f32.sub
(f32.load
(get_local $11)
)
(tee_local $12
(f32.mul
(f32.sub
(get_local $12)
(get_local $28)
)
(get_local $16)
)
)
)
)
(f32.store
(get_local $10)
(f32.sub
(f32.load
(get_local $10)
)
(get_local $8)
)
)
(f32.store
(get_local $11)
(f32.add
(f32.load
(get_local $11)
)
(get_local $12)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 8)
)
)
(if
(tee_local $17
(i32.add
(get_local $17)
(i32.const -1)
)
)
(block
(set_local $7
(get_local $21)
)
(br $while-in1)
)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_kf_bfly5 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 f32)
(local $14 f32)
(local $15 f32)
(local $16 f32)
(local $17 f32)
(local $18 f32)
(local $19 f32)
(local $20 f32)
(local $21 f32)
(local $22 i32)
(local $23 f32)
(local $24 f32)
(local $25 f32)
(local $26 f32)
(local $27 f32)
(local $28 f32)
(local $29 f32)
(local $30 f32)
(local $31 f32)
(local $32 i32)
(local $33 i32)
(local $34 i32)
(local $35 i32)
(local $36 i32)
(local $37 i32)
(local $38 f32)
(local $39 f32)
(local $40 i32)
(local $41 f32)
(local $42 f32)
(local $43 f32)
(local $44 f32)
(local $45 f32)
(local $46 i32)
(local $47 f32)
(local $48 f32)
(local $49 f32)
(set_local $18
(f32.load
(i32.add
(get_local $2)
(i32.shl
(tee_local $6
(i32.mul
(get_local $1)
(get_local $3)
)
)
(i32.const 3)
)
)
)
)
(set_local $19
(f32.load offset=4
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 3)
)
)
)
)
(set_local $20
(f32.load
(i32.add
(get_local $2)
(i32.shl
(tee_local $6
(i32.mul
(i32.shl
(get_local $1)
(i32.const 1)
)
(get_local $3)
)
)
(i32.const 3)
)
)
)
)
(set_local $21
(f32.load offset=4
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 3)
)
)
)
)
(set_local $32
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(set_local $33
(i32.mul
(get_local $3)
(i32.const 3)
)
)
(set_local $34
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $22)
(get_local $4)
)
(block
(set_local $7
(i32.const 0)
)
(set_local $9
(i32.add
(tee_local $6
(i32.add
(get_local $0)
(i32.shl
(i32.mul
(get_local $22)
(get_local $5)
)
(i32.const 3)
)
)
)
(i32.shl
(get_local $34)
(i32.const 3)
)
)
)
(set_local $10
(i32.add
(get_local $6)
(i32.shl
(get_local $33)
(i32.const 3)
)
)
)
(set_local $11
(i32.add
(get_local $6)
(i32.shl
(get_local $32)
(i32.const 3)
)
)
)
(set_local $12
(i32.add
(get_local $6)
(i32.shl
(get_local $3)
(i32.const 3)
)
)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $7)
(get_local $3)
)
(block
(set_local $13
(f32.load
(tee_local $35
(i32.add
(get_local $6)
(i32.const 4)
)
)
)
)
(f32.store
(get_local $6)
(f32.add
(tee_local $23
(f32.load
(get_local $6)
)
)
(f32.add
(tee_local $26
(f32.add
(tee_local $28
(f32.sub
(f32.mul
(tee_local $24
(f32.load
(get_local $12)
)
)
(tee_local $25
(f32.load
(i32.add
(get_local $2)
(i32.shl
(tee_local $8
(i32.mul
(get_local $7)
(get_local $1)
)
)
(i32.const 3)
)
)
)
)
)
(f32.mul
(tee_local $14
(f32.load
(tee_local $36
(i32.add
(get_local $12)
(i32.const 4)
)
)
)
)
(tee_local $15
(f32.load offset=4
(i32.add
(get_local $2)
(i32.shl
(get_local $8)
(i32.const 3)
)
)
)
)
)
)
)
(tee_local $31
(f32.sub
(f32.mul
(tee_local $16
(f32.load
(get_local $9)
)
)
(tee_local $17
(f32.load
(i32.add
(get_local $2)
(i32.shl
(tee_local $8
(i32.mul
(i32.shl
(get_local $7)
(i32.const 2)
)
(get_local $1)
)
)
(i32.const 3)
)
)
)
)
)
(f32.mul
(tee_local $29
(f32.load
(tee_local $37
(i32.add
(get_local $9)
(i32.const 4)
)
)
)
)
(tee_local $30
(f32.load offset=4
(i32.add
(get_local $2)
(i32.shl
(get_local $8)
(i32.const 3)
)
)
)
)
)
)
)
)
)
(tee_local $27
(f32.add
(tee_local $43
(f32.sub
(f32.mul
(tee_local $38
(f32.load
(get_local $11)
)
)
(tee_local $39
(f32.load
(i32.add
(get_local $2)
(i32.shl
(tee_local $8
(i32.mul
(i32.shl
(get_local $7)
(i32.const 1)
)
(get_local $1)
)
)
(i32.const 3)
)
)
)
)
)
(f32.mul
(tee_local $41
(f32.load
(tee_local $40
(i32.add
(get_local $11)
(i32.const 4)
)
)
)
)
(tee_local $42
(f32.load offset=4
(i32.add
(get_local $2)
(i32.shl
(get_local $8)
(i32.const 3)
)
)
)
)
)
)
)
(tee_local $49
(f32.sub
(f32.mul
(tee_local $44
(f32.load
(get_local $10)
)
)
(tee_local $45
(f32.load
(i32.add
(get_local $2)
(i32.shl
(tee_local $8
(i32.mul
(i32.mul
(get_local $7)
(i32.const 3)
)
(get_local $1)
)
)
(i32.const 3)
)
)
)
)
)
(f32.mul
(tee_local $47
(f32.load
(tee_local $46
(i32.add
(get_local $10)
(i32.const 4)
)
)
)
)
(tee_local $48
(f32.load offset=4
(i32.add
(get_local $2)
(i32.shl
(get_local $8)
(i32.const 3)
)
)
)
)
)
)
)
)
)
)
)
)
(f32.store
(get_local $35)
(f32.add
(get_local $13)
(f32.add
(tee_local $24
(f32.add
(tee_local $14
(f32.add
(f32.mul
(get_local $24)
(get_local $15)
)
(f32.mul
(get_local $14)
(get_local $25)
)
)
)
(tee_local $15
(f32.add
(f32.mul
(get_local $16)
(get_local $30)
)
(f32.mul
(get_local $29)
(get_local $17)
)
)
)
)
)
(tee_local $25
(f32.add
(tee_local $16
(f32.add
(f32.mul
(get_local $38)
(get_local $42)
)
(f32.mul
(get_local $41)
(get_local $39)
)
)
)
(tee_local $17
(f32.add
(f32.mul
(get_local $44)
(get_local $48)
)
(f32.mul
(get_local $47)
(get_local $45)
)
)
)
)
)
)
)
)
(f32.store
(get_local $12)
(f32.sub
(tee_local $29
(f32.add
(get_local $23)
(f32.add
(f32.mul
(get_local $26)
(get_local $18)
)
(f32.mul
(get_local $27)
(get_local $20)
)
)
)
)
(tee_local $16
(f32.add
(f32.mul
(tee_local $14
(f32.sub
(get_local $14)
(get_local $15)
)
)
(get_local $19)
)
(f32.mul
(tee_local $15
(f32.sub
(get_local $16)
(get_local $17)
)
)
(get_local $21)
)
)
)
)
)
(f32.store
(get_local $36)
(f32.add
(tee_local $17
(f32.add
(get_local $13)
(f32.add
(f32.mul
(get_local $24)
(get_local $18)
)
(f32.mul
(get_local $25)
(get_local $20)
)
)
)
)
(tee_local $31
(f32.add
(f32.mul
(tee_local $28
(f32.sub
(get_local $28)
(get_local $31)
)
)
(get_local $19)
)
(f32.mul
(tee_local $30
(f32.sub
(get_local $43)
(get_local $49)
)
)
(get_local $21)
)
)
)
)
)
(f32.store
(get_local $9)
(f32.add
(get_local $29)
(get_local $16)
)
)
(f32.store
(get_local $37)
(f32.sub
(get_local $17)
(get_local $31)
)
)
(f32.store
(get_local $11)
(f32.add
(tee_local $23
(f32.add
(get_local $23)
(f32.add
(f32.mul
(get_local $26)
(get_local $20)
)
(f32.mul
(get_local $27)
(get_local $18)
)
)
)
)
(tee_local $26
(f32.sub
(f32.mul
(get_local $15)
(get_local $19)
)
(f32.mul
(get_local $14)
(get_local $21)
)
)
)
)
)
(f32.store
(get_local $40)
(f32.add
(tee_local $13
(f32.add
(get_local $13)
(f32.add
(f32.mul
(get_local $24)
(get_local $20)
)
(f32.mul
(get_local $25)
(get_local $18)
)
)
)
)
(tee_local $27
(f32.sub
(f32.mul
(get_local $28)
(get_local $21)
)
(f32.mul
(get_local $30)
(get_local $19)
)
)
)
)
)
(f32.store
(get_local $10)
(f32.sub
(get_local $23)
(get_local $26)
)
)
(f32.store
(get_local $46)
(f32.sub
(get_local $13)
(get_local $27)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 8)
)
)
(set_local $10
(i32.add
(get_local $10)
(i32.const 8)
)
)
(set_local $11
(i32.add
(get_local $11)
(i32.const 8)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 8)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.const 8)
)
)
(br $while-in1)
)
)
)
(set_local $22
(i32.add
(get_local $22)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_ec_laplace_get_freq1 (; 87 ;) (param $0 i32) (param $1 i32) (result i32)
(i32.shr_u
(i32.mul
(i32.sub
(i32.const 32736)
(get_local $0)
)
(i32.sub
(i32.const 16384)
(get_local $1)
)
)
(i32.const 15)
)
)
(func $_ec_laplace_decode (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(if
(i32.lt_u
(tee_local $6
(call $_ec_decode_bin
(get_local $0)
)
)
(get_local $1)
)
(block
(if
(i32.ge_u
(tee_local $1
(i32.add
(tee_local $2
(i32.const 0)
)
(get_local $1)
)
)
(i32.const 32768)
)
(set_local $1
(i32.const 32768)
)
)
(call $_ec_dec_update
(get_local $0)
(i32.const 0)
(get_local $1)
(i32.const 32768)
)
(return
(i32.const 0)
)
)
)
(set_local $3
(call $_ec_laplace_get_freq1
(get_local $1)
(get_local $2)
)
)
(set_local $4
(i32.const 1)
)
(block $__rjto$0
(block $__rjti$0
(loop $while-in
(block $while-out
(br_if $__rjti$0
(i32.le_u
(tee_local $5
(i32.add
(get_local $3)
(i32.const 1)
)
)
(i32.const 1)
)
)
(if
(i32.lt_u
(get_local $6)
(tee_local $3
(i32.add
(get_local $1)
(tee_local $7
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
)
(set_local $2
(get_local $1)
)
(block
(set_local $1
(get_local $3)
)
(set_local $3
(i32.shr_u
(i32.mul
(i32.add
(get_local $7)
(i32.const -2)
)
(get_local $2)
)
(i32.const 15)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(br $__rjto$0)
)
(set_local $2
(i32.add
(get_local $1)
(i32.and
(tee_local $1
(i32.sub
(get_local $6)
(get_local $1)
)
)
(i32.const -2)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.shr_u
(get_local $1)
(i32.const 1)
)
)
)
)
(set_local $3
(i32.sub
(i32.const 0)
(get_local $4)
)
)
(if
(i32.eqz
(tee_local $5
(i32.lt_u
(get_local $6)
(tee_local $7
(i32.add
(get_local $2)
(tee_local $1
(get_local $5)
)
)
)
)
)
)
(set_local $3
(get_local $4)
)
)
(if
(i32.ge_u
(tee_local $1
(i32.add
(if (result i32)
(get_local $5)
(get_local $2)
(tee_local $2
(get_local $7)
)
)
(get_local $1)
)
)
(i32.const 32768)
)
(set_local $1
(i32.const 32768)
)
)
(call $_ec_dec_update
(get_local $0)
(get_local $2)
(get_local $1)
(i32.const 32768)
)
(get_local $3)
)
(func $_isqrt32 (; 89 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(set_local $2
(i32.shl
(i32.const 1)
(tee_local $1
(i32.shr_s
(i32.sub
(i32.const 31)
(i32.clz
(get_local $0)
)
)
(i32.const 1)
)
)
)
)
(loop $while-in
(set_local $3
(i32.add
(get_local $3)
(if (result i32)
(tee_local $4
(i32.lt_u
(get_local $0)
(tee_local $5
(i32.shl
(i32.add
(i32.shl
(get_local $3)
(i32.const 1)
)
(get_local $2)
)
(get_local $1)
)
)
)
)
(i32.const 0)
(get_local $2)
)
)
)
(set_local $0
(i32.sub
(get_local $0)
(if (result i32)
(get_local $4)
(i32.const 0)
(get_local $5)
)
)
)
(set_local $4
(i32.add
(get_local $1)
(i32.const -1)
)
)
(set_local $2
(i32.shr_u
(get_local $2)
(i32.const 1)
)
)
(if
(i32.gt_s
(get_local $1)
(i32.const 0)
)
(block
(set_local $1
(get_local $4)
)
(br $while-in)
)
)
)
(get_local $3)
)
(func $_clt_mdct_backward_c (; 90 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 f32)
(local $11 f32)
(local $12 f32)
(local $13 f32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 f32)
(local $20 f32)
(set_local $9
(i32.load offset=24
(get_local $0)
)
)
(set_local $7
(i32.load
(get_local $0)
)
)
(loop $while-in
(set_local $14
(i32.shr_s
(get_local $7)
(i32.const 1)
)
)
(if
(i32.lt_s
(get_local $8)
(get_local $5)
)
(block
(set_local $9
(i32.add
(get_local $9)
(i32.shl
(get_local $14)
(i32.const 2)
)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(set_local $7
(get_local $14)
)
(br $while-in)
)
)
)
(set_local $8
(i32.shr_s
(get_local $7)
(i32.const 2)
)
)
(set_local $7
(i32.add
(get_local $2)
(i32.shl
(i32.shr_s
(get_local $4)
(i32.const 1)
)
(i32.const 2)
)
)
)
(set_local $16
(i32.sub
(i32.const 0)
(tee_local $15
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
)
(set_local $5
(i32.load offset=44
(tee_local $17
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 8)
)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
)
(set_local $6
(i32.add
(get_local $1)
(i32.shl
(i32.mul
(i32.add
(get_local $14)
(i32.const -1)
)
(get_local $6)
)
(i32.const 2)
)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $0)
(get_local $8)
)
(block
(f32.store
(i32.add
(get_local $7)
(i32.shl
(i32.or
(tee_local $18
(i32.shl
(i32.load16_s
(get_local $5)
)
(i32.const 1)
)
)
(i32.const 1)
)
(i32.const 2)
)
)
(f32.add
(f32.mul
(tee_local $12
(f32.load
(get_local $6)
)
)
(tee_local $13
(f32.load
(i32.add
(get_local $9)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
)
(f32.mul
(tee_local $10
(f32.load
(get_local $1)
)
)
(tee_local $11
(f32.load
(i32.add
(get_local $9)
(i32.shl
(i32.add
(get_local $8)
(get_local $0)
)
(i32.const 2)
)
)
)
)
)
)
)
(f32.store
(i32.add
(get_local $7)
(i32.shl
(get_local $18)
(i32.const 2)
)
)
(f32.sub
(f32.mul
(get_local $10)
(get_local $13)
)
(f32.mul
(get_local $12)
(get_local $11)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.shl
(get_local $15)
(i32.const 2)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 2)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.shl
(get_local $16)
(i32.const 2)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(call $_opus_fft_impl
(get_local $17)
(get_local $7)
)
(set_local $6
(i32.shr_s
(i32.add
(get_local $8)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $5
(i32.const 0)
)
(set_local $0
(i32.add
(get_local $7)
(i32.shl
(get_local $14)
(i32.const 2)
)
)
)
(loop $while-in3
(set_local $1
(i32.add
(get_local $0)
(i32.const -8)
)
)
(if
(i32.lt_s
(get_local $5)
(get_local $6)
)
(block
(set_local $12
(f32.load
(tee_local $0
(i32.add
(get_local $0)
(i32.const -4)
)
)
)
)
(set_local $13
(f32.load
(get_local $1)
)
)
(f32.store
(get_local $7)
(f32.add
(f32.mul
(tee_local $10
(f32.load
(tee_local $15
(i32.add
(get_local $7)
(i32.const 4)
)
)
)
)
(tee_local $11
(f32.load
(i32.add
(get_local $9)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(f32.mul
(tee_local $19
(f32.load
(get_local $7)
)
)
(tee_local $20
(f32.load
(i32.add
(get_local $9)
(i32.shl
(i32.add
(get_local $8)
(get_local $5)
)
(i32.const 2)
)
)
)
)
)
)
)
(f32.store
(get_local $0)
(f32.sub
(f32.mul
(get_local $10)
(get_local $20)
)
(f32.mul
(get_local $19)
(get_local $11)
)
)
)
(f32.store
(get_local $1)
(f32.add
(f32.mul
(get_local $12)
(tee_local $10
(f32.load
(i32.add
(get_local $9)
(i32.shl
(i32.add
(i32.sub
(get_local $8)
(get_local $5)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
)
(f32.mul
(get_local $13)
(tee_local $11
(f32.load
(i32.add
(get_local $9)
(i32.shl
(i32.add
(i32.sub
(get_local $14)
(get_local $5)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
)
)
)
(f32.store
(get_local $15)
(f32.sub
(f32.mul
(get_local $12)
(get_local $11)
)
(f32.mul
(get_local $13)
(get_local $10)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 8)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(set_local $0
(get_local $1)
)
(br $while-in3)
)
)
)
(set_local $6
(i32.div_s
(get_local $4)
(i32.const 2)
)
)
(set_local $5
(i32.const 0)
)
(set_local $0
(i32.add
(get_local $2)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(set_local $1
(i32.add
(get_local $3)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(loop $while-in5
(set_local $1
(i32.add
(get_local $1)
(i32.const -4)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const -4)
)
)
(if
(i32.lt_s
(get_local $5)
(get_local $6)
)
(block
(f32.store
(get_local $2)
(f32.sub
(f32.mul
(tee_local $12
(f32.load
(get_local $1)
)
)
(tee_local $13
(f32.load
(get_local $2)
)
)
)
(f32.mul
(tee_local $10
(f32.load
(get_local $3)
)
)
(tee_local $11
(f32.load
(get_local $0)
)
)
)
)
)
(f32.store
(get_local $0)
(f32.add
(f32.mul
(get_local $10)
(get_local $13)
)
(f32.mul
(get_local $12)
(get_local $11)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 4)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 4)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
)
(func $_opus_custom_mode_create (; 91 ;) (result i32)
(i32.const 7848)
)
(func $_pitch_downsample (; 92 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 f32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 f32)
(set_local $6
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 80)
)
)
(i64.store align=4
(tee_local $8
(i32.add
(get_local $6)
(i32.const 20)
)
)
(i64.const 0)
)
(i64.store offset=8 align=4
(get_local $8)
(i64.const 0)
)
(i32.store offset=16
(get_local $8)
(i32.const 0)
)
(set_local $7
(i32.const 1)
)
(loop $while-in
(set_local $3
(i32.load
(get_local $0)
)
)
(if
(i32.ne
(get_local $7)
(i32.const 1024)
)
(block
(f32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(f32.mul
(f32.add
(f32.mul
(f32.add
(f32.load
(i32.add
(get_local $3)
(i32.shl
(i32.add
(tee_local $4
(i32.shl
(get_local $7)
(i32.const 1)
)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $3)
(i32.shl
(i32.or
(get_local $4)
(i32.const 1)
)
(i32.const 2)
)
)
)
)
(f32.const 0.5)
)
(f32.load
(i32.add
(get_local $3)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
(f32.const 0.5)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(f32.store
(get_local $1)
(f32.mul
(f32.add
(f32.mul
(f32.load offset=4
(get_local $3)
)
(f32.const 0.5)
)
(f32.load
(get_local $3)
)
)
(f32.const 0.5)
)
)
(if
(i32.eq
(get_local $2)
(i32.const 2)
)
(block
(set_local $2
(i32.add
(get_local $0)
(i32.const 4)
)
)
(set_local $3
(i32.const 1)
)
(loop $while-in1
(set_local $4
(i32.load
(get_local $2)
)
)
(if
(i32.ne
(get_local $3)
(i32.const 1024)
)
(block
(f32.store
(tee_local $0
(i32.add
(get_local $1)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(f32.add
(f32.load
(get_local $0)
)
(f32.mul
(f32.add
(f32.mul
(f32.add
(f32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(tee_local $0
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $4)
(i32.shl
(i32.or
(get_local $0)
(i32.const 1)
)
(i32.const 2)
)
)
)
)
(f32.const 0.5)
)
(f32.load
(i32.add
(get_local $4)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
(f32.const 0.5)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(f32.store
(get_local $1)
(f32.add
(f32.load
(get_local $1)
)
(f32.mul
(f32.add
(f32.mul
(f32.load offset=4
(get_local $4)
)
(f32.const 0.5)
)
(f32.load
(get_local $4)
)
)
(f32.const 0.5)
)
)
)
)
)
(set_local $3
(i32.add
(get_local $6)
(i32.const 40)
)
)
(call $__celt_autocorr
(get_local $1)
(tee_local $2
(i32.add
(get_local $6)
(i32.const 56)
)
)
(i32.const 0)
(i32.const 0)
(i32.const 4)
(i32.const 1024)
)
(f32.store
(get_local $2)
(f32.mul
(f32.load
(get_local $2)
)
(f32.const 1.000100016593933)
)
)
(set_local $4
(i32.const 1)
)
(loop $while-in3
(if
(i32.ne
(get_local $4)
(i32.const 5)
)
(block
(set_local $5
(f32.load
(tee_local $0
(i32.add
(get_local $2)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $0)
(f32.sub
(get_local $5)
(f32.mul
(f32.mul
(get_local $5)
(tee_local $5
(f32.mul
(f32.convert_s/i32
(get_local $4)
)
(f32.const 0.00800000037997961)
)
)
)
(get_local $5)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(call $__celt_lpc
(get_local $3)
(get_local $2)
(i32.const 4)
)
(set_local $5
(f32.const 1)
)
(set_local $2
(i32.const 0)
)
(loop $while-in5
(if
(i32.ne
(get_local $2)
(i32.const 4)
)
(block
(f32.store
(tee_local $0
(i32.add
(get_local $3)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
(f32.mul
(f32.load
(get_local $0)
)
(tee_local $5
(f32.mul
(get_local $5)
(f32.const 0.8999999761581421)
)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(f32.store
(get_local $6)
(f32.add
(tee_local $9
(f32.load
(get_local $3)
)
)
(f32.const 0.800000011920929)
)
)
(f32.store offset=4
(get_local $6)
(f32.add
(tee_local $5
(f32.load offset=4
(get_local $3)
)
)
(f32.mul
(get_local $9)
(f32.const 0.800000011920929)
)
)
)
(f32.store offset=8
(get_local $6)
(f32.add
(tee_local $9
(f32.load offset=8
(get_local $3)
)
)
(f32.mul
(get_local $5)
(f32.const 0.800000011920929)
)
)
)
(f32.store offset=12
(get_local $6)
(f32.add
(tee_local $5
(f32.load offset=12
(get_local $3)
)
)
(f32.mul
(get_local $9)
(f32.const 0.800000011920929)
)
)
)
(f32.store offset=16
(get_local $6)
(f32.mul
(get_local $5)
(f32.const 0.800000011920929)
)
)
(call $_celt_fir5
(get_local $1)
(get_local $6)
(get_local $1)
(i32.const 1024)
(get_local $8)
)
(set_global $STACKTOP
(get_local $6)
)
)
(func $_celt_fir5 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 f32)
(local $7 f32)
(local $8 f32)
(local $9 f32)
(local $10 f32)
(local $11 f32)
(local $12 f32)
(local $13 f32)
(local $14 f32)
(local $15 f32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 f32)
(local $20 f32)
(local $21 f32)
(local $22 f32)
(set_local $11
(f32.load
(get_local $1)
)
)
(set_local $12
(f32.load offset=4
(get_local $1)
)
)
(set_local $13
(f32.load offset=8
(get_local $1)
)
)
(set_local $14
(f32.load offset=12
(get_local $1)
)
)
(set_local $15
(f32.load offset=16
(get_local $1)
)
)
(set_local $10
(f32.load
(tee_local $16
(i32.add
(get_local $4)
(i32.const 16)
)
)
)
)
(set_local $6
(f32.load
(tee_local $17
(i32.add
(get_local $4)
(i32.const 12)
)
)
)
)
(set_local $7
(f32.load
(tee_local $18
(i32.add
(get_local $4)
(i32.const 8)
)
)
)
)
(set_local $8
(f32.load
(tee_local $1
(i32.add
(get_local $4)
(i32.const 4)
)
)
)
)
(set_local $9
(f32.load
(get_local $4)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $5)
(get_local $3)
)
(block
(f32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(f32.add
(f32.add
(f32.add
(f32.add
(f32.add
(tee_local $19
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
(f32.mul
(get_local $11)
(get_local $9)
)
)
(f32.mul
(get_local $12)
(get_local $8)
)
)
(f32.mul
(get_local $13)
(get_local $7)
)
)
(f32.mul
(get_local $14)
(get_local $6)
)
)
(f32.mul
(get_local $15)
(get_local $10)
)
)
)
(set_local $20
(get_local $9)
)
(set_local $21
(get_local $8)
)
(set_local $22
(get_local $7)
)
(set_local $10
(get_local $6)
)
(set_local $9
(get_local $19)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(set_local $8
(get_local $20)
)
(set_local $7
(get_local $21)
)
(set_local $6
(get_local $22)
)
(br $while-in)
)
)
)
(f32.store
(get_local $4)
(get_local $9)
)
(f32.store
(get_local $1)
(get_local $8)
)
(f32.store
(get_local $18)
(get_local $7)
)
(f32.store
(get_local $17)
(get_local $6)
)
(f32.store
(get_local $16)
(get_local $10)
)
)
(func $_celt_pitch_xcorr_c (; 94 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $9
(i32.add
(get_local $5)
(i32.const 4)
)
)
(set_local $10
(i32.add
(get_local $5)
(i32.const 8)
)
)
(set_local $11
(i32.add
(get_local $5)
(i32.const 12)
)
)
(set_local $7
(i32.and
(i32.add
(if (result i32)
(i32.gt_s
(tee_local $8
(i32.add
(get_local $4)
(i32.const -3)
)
)
(i32.const 0)
)
(get_local $8)
(i32.const 0)
)
(i32.const 3)
)
(i32.const -4)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $6)
(get_local $8)
)
(block
(i64.store align=4
(get_local $5)
(i64.const 0)
)
(i64.store offset=8 align=4
(get_local $5)
(i64.const 0)
)
(call $_xcorr_kernel_c
(get_local $0)
(i32.add
(get_local $1)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
(get_local $5)
(get_local $3)
)
(i32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
(i32.load
(get_local $5)
)
)
(i32.store
(i32.add
(get_local $2)
(i32.shl
(i32.or
(get_local $6)
(i32.const 1)
)
(i32.const 2)
)
)
(i32.load
(get_local $9)
)
)
(i32.store
(i32.add
(get_local $2)
(i32.shl
(i32.or
(get_local $6)
(i32.const 2)
)
(i32.const 2)
)
)
(i32.load
(get_local $10)
)
)
(i32.store
(i32.add
(get_local $2)
(i32.shl
(i32.or
(get_local $6)
(i32.const 3)
)
(i32.const 2)
)
)
(i32.load
(get_local $11)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 4)
)
)
(br $while-in)
)
)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $7)
(get_local $4)
)
(block
(f32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(call $_celt_inner_prod_c_51
(get_local $0)
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(get_local $3)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_global $STACKTOP
(get_local $5)
)
)
(func $_xcorr_kernel_c (; 95 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 f32)
(local $5 f32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 f32)
(local $10 f32)
(local $11 i32)
(local $12 f32)
(local $13 i32)
(local $14 f32)
(local $15 f32)
(local $16 f32)
(local $17 f32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(set_local $9
(f32.load
(get_local $1)
)
)
(set_local $5
(f32.load offset=4
(get_local $1)
)
)
(set_local $11
(i32.add
(get_local $1)
(i32.const 12)
)
)
(set_local $12
(f32.load offset=8
(get_local $1)
)
)
(set_local $6
(i32.add
(get_local $2)
(i32.const 4)
)
)
(set_local $7
(i32.add
(get_local $2)
(i32.const 8)
)
)
(set_local $8
(i32.add
(get_local $2)
(i32.const 12)
)
)
(set_local $18
(i32.and
(tee_local $13
(i32.add
(if (result i32)
(i32.gt_s
(tee_local $20
(i32.add
(get_local $3)
(i32.const -3)
)
)
(i32.const 0)
)
(get_local $20)
(i32.const 0)
)
(i32.const 3)
)
)
(i32.const -4)
)
)
(set_local $13
(i32.add
(get_local $1)
(i32.shl
(i32.or
(get_local $13)
(i32.const 3)
)
(i32.const 2)
)
)
)
(set_local $1
(get_local $0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $19)
(get_local $20)
)
(block
(set_local $10
(f32.load
(get_local $11)
)
)
(f32.store
(get_local $2)
(tee_local $14
(f32.add
(f32.load
(get_local $2)
)
(f32.mul
(tee_local $4
(f32.load
(get_local $1)
)
)
(get_local $9)
)
)
)
)
(f32.store
(get_local $6)
(tee_local $15
(f32.add
(f32.load
(get_local $6)
)
(f32.mul
(get_local $4)
(get_local $5)
)
)
)
)
(f32.store
(get_local $7)
(tee_local $16
(f32.add
(f32.load
(get_local $7)
)
(f32.mul
(get_local $4)
(get_local $12)
)
)
)
)
(f32.store
(get_local $8)
(tee_local $17
(f32.add
(f32.load
(get_local $8)
)
(f32.mul
(get_local $4)
(get_local $10)
)
)
)
)
(set_local $9
(f32.load offset=4
(get_local $11)
)
)
(f32.store
(get_local $2)
(tee_local $14
(f32.add
(get_local $14)
(f32.mul
(tee_local $4
(f32.load offset=4
(get_local $1)
)
)
(get_local $5)
)
)
)
)
(f32.store
(get_local $6)
(tee_local $15
(f32.add
(get_local $15)
(f32.mul
(get_local $4)
(get_local $12)
)
)
)
)
(f32.store
(get_local $7)
(tee_local $16
(f32.add
(get_local $16)
(f32.mul
(get_local $4)
(get_local $10)
)
)
)
)
(f32.store
(get_local $8)
(tee_local $17
(f32.add
(get_local $17)
(f32.mul
(get_local $4)
(get_local $9)
)
)
)
)
(set_local $5
(f32.load offset=8
(get_local $11)
)
)
(f32.store
(get_local $2)
(tee_local $14
(f32.add
(get_local $14)
(f32.mul
(tee_local $4
(f32.load offset=8
(get_local $1)
)
)
(get_local $12)
)
)
)
)
(f32.store
(get_local $6)
(tee_local $15
(f32.add
(get_local $15)
(f32.mul
(get_local $4)
(get_local $10)
)
)
)
)
(f32.store
(get_local $7)
(tee_local $16
(f32.add
(get_local $16)
(f32.mul
(get_local $4)
(get_local $9)
)
)
)
)
(f32.store
(get_local $8)
(tee_local $17
(f32.add
(get_local $17)
(f32.mul
(get_local $4)
(get_local $5)
)
)
)
)
(set_local $12
(f32.load offset=12
(get_local $11)
)
)
(f32.store
(get_local $2)
(f32.add
(get_local $14)
(f32.mul
(tee_local $4
(f32.load offset=12
(get_local $1)
)
)
(get_local $10)
)
)
)
(f32.store
(get_local $6)
(f32.add
(get_local $15)
(f32.mul
(get_local $4)
(get_local $9)
)
)
)
(f32.store
(get_local $7)
(f32.add
(get_local $16)
(f32.mul
(get_local $4)
(get_local $5)
)
)
)
(f32.store
(get_local $8)
(f32.add
(get_local $17)
(f32.mul
(get_local $4)
(get_local $12)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 16)
)
)
(set_local $11
(i32.add
(get_local $11)
(i32.const 16)
)
)
(set_local $19
(i32.add
(get_local $19)
(i32.const 4)
)
)
(br $while-in)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.shl
(get_local $18)
(i32.const 2)
)
)
)
(set_local $1
(if (result i32)
(i32.lt_s
(get_local $18)
(get_local $3)
)
(block (result i32)
(set_local $10
(f32.load
(get_local $13)
)
)
(f32.store
(get_local $2)
(f32.add
(f32.load
(get_local $2)
)
(f32.mul
(tee_local $4
(f32.load
(get_local $0)
)
)
(get_local $9)
)
)
)
(f32.store
(get_local $6)
(f32.add
(f32.load
(get_local $6)
)
(f32.mul
(get_local $4)
(get_local $5)
)
)
)
(f32.store
(get_local $7)
(f32.add
(f32.load
(get_local $7)
)
(f32.mul
(get_local $4)
(get_local $12)
)
)
)
(f32.store
(get_local $8)
(f32.add
(f32.load
(get_local $8)
)
(f32.mul
(get_local $4)
(get_local $10)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 4)
)
)
(i32.add
(get_local $13)
(i32.const 4)
)
)
(get_local $13)
)
)
(if
(i32.lt_s
(tee_local $11
(i32.or
(get_local $18)
(i32.const 1)
)
)
(get_local $3)
)
(block
(set_local $9
(f32.load
(get_local $1)
)
)
(f32.store
(get_local $2)
(f32.add
(f32.load
(get_local $2)
)
(f32.mul
(tee_local $4
(f32.load
(get_local $0)
)
)
(get_local $5)
)
)
)
(f32.store
(get_local $6)
(f32.add
(f32.load
(get_local $6)
)
(f32.mul
(get_local $4)
(get_local $12)
)
)
)
(f32.store
(get_local $7)
(f32.add
(f32.load
(get_local $7)
)
(f32.mul
(get_local $4)
(get_local $10)
)
)
)
(f32.store
(get_local $8)
(f32.add
(f32.load
(get_local $8)
)
(f32.mul
(get_local $4)
(get_local $9)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 4)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 4)
)
)
)
)
(if
(i32.ge_s
(i32.add
(get_local $11)
(i32.const 1)
)
(get_local $3)
)
(return)
)
(set_local $4
(f32.load
(get_local $1)
)
)
(f32.store
(get_local $2)
(f32.add
(f32.load
(get_local $2)
)
(f32.mul
(tee_local $5
(f32.load
(get_local $0)
)
)
(get_local $12)
)
)
)
(f32.store
(get_local $6)
(f32.add
(f32.load
(get_local $6)
)
(f32.mul
(get_local $5)
(get_local $10)
)
)
)
(f32.store
(get_local $7)
(f32.add
(f32.load
(get_local $7)
)
(f32.mul
(get_local $5)
(get_local $9)
)
)
)
(f32.store
(get_local $8)
(f32.add
(f32.load
(get_local $8)
)
(f32.mul
(get_local $5)
(get_local $4)
)
)
)
)
(func $_celt_inner_prod_c_51 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
(local $3 i32)
(local $4 f32)
(loop $while-in
(if
(i32.lt_s
(get_local $3)
(get_local $2)
)
(block
(set_local $4
(f32.add
(get_local $4)
(f32.mul
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(get_local $4)
)
(func $_pitch_search (; 97 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 f32)
(local $11 f32)
(local $12 f32)
(local $13 i32)
(set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 4528)
)
)
(i64.store
(get_local $3)
(i64.const 0)
)
(set_local $7
(i32.add
(get_local $3)
(i32.const 3200)
)
)
(set_local $8
(i32.add
(get_local $3)
(i32.const 1248)
)
)
(set_local $5
(i32.add
(get_local $3)
(i32.const 8)
)
)
(loop $while-in
(if
(i32.ne
(get_local $4)
(i32.const 332)
)
(block
(i32.store
(i32.add
(get_local $7)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $4)
(i32.const 3)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in1
(if
(i32.ne
(get_local $4)
(i32.const 487)
)
(block
(i32.store
(i32.add
(get_local $8)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $4)
(i32.const 3)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(call $_celt_pitch_xcorr_c
(get_local $7)
(get_local $8)
(get_local $5)
(i32.const 332)
(i32.const 155)
)
(call $_find_best_pitch
(get_local $5)
(get_local $8)
(i32.const 332)
(i32.const 155)
(get_local $3)
)
(set_local $13
(i32.shl
(i32.load
(get_local $3)
)
(i32.const 1)
)
)
(set_local $4
(i32.shl
(i32.load offset=4
(get_local $3)
)
(i32.const 1)
)
)
(loop $while-in3
(if
(i32.ne
(get_local $6)
(i32.const 310)
)
(block
(f32.store
(tee_local $8
(i32.add
(get_local $5)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
(f32.const 0)
)
(set_local $7
(i32.sub
(i32.const 0)
(tee_local $9
(i32.sub
(get_local $6)
(get_local $13)
)
)
)
)
(block $__rjto$0
(block $__rjti$0
(br_if $__rjti$0
(i32.le_s
(if (result i32)
(i32.gt_s
(get_local $9)
(i32.const -1)
)
(get_local $9)
(get_local $7)
)
(i32.const 2)
)
)
(set_local $7
(i32.sub
(i32.const 0)
(tee_local $9
(i32.sub
(get_local $6)
(get_local $4)
)
)
)
)
(br_if $__rjti$0
(i32.le_s
(if (result i32)
(i32.gt_s
(get_local $9)
(i32.const -1)
)
(get_local $9)
(get_local $7)
)
(i32.const 2)
)
)
(br $__rjto$0)
)
(f32.store
(get_local $8)
(if (result f32)
(f32.lt
(tee_local $10
(call $_celt_inner_prod_c_51
(get_local $0)
(i32.add
(get_local $1)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
(i32.const 664)
)
)
(f32.const -1)
)
(f32.const -1)
(get_local $10)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(call $_find_best_pitch
(get_local $5)
(get_local $1)
(i32.const 664)
(i32.const 310)
(get_local $3)
)
(if
(i32.ge_u
(i32.add
(tee_local $0
(i32.load
(get_local $3)
)
)
(i32.const -1)
)
(i32.const 308)
)
(block
(i32.store
(get_local $2)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
(set_global $STACKTOP
(get_local $3)
)
(return)
)
)
(if
(f32.gt
(f32.sub
(tee_local $11
(f32.load
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $0)
(i32.const 1)
)
(i32.const 2)
)
)
)
)
(tee_local $12
(f32.load
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $0)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
)
(f32.mul
(f32.sub
(tee_local $10
(f32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
(get_local $12)
)
(f32.const 0.699999988079071)
)
)
(block
(i32.store
(get_local $2)
(i32.sub
(i32.shl
(get_local $0)
(i32.const 1)
)
(i32.const 1)
)
)
(set_global $STACKTOP
(get_local $3)
)
(return)
)
)
(if
(f32.gt
(f32.sub
(get_local $12)
(get_local $11)
)
(f32.mul
(f32.sub
(get_local $10)
(get_local $11)
)
(f32.const 0.699999988079071)
)
)
(block
(i32.store
(get_local $2)
(i32.sub
(i32.shl
(get_local $0)
(i32.const 1)
)
(i32.const -1)
)
)
(set_global $STACKTOP
(get_local $3)
)
(return)
)
)
(i32.store
(get_local $2)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
(set_global $STACKTOP
(get_local $3)
)
)
(func $_find_best_pitch (; 98 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 f32)
(local $6 i32)
(local $7 i32)
(local $8 f32)
(local $9 f32)
(local $10 f32)
(local $11 f32)
(local $12 i32)
(local $13 f32)
(local $14 f32)
(local $15 f32)
(i32.store
(get_local $4)
(i32.const 0)
)
(i32.store
(tee_local $12
(i32.add
(get_local $4)
(i32.const 4)
)
)
(i32.const 1)
)
(set_local $5
(f32.const 1)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(get_local $2)
)
(block
(set_local $5
(f32.add
(get_local $5)
(f32.mul
(tee_local $9
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
)
(get_local $9)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
(block
(set_local $11
(f32.const -1)
)
(set_local $14
(f32.const -1)
)
(set_local $7
(i32.const 0)
)
(set_local $15
(f32.const -1)
)
(set_local $9
(f32.const 0)
)
)
)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $6)
(get_local $3)
)
(block
(if
(f32.gt
(tee_local $8
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
(f32.const 0)
)
(if
(f32.gt
(f32.mul
(tee_local $8
(f32.mul
(tee_local $8
(f32.mul
(get_local $8)
(f32.const 9.999999960041972e-13)
)
)
(get_local $8)
)
)
(get_local $10)
)
(f32.mul
(get_local $11)
(get_local $5)
)
)
(if
(f32.gt
(f32.mul
(get_local $8)
(get_local $13)
)
(f32.mul
(get_local $14)
(get_local $5)
)
)
(block
(i32.store
(get_local $12)
(get_local $7)
)
(i32.store
(get_local $4)
(get_local $6)
)
(set_local $7
(get_local $6)
)
(set_local $11
(get_local $15)
)
(set_local $14
(tee_local $15
(get_local $8)
)
)
(set_local $10
(get_local $9)
)
(set_local $13
(tee_local $9
(get_local $5)
)
)
)
(block
(i32.store
(get_local $12)
(get_local $6)
)
(set_local $11
(get_local $8)
)
(set_local $10
(get_local $5)
)
)
)
)
)
(set_local $5
(f32.add
(get_local $5)
(f32.sub
(f32.mul
(tee_local $5
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $6)
(get_local $2)
)
(i32.const 2)
)
)
)
)
(get_local $5)
)
(f32.mul
(tee_local $5
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
(get_local $5)
)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(if
(f32.lt
(get_local $5)
(f32.const 1)
)
(set_local $5
(f32.const 1)
)
)
(br $while-in1)
)
)
)
)
(func $__celt_lpc (; 99 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 f32)
(local $6 f32)
(local $7 i32)
(local $8 f32)
(local $9 f32)
(local $10 i32)
(local $11 i32)
(local $12 f32)
(set_local $6
(f32.load
(get_local $1)
)
)
(drop
(call $_memset
(get_local $0)
(i32.const 0)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
(if
(f32.eq
(f32.load
(get_local $1)
)
(f32.const 0)
)
(return)
)
(block $__rjto$0
(loop $while-in
(block $while-out
(br_if $__rjto$0
(i32.ge_s
(get_local $3)
(get_local $2)
)
)
(set_local $5
(f32.const 0)
)
(set_local $4
(i32.const 0)
)
(loop $while-in1
(if
(i32.ne
(get_local $3)
(get_local $4)
)
(block
(set_local $5
(f32.add
(get_local $5)
(f32.mul
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(get_local $3)
(get_local $4)
)
(i32.const 2)
)
)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(f32.store
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(tee_local $8
(f32.neg
(tee_local $5
(f32.div
(f32.add
(get_local $5)
(f32.load
(i32.add
(get_local $1)
(i32.shl
(tee_local $4
(i32.add
(get_local $3)
(i32.const 1)
)
)
(i32.const 2)
)
)
)
)
(get_local $6)
)
)
)
)
)
(set_local $10
(i32.shr_s
(get_local $4)
(i32.const 1)
)
)
(set_local $11
(i32.add
(get_local $3)
(i32.const -1)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $3)
(get_local $10)
)
(block
(set_local $9
(f32.load
(tee_local $7
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $7)
(f32.add
(get_local $9)
(f32.mul
(tee_local $12
(f32.load
(tee_local $7
(i32.add
(get_local $0)
(i32.shl
(i32.sub
(get_local $11)
(get_local $3)
)
(i32.const 2)
)
)
)
)
)
(get_local $8)
)
)
)
(f32.store
(get_local $7)
(f32.add
(get_local $12)
(f32.mul
(get_local $9)
(get_local $8)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(if
(i32.eqz
(f32.lt
(tee_local $6
(f32.sub
(get_local $6)
(f32.mul
(f32.mul
(get_local $5)
(get_local $5)
)
(get_local $6)
)
)
)
(f32.mul
(f32.load
(get_local $1)
)
(f32.const 1.0000000474974513e-03)
)
)
)
(block
(set_local $3
(get_local $4)
)
(br $while-in)
)
)
)
)
)
)
(func $_celt_fir_c (; 100 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 f32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(set_local $6
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 112)
)
)
(set_local $5
(i32.add
(get_local $6)
(i32.const 96)
)
)
(loop $while-in
(if
(i32.ne
(get_local $4)
(i32.const 24)
)
(block
(i32.store
(i32.add
(get_local $6)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(i32.const 23)
(get_local $4)
)
(i32.const 2)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $8
(i32.add
(get_local $5)
(i32.const 4)
)
)
(set_local $9
(i32.add
(get_local $5)
(i32.const 8)
)
)
(set_local $10
(i32.add
(get_local $5)
(i32.const 12)
)
)
(set_local $1
(i32.and
(i32.add
(if (result i32)
(i32.gt_s
(tee_local $11
(i32.add
(get_local $3)
(i32.const -3)
)
)
(i32.const 0)
)
(get_local $11)
(i32.const 0)
)
(i32.const 3)
)
(i32.const -4)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $4)
(get_local $11)
)
(block
(i32.store
(get_local $5)
(i32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
(i32.store
(get_local $8)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(tee_local $13
(i32.or
(get_local $4)
(i32.const 1)
)
)
(i32.const 2)
)
)
)
)
(i32.store
(get_local $9)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(tee_local $14
(i32.or
(get_local $4)
(i32.const 2)
)
)
(i32.const 2)
)
)
)
)
(i32.store
(get_local $10)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(tee_local $15
(i32.or
(get_local $4)
(i32.const 3)
)
)
(i32.const 2)
)
)
)
)
(call $_xcorr_kernel_c
(get_local $6)
(i32.add
(get_local $12)
(i32.const -96)
)
(get_local $5)
(i32.const 24)
)
(i32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(i32.load
(get_local $5)
)
)
(i32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $13)
(i32.const 2)
)
)
(i32.load
(get_local $8)
)
)
(i32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $14)
(i32.const 2)
)
)
(i32.load
(get_local $9)
)
)
(i32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $15)
(i32.const 2)
)
)
(i32.load
(get_local $10)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 4)
)
)
(br $while-in1)
)
)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $1)
(get_local $3)
)
(block
(set_local $7
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in5
(if
(i32.ne
(get_local $4)
(i32.const 24)
)
(block
(set_local $7
(f32.add
(get_local $7)
(f32.mul
(f32.load
(i32.add
(get_local $6)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $0)
(i32.shl
(i32.add
(i32.add
(get_local $1)
(get_local $4)
)
(i32.const -24)
)
(i32.const 2)
)
)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(f32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $7)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(set_global $STACKTOP
(get_local $6)
)
)
(func $_celt_iir (; 101 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 f32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 f32)
(local $16 i32)
(local $17 i32)
(local $18 f32)
(local $19 f32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(set_local $11
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 112)
)
)
(set_local $10
(i32.add
(get_local $11)
(i32.const 96)
)
)
(set_local $8
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(tee_local $9
(i32.add
(get_local $3)
(i32.const 24)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(loop $while-in
(if
(i32.ne
(get_local $5)
(i32.const 24)
)
(block
(i32.store
(i32.add
(get_local $11)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(i32.const 23)
(get_local $5)
)
(i32.const 2)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $5
(i32.const 0)
)
(loop $while-in1
(if
(i32.eq
(get_local $5)
(i32.const 24)
)
(set_local $5
(i32.const 24)
)
(block
(f32.store
(i32.add
(get_local $8)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(f32.neg
(f32.load
(i32.add
(get_local $4)
(i32.shl
(i32.sub
(i32.const 23)
(get_local $5)
)
(i32.const 2)
)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $5)
(get_local $9)
)
(block
(f32.store
(i32.add
(get_local $8)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(f32.const 0)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(set_local $12
(i32.add
(get_local $10)
(i32.const 4)
)
)
(set_local $13
(i32.add
(get_local $10)
(i32.const 8)
)
)
(set_local $14
(i32.add
(get_local $10)
(i32.const 12)
)
)
(set_local $16
(i32.add
(get_local $1)
(i32.const 4)
)
)
(set_local $20
(i32.add
(get_local $1)
(i32.const 8)
)
)
(set_local $9
(i32.and
(i32.add
(if (result i32)
(i32.gt_s
(tee_local $17
(i32.add
(get_local $3)
(i32.const -3)
)
)
(i32.const 0)
)
(get_local $17)
(i32.const 0)
)
(i32.const 3)
)
(i32.const -4)
)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $7)
(get_local $17)
)
(block
(i32.store
(get_local $10)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
)
(i32.store
(get_local $12)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(tee_local $21
(i32.or
(get_local $7)
(i32.const 1)
)
)
(i32.const 2)
)
)
)
)
(i32.store
(get_local $13)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(tee_local $22
(i32.or
(get_local $7)
(i32.const 2)
)
)
(i32.const 2)
)
)
)
)
(i32.store
(get_local $14)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(tee_local $5
(i32.or
(get_local $7)
(i32.const 3)
)
)
(i32.const 2)
)
)
)
)
(call $_xcorr_kernel_c
(get_local $11)
(i32.add
(get_local $8)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(get_local $10)
(i32.const 24)
)
(f32.store
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 24)
)
(i32.const 2)
)
)
(tee_local $15
(f32.neg
(tee_local $6
(f32.load
(get_local $10)
)
)
)
)
)
(f32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
(get_local $6)
)
(f32.store
(get_local $12)
(tee_local $6
(f32.add
(f32.load
(get_local $12)
)
(f32.mul
(f32.load
(get_local $1)
)
(get_local $15)
)
)
)
)
(f32.store
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 25)
)
(i32.const 2)
)
)
(tee_local $18
(f32.neg
(get_local $6)
)
)
)
(f32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
(get_local $6)
)
(f32.store
(get_local $13)
(tee_local $19
(f32.add
(f32.add
(f32.load
(get_local $13)
)
(f32.mul
(f32.load
(get_local $1)
)
(get_local $18)
)
)
(f32.mul
(f32.load
(get_local $16)
)
(get_local $15)
)
)
)
)
(f32.store
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 26)
)
(i32.const 2)
)
)
(tee_local $6
(f32.neg
(get_local $19)
)
)
)
(f32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $22)
(i32.const 2)
)
)
(get_local $19)
)
(f32.store
(get_local $14)
(tee_local $6
(f32.add
(f32.add
(f32.add
(f32.load
(get_local $14)
)
(f32.mul
(f32.load
(get_local $1)
)
(get_local $6)
)
)
(f32.mul
(f32.load
(get_local $16)
)
(get_local $18)
)
)
(f32.mul
(f32.load
(get_local $20)
)
(get_local $15)
)
)
)
)
(f32.store
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 27)
)
(i32.const 2)
)
)
(f32.neg
(get_local $6)
)
)
(f32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(get_local $6)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 4)
)
)
(br $while-in5)
)
)
)
(loop $while-in7
(if
(i32.lt_s
(get_local $9)
(get_local $3)
)
(block
(set_local $6
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in9
(if
(i32.ne
(get_local $1)
(i32.const 24)
)
(block
(set_local $6
(f32.sub
(get_local $6)
(f32.mul
(f32.load
(i32.add
(get_local $11)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $9)
(get_local $1)
)
(i32.const 2)
)
)
)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in9)
)
)
)
(f32.store
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $9)
(i32.const 24)
)
(i32.const 2)
)
)
(get_local $6)
)
(f32.store
(i32.add
(get_local $2)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
(get_local $6)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in7)
)
(set_local $0
(i32.const 0)
)
)
)
(loop $while-in11
(if
(i32.ne
(get_local $0)
(i32.const 24)
)
(block
(i32.store
(i32.add
(get_local $4)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $2)
(i32.shl
(i32.add
(i32.sub
(get_local $3)
(get_local $0)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in11)
)
)
)
(set_global $STACKTOP
(get_local $11)
)
)
(func $__celt_autocorr (; 102 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 i32)
(local $7 f32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(set_local $10
(get_global $STACKTOP)
)
(set_local $9
(i32.sub
(get_local $5)
(get_local $4)
)
)
(set_local $8
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $5)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(if
(get_local $3)
(block
(loop $while-in
(if
(i32.lt_s
(get_local $6)
(get_local $5)
)
(block
(i32.store
(i32.add
(get_local $8)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in)
)
(set_local $6
(i32.const 0)
)
)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $6)
(get_local $3)
)
(block
(f32.store
(i32.add
(get_local $8)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
(f32.mul
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
(tee_local $7
(f32.load
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
)
)
(f32.store
(i32.add
(get_local $8)
(i32.shl
(tee_local $11
(i32.add
(i32.sub
(get_local $5)
(get_local $6)
)
(i32.const -1)
)
)
(i32.const 2)
)
)
(f32.mul
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $11)
(i32.const 2)
)
)
)
(get_local $7)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in1)
)
(set_local $0
(get_local $8)
)
)
)
)
)
(call $_celt_pitch_xcorr_c
(get_local $0)
(get_local $0)
(get_local $1)
(get_local $9)
(i32.add
(get_local $4)
(i32.const 1)
)
)
(set_local $2
(i32.const 0)
)
(loop $while-in3
(if
(i32.le_s
(get_local $2)
(get_local $4)
)
(block
(set_local $7
(f32.const 0)
)
(set_local $3
(i32.add
(get_local $2)
(get_local $9)
)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $3)
(get_local $5)
)
(block
(set_local $7
(f32.add
(get_local $7)
(f32.mul
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $0)
(i32.shl
(i32.sub
(get_local $3)
(get_local $2)
)
(i32.const 2)
)
)
)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(f32.store
(tee_local $3
(i32.add
(get_local $1)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
(f32.add
(f32.load
(get_local $3)
)
(get_local $7)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(set_global $STACKTOP
(get_local $10)
)
)
(func $_unquant_coarse_energy (; 103 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32)
(local $8 i32)
(local $9 f32)
(local $10 i32)
(local $11 f32)
(local $12 f32)
(local $13 i32)
(local $14 i32)
(local $15 f32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(set_local $10
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(i64.store
(get_local $10)
(i64.const 0)
)
(set_local $15
(if (result f32)
(get_local $4)
(f32.const 0.149993896484375)
(block (result f32)
(set_local $12
(f32.load
(i32.add
(i32.shl
(get_local $7)
(i32.const 2)
)
(i32.const 19800)
)
)
)
(f32.load
(i32.add
(i32.shl
(get_local $7)
(i32.const 2)
)
(i32.const 19816)
)
)
)
)
)
(set_local $13
(i32.shl
(i32.load offset=4
(get_local $5)
)
(i32.const 3)
)
)
(set_local $16
(i32.add
(get_local $5)
(i32.const 20)
)
)
(set_local $17
(i32.add
(get_local $5)
(i32.const 28)
)
)
(set_local $14
(i32.add
(get_local $0)
(i32.const 8)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $1)
(get_local $2)
)
(block
(set_local $18
(i32.lt_s
(get_local $1)
(i32.const 20)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in1
(set_local $11
(f32.convert_s/i32
(tee_local $8
(block $do-once (result i32)
(if (result i32)
(i32.gt_s
(tee_local $19
(i32.sub
(get_local $13)
(tee_local $8
(call $_ec_tell_2
(i32.load
(get_local $16)
)
(i32.load
(get_local $17)
)
)
)
)
)
(i32.const 14)
)
(call $_ec_laplace_decode
(get_local $5)
(i32.shl
(i32.load8_u
(i32.add
(i32.add
(i32.add
(i32.mul
(get_local $7)
(i32.const 84)
)
(i32.const 25847)
)
(i32.mul
(get_local $4)
(i32.const 42)
)
)
(tee_local $8
(i32.shl
(if (result i32)
(get_local $18)
(get_local $1)
(i32.const 20)
)
(i32.const 1)
)
)
)
)
(i32.const 7)
)
(i32.shl
(i32.load8_u
(i32.add
(i32.add
(i32.add
(i32.mul
(get_local $7)
(i32.const 84)
)
(i32.const 25847)
)
(i32.mul
(get_local $4)
(i32.const 42)
)
)
(i32.or
(get_local $8)
(i32.const 1)
)
)
)
(i32.const 6)
)
)
(block (result i32)
(if
(i32.gt_s
(get_local $19)
(i32.const 1)
)
(br $do-once
(i32.xor
(i32.shr_s
(tee_local $8
(call $_ec_dec_icdf
(get_local $5)
(i32.const 26183)
(i32.const 2)
)
)
(i32.const 1)
)
(i32.sub
(i32.const 0)
(i32.and
(get_local $8)
(i32.const 1)
)
)
)
)
)
(if (result i32)
(i32.gt_s
(get_local $13)
(get_local $8)
)
(i32.sub
(i32.const 0)
(call $_ec_dec_bit_logp
(get_local $5)
(i32.const 1)
)
)
(i32.const -1)
)
)
)
)
)
)
)
(set_local $9
(f32.load
(tee_local $8
(i32.add
(get_local $3)
(i32.shl
(i32.add
(get_local $1)
(i32.mul
(get_local $0)
(i32.load
(get_local $14)
)
)
)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $8)
(if (result f32)
(f32.lt
(get_local $9)
(f32.const -9)
)
(f32.const -9)
(get_local $9)
)
)
(f32.store
(tee_local $8
(i32.add
(get_local $3)
(i32.shl
(i32.add
(get_local $1)
(i32.mul
(get_local $0)
(i32.load
(get_local $14)
)
)
)
(i32.const 2)
)
)
)
(f32.add
(f32.add
(f32.mul
(get_local $12)
(f32.load
(get_local $8)
)
)
(tee_local $9
(f32.load
(tee_local $8
(i32.add
(get_local $10)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
)
)
(get_local $11)
)
)
(f32.store
(get_local $8)
(f32.sub
(f32.add
(get_local $9)
(get_local $11)
)
(f32.mul
(get_local $15)
(get_local $11)
)
)
)
(br_if $while-in1
(i32.lt_s
(tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(get_local $6)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_global $STACKTOP
(get_local $10)
)
)
(func $_unquant_fine_energy (; 104 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 f32)
(set_local $9
(i32.add
(get_local $0)
(i32.const 8)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $1)
(get_local $2)
)
(block
(block $label$break$L4
(if
(i32.ge_s
(tee_local $7
(i32.load
(tee_local $8
(i32.add
(get_local $4)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
(i32.const 1)
)
(block
(set_local $0
(i32.const 0)
)
(loop $while-in1
(set_local $10
(f32.add
(f32.convert_s/i32
(call $_ec_dec_bits
(get_local $5)
(get_local $7)
)
)
(f32.const 0.5)
)
)
(f32.store
(tee_local $7
(i32.add
(get_local $3)
(i32.shl
(i32.add
(get_local $1)
(i32.mul
(get_local $0)
(i32.load
(get_local $9)
)
)
)
(i32.const 2)
)
)
)
(f32.add
(f32.load
(get_local $7)
)
(f32.add
(f32.mul
(f32.mul
(get_local $10)
(f32.convert_s/i32
(i32.shl
(i32.const 1)
(i32.sub
(i32.const 14)
(i32.load
(get_local $8)
)
)
)
)
)
(f32.const 0.00006103515625)
)
(f32.const -0.5)
)
)
)
(br_if $label$break$L4
(i32.ge_s
(tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(get_local $6)
)
)
(set_local $7
(i32.load
(get_local $8)
)
)
(br $while-in1)
)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_unquant_energy_finalise (; 105 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 f32)
(local $14 i32)
(set_local $11
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $0
(get_local $6)
)
(loop $while-in
(if
(i32.ne
(get_local $10)
(i32.const 2)
)
(block
(set_local $9
(get_local $1)
)
(loop $while-in1
(if
(i32.and
(i32.lt_s
(get_local $9)
(get_local $2)
)
(i32.ge_s
(get_local $0)
(get_local $8)
)
)
(block
(if
(i32.le_s
(i32.load
(tee_local $12
(i32.add
(get_local $4)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
)
(i32.const 7)
)
(if
(i32.eq
(i32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
(get_local $10)
)
(block
(set_local $6
(i32.const 0)
)
(loop $while-in3
(set_local $13
(f32.add
(f32.convert_s/i32
(call $_ec_dec_bits
(get_local $7)
(i32.const 1)
)
)
(f32.const -0.5)
)
)
(f32.store
(tee_local $14
(i32.add
(get_local $3)
(i32.shl
(i32.add
(get_local $9)
(i32.mul
(get_local $6)
(i32.load
(get_local $11)
)
)
)
(i32.const 2)
)
)
)
(f32.add
(f32.load
(get_local $14)
)
(f32.mul
(f32.mul
(get_local $13)
(f32.convert_s/i32
(i32.shl
(i32.const 1)
(i32.sub
(i32.const 13)
(i32.load
(get_local $12)
)
)
)
)
)
(f32.const 0.00006103515625)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const -1)
)
)
(br_if $while-in3
(i32.lt_s
(tee_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(get_local $8)
)
)
)
)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_local $10
(i32.add
(get_local $10)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_compute_allocation (; 106 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (param $11 i32) (param $12 i32) (param $13 i32) (param $14 i32) (param $15 i32) (result i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 i32)
(local $33 i32)
(local $34 i32)
(local $35 i32)
(local $36 i32)
(set_local $20
(i32.load offset=8
(get_local $0)
)
)
(set_local $30
(if (result i32)
(i32.gt_s
(if (result i32)
(i32.gt_s
(get_local $8)
(i32.const 0)
)
(get_local $8)
(tee_local $8
(i32.const 0)
)
)
(i32.const 7)
)
(i32.const 8)
(i32.const 0)
)
)
(set_local $8
(i32.sub
(get_local $8)
(get_local $30)
)
)
(set_local $31
(if (result i32)
(i32.eq
(get_local $13)
(i32.const 2)
)
(if (result i32)
(i32.lt_s
(get_local $8)
(tee_local $21
(i32.load8_u
(i32.add
(i32.sub
(get_local $2)
(get_local $1)
)
(i32.const 26186)
)
)
)
)
(block (result i32)
(set_local $21
(i32.const 0)
)
(get_local $8)
)
(block (result i32)
(set_local $22
(if (result i32)
(i32.gt_s
(tee_local $8
(i32.sub
(get_local $8)
(get_local $21)
)
)
(i32.const 7)
)
(i32.const 8)
(i32.const 0)
)
)
(i32.sub
(get_local $8)
(get_local $22)
)
)
)
(get_local $8)
)
)
(set_local $34
(get_global $STACKTOP)
)
(set_local $32
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $20)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $33
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $20)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $27
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $20)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $23
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $20)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $18
(i32.shl
(get_local $13)
(i32.const 3)
)
)
(set_local $28
(i32.add
(get_local $0)
(i32.const 32)
)
)
(set_local $17
(i32.sub
(i32.add
(get_local $5)
(i32.const -5)
)
(get_local $14)
)
)
(set_local $16
(i32.add
(get_local $14)
(i32.const 3)
)
)
(set_local $5
(get_local $1)
)
(loop $while-in
(if
(i32.lt_s
(get_local $5)
(get_local $2)
)
(block
(i32.store
(i32.add
(get_local $27)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(if (result i32)
(i32.gt_s
(get_local $18)
(tee_local $24
(i32.shr_s
(i32.shl
(i32.shl
(i32.mul
(tee_local $19
(i32.sub
(i32.load16_s
(i32.add
(tee_local $19
(i32.load
(get_local $28)
)
)
(i32.shl
(tee_local $8
(i32.add
(get_local $5)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $19)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
)
(i32.const 3)
)
(get_local $14)
)
(i32.const 3)
)
(i32.const 4)
)
)
)
(get_local $18)
(get_local $24)
)
)
(i32.store
(i32.add
(get_local $23)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(i32.sub
(i32.shr_s
(i32.shl
(i32.mul
(i32.mul
(i32.mul
(get_local $19)
(get_local $13)
)
(get_local $17)
)
(i32.add
(i32.sub
(get_local $2)
(get_local $5)
)
(i32.const -1)
)
)
(get_local $16)
)
(i32.const 6)
)
(if (result i32)
(i32.eq
(i32.shl
(get_local $19)
(get_local $14)
)
(i32.const 1)
)
(get_local $18)
(i32.const 0)
)
)
)
(set_local $5
(get_local $8)
)
(br $while-in)
)
)
)
(set_local $24
(i32.add
(get_local $0)
(i32.const 52)
)
)
(set_local $17
(i32.add
(tee_local $35
(i32.load offset=48
(get_local $0)
)
)
(i32.const -1)
)
)
(set_local $19
(i32.const 1)
)
(loop $while-in1
(set_local $29
(i32.mul
(tee_local $25
(i32.shr_s
(i32.add
(get_local $19)
(get_local $17)
)
(i32.const 1)
)
)
(get_local $20)
)
)
(set_local $16
(i32.const 0)
)
(set_local $26
(i32.const 0)
)
(set_local $5
(get_local $2)
)
(loop $label$continue$L11
(block $label$break$L11
(loop $label$continue$L13
(block $label$break$L13
(set_local $8
(get_local $5)
)
(loop $while-in3
(set_local $5
(i32.add
(get_local $8)
(i32.const -1)
)
)
(br_if $label$break$L11
(i32.le_s
(get_local $8)
(get_local $1)
)
)
(if
(i32.gt_s
(tee_local $8
(i32.shr_s
(i32.shl
(i32.mul
(i32.mul
(i32.sub
(i32.load16_s
(i32.add
(tee_local $36
(i32.load
(get_local $28)
)
)
(i32.shl
(get_local $8)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $36)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
(get_local $13)
)
(i32.load8_u
(i32.add
(i32.load
(get_local $24)
)
(i32.add
(get_local $29)
(get_local $5)
)
)
)
)
(get_local $14)
)
(i32.const 2)
)
)
(i32.const 0)
)
(if
(i32.le_s
(tee_local $8
(i32.add
(get_local $8)
(i32.load
(i32.add
(get_local $23)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(i32.const 0)
)
(set_local $8
(i32.const 0)
)
)
)
(br_if $label$break$L13
(i32.or
(i32.ge_s
(tee_local $8
(i32.add
(get_local $8)
(i32.load
(i32.add
(get_local $3)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(i32.load
(i32.add
(get_local $27)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
(get_local $26)
)
)
(if
(i32.lt_s
(get_local $8)
(get_local $18)
)
(block
(set_local $8
(get_local $5)
)
(br $while-in3)
)
)
)
(set_local $16
(i32.add
(get_local $16)
(get_local $18)
)
)
(br $label$continue$L13)
)
)
(set_local $16
(i32.add
(get_local $16)
(if (result i32)
(i32.lt_s
(get_local $8)
(tee_local $16
(i32.load
(i32.add
(get_local $4)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(get_local $8)
(get_local $16)
)
)
)
(set_local $26
(i32.const 1)
)
(br $label$continue$L11)
)
)
(set_local $5
(i32.add
(get_local $25)
(i32.const -1)
)
)
(set_local $8
(i32.add
(get_local $25)
(i32.const 1)
)
)
(if
(i32.le_s
(if (result i32)
(tee_local $16
(i32.gt_s
(get_local $16)
(get_local $31)
)
)
(get_local $19)
(tee_local $19
(get_local $8)
)
)
(if (result i32)
(get_local $16)
(get_local $5)
(tee_local $5
(get_local $17)
)
)
)
(block
(set_local $17
(get_local $5)
)
(br $while-in1)
)
)
)
(set_local $25
(i32.mul
(i32.add
(get_local $19)
(i32.const -1)
)
(get_local $20)
)
)
(set_local $26
(i32.mul
(get_local $19)
(get_local $20)
)
)
(set_local $29
(i32.gt_s
(get_local $19)
(i32.const 1)
)
)
(set_local $5
(tee_local $8
(get_local $1)
)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $5)
(get_local $2)
)
(block
(set_local $17
(i32.mul
(i32.sub
(i32.load16_s
(i32.add
(tee_local $17
(i32.load
(get_local $28)
)
)
(i32.shl
(tee_local $20
(i32.add
(get_local $5)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $17)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
(get_local $13)
)
)
(set_local $18
(i32.load8_u
(i32.add
(tee_local $16
(i32.load
(get_local $24)
)
)
(i32.add
(get_local $25)
(get_local $5)
)
)
)
)
(set_local $16
(if (result i32)
(i32.lt_s
(get_local $19)
(get_local $35)
)
(i32.shr_s
(i32.shl
(i32.mul
(get_local $17)
(i32.load8_u
(i32.add
(get_local $16)
(i32.add
(get_local $26)
(get_local $5)
)
)
)
)
(get_local $14)
)
(i32.const 2)
)
(i32.load
(i32.add
(get_local $4)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(if
(i32.gt_s
(tee_local $17
(i32.shr_s
(i32.shl
(i32.mul
(get_local $17)
(i32.and
(get_local $18)
(i32.const 255)
)
)
(get_local $14)
)
(i32.const 2)
)
)
(i32.const 0)
)
(if
(i32.le_s
(tee_local $17
(i32.add
(get_local $17)
(i32.load
(i32.add
(get_local $23)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(i32.const 0)
)
(set_local $17
(i32.const 0)
)
)
)
(if
(i32.gt_s
(get_local $16)
(i32.const 0)
)
(if
(i32.le_s
(tee_local $16
(i32.add
(get_local $16)
(i32.load
(i32.add
(get_local $23)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(i32.const 0)
)
(set_local $16
(i32.const 0)
)
)
)
(set_local $18
(i32.load
(i32.add
(get_local $3)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
(set_local $17
(i32.add
(get_local $17)
(if (result i32)
(get_local $29)
(get_local $18)
(i32.const 0)
)
)
)
(set_local $16
(i32.add
(get_local $16)
(get_local $18)
)
)
(if
(i32.gt_s
(get_local $18)
(i32.const 0)
)
(set_local $8
(get_local $5)
)
)
(set_local $18
(i32.sub
(get_local $16)
(get_local $17)
)
)
(i32.store
(i32.add
(get_local $32)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(get_local $17)
)
(i32.store
(i32.add
(get_local $33)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(if (result i32)
(i32.lt_s
(get_local $16)
(get_local $17)
)
(i32.const 0)
(get_local $18)
)
)
(set_local $5
(get_local $20)
)
(br $while-in5)
)
)
)
(set_local $0
(call $_interp_bits2pulses
(get_local $0)
(get_local $1)
(get_local $2)
(get_local $8)
(get_local $32)
(get_local $33)
(get_local $27)
(get_local $4)
(get_local $31)
(get_local $9)
(get_local $30)
(get_local $6)
(get_local $21)
(get_local $7)
(get_local $22)
(get_local $10)
(get_local $11)
(get_local $12)
(get_local $13)
(get_local $14)
(get_local $15)
(i32.const 0)
(i32.const 0)
(i32.const 0)
)
)
(set_global $STACKTOP
(get_local $34)
)
(get_local $0)
)
(func $_interp_bits2pulses (; 107 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (param $11 i32) (param $12 i32) (param $13 i32) (param $14 i32) (param $15 i32) (param $16 i32) (param $17 i32) (param $18 i32) (param $19 i32) (param $20 i32) (param $21 i32) (param $22 i32) (param $23 i32) (result i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 i32)
(local $33 i32)
(local $34 i32)
(local $35 i32)
(local $36 i32)
(local $37 i32)
(set_local $30
(i32.shl
(get_local $18)
(i32.const 3)
)
)
(set_local $36
(tee_local $37
(i32.gt_s
(get_local $18)
(i32.const 1)
)
)
)
(set_local $29
(i32.const 64)
)
(loop $while-in
(if
(i32.ne
(get_local $31)
(i32.const 6)
)
(block
(set_local $27
(i32.shr_s
(i32.add
(get_local $28)
(get_local $29)
)
(i32.const 1)
)
)
(set_local $24
(get_local $2)
)
(set_local $26
(i32.const 0)
)
(set_local $33
(i32.const 0)
)
(loop $label$continue$L4
(block $label$break$L4
(loop $label$continue$L6
(block $label$break$L6
(set_local $25
(get_local $24)
)
(loop $while-in1
(set_local $24
(i32.add
(get_local $25)
(i32.const -1)
)
)
(br_if $label$break$L4
(i32.le_s
(get_local $25)
(get_local $1)
)
)
(br_if $label$break$L6
(i32.or
(i32.ge_s
(tee_local $25
(i32.add
(i32.load
(i32.add
(get_local $4)
(i32.shl
(get_local $24)
(i32.const 2)
)
)
)
(i32.shr_s
(i32.mul
(get_local $27)
(i32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $24)
(i32.const 2)
)
)
)
)
(i32.const 6)
)
)
)
(i32.load
(i32.add
(get_local $6)
(i32.shl
(get_local $24)
(i32.const 2)
)
)
)
)
(get_local $33)
)
)
(if
(i32.lt_s
(get_local $25)
(get_local $30)
)
(block
(set_local $25
(get_local $24)
)
(br $while-in1)
)
)
)
(set_local $26
(i32.add
(get_local $26)
(get_local $30)
)
)
(br $label$continue$L6)
)
)
(set_local $26
(i32.add
(get_local $26)
(if (result i32)
(i32.lt_s
(get_local $25)
(tee_local $26
(i32.load
(i32.add
(get_local $7)
(i32.shl
(get_local $24)
(i32.const 2)
)
)
)
)
)
(get_local $25)
(get_local $26)
)
)
)
(set_local $33
(i32.const 1)
)
(br $label$continue$L4)
)
)
(if
(i32.eqz
(tee_local $24
(i32.gt_s
(get_local $26)
(get_local $8)
)
)
)
(set_local $28
(get_local $27)
)
)
(set_local $31
(i32.add
(get_local $31)
(i32.const 1)
)
)
(if
(get_local $24)
(set_local $29
(get_local $27)
)
)
(br $while-in)
)
)
)
(set_local $33
(i32.shl
(get_local $19)
(i32.const 3)
)
)
(set_local $24
(get_local $2)
)
(set_local $29
(i32.const 0)
)
(set_local $26
(i32.const 0)
)
(loop $while-in3
(set_local $25
(i32.add
(get_local $24)
(i32.const -1)
)
)
(if
(i32.gt_s
(get_local $24)
(get_local $1)
)
(block
(set_local $34
(i32.and
(tee_local $31
(i32.lt_s
(tee_local $27
(i32.add
(i32.load
(i32.add
(get_local $4)
(i32.shl
(get_local $25)
(i32.const 2)
)
)
)
(i32.shr_s
(i32.mul
(get_local $28)
(i32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $25)
(i32.const 2)
)
)
)
)
(i32.const 6)
)
)
)
(i32.load
(i32.add
(get_local $6)
(i32.shl
(get_local $25)
(i32.const 2)
)
)
)
)
)
(tee_local $29
(i32.eqz
(get_local $29)
)
)
)
)
(set_local $24
(if (result i32)
(i32.lt_s
(get_local $27)
(get_local $30)
)
(i32.const 0)
(get_local $30)
)
)
(set_local $29
(i32.and
(i32.xor
(i32.and
(get_local $31)
(get_local $29)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $15)
(i32.shl
(get_local $25)
(i32.const 2)
)
)
(if (result i32)
(i32.lt_s
(if (result i32)
(get_local $34)
(get_local $24)
(tee_local $24
(get_local $27)
)
)
(tee_local $27
(i32.load
(i32.add
(get_local $7)
(i32.shl
(get_local $25)
(i32.const 2)
)
)
)
)
)
(tee_local $27
(get_local $24)
)
(get_local $27)
)
)
(set_local $24
(get_local $25)
)
(set_local $26
(i32.add
(get_local $26)
(get_local $27)
)
)
(br $while-in3)
)
)
)
(set_local $25
(i32.add
(get_local $0)
(i32.const 32)
)
)
(set_local $27
(i32.add
(get_local $30)
(i32.const 8)
)
)
(set_local $29
(i32.eqz
(get_local $21)
)
)
(set_local $34
(i32.add
(get_local $1)
(i32.const 2)
)
)
(set_local $4
(get_local $2)
)
(set_local $5
(get_local $26)
)
(block $__rjto$1
(block $__rjti$1
(block $__rjti$0
(loop $while-in5
(block $while-out4
(br_if $__rjti$0
(i32.le_s
(tee_local $21
(i32.add
(get_local $4)
(i32.const -1)
)
)
(get_local $3)
)
)
(set_local $26
(call $_celt_udiv
(tee_local $28
(i32.sub
(get_local $8)
(get_local $5)
)
)
(tee_local $35
(i32.sub
(tee_local $32
(i32.load16_s
(i32.add
(tee_local $24
(i32.load
(get_local $25)
)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
(tee_local $31
(i32.load16_s
(i32.add
(get_local $24)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
)
)
)
)
)
)
(set_local $24
(i32.add
(i32.sub
(get_local $28)
(i32.mul
(get_local $35)
(get_local $26)
)
)
(i32.sub
(get_local $31)
(tee_local $35
(i32.load16_s
(i32.add
(get_local $24)
(i32.shl
(get_local $21)
(i32.const 1)
)
)
)
)
)
)
)
(set_local $28
(i32.add
(i32.sub
(tee_local $4
(if (result i32)
(i32.lt_s
(tee_local $24
(i32.add
(i32.add
(tee_local $28
(i32.load
(tee_local $31
(i32.add
(get_local $15)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
)
)
)
(i32.mul
(get_local $26)
(tee_local $26
(i32.sub
(get_local $32)
(get_local $35)
)
)
)
)
(if (result i32)
(i32.gt_s
(get_local $24)
(i32.const 0)
)
(get_local $24)
(i32.const 0)
)
)
)
(if (result i32)
(i32.gt_s
(tee_local $32
(i32.load
(i32.add
(get_local $6)
(i32.shl
(get_local $21)
(i32.const 2)
)
)
)
)
(get_local $27)
)
(get_local $32)
(get_local $27)
)
)
(get_local $5)
(block (result i32)
(if
(get_local $29)
(br_if $while-out4
(call $_ec_dec_bit_logp
(get_local $20)
(i32.const 1)
)
)
(block
(br_if $__rjti$1
(i32.le_s
(get_local $4)
(get_local $34)
)
)
(set_local $28
(i32.gt_s
(get_local $4)
(i32.const 17)
)
)
(set_local $32
(if (result i32)
(i32.le_s
(get_local $4)
(get_local $22)
)
(i32.const 7)
(i32.const 9)
)
)
(br_if $__rjti$1
(i32.eqz
(if (result i32)
(i32.gt_s
(get_local $21)
(get_local $23)
)
(i32.const 1)
(i32.le_s
(get_local $24)
(i32.shr_s
(i32.shl
(i32.shl
(i32.mul
(if (result i32)
(get_local $28)
(get_local $32)
(i32.const 0)
)
(get_local $26)
)
(get_local $19)
)
(i32.const 3)
)
(i32.const 4)
)
)
)
)
)
(call $_ec_enc_bit_logp
(get_local $20)
(i32.const 0)
(i32.const 1)
)
)
)
(set_local $24
(i32.add
(get_local $24)
(i32.const -8)
)
)
(set_local $28
(i32.load
(get_local $31)
)
)
(i32.add
(get_local $5)
(i32.const 8)
)
)
)
)
(i32.add
(get_local $28)
(get_local $12)
)
)
(tee_local $5
(if (result i32)
(i32.gt_s
(get_local $12)
(i32.const 0)
)
(i32.load8_u
(i32.add
(i32.sub
(get_local $21)
(get_local $1)
)
(i32.const 26186)
)
)
(get_local $12)
)
)
)
)
(i32.store
(get_local $31)
(if (result i32)
(tee_local $24
(i32.lt_s
(get_local $24)
(get_local $30)
)
)
(i32.const 0)
(get_local $30)
)
)
(set_local $4
(get_local $21)
)
(set_local $12
(get_local $5)
)
(set_local $5
(i32.add
(get_local $28)
(if (result i32)
(get_local $24)
(i32.const 0)
(get_local $30)
)
)
)
(br $while-in5)
)
)
(br $__rjto$1)
)
(set_local $8
(i32.add
(get_local $8)
(get_local $10)
)
)
(br $__rjto$1)
)
(call $_ec_enc_bit_logp
(get_local $20)
(i32.const 1)
(i32.const 1)
)
)
(if
(i32.gt_s
(get_local $12)
(i32.const 0)
)
(if
(get_local $29)
(i32.store
(get_local $11)
(tee_local $3
(i32.add
(call $_ec_dec_uint
(get_local $20)
(i32.sub
(i32.add
(get_local $4)
(i32.const 1)
)
(get_local $1)
)
)
(get_local $1)
)
)
)
(block
(i32.store
(get_local $11)
(if (result i32)
(i32.lt_s
(tee_local $3
(i32.load
(get_local $11)
)
)
(get_local $4)
)
(get_local $3)
(tee_local $3
(get_local $4)
)
)
)
(call $_ec_enc_uint
(get_local $20)
(i32.sub
(get_local $3)
(get_local $1)
)
(i32.sub
(i32.add
(get_local $4)
(i32.const 1)
)
(get_local $1)
)
)
(set_local $3
(i32.load
(get_local $11)
)
)
)
)
(block
(i32.store
(get_local $11)
(i32.const 0)
)
(set_local $3
(i32.const 0)
)
)
)
(block $__rjto$2
(block $__rjti$2
(if
(i32.gt_s
(get_local $3)
(get_local $1)
)
(if
(i32.gt_s
(get_local $14)
(i32.const 0)
)
(if
(get_local $29)
(i32.store
(get_local $13)
(call $_ec_dec_bit_logp
(get_local $20)
(i32.const 1)
)
)
(call $_ec_enc_bit_logp
(get_local $20)
(i32.load
(get_local $13)
)
(i32.const 1)
)
)
(br $__rjti$2)
)
(block
(set_local $8
(i32.add
(get_local $8)
(get_local $14)
)
)
(br $__rjti$2)
)
)
(br $__rjto$2)
)
(i32.store
(get_local $13)
(i32.const 0)
)
)
(set_local $6
(call $_celt_udiv
(tee_local $8
(i32.sub
(get_local $8)
(get_local $5)
)
)
(tee_local $3
(i32.sub
(i32.load16_s
(i32.add
(tee_local $3
(i32.load
(get_local $25)
)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $3)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
)
)
)
)
)
(set_local $10
(i32.mul
(get_local $3)
(get_local $6)
)
)
(set_local $3
(get_local $1)
)
(loop $while-in9
(if
(i32.lt_s
(get_local $3)
(get_local $4)
)
(block
(i32.store
(tee_local $5
(i32.add
(get_local $15)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(i32.add
(i32.load
(get_local $5)
)
(i32.mul
(get_local $6)
(i32.sub
(i32.load16_s
(i32.add
(tee_local $12
(i32.load
(get_local $25)
)
)
(i32.shl
(tee_local $5
(i32.add
(get_local $3)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $12)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
)
)
)
(set_local $3
(get_local $5)
)
(br $while-in9)
)
)
)
(set_local $5
(i32.sub
(get_local $8)
(get_local $10)
)
)
(set_local $3
(get_local $1)
)
(loop $while-in11
(if
(i32.lt_s
(get_local $3)
(get_local $4)
)
(block
(i32.store
(tee_local $6
(i32.add
(get_local $15)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(i32.add
(i32.load
(get_local $6)
)
(if (result i32)
(i32.lt_s
(get_local $5)
(tee_local $3
(i32.sub
(i32.load16_s
(i32.add
(tee_local $8
(i32.load
(get_local $25)
)
)
(i32.shl
(tee_local $6
(i32.add
(get_local $3)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $8)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
)
)
(tee_local $3
(get_local $5)
)
(get_local $3)
)
)
)
(set_local $5
(i32.sub
(get_local $5)
(get_local $3)
)
)
(set_local $3
(get_local $6)
)
(br $while-in11)
)
)
)
(set_local $21
(i32.eq
(get_local $18)
(i32.const 2)
)
)
(set_local $22
(i32.add
(get_local $0)
(i32.const 56)
)
)
(set_local $23
(if (result i32)
(get_local $37)
(i32.const 4)
(i32.const 3)
)
)
(set_local $6
(i32.const 0)
)
(loop $while-in13
(if
(i32.lt_s
(get_local $1)
(get_local $4)
)
(block
(set_local $8
(i32.add
(i32.load
(tee_local $12
(i32.add
(get_local $15)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(get_local $6)
)
)
(if
(i32.gt_s
(tee_local $14
(i32.shl
(i32.sub
(i32.load16_s
(i32.add
(tee_local $0
(i32.load
(get_local $25)
)
)
(i32.shl
(tee_local $3
(i32.add
(get_local $1)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $0)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
)
)
(get_local $19)
)
)
(i32.const 1)
)
(block
(set_local $5
(i32.sub
(get_local $8)
(tee_local $0
(i32.load
(i32.add
(get_local $7)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
)
(i32.store
(get_local $12)
(tee_local $20
(i32.sub
(get_local $8)
(if (result i32)
(i32.gt_s
(get_local $8)
(get_local $0)
)
(get_local $5)
(tee_local $5
(i32.const 0)
)
)
)
)
)
(set_local $0
(i32.add
(i32.shr_s
(tee_local $8
(i32.mul
(tee_local $10
(i32.add
(i32.mul
(get_local $14)
(get_local $18)
)
(i32.and
(tee_local $0
(if (result i32)
(i32.and
(get_local $21)
(i32.ne
(get_local $14)
(i32.const 2)
)
)
(if (result i32)
(i32.load
(get_local $13)
)
(i32.const 0)
(i32.lt_s
(get_local $1)
(i32.load
(get_local $11)
)
)
)
(i32.const 0)
)
)
(i32.const 1)
)
)
)
(i32.add
(get_local $33)
(i32.load16_s
(i32.add
(i32.load
(get_local $22)
)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
)
)
)
)
(i32.const 1)
)
(i32.mul
(get_local $10)
(i32.const -21)
)
)
)
(if
(i32.eq
(get_local $14)
(i32.const 2)
)
(set_local $0
(i32.add
(get_local $0)
(i32.shr_s
(i32.shl
(get_local $10)
(i32.const 3)
)
(i32.const 2)
)
)
)
)
(set_local $8
(if (result i32)
(i32.lt_s
(tee_local $14
(i32.add
(get_local $20)
(get_local $0)
)
)
(i32.shl
(get_local $10)
(i32.const 4)
)
)
(i32.add
(get_local $0)
(i32.shr_s
(get_local $8)
(i32.const 2)
)
)
(if (result i32)
(i32.lt_s
(get_local $14)
(i32.mul
(get_local $10)
(i32.const 24)
)
)
(i32.add
(get_local $0)
(i32.shr_s
(get_local $8)
(i32.const 3)
)
)
(get_local $0)
)
)
)
(i32.store
(tee_local $14
(i32.add
(get_local $16)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(tee_local $0
(i32.shr_u
(call $_celt_udiv
(if (result i32)
(i32.gt_s
(tee_local $0
(i32.add
(i32.add
(get_local $20)
(get_local $8)
)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
)
(i32.const 0)
)
(get_local $0)
(i32.const 0)
)
(get_local $10)
)
(i32.const 3)
)
)
)
(if
(i32.gt_s
(i32.mul
(get_local $0)
(get_local $18)
)
(i32.shr_s
(tee_local $20
(i32.load
(get_local $12)
)
)
(i32.const 3)
)
)
(i32.store
(get_local $14)
(tee_local $0
(i32.shr_s
(i32.shr_s
(get_local $20)
(get_local $36)
)
(i32.const 3)
)
)
)
)
(i32.store
(get_local $14)
(if (result i32)
(i32.lt_s
(get_local $0)
(i32.const 8)
)
(get_local $0)
(tee_local $0
(i32.const 8)
)
)
)
(i32.store
(i32.add
(get_local $17)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(i32.ge_s
(i32.mul
(get_local $0)
(i32.shl
(get_local $10)
(i32.const 3)
)
)
(i32.add
(i32.load
(get_local $12)
)
(get_local $8)
)
)
)
(i32.store
(get_local $12)
(i32.sub
(i32.load
(get_local $12)
)
(i32.shl
(i32.mul
(i32.load
(get_local $14)
)
(get_local $18)
)
(i32.const 3)
)
)
)
(set_local $0
(get_local $5)
)
)
(block
(set_local $0
(i32.sub
(get_local $8)
(get_local $30)
)
)
(i32.store
(get_local $12)
(i32.sub
(get_local $8)
(if (result i32)
(i32.lt_s
(get_local $8)
(get_local $30)
)
(tee_local $0
(i32.const 0)
)
(get_local $0)
)
)
)
(i32.store
(i32.add
(get_local $16)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(i32.const 0)
)
(i32.store
(i32.add
(get_local $17)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(i32.const 1)
)
)
)
(if
(get_local $0)
(block
(if
(i32.ge_s
(tee_local $5
(i32.shr_u
(get_local $0)
(get_local $23)
)
)
(tee_local $12
(i32.sub
(i32.const 8)
(tee_local $10
(i32.load
(tee_local $8
(i32.add
(get_local $16)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
)
)
)
(set_local $5
(get_local $12)
)
)
(i32.store
(get_local $8)
(i32.add
(get_local $10)
(get_local $5)
)
)
(i32.store
(i32.add
(get_local $17)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(i32.ge_s
(tee_local $1
(i32.shl
(i32.mul
(get_local $5)
(get_local $18)
)
(i32.const 3)
)
)
(i32.sub
(get_local $0)
(get_local $6)
)
)
)
(set_local $6
(i32.sub
(get_local $0)
(get_local $1)
)
)
(set_local $1
(get_local $3)
)
(br $while-in13)
)
(block
(set_local $6
(get_local $0)
)
(set_local $1
(get_local $3)
)
(br $while-in13)
)
)
)
)
)
(i32.store
(get_local $9)
(get_local $6)
)
(loop $while-in15
(if
(i32.lt_s
(get_local $1)
(get_local $2)
)
(block
(i32.store
(tee_local $0
(i32.add
(get_local $16)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(i32.shr_s
(i32.shr_s
(i32.load
(tee_local $3
(i32.add
(get_local $15)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(get_local $36)
)
(i32.const 3)
)
)
(i32.store
(get_local $3)
(i32.const 0)
)
(i32.store
(i32.add
(get_local $17)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(i32.lt_s
(i32.load
(get_local $0)
)
(i32.const 1)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in15)
)
)
)
(get_local $4)
)
(func $_exp_rotation (; 108 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 f32)
(local $7 f32)
(local $8 i32)
(local $9 i32)
(local $10 f32)
(local $11 f32)
(if
(i32.or
(i32.ge_s
(i32.shl
(get_local $4)
(i32.const 1)
)
(get_local $1)
)
(i32.eqz
(get_local $5)
)
)
(return)
)
(set_local $6
(f32.demote/f64
(call $_cos
(f64.promote/f32
(f32.mul
(tee_local $7
(f32.mul
(f32.mul
(tee_local $6
(f32.div
(f32.convert_s/i32
(get_local $1)
)
(f32.convert_s/i32
(i32.add
(i32.mul
(i32.load
(i32.add
(i32.shl
(get_local $5)
(i32.const 2)
)
(i32.const 19828)
)
)
(get_local $4)
)
(get_local $1)
)
)
)
)
(get_local $6)
)
(f32.const 0.5)
)
)
(f32.const 1.5707963705062866)
)
)
)
)
)
(set_local $7
(f32.demote/f64
(call $_cos
(f64.promote/f32
(f32.mul
(f32.sub
(f32.const 1)
(get_local $7)
)
(f32.const 1.5707963705062866)
)
)
)
)
)
(if
(i32.gt_s
(i32.shl
(get_local $3)
(i32.const 3)
)
(get_local $1)
)
(set_local $4
(i32.const 0)
)
(block
(set_local $5
(i32.shr_s
(get_local $3)
(i32.const 2)
)
)
(set_local $4
(i32.const 1)
)
(loop $while-in
(if
(i32.lt_s
(i32.add
(i32.mul
(i32.add
(i32.mul
(get_local $4)
(get_local $4)
)
(get_local $4)
)
(get_local $3)
)
(get_local $5)
)
(get_local $1)
)
(block
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
)
(set_local $1
(call $_celt_udiv
(get_local $1)
(get_local $3)
)
)
(set_local $9
(i32.lt_s
(get_local $2)
(i32.const 0)
)
)
(set_local $8
(i32.eqz
(get_local $4)
)
)
(set_local $10
(f32.neg
(get_local $7)
)
)
(set_local $11
(f32.neg
(get_local $6)
)
)
(set_local $2
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $2)
(get_local $3)
)
(block
(set_local $5
(i32.add
(get_local $0)
(i32.shl
(i32.mul
(get_local $2)
(get_local $1)
)
(i32.const 2)
)
)
)
(if
(get_local $9)
(block
(if
(i32.eqz
(get_local $8)
)
(call $_exp_rotation1
(get_local $5)
(get_local $1)
(get_local $4)
(get_local $7)
(get_local $6)
)
)
(call $_exp_rotation1
(get_local $5)
(get_local $1)
(i32.const 1)
(get_local $6)
(get_local $7)
)
)
(block
(call $_exp_rotation1
(get_local $5)
(get_local $1)
(i32.const 1)
(get_local $6)
(get_local $10)
)
(if
(i32.eqz
(get_local $8)
)
(call $_exp_rotation1
(get_local $5)
(get_local $1)
(get_local $4)
(get_local $7)
(get_local $11)
)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
)
(func $_exp_rotation1 (; 109 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f32) (param $4 f32)
(local $5 i32)
(local $6 f32)
(local $7 i32)
(local $8 f32)
(local $9 f32)
(local $10 i32)
(local $11 i32)
(set_local $9
(f32.neg
(get_local $4)
)
)
(set_local $10
(i32.sub
(get_local $1)
(get_local $2)
)
)
(set_local $5
(get_local $0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(get_local $10)
)
(block
(set_local $6
(f32.load
(tee_local $11
(i32.add
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $11)
(f32.add
(f32.mul
(get_local $6)
(get_local $3)
)
(f32.mul
(tee_local $8
(f32.load
(get_local $5)
)
)
(get_local $4)
)
)
)
(f32.store
(get_local $5)
(f32.add
(f32.mul
(get_local $8)
(get_local $3)
)
(f32.mul
(get_local $6)
(get_local $9)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 4)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $1
(i32.add
(get_local $0)
(i32.shl
(i32.add
(tee_local $0
(i32.sub
(get_local $1)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
(loop $while-in1
(if
(i32.gt_s
(get_local $0)
(i32.const 0)
)
(block
(set_local $6
(f32.load
(tee_local $5
(i32.add
(get_local $1)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $5)
(f32.add
(f32.mul
(get_local $6)
(get_local $3)
)
(f32.mul
(tee_local $8
(f32.load
(get_local $1)
)
)
(get_local $4)
)
)
)
(f32.store
(get_local $1)
(f32.add
(f32.mul
(get_local $8)
(get_local $3)
)
(f32.mul
(get_local $6)
(get_local $9)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const -4)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const -1)
)
)
(br $while-in1)
)
)
)
)
(func $_op_pvq_search_c (; 110 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result f32)
(local $4 f32)
(local $5 i32)
(local $6 f32)
(local $7 f32)
(local $8 i32)
(local $9 i32)
(local $10 f32)
(local $11 i32)
(local $12 i32)
(local $13 f32)
(local $14 i32)
(local $15 i32)
(local $16 f32)
(set_local $15
(get_global $STACKTOP)
)
(set_local $8
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $3)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $12
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $3)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(loop $while-in
(i32.store
(i32.add
(get_local $12)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(f32.lt
(tee_local $4
(f32.load
(tee_local $9
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(f32.const 0)
)
)
(f32.store
(get_local $9)
(f32.abs
(get_local $4)
)
)
(i32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(i32.const 0)
)
(f32.store
(i32.add
(get_local $8)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(f32.const 0)
)
(br_if $while-in
(i32.lt_s
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(get_local $3)
)
)
)
(if
(i32.lt_s
(i32.shr_s
(get_local $3)
(i32.const 1)
)
(get_local $2)
)
(block
(set_local $4
(f32.const 0)
)
(set_local $5
(i32.const 0)
)
(loop $while-in1
(set_local $4
(f32.add
(get_local $4)
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(br_if $while-in1
(i32.lt_s
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(get_local $3)
)
)
)
(if
(i32.eqz
(i32.and
(f32.gt
(get_local $4)
(f32.const 1.0000000036274937e-15)
)
(f32.lt
(get_local $4)
(f32.const 64)
)
)
)
(block
(f32.store
(get_local $0)
(f32.const 1)
)
(set_local $5
(i32.const 1)
)
(loop $while-in3
(f32.store
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(f32.const 0)
)
(br_if $while-in3
(i32.lt_s
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(get_local $3)
)
)
(set_local $4
(f32.const 1)
)
)
)
)
(set_local $10
(f32.mul
(f32.add
(f32.convert_s/i32
(get_local $2)
)
(f32.const 0.800000011920929)
)
(f32.div
(f32.const 1)
(get_local $4)
)
)
)
(set_local $4
(f32.const 0)
)
(set_local $5
(i32.const 0)
)
(loop $while-in5
(i32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(tee_local $9
(i32.trunc_s/f32
(f32.floor
(f32.mul
(get_local $10)
(f32.load
(tee_local $11
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
)
)
)
)
(set_local $4
(f32.add
(get_local $4)
(f32.mul
(tee_local $7
(f32.convert_s/i32
(get_local $9)
)
)
(get_local $7)
)
)
)
(set_local $6
(f32.add
(get_local $6)
(f32.mul
(f32.load
(get_local $11)
)
(get_local $7)
)
)
)
(f32.store
(i32.add
(get_local $8)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(f32.mul
(get_local $7)
(f32.const 2)
)
)
(set_local $2
(i32.sub
(get_local $2)
(get_local $9)
)
)
(br_if $while-in5
(i32.lt_s
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(get_local $3)
)
)
)
)
(set_local $4
(f32.const 0)
)
)
(set_local $9
(if (result i32)
(i32.gt_s
(get_local $2)
(i32.add
(get_local $3)
(i32.const 3)
)
)
(block (result i32)
(set_local $4
(f32.add
(f32.add
(get_local $4)
(f32.mul
(tee_local $4
(f32.convert_s/i32
(get_local $2)
)
)
(get_local $4)
)
)
(f32.mul
(f32.load
(get_local $8)
)
(get_local $4)
)
)
)
(i32.store
(get_local $1)
(i32.add
(i32.load
(get_local $1)
)
(get_local $2)
)
)
(i32.const 0)
)
(get_local $2)
)
)
(set_local $11
(i32.const 0)
)
(set_local $7
(get_local $6)
)
(loop $while-in7
(if
(i32.lt_s
(get_local $11)
(get_local $9)
)
(block
(set_local $6
(f32.add
(tee_local $13
(f32.add
(get_local $4)
(f32.const 1)
)
)
(f32.load
(get_local $8)
)
)
)
(set_local $4
(f32.mul
(tee_local $4
(f32.add
(get_local $7)
(f32.load
(get_local $0)
)
)
)
(get_local $4)
)
)
(set_local $5
(i32.const 0)
)
(set_local $2
(i32.const 1)
)
(loop $while-in9
(if
(tee_local $14
(f32.gt
(f32.mul
(get_local $6)
(tee_local $10
(f32.mul
(tee_local $10
(f32.add
(get_local $7)
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
)
(get_local $10)
)
)
)
(f32.mul
(tee_local $16
(f32.add
(get_local $13)
(f32.load
(i32.add
(get_local $8)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
)
(get_local $4)
)
)
)
(set_local $5
(get_local $2)
)
)
(if
(get_local $14)
(set_local $4
(get_local $10)
)
)
(if
(get_local $14)
(set_local $6
(get_local $16)
)
)
(br_if $while-in9
(i32.lt_s
(tee_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(get_local $3)
)
)
)
(set_local $6
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
(set_local $4
(f32.load
(tee_local $2
(i32.add
(get_local $8)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $2)
(f32.add
(get_local $4)
(f32.const 2)
)
)
(i32.store
(tee_local $2
(i32.add
(get_local $1)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
(i32.add
(i32.load
(get_local $2)
)
(i32.const 1)
)
)
(set_local $11
(i32.add
(get_local $11)
(i32.const 1)
)
)
(set_local $7
(f32.add
(get_local $7)
(get_local $6)
)
)
(set_local $4
(f32.add
(get_local $13)
(get_local $4)
)
)
(br $while-in7)
)
(set_local $0
(i32.const 0)
)
)
)
(loop $while-in11
(i32.store
(tee_local $2
(i32.add
(get_local $1)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(i32.add
(i32.xor
(i32.load
(get_local $2)
)
(i32.sub
(i32.const 0)
(tee_local $2
(i32.load
(i32.add
(get_local $12)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
)
)
(get_local $2)
)
)
(br_if $while-in11
(i32.lt_s
(tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(get_local $3)
)
)
)
(set_global $STACKTOP
(get_local $15)
)
(get_local $4)
)
(func $_alg_quant (; 111 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 f32) (param $7 i32) (result i32)
(local $8 i32)
(local $9 i32)
(local $10 f32)
(set_local $9
(get_global $STACKTOP)
)
(set_local $8
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $1)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 27)
)
(i32.const -16)
)
)
)
(call $_exp_rotation
(get_local $0)
(get_local $1)
(i32.const 1)
(get_local $4)
(get_local $2)
(get_local $3)
)
(set_local $10
(call $_op_pvq_search_c
(get_local $0)
(get_local $8)
(get_local $2)
(get_local $1)
)
)
(call $_encode_pulses
(get_local $8)
(get_local $1)
(get_local $2)
(get_local $5)
)
(if
(i32.eqz
(get_local $7)
)
(block
(set_local $0
(call $_extract_collapse_mask
(get_local $8)
(get_local $1)
(get_local $4)
)
)
(set_global $STACKTOP
(get_local $9)
)
(return
(get_local $0)
)
)
)
(call $_normalise_residual
(get_local $8)
(get_local $0)
(get_local $1)
(get_local $10)
(get_local $6)
)
(call $_exp_rotation
(get_local $0)
(get_local $1)
(i32.const -1)
(get_local $4)
(get_local $2)
(get_local $3)
)
(set_local $0
(call $_extract_collapse_mask
(get_local $8)
(get_local $1)
(get_local $4)
)
)
(set_global $STACKTOP
(get_local $9)
)
(get_local $0)
)
(func $_normalise_residual (; 112 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f32) (param $4 f32)
(local $5 i32)
(set_local $3
(f32.mul
(f32.div
(f32.const 1)
(f32.sqrt
(get_local $3)
)
)
(get_local $4)
)
)
(loop $while-in
(f32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(f32.mul
(get_local $3)
(f32.convert_s/i32
(i32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
)
)
(br_if $while-in
(i32.lt_s
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(get_local $2)
)
)
)
)
(func $_extract_collapse_mask (; 113 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(if
(i32.lt_s
(get_local $2)
(i32.const 2)
)
(return
(i32.const 1)
)
)
(set_local $5
(call $_celt_udiv
(get_local $1)
(get_local $2)
)
)
(loop $while-in
(set_local $7
(i32.mul
(get_local $3)
(get_local $5)
)
)
(set_local $4
(i32.const 0)
)
(set_local $1
(i32.const 0)
)
(loop $while-in1
(set_local $4
(i32.or
(get_local $4)
(i32.load
(i32.add
(get_local $0)
(i32.shl
(i32.add
(get_local $7)
(get_local $1)
)
(i32.const 2)
)
)
)
)
)
(br_if $while-in1
(i32.lt_s
(tee_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(get_local $5)
)
)
)
(set_local $1
(i32.or
(get_local $6)
(i32.shl
(i32.ne
(get_local $4)
(i32.const 0)
)
(get_local $3)
)
)
)
(if
(i32.ne
(tee_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(get_local $2)
)
(block
(set_local $6
(get_local $1)
)
(br $while-in)
)
)
)
(get_local $1)
)
(func $_alg_unquant (; 114 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 f32) (result i32)
(local $7 i32)
(local $8 i32)
(set_local $8
(get_global $STACKTOP)
)
(set_local $7
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $1)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(call $_normalise_residual
(get_local $7)
(get_local $0)
(get_local $1)
(call $_decode_pulses
(get_local $7)
(get_local $1)
(get_local $2)
(get_local $5)
)
(get_local $6)
)
(call $_exp_rotation
(get_local $0)
(get_local $1)
(i32.const -1)
(get_local $4)
(get_local $2)
(get_local $3)
)
(set_local $0
(call $_extract_collapse_mask
(get_local $7)
(get_local $1)
(get_local $4)
)
)
(set_global $STACKTOP
(get_local $8)
)
(get_local $0)
)
(func $_renormalise_vector (; 115 ;) (param $0 i32) (param $1 i32) (param $2 f32)
(local $3 i32)
(set_local $2
(f32.mul
(f32.div
(f32.const 1)
(f32.sqrt
(f32.add
(call $_celt_inner_prod_c_51
(get_local $0)
(get_local $0)
(get_local $1)
)
(f32.const 1.0000000036274937e-15)
)
)
)
(get_local $2)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $3)
(get_local $1)
)
(block
(f32.store
(get_local $0)
(f32.mul
(get_local $2)
(f32.load
(get_local $0)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 4)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_stereo_itheta (; 116 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 f32)
(local $5 f32)
(local $6 f32)
(local $7 f32)
(local $8 f32)
(if
(get_local $2)
(block
(set_local $4
(f32.const 1.0000000036274937e-15)
)
(set_local $5
(f32.const 1.0000000036274937e-15)
)
(set_local $2
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $2)
(get_local $3)
)
(block
(set_local $6
(f32.add
(tee_local $7
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
(tee_local $8
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
)
)
(set_local $4
(f32.add
(get_local $4)
(f32.mul
(tee_local $4
(f32.sub
(get_local $7)
(get_local $8)
)
)
(get_local $4)
)
)
)
(set_local $5
(f32.add
(get_local $5)
(f32.mul
(get_local $6)
(get_local $6)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(block
(set_local $5
(f32.add
(call $_celt_inner_prod_c_51
(get_local $0)
(get_local $0)
(get_local $3)
)
(f32.const 1.0000000036274937e-15)
)
)
(set_local $4
(f32.add
(call $_celt_inner_prod_c_51
(get_local $1)
(get_local $1)
(get_local $3)
)
(f32.const 1.0000000036274937e-15)
)
)
)
)
(i32.trunc_s/f32
(f32.floor
(f32.add
(f32.mul
(call $_fast_atan2f
(f32.sqrt
(get_local $4)
)
(f32.sqrt
(get_local $5)
)
)
(f32.const 10430.3818359375)
)
(f32.const 0.5)
)
)
)
)
(func $_fast_atan2f (; 117 ;) (param $0 f32) (param $1 f32) (result f32)
(local $2 f32)
(local $3 f32)
(if
(f32.lt
(f32.add
(tee_local $2
(f32.mul
(get_local $1)
(get_local $1)
)
)
(tee_local $3
(f32.mul
(get_local $0)
(get_local $0)
)
)
)
(f32.const 1.000000045813705e-18)
)
(return
(f32.const 0)
)
)
(if (result f32)
(f32.lt
(get_local $2)
(get_local $3)
)
(f32.add
(f32.div
(f32.neg
(f32.mul
(f32.mul
(get_local $1)
(get_local $0)
)
(f32.add
(get_local $3)
(f32.mul
(get_local $2)
(f32.const 0.43157973885536194)
)
)
)
)
(f32.mul
(f32.add
(get_local $3)
(f32.mul
(get_local $2)
(f32.const 0.6784840226173401)
)
)
(f32.add
(get_local $3)
(f32.mul
(get_local $2)
(f32.const 0.0859554186463356)
)
)
)
)
(if (result f32)
(f32.lt
(get_local $0)
(f32.const 0)
)
(f32.const -1.5707963705062866)
(f32.const 1.5707963705062866)
)
)
(f32.sub
(f32.add
(f32.div
(f32.mul
(tee_local $1
(f32.mul
(get_local $1)
(get_local $0)
)
)
(f32.add
(get_local $2)
(f32.mul
(get_local $3)
(f32.const 0.43157973885536194)
)
)
)
(f32.mul
(f32.add
(get_local $2)
(f32.mul
(get_local $3)
(f32.const 0.6784840226173401)
)
)
(f32.add
(get_local $2)
(f32.mul
(get_local $3)
(f32.const 0.0859554186463356)
)
)
)
)
(if (result f32)
(f32.lt
(get_local $0)
(f32.const 0)
)
(f32.const -1.5707963705062866)
(f32.const 1.5707963705062866)
)
)
(if (result f32)
(f32.lt
(get_local $1)
(f32.const 0)
)
(f32.const -1.5707963705062866)
(f32.const 1.5707963705062866)
)
)
)
)
(func $_silk_CNG_Reset (; 118 ;) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(set_local $5
(i32.div_s
(i32.const 32767)
(i32.add
(tee_local $2
(i32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.const 2340)
)
)
)
)
(i32.const 1)
)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $1)
(get_local $2)
)
(block
(i32.store16
(i32.add
(i32.add
(get_local $0)
(i32.const 4052)
)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
(tee_local $3
(i32.add
(get_local $3)
(get_local $5)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(set_local $2
(i32.load
(get_local $4)
)
)
(br $while-in)
)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4148)
)
(i32.const 0)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4152)
)
(i32.const 3176576)
)
)
(func $_silk_CNG (; 119 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(set_local $8
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 32)
)
)
(if
(i32.ne
(i32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.const 2316)
)
)
)
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 4156)
)
)
)
)
(block
(call $_silk_CNG_Reset
(get_local $0)
)
(i32.store
(get_local $5)
(i32.load
(get_local $4)
)
)
)
)
(set_local $9
(i32.add
(get_local $0)
(i32.const 2772)
)
)
(block $do-once
(if
(i32.eqz
(i32.load
(tee_local $11
(i32.add
(get_local $0)
(i32.const 4160)
)
)
)
)
(block
(if
(i32.eqz
(i32.load
(i32.add
(get_local $0)
(i32.const 4164)
)
)
)
(block
(set_local $6
(i32.add
(get_local $0)
(i32.const 2340)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $4)
(i32.load
(get_local $6)
)
)
(block
(set_local $5
(i32.and
(tee_local $10
(i32.load16_s
(tee_local $7
(i32.add
(i32.add
(get_local $0)
(i32.const 4052)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
)
(i32.const 65535)
)
)
(i32.store16
(get_local $7)
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(i32.sub
(tee_local $7
(i32.load16_s
(i32.add
(i32.add
(get_local $0)
(i32.const 2344)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
(get_local $10)
)
(i32.const 16)
)
(i32.const 16348)
)
(i32.shr_u
(i32.mul
(i32.and
(i32.sub
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 65535)
)
(i32.const 16348)
)
(i32.const 16)
)
)
(get_local $5)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $10
(i32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.const 2324)
)
)
)
)
(set_local $5
(i32.const 0)
)
(set_local $4
(i32.const 0)
)
(set_local $7
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $7)
(get_local $10)
)
(block
(if
(tee_local $13
(i32.gt_s
(tee_local $6
(i32.load
(i32.add
(i32.add
(get_local $1)
(i32.const 16)
)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
)
(get_local $5)
)
)
(set_local $4
(get_local $7)
)
)
(if
(get_local $13)
(set_local $5
(get_local $6)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(drop
(call $_memmove
(i32.add
(i32.add
(get_local $0)
(i32.const 2772)
)
(i32.shl
(tee_local $6
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 2332)
)
)
)
)
(i32.const 2)
)
)
(get_local $9)
(i32.shl
(i32.mul
(i32.add
(get_local $10)
(i32.const -1)
)
(get_local $6)
)
(i32.const 2)
)
)
)
(drop
(call $_memcpy
(get_local $9)
(i32.add
(i32.add
(get_local $0)
(i32.const 4)
)
(i32.shl
(i32.mul
(get_local $4)
(tee_local $4
(i32.load
(get_local $5)
)
)
)
(i32.const 2)
)
)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(set_local $5
(i32.add
(get_local $0)
(i32.const 4148)
)
)
(set_local $7
(i32.load
(get_local $12)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $4)
(get_local $7)
)
(block
(set_local $6
(i32.sub
(i32.load
(i32.add
(i32.add
(get_local $1)
(i32.const 16)
)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(tee_local $10
(i32.load
(get_local $5)
)
)
)
)
(i32.store
(get_local $5)
(i32.add
(get_local $10)
(i32.add
(i32.mul
(i32.shr_s
(get_local $6)
(i32.const 16)
)
(i32.const 4634)
)
(i32.shr_u
(i32.mul
(i32.and
(get_local $6)
(i32.const 65535)
)
(i32.const 4634)
)
(i32.const 16)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(br_if $do-once
(i32.load
(get_local $11)
)
)
)
)
(drop
(call $_memset
(i32.add
(get_local $0)
(i32.const 4084)
)
(i32.const 0)
(i32.shl
(i32.load
(i32.add
(get_local $0)
(i32.const 2340)
)
)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $8)
)
(return)
)
)
)
(set_local $1
(i32.add
(get_local $3)
(i32.const 16)
)
)
(set_local $29
(call $_llvm_stacksave)
)
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $1)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $6
(i32.shr_s
(tee_local $5
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(tee_local $5
(tee_local $1
(i32.load16_s
(i32.add
(get_local $0)
(i32.const 4228)
)
)
)
)
(i32.const 16)
)
(tee_local $7
(i32.shr_s
(i32.shl
(tee_local $6
(i32.load
(i32.add
(get_local $0)
(i32.const 4248)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(i32.shr_s
(i32.mul
(get_local $7)
(i32.and
(get_local $1)
(i32.const 65535)
)
)
(i32.const 16)
)
)
(i32.mul
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $6)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
(get_local $5)
)
)
)
(i32.const 16)
)
)
(set_local $5
(if (result i32)
(i32.or
(i32.gt_s
(get_local $5)
(i32.const 2097151)
)
(i32.gt_s
(tee_local $1
(i32.load
(i32.add
(get_local $0)
(i32.const 4148)
)
)
)
(i32.const 8388608)
)
)
(block (result i32)
(set_local $1
(i32.mul
(tee_local $1
(i32.shr_s
(get_local $1)
(i32.const 16)
)
)
(get_local $1)
)
)
(set_local $7
(i32.const 16)
)
(i32.mul
(get_local $6)
(get_local $6)
)
)
(block (result i32)
(set_local $1
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(get_local $1)
(i32.const 16)
)
(tee_local $7
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 16)
)
(i32.const 16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $1)
(i32.const 65535)
)
(get_local $7)
)
(i32.const 16)
)
)
(i32.mul
(get_local $1)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $1)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(set_local $7
(i32.const 8)
)
(i32.add
(i32.add
(i32.mul
(get_local $6)
(tee_local $6
(i32.shr_s
(i32.shl
(get_local $5)
(i32.const 16)
)
(i32.const 16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $5)
(i32.const 65535)
)
(get_local $6)
)
(i32.const 16)
)
)
(i32.mul
(get_local $5)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $5)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
)
)
(set_local $1
(i32.shl
(call $_silk_SQRT_APPROX
(i32.sub
(get_local $1)
(i32.shl
(get_local $5)
(i32.const 5)
)
)
)
(get_local $7)
)
)
(call $_silk_CNG_exc
(i32.add
(get_local $4)
(i32.const 64)
)
(get_local $9)
(get_local $3)
(i32.add
(get_local $0)
(i32.const 4152)
)
)
(call $_silk_NLSF2A
(get_local $8)
(i32.add
(get_local $0)
(i32.const 4052)
)
(i32.load
(tee_local $10
(i32.add
(get_local $0)
(i32.const 2340)
)
)
)
)
(i64.store align=4
(get_local $4)
(i64.load align=4
(tee_local $6
(i32.add
(get_local $0)
(i32.const 4084)
)
)
)
)
(i64.store offset=8 align=4
(get_local $4)
(i64.load offset=8 align=4
(get_local $6)
)
)
(i64.store offset=16 align=4
(get_local $4)
(i64.load offset=16 align=4
(get_local $6)
)
)
(i64.store offset=24 align=4
(get_local $4)
(i64.load offset=24 align=4
(get_local $6)
)
)
(i64.store offset=32 align=4
(get_local $4)
(i64.load offset=32 align=4
(get_local $6)
)
)
(i64.store offset=40 align=4
(get_local $4)
(i64.load offset=40 align=4
(get_local $6)
)
)
(i64.store offset=48 align=4
(get_local $4)
(i64.load offset=48 align=4
(get_local $6)
)
)
(i64.store offset=56 align=4
(get_local $4)
(i64.load offset=56 align=4
(get_local $6)
)
)
(set_local $11
(i32.load16_s
(get_local $8)
)
)
(set_local $12
(i32.load16_s offset=2
(get_local $8)
)
)
(set_local $13
(i32.load16_s offset=4
(get_local $8)
)
)
(set_local $15
(i32.load16_s offset=6
(get_local $8)
)
)
(set_local $16
(i32.load16_s offset=8
(get_local $8)
)
)
(set_local $17
(i32.load16_s offset=10
(get_local $8)
)
)
(set_local $18
(i32.load16_s offset=12
(get_local $8)
)
)
(set_local $19
(i32.load16_s offset=14
(get_local $8)
)
)
(set_local $20
(i32.load16_s offset=16
(get_local $8)
)
)
(set_local $21
(i32.load16_s offset=18
(get_local $8)
)
)
(set_local $22
(i32.load16_s offset=20
(get_local $8)
)
)
(set_local $23
(i32.load16_s offset=22
(get_local $8)
)
)
(set_local $24
(i32.load16_s offset=24
(get_local $8)
)
)
(set_local $25
(i32.load16_s offset=26
(get_local $8)
)
)
(set_local $26
(i32.load16_s offset=28
(get_local $8)
)
)
(set_local $27
(i32.load16_s offset=30
(get_local $8)
)
)
(set_local $28
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 10)
)
(i32.const 16)
)
)
(set_local $30
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $1)
(i32.const 21)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $5
(i32.const 0)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $5)
(get_local $3)
)
(block
(set_local $0
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.shr_s
(i32.load
(get_local $10)
)
(i32.const 1)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 15)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $11)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 14)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $12)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $12)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 13)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $13)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $13)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 12)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $15)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $15)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 11)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $16)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $16)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 10)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $17)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $17)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 9)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $18)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $18)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 8)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $19)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $19)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 7)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $20)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $20)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 6)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $21)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $21)
)
(i32.const 16)
)
)
)
)
(if
(i32.eq
(i32.load
(get_local $10)
)
(i32.const 16)
)
(set_local $0
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(get_local $0)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 5)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $22)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $22)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 4)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $23)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $23)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 3)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $24)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $24)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 2)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $25)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $25)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 1)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $26)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $26)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $27)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $27)
)
(i32.const 16)
)
)
)
)
)
(set_local $7
(i32.load
(tee_local $14
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $5)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
)
(set_local $9
(i32.gt_s
(get_local $0)
(i32.const 134217727)
)
)
(set_local $1
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const -134217728)
)
(get_local $0)
(i32.const -134217728)
)
(i32.const 4)
)
)
(set_local $31
(i32.gt_s
(i32.add
(get_local $7)
(if (result i32)
(get_local $9)
(i32.const 2147483632)
(get_local $1)
)
)
(i32.const -1)
)
)
(set_local $1
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const -134217728)
)
(get_local $0)
(i32.const -134217728)
)
(i32.const 4)
)
)
(if
(get_local $9)
(set_local $1
(i32.const 2147483632)
)
)
(i32.store
(get_local $14)
(tee_local $0
(if (result i32)
(get_local $31)
(if (result i32)
(i32.lt_s
(i32.and
(get_local $7)
(get_local $1)
)
(i32.const 0)
)
(i32.const -2147483648)
(block (result i32)
(set_local $0
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const -134217728)
)
(get_local $0)
(i32.const -134217728)
)
(i32.const 4)
)
)
(i32.add
(get_local $7)
(if (result i32)
(get_local $9)
(i32.const 2147483632)
(get_local $0)
)
)
)
)
(if (result i32)
(i32.gt_s
(i32.or
(get_local $7)
(get_local $1)
)
(i32.const -1)
)
(i32.const 2147483647)
(block (result i32)
(set_local $0
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const -134217728)
)
(get_local $0)
(i32.const -134217728)
)
(i32.const 4)
)
)
(i32.add
(get_local $7)
(if (result i32)
(get_local $9)
(i32.const 2147483632)
(get_local $0)
)
)
)
)
)
)
)
(set_local $7
(i32.load16_s
(tee_local $14
(i32.add
(get_local $2)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
)
(set_local $9
(i32.gt_s
(tee_local $0
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(get_local $0)
(i32.const 16)
)
(get_local $28)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $28)
)
(i32.const 16)
)
)
(i32.mul
(get_local $0)
(get_local $30)
)
)
(i32.const 7)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const 32767)
)
)
(set_local $1
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const -32768)
)
(get_local $0)
(i32.const -32768)
)
)
(i32.store16
(get_local $14)
(tee_local $0
(if (result i32)
(i32.gt_s
(i32.add
(if (result i32)
(get_local $9)
(i32.const 32767)
(get_local $1)
)
(get_local $7)
)
(i32.const 32767)
)
(i32.const 32767)
(block (result i32)
(set_local $1
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const -32768)
)
(get_local $0)
(i32.const -32768)
)
)
(if (result i32)
(i32.lt_s
(i32.add
(if (result i32)
(get_local $9)
(i32.const 32767)
(get_local $1)
)
(get_local $7)
)
(i32.const -32768)
)
(i32.const -32768)
(block (result i32)
(if
(i32.le_s
(get_local $0)
(i32.const -32768)
)
(set_local $0
(i32.const -32768)
)
)
(i32.add
(if (result i32)
(get_local $9)
(i32.const 32767)
(get_local $0)
)
(get_local $7)
)
)
)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(i64.store align=4
(get_local $6)
(i64.load align=4
(tee_local $0
(i32.add
(get_local $4)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
(i64.store offset=8 align=4
(get_local $6)
(i64.load offset=8 align=4
(get_local $0)
)
)
(i64.store offset=16 align=4
(get_local $6)
(i64.load offset=16 align=4
(get_local $0)
)
)
(i64.store offset=24 align=4
(get_local $6)
(i64.load offset=24 align=4
(get_local $0)
)
)
(i64.store offset=32 align=4
(get_local $6)
(i64.load offset=32 align=4
(get_local $0)
)
)
(i64.store offset=40 align=4
(get_local $6)
(i64.load offset=40 align=4
(get_local $0)
)
)
(i64.store offset=48 align=4
(get_local $6)
(i64.load offset=48 align=4
(get_local $0)
)
)
(i64.store offset=56 align=4
(get_local $6)
(i64.load offset=56 align=4
(get_local $0)
)
)
(call $_llvm_stackrestore
(get_local $29)
)
(set_global $STACKTOP
(get_local $8)
)
)
(func $_silk_SQRT_APPROX (; 120 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(set_local $1
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.lt_s
(get_local $0)
(i32.const 1)
)
(block
(set_global $STACKTOP
(get_local $1)
)
(return
(i32.const 0)
)
)
)
(call $_silk_CLZ_FRAC
(get_local $0)
(tee_local $0
(i32.add
(get_local $1)
(i32.const 4)
)
)
(get_local $1)
)
(set_local $0
(i32.add
(tee_local $0
(i32.shr_u
(if (result i32)
(i32.and
(tee_local $0
(i32.load
(get_local $0)
)
)
(i32.const 1)
)
(i32.const 32768)
(i32.const 46214)
)
(i32.shr_s
(get_local $0)
(i32.const 1)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(get_local $0)
(i32.const 16)
)
(tee_local $2
(i32.shr_s
(i32.mul
(i32.shr_s
(i32.shl
(i32.load
(get_local $1)
)
(i32.const 16)
)
(i32.const 16)
)
(i32.const 13959168)
)
(i32.const 16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $2)
)
(i32.const 16)
)
)
)
)
(set_global $STACKTOP
(get_local $1)
)
(get_local $0)
)
(func $_silk_CNG_exc (; 121 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(set_local $4
(i32.const 255)
)
(loop $while-in
(if
(i32.gt_s
(get_local $4)
(get_local $2)
)
(block
(set_local $4
(i32.shr_s
(get_local $4)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $6
(i32.load
(get_local $3)
)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $5)
(get_local $2)
)
(block
(i32.store
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $1)
(i32.shl
(i32.and
(i32.shr_s
(tee_local $6
(i32.add
(i32.mul
(get_local $6)
(i32.const 196314165)
)
(i32.const 907633515)
)
)
(i32.const 24)
)
(get_local $4)
)
(i32.const 2)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(i32.store
(get_local $3)
(get_local $6)
)
)
(func $_silk_CLZ_FRAC (; 122 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(i32.store
(get_local $1)
(tee_local $3
(call $_silk_CLZ32
(get_local $0)
)
)
)
(i32.store
(get_local $2)
(i32.and
(call $_silk_ROR32
(get_local $0)
(i32.sub
(i32.const 24)
(get_local $3)
)
)
(i32.const 127)
)
)
)
(func $_silk_CLZ32 (; 123 ;) (param $0 i32) (result i32)
(i32.clz
(get_local $0)
)
)
(func $_silk_ROR32 (; 124 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
(get_local $1)
)
(return
(get_local $0)
)
)
(set_local $2
(i32.sub
(i32.const 0)
(get_local $1)
)
)
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 0)
)
(i32.or
(i32.shl
(get_local $0)
(get_local $2)
)
(i32.shr_u
(get_local $0)
(i32.add
(get_local $1)
(i32.const 32)
)
)
)
(i32.or
(i32.shl
(get_local $0)
(i32.sub
(i32.const 32)
(get_local $1)
)
)
(i32.shr_u
(get_local $0)
(get_local $1)
)
)
)
)
(func $_silk_decode_signs (; 125 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(set_local $6
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(i32.store8 offset=1
(get_local $6)
(i32.const 0)
)
(set_local $7
(i32.add
(i32.mul
(i32.shr_s
(i32.shl
(i32.add
(i32.shl
(get_local $3)
(i32.const 1)
)
(get_local $4)
)
(i32.const 16)
)
(i32.const 16)
)
(i32.const 7)
)
(i32.const 29348)
)
)
(set_local $8
(i32.shr_s
(i32.add
(get_local $2)
(i32.const 8)
)
(i32.const 4)
)
)
(set_local $2
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $2)
(get_local $8)
)
(block
(block $label$break$L4
(if
(i32.gt_s
(tee_local $3
(i32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
(i32.const 0)
)
(block
(set_local $4
(i32.and
(get_local $3)
(i32.const 31)
)
)
(i32.store8
(get_local $6)
(i32.load8_s
(i32.add
(get_local $7)
(if (result i32)
(i32.lt_u
(i32.and
(get_local $3)
(i32.const 30)
)
(i32.const 6)
)
(get_local $4)
(i32.const 6)
)
)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in1
(br_if $label$break$L4
(i32.eq
(get_local $3)
(i32.const 16)
)
)
(if
(i32.gt_s
(i32.load16_s
(tee_local $4
(i32.add
(get_local $1)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
(i32.const 0)
)
(i32.store16
(get_local $4)
(i32.mul
(i32.add
(i32.shl
(call $_ec_dec_icdf
(get_local $0)
(get_local $6)
(i32.const 8)
)
(i32.const 1)
)
(i32.const -1)
)
(i32.load16_s
(get_local $4)
)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 32)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_global $STACKTOP
(get_local $6)
)
)
(func $_silk_init_decoder (; 126 ;) (param $0 i32)
(drop
(call $_memset
(i32.add
(get_local $0)
(i32.const 4)
)
(i32.const 0)
(i32.const 4260)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2376)
)
(i32.const 1)
)
(i32.store
(get_local $0)
(i32.const 65536)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4168)
)
(i32.const 0)
)
(call $_silk_CNG_Reset
(get_local $0)
)
(call $_silk_PLC_Reset
(get_local $0)
)
)
(func $_silk_decode_core (; 127 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 i32)
(local $33 i32)
(local $34 i32)
(local $35 i32)
(local $36 i32)
(local $37 i32)
(local $38 i32)
(local $39 i32)
(local $40 i32)
(local $41 i32)
(local $42 i32)
(local $43 i32)
(local $44 i32)
(local $45 i32)
(local $46 i32)
(local $47 i32)
(local $48 i32)
(local $49 i32)
(local $50 i32)
(set_local $10
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 32)
)
)
(set_local $26
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(tee_local $6
(i32.load
(tee_local $20
(i32.add
(get_local $0)
(i32.const 2336)
)
)
)
)
(i32.const 1)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $23
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(i32.add
(get_local $6)
(tee_local $6
(i32.load
(tee_local $21
(i32.add
(get_local $0)
(i32.const 2328)
)
)
)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $27
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(tee_local $4
(i32.load
(tee_local $24
(i32.add
(get_local $0)
(i32.const 2332)
)
)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $8
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $4)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 79)
)
(i32.const -16)
)
)
)
(set_local $28
(i32.gt_s
(i32.load8_s
(i32.add
(get_local $0)
(i32.const 2767)
)
)
(i32.const 3)
)
)
(set_local $9
(i32.shl
(i32.load16_s
(i32.add
(i32.add
(i32.shl
(i32.shr_s
(i32.load8_s
(tee_local $29
(i32.add
(get_local $0)
(i32.const 2765)
)
)
)
(i32.const 1)
)
(i32.const 2)
)
(i32.const 24360)
)
(i32.shl
(i32.load8_s
(i32.add
(get_local $0)
(i32.const 2766)
)
)
(i32.const 1)
)
)
)
(i32.const 4)
)
)
(set_local $5
(i32.load8_s
(i32.add
(get_local $0)
(i32.const 2770)
)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $4)
(get_local $6)
)
(block
(set_local $5
(i32.add
(i32.mul
(get_local $5)
(i32.const 196314165)
)
(i32.const 907633515)
)
)
(i32.store
(tee_local $7
(i32.add
(i32.add
(get_local $0)
(i32.const 4)
)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(tee_local $6
(i32.shl
(tee_local $16
(i32.load16_s
(tee_local $11
(i32.add
(get_local $3)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
)
(i32.const 14)
)
)
)
(block $__rjto$0
(block $__rjti$0
(if
(i32.gt_s
(get_local $16)
(i32.const 0)
)
(block
(set_local $6
(i32.add
(get_local $6)
(i32.const -1280)
)
)
(br $__rjti$0)
)
(if
(i32.lt_s
(get_local $16)
(i32.const 0)
)
(block
(set_local $6
(i32.or
(get_local $6)
(i32.const 1280)
)
)
(br $__rjti$0)
)
)
)
(br $__rjto$0)
)
(i32.store
(get_local $7)
(get_local $6)
)
)
(set_local $16
(i32.sub
(i32.const 0)
(tee_local $6
(i32.add
(get_local $6)
(get_local $9)
)
)
)
)
(i32.store
(get_local $7)
(if (result i32)
(i32.lt_s
(get_local $5)
(i32.const 0)
)
(get_local $16)
(get_local $6)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.load16_s
(get_local $11)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(set_local $6
(i32.load
(get_local $21)
)
)
(br $while-in)
)
)
)
(i64.store align=4
(get_local $8)
(i64.load align=4
(tee_local $11
(i32.add
(get_local $0)
(i32.const 1284)
)
)
)
)
(i64.store offset=8 align=4
(get_local $8)
(i64.load offset=8 align=4
(get_local $11)
)
)
(i64.store offset=16 align=4
(get_local $8)
(i64.load offset=16 align=4
(get_local $11)
)
)
(i64.store offset=24 align=4
(get_local $8)
(i64.load offset=24 align=4
(get_local $11)
)
)
(i64.store offset=32 align=4
(get_local $8)
(i64.load offset=32 align=4
(get_local $11)
)
)
(i64.store offset=40 align=4
(get_local $8)
(i64.load offset=40 align=4
(get_local $11)
)
)
(i64.store offset=48 align=4
(get_local $8)
(i64.load offset=48 align=4
(get_local $11)
)
)
(i64.store offset=56 align=4
(get_local $8)
(i64.load offset=56 align=4
(get_local $11)
)
)
(set_local $30
(i32.add
(get_local $0)
(i32.const 2324)
)
)
(set_local $19
(i32.add
(get_local $0)
(i32.const 2340)
)
)
(set_local $31
(i32.add
(get_local $0)
(i32.const 4160)
)
)
(set_local $32
(i32.add
(get_local $1)
(i32.const 136)
)
)
(set_local $33
(i32.add
(get_local $10)
(i32.const 2)
)
)
(set_local $34
(i32.add
(get_local $10)
(i32.const 4)
)
)
(set_local $35
(i32.add
(get_local $10)
(i32.const 6)
)
)
(set_local $36
(i32.add
(get_local $10)
(i32.const 8)
)
)
(set_local $37
(i32.add
(get_local $10)
(i32.const 10)
)
)
(set_local $38
(i32.add
(get_local $10)
(i32.const 12)
)
)
(set_local $39
(i32.add
(get_local $10)
(i32.const 14)
)
)
(set_local $40
(i32.add
(get_local $10)
(i32.const 16)
)
)
(set_local $41
(i32.add
(get_local $10)
(i32.const 18)
)
)
(set_local $42
(i32.add
(get_local $10)
(i32.const 20)
)
)
(set_local $43
(i32.add
(get_local $10)
(i32.const 22)
)
)
(set_local $44
(i32.add
(get_local $10)
(i32.const 24)
)
)
(set_local $45
(i32.add
(get_local $10)
(i32.const 26)
)
)
(set_local $46
(i32.add
(get_local $10)
(i32.const 28)
)
)
(set_local $47
(i32.add
(get_local $10)
(i32.const 30)
)
)
(set_local $48
(i32.add
(get_local $0)
(i32.const 4164)
)
)
(set_local $49
(i32.add
(get_local $0)
(i32.const 2308)
)
)
(set_local $16
(i32.add
(get_local $0)
(i32.const 4)
)
)
(set_local $3
(i32.load
(get_local $20)
)
)
(set_local $21
(get_local $2)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $12)
(i32.load
(get_local $30)
)
)
(block
(drop
(call $_memcpy
(get_local $10)
(tee_local $15
(i32.add
(i32.add
(get_local $1)
(i32.const 32)
)
(i32.shl
(i32.shr_s
(get_local $12)
(i32.const 1)
)
(i32.const 5)
)
)
)
(i32.shl
(i32.load
(get_local $19)
)
(i32.const 1)
)
)
)
(set_local $13
(i32.add
(i32.add
(get_local $1)
(i32.const 96)
)
(i32.shl
(i32.mul
(get_local $12)
(i32.const 5)
)
(i32.const 1)
)
)
)
(set_local $5
(i32.load8_s
(get_local $29)
)
)
(set_local $25
(i32.shr_u
(tee_local $17
(i32.load
(i32.add
(i32.add
(get_local $1)
(i32.const 16)
)
(i32.shl
(get_local $12)
(i32.const 2)
)
)
)
)
(i32.const 6)
)
)
(set_local $9
(call $_silk_INVERSE32_varQ
(get_local $17)
)
)
(if
(i32.eq
(get_local $17)
(tee_local $6
(i32.load
(get_local $0)
)
)
)
(set_local $6
(i32.const 65536)
)
(block
(set_local $18
(i32.shr_s
(tee_local $6
(call $_silk_DIV32_varQ
(get_local $6)
(get_local $17)
)
)
(i32.const 16)
)
)
(set_local $22
(i32.and
(get_local $6)
(i32.const 65535)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in3
(if
(i32.ne
(get_local $4)
(i32.const 16)
)
(block
(set_local $7
(i32.shr_s
(i32.shl
(tee_local $50
(i32.load
(tee_local $14
(i32.add
(get_local $8)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.store
(get_local $14)
(i32.add
(i32.add
(i32.mul
(get_local $18)
(get_local $7)
)
(i32.shr_s
(i32.mul
(get_local $22)
(get_local $7)
)
(i32.const 16)
)
)
(i32.mul
(get_local $6)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $50)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
)
)
(i32.store
(get_local $0)
(get_local $17)
)
(block $label$break$L27
(block $__rjti$3
(block $__rjti$2
(br_if $__rjti$2
(i32.eqz
(i32.load
(get_local $31)
)
)
)
(br_if $__rjti$2
(i32.eqz
(i32.and
(i32.and
(i32.ne
(get_local $5)
(i32.const 2)
)
(i32.eq
(i32.load
(get_local $48)
)
(i32.const 2)
)
)
(i32.lt_s
(get_local $12)
(i32.const 2)
)
)
)
)
(i64.store align=2
(get_local $13)
(i64.const 0)
)
(i32.store16 offset=8
(get_local $13)
(i32.const 0)
)
(i32.store16 offset=4
(get_local $13)
(i32.const 4096)
)
(i32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $12)
(i32.const 2)
)
)
(tee_local $7
(i32.load
(get_local $49)
)
)
)
(br $__rjti$3)
)
(if
(i32.eq
(get_local $5)
(i32.const 2)
)
(block
(set_local $7
(i32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $12)
(i32.const 2)
)
)
)
)
(br $__rjti$3)
)
(set_local $6
(get_local $16)
)
)
(br $label$break$L27)
)
(block $label$break$L40
(block $__rjti$1
(if
(tee_local $18
(i32.eqz
(get_local $12)
)
)
(block
(set_local $6
(i32.add
(i32.sub
(i32.sub
(tee_local $4
(i32.load
(get_local $20)
)
)
(get_local $7)
)
(tee_local $5
(i32.load
(get_local $19)
)
)
)
(i32.const -2)
)
)
(br $__rjti$1)
)
(block
(if
(i32.eqz
(i32.or
(i32.ne
(get_local $12)
(i32.const 2)
)
(get_local $28)
)
)
(block
(set_local $6
(i32.add
(i32.sub
(i32.sub
(tee_local $4
(i32.load
(get_local $20)
)
)
(get_local $7)
)
(tee_local $5
(i32.load
(get_local $19)
)
)
)
(i32.const -2)
)
)
(br_if $__rjti$1
(i32.ne
(get_local $12)
(i32.const 2)
)
)
(drop
(call $_memcpy
(i32.add
(i32.add
(get_local $0)
(i32.const 1348)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
(get_local $2)
(i32.shl
(i32.load
(get_local $24)
)
(i32.const 2)
)
)
)
(set_local $4
(i32.load
(get_local $20)
)
)
(set_local $5
(i32.load
(get_local $19)
)
)
(br $__rjti$1)
)
)
(if
(i32.ne
(get_local $6)
(i32.const 65536)
)
(block
(set_local $9
(i32.add
(get_local $7)
(i32.const 2)
)
)
(set_local $15
(i32.shr_s
(get_local $6)
(i32.const 16)
)
)
(set_local $18
(i32.and
(get_local $6)
(i32.const 65535)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in7
(br_if $label$break$L40
(i32.ge_s
(get_local $4)
(get_local $9)
)
)
(set_local $5
(i32.shr_s
(i32.shl
(tee_local $14
(i32.load
(tee_local $22
(i32.add
(get_local $23)
(i32.shl
(i32.add
(i32.sub
(get_local $3)
(get_local $4)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.store
(get_local $22)
(i32.add
(i32.add
(i32.mul
(get_local $15)
(get_local $5)
)
(i32.shr_s
(i32.mul
(get_local $18)
(get_local $5)
)
(i32.const 16)
)
)
(i32.mul
(get_local $6)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $14)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in7)
)
)
)
)
)
(br $label$break$L40)
)
(call $_silk_LPC_analysis_filter
(i32.add
(get_local $26)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
(i32.add
(i32.add
(get_local $0)
(i32.const 1348)
)
(i32.shl
(i32.add
(get_local $6)
(i32.mul
(get_local $12)
(i32.load
(get_local $24)
)
)
)
(i32.const 1)
)
)
(get_local $15)
(i32.sub
(get_local $4)
(get_local $6)
)
(get_local $5)
)
(if
(get_local $18)
(set_local $9
(i32.shl
(i32.add
(i32.mul
(i32.shr_s
(get_local $9)
(i32.const 16)
)
(tee_local $6
(i32.shr_s
(i32.shl
(i32.load
(get_local $32)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $9)
(i32.const 65535)
)
(get_local $6)
)
(i32.const 16)
)
)
(i32.const 2)
)
)
)
(set_local $4
(i32.add
(get_local $7)
(i32.const 2)
)
)
(set_local $5
(i32.shr_s
(get_local $9)
(i32.const 16)
)
)
(set_local $9
(i32.and
(get_local $9)
(i32.const 65535)
)
)
(set_local $6
(i32.const 0)
)
(loop $while-in10
(br_if $label$break$L40
(i32.ge_s
(get_local $6)
(get_local $4)
)
)
(i32.store
(i32.add
(get_local $23)
(i32.shl
(i32.add
(i32.sub
(get_local $3)
(get_local $6)
)
(i32.const -1)
)
(i32.const 2)
)
)
(i32.add
(i32.mul
(get_local $5)
(tee_local $15
(i32.load16_s
(i32.add
(get_local $26)
(i32.shl
(i32.add
(i32.sub
(i32.load
(get_local $20)
)
(get_local $6)
)
(i32.const -1)
)
(i32.const 1)
)
)
)
)
)
(i32.shr_s
(i32.mul
(get_local $9)
(get_local $15)
)
(i32.const 16)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in10)
)
)
(set_local $5
(i32.add
(get_local $13)
(i32.const 2)
)
)
(set_local $9
(i32.add
(get_local $13)
(i32.const 4)
)
)
(set_local $15
(i32.add
(get_local $13)
(i32.const 6)
)
)
(set_local $18
(i32.add
(get_local $13)
(i32.const 8)
)
)
(set_local $22
(i32.load
(get_local $24)
)
)
(set_local $6
(i32.add
(get_local $23)
(i32.shl
(i32.add
(i32.sub
(get_local $3)
(get_local $7)
)
(i32.const 2)
)
(i32.const 2)
)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in12
(if
(i32.lt_s
(get_local $4)
(get_local $22)
)
(block
(i32.store
(i32.add
(get_local $27)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(tee_local $7
(i32.add
(i32.load
(i32.add
(get_local $16)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(i32.shl
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load
(get_local $6)
)
)
(i32.const 16)
)
(tee_local $14
(i32.load16_s
(get_local $13)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $14)
)
(i32.const 16)
)
)
(i32.const 2)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load
(i32.add
(get_local $6)
(i32.const -4)
)
)
)
(i32.const 16)
)
(tee_local $14
(i32.load16_s
(get_local $5)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $14)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load
(i32.add
(get_local $6)
(i32.const -8)
)
)
)
(i32.const 16)
)
(tee_local $14
(i32.load16_s
(get_local $9)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $14)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load
(i32.add
(get_local $6)
(i32.const -12)
)
)
)
(i32.const 16)
)
(tee_local $14
(i32.load16_s
(get_local $15)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $14)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load
(i32.add
(get_local $6)
(i32.const -16)
)
)
)
(i32.const 16)
)
(tee_local $14
(i32.load16_s
(get_local $18)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $14)
)
(i32.const 16)
)
)
)
(i32.const 1)
)
)
)
)
(i32.store
(i32.add
(get_local $23)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 4)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in12)
)
(set_local $6
(get_local $27)
)
)
)
)
(set_local $15
(i32.shr_s
(i32.shl
(get_local $25)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $17
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $17)
(i32.const 21)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $7
(i32.const 0)
)
(loop $while-in14
(if
(i32.lt_s
(get_local $7)
(tee_local $4
(i32.load
(get_local $24)
)
)
)
(block
(set_local $4
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.shr_s
(i32.load
(get_local $19)
)
(i32.const 1)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 15)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $10)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 14)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $33)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 13)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $34)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 12)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $35)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 11)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $36)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 10)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $37)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 9)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $38)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 8)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $39)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 7)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $40)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 6)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $41)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
)
(if
(i32.eq
(i32.load
(get_local $19)
)
(i32.const 16)
)
(set_local $4
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(get_local $4)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 5)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $42)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 4)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $43)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 3)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $44)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 2)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $45)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 1)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $46)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.load
(i32.add
(get_local $8)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $5
(i32.load16_s
(get_local $47)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
)
)
)
(set_local $9
(i32.load
(i32.add
(get_local $6)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
)
(set_local $13
(i32.gt_s
(get_local $4)
(i32.const 134217727)
)
)
(set_local $5
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $4)
(i32.const -134217728)
)
(get_local $4)
(i32.const -134217728)
)
(i32.const 4)
)
)
(set_local $25
(i32.gt_s
(i32.add
(get_local $9)
(if (result i32)
(get_local $13)
(i32.const 2147483632)
(get_local $5)
)
)
(i32.const -1)
)
)
(set_local $5
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $4)
(i32.const -134217728)
)
(get_local $4)
(i32.const -134217728)
)
(i32.const 4)
)
)
(if
(get_local $13)
(set_local $5
(i32.const 2147483632)
)
)
(i32.store
(i32.add
(get_local $8)
(i32.shl
(i32.add
(get_local $7)
(i32.const 16)
)
(i32.const 2)
)
)
(tee_local $4
(if (result i32)
(get_local $25)
(if (result i32)
(i32.lt_s
(i32.and
(get_local $9)
(get_local $5)
)
(i32.const 0)
)
(i32.const -2147483648)
(block (result i32)
(set_local $4
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $4)
(i32.const -134217728)
)
(get_local $4)
(i32.const -134217728)
)
(i32.const 4)
)
)
(i32.add
(get_local $9)
(if (result i32)
(get_local $13)
(i32.const 2147483632)
(get_local $4)
)
)
)
)
(if (result i32)
(i32.gt_s
(i32.or
(get_local $9)
(get_local $5)
)
(i32.const -1)
)
(i32.const 2147483647)
(block (result i32)
(set_local $4
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $4)
(i32.const -134217728)
)
(get_local $4)
(i32.const -134217728)
)
(i32.const 4)
)
)
(i32.add
(get_local $9)
(if (result i32)
(get_local $13)
(i32.const 2147483632)
(get_local $4)
)
)
)
)
)
)
)
(i32.store16
(i32.add
(get_local $21)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $4
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(get_local $4)
(i32.const 16)
)
(get_local $15)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $15)
)
(i32.const 16)
)
)
(i32.mul
(get_local $4)
(get_local $17)
)
)
(i32.const 7)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $4)
(tee_local $4
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $4)
(i32.const 32767)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in14)
)
)
)
(i64.store align=4
(get_local $8)
(i64.load align=4
(tee_local $6
(i32.add
(get_local $8)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
(i64.store offset=8 align=4
(get_local $8)
(i64.load offset=8 align=4
(get_local $6)
)
)
(i64.store offset=16 align=4
(get_local $8)
(i64.load offset=16 align=4
(get_local $6)
)
)
(i64.store offset=24 align=4
(get_local $8)
(i64.load offset=24 align=4
(get_local $6)
)
)
(i64.store offset=32 align=4
(get_local $8)
(i64.load offset=32 align=4
(get_local $6)
)
)
(i64.store offset=40 align=4
(get_local $8)
(i64.load offset=40 align=4
(get_local $6)
)
)
(i64.store offset=48 align=4
(get_local $8)
(i64.load offset=48 align=4
(get_local $6)
)
)
(i64.store offset=56 align=4
(get_local $8)
(i64.load offset=56 align=4
(get_local $6)
)
)
(set_local $16
(i32.add
(get_local $16)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(set_local $21
(i32.add
(get_local $21)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(i64.store align=4
(get_local $11)
(i64.load align=4
(get_local $8)
)
)
(i64.store offset=8 align=4
(get_local $11)
(i64.load offset=8 align=4
(get_local $8)
)
)
(i64.store offset=16 align=4
(get_local $11)
(i64.load offset=16 align=4
(get_local $8)
)
)
(i64.store offset=24 align=4
(get_local $11)
(i64.load offset=24 align=4
(get_local $8)
)
)
(i64.store offset=32 align=4
(get_local $11)
(i64.load offset=32 align=4
(get_local $8)
)
)
(i64.store offset=40 align=4
(get_local $11)
(i64.load offset=40 align=4
(get_local $8)
)
)
(i64.store offset=48 align=4
(get_local $11)
(i64.load offset=48 align=4
(get_local $8)
)
)
(i64.store offset=56 align=4
(get_local $11)
(i64.load offset=56 align=4
(get_local $8)
)
)
(set_global $STACKTOP
(get_local $10)
)
)
(func $_silk_INVERSE32_varQ (; 128 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(set_local $1
(i32.sub
(i32.const 0)
(get_local $0)
)
)
(set_local $0
(i32.shr_s
(tee_local $5
(i32.shl
(tee_local $4
(i32.div_s
(i32.const 536870911)
(tee_local $3
(i32.shr_s
(tee_local $1
(i32.shl
(get_local $0)
(i32.add
(tee_local $2
(call $_silk_CLZ32
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const 0)
)
(get_local $0)
(get_local $1)
)
)
)
(i32.const -1)
)
)
)
(i32.const 16)
)
)
)
)
(i32.const 16)
)
)
(i32.const 16)
)
)
(set_local $0
(i32.add
(i32.add
(get_local $5)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $1
(i32.shl
(i32.sub
(i32.const 0)
(i32.add
(i32.mul
(get_local $3)
(get_local $0)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $1)
(i32.const 65535)
)
(get_local $0)
)
(i32.const 16)
)
)
)
(i32.const 3)
)
)
(i32.const 16)
)
(get_local $0)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $1)
(i32.const 65528)
)
(get_local $0)
)
(i32.const 16)
)
)
)
(i32.mul
(get_local $1)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $4)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(if
(i32.ge_s
(tee_local $1
(i32.sub
(i32.const 62)
(get_local $2)
)
)
(i32.const 48)
)
(block
(set_local $0
(i32.shr_s
(get_local $0)
(i32.add
(get_local $1)
(i32.const -47)
)
)
)
(return
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 79)
)
(get_local $0)
(i32.const 0)
)
)
)
)
(if (result i32)
(i32.gt_s
(tee_local $2
(i32.shr_s
(i32.const -2147483648)
(tee_local $1
(i32.sub
(i32.const 47)
(get_local $1)
)
)
)
)
(tee_local $3
(i32.shr_u
(i32.const 2147483647)
(get_local $1)
)
)
)
(block (result i32)
(if
(i32.gt_s
(get_local $0)
(get_local $2)
)
(return
(i32.shl
(get_local $2)
(get_local $1)
)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $3)
)
(get_local $3)
(get_local $0)
)
(get_local $1)
)
)
(block (result i32)
(if
(i32.gt_s
(get_local $0)
(get_local $3)
)
(return
(i32.shl
(get_local $3)
(get_local $1)
)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $2)
)
(get_local $2)
(get_local $0)
)
(get_local $1)
)
)
)
)
(func $_silk_DIV32_varQ (; 129 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(set_local $2
(i32.sub
(i32.const 0)
(get_local $0)
)
)
(set_local $3
(i32.sub
(i32.const 0)
(get_local $1)
)
)
(set_local $0
(i32.add
(tee_local $5
(i32.add
(i32.mul
(i32.shr_s
(tee_local $2
(i32.shl
(get_local $0)
(i32.add
(tee_local $4
(call $_silk_CLZ32
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const 0)
)
(get_local $0)
(get_local $2)
)
)
)
(i32.const -1)
)
)
)
(i32.const 16)
)
(tee_local $0
(i32.shr_s
(i32.shl
(i32.div_s
(i32.const 536870911)
(i32.shr_s
(tee_local $3
(i32.shl
(get_local $1)
(tee_local $1
(i32.add
(call $_silk_CLZ32
(if (result i32)
(i32.gt_s
(get_local $1)
(i32.const 0)
)
(get_local $1)
(get_local $3)
)
)
(i32.const -1)
)
)
)
)
(i32.const 16)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $2)
(i32.const 65535)
)
(get_local $0)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $2
(i32.sub
(get_local $2)
(i32.and
(i32.wrap/i64
(i64.shr_u
(i64.mul
(i64.extend_s/i32
(get_local $3)
)
(i64.extend_s/i32
(get_local $5)
)
)
(i64.const 29)
)
)
(i32.const -8)
)
)
)
(i32.const 16)
)
(get_local $0)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $2)
(i32.const 65535)
)
(get_local $0)
)
(i32.const 16)
)
)
)
)
(if
(i32.ge_s
(tee_local $1
(i32.sub
(i32.add
(get_local $4)
(i32.const 28)
)
(get_local $1)
)
)
(i32.const 16)
)
(block
(set_local $0
(i32.shr_s
(get_local $0)
(i32.add
(get_local $1)
(i32.const -16)
)
)
)
(return
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 48)
)
(get_local $0)
(i32.const 0)
)
)
)
)
(if (result i32)
(i32.gt_s
(tee_local $2
(i32.shr_s
(i32.const -2147483648)
(tee_local $1
(i32.sub
(i32.const 16)
(get_local $1)
)
)
)
)
(tee_local $3
(i32.shr_u
(i32.const 2147483647)
(get_local $1)
)
)
)
(block (result i32)
(if
(i32.gt_s
(get_local $0)
(get_local $2)
)
(return
(i32.shl
(get_local $2)
(get_local $1)
)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $3)
)
(get_local $3)
(get_local $0)
)
(get_local $1)
)
)
(block (result i32)
(if
(i32.gt_s
(get_local $0)
(get_local $3)
)
(return
(i32.shl
(get_local $3)
(get_local $1)
)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $2)
)
(get_local $2)
(get_local $0)
)
(get_local $1)
)
)
)
)
(func $_silk_decode_frame (; 130 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(set_local $9
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 144)
)
)
(set_local $7
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 2328)
)
)
)
)
(i32.store offset=136
(tee_local $6
(get_local $9)
)
(i32.const 0)
)
(set_local $1
(block $__rjto$1 (result i32)
(block $__rjti$1
(block $__rjti$0
(block $switch-default
(block $switch-case0
(block $switch-case
(br_table $switch-case $switch-default $switch-case0 $switch-default
(get_local $4)
)
)
(set_local $10
(i32.add
(get_local $0)
(i32.const 2388)
)
)
(br $__rjti$0)
)
(br_if $__rjti$1
(i32.ne
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 2420)
)
(i32.shl
(i32.load
(tee_local $10
(i32.add
(get_local $0)
(i32.const 2388)
)
)
)
(i32.const 2)
)
)
)
(i32.const 1)
)
)
(br $__rjti$0)
)
(br $__rjti$1)
)
(set_local $12
(i32.and
(i32.add
(get_local $7)
(i32.const 15)
)
(i32.const -16)
)
)
(set_local $13
(call $_llvm_stacksave)
)
(set_local $11
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $12)
(i32.const 1)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(call $_silk_decode_indices
(get_local $0)
(get_local $1)
(i32.load
(get_local $10)
)
(get_local $4)
(get_local $5)
)
(call $_silk_decode_pulses
(get_local $1)
(get_local $11)
(i32.load8_s
(tee_local $1
(i32.add
(get_local $0)
(i32.const 2765)
)
)
)
(i32.load8_s
(i32.add
(get_local $0)
(i32.const 2766)
)
)
(i32.load
(get_local $8)
)
)
(call $_silk_decode_parameters
(get_local $0)
(get_local $6)
(get_local $5)
)
(call $_silk_decode_core
(get_local $0)
(get_local $6)
(get_local $2)
(get_local $11)
)
(call $_silk_PLC
(get_local $0)
(get_local $6)
(get_local $2)
(i32.const 0)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4160)
)
(i32.const 0)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4164)
)
(i32.load8_s
(get_local $1)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2376)
)
(i32.const 0)
)
(call $_llvm_stackrestore
(get_local $13)
)
(br $__rjto$1
(get_local $6)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2765)
)
(i32.load
(i32.add
(get_local $0)
(i32.const 4164)
)
)
)
(call $_silk_PLC
(get_local $0)
(get_local $6)
(get_local $2)
(i32.const 1)
)
(get_local $6)
)
)
(set_local $4
(i32.sub
(i32.load
(i32.add
(get_local $0)
(i32.const 2336)
)
)
(tee_local $5
(i32.load
(get_local $8)
)
)
)
)
(drop
(call $_memmove
(i32.add
(get_local $0)
(i32.const 1348)
)
(i32.add
(i32.add
(get_local $0)
(i32.const 1348)
)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
(drop
(call $_memcpy
(i32.add
(i32.add
(get_local $0)
(i32.const 1348)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
(get_local $2)
(i32.shl
(i32.load
(get_local $8)
)
(i32.const 1)
)
)
)
(call $_silk_CNG
(get_local $0)
(get_local $1)
(get_local $2)
(get_local $7)
)
(call $_silk_PLC_glue_frames
(get_local $0)
(get_local $2)
(get_local $7)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2308)
)
(i32.load
(i32.add
(get_local $6)
(i32.shl
(i32.add
(i32.load
(i32.add
(get_local $0)
(i32.const 2324)
)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
(i32.store
(get_local $3)
(get_local $7)
)
(set_global $STACKTOP
(get_local $9)
)
(i32.const 0)
)
(func $_silk_decode_parameters (; 131 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 64)
)
)
(call $_silk_gains_dequant
(i32.add
(get_local $1)
(i32.const 16)
)
(i32.add
(get_local $0)
(i32.const 2736)
)
(i32.add
(get_local $0)
(i32.const 2312)
)
(i32.eq
(get_local $2)
(i32.const 2)
)
(i32.load
(tee_local $6
(i32.add
(get_local $0)
(i32.const 2324)
)
)
)
)
(call $_silk_NLSF_decode
(tee_local $5
(i32.add
(get_local $4)
(i32.const 32)
)
)
(i32.add
(get_local $0)
(i32.const 2744)
)
(i32.load
(i32.add
(get_local $0)
(i32.const 2732)
)
)
)
(call $_silk_NLSF2A
(tee_local $7
(i32.add
(get_local $1)
(i32.const 64)
)
)
(get_local $5)
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 2340)
)
)
)
)
(set_local $2
(i32.add
(get_local $0)
(i32.const 2767)
)
)
(block $__rjto$0
(block $__rjti$0
(if
(i32.eq
(i32.load
(i32.add
(get_local $0)
(i32.const 2376)
)
)
(i32.const 1)
)
(block
(i32.store8
(get_local $2)
(i32.const 4)
)
(br $__rjti$0)
)
(block
(br_if $__rjti$0
(i32.ge_s
(tee_local $9
(i32.load8_s
(get_local $2)
)
)
(i32.const 4)
)
)
(set_local $8
(i32.load
(get_local $3)
)
)
(set_local $2
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $2)
(get_local $8)
)
(block
(i32.store16
(i32.add
(get_local $4)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
(i32.add
(i32.shr_u
(i32.mul
(i32.sub
(i32.load16_s
(i32.add
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
(tee_local $10
(i32.load16_s
(i32.add
(i32.add
(get_local $0)
(i32.const 2344)
)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
)
)
(get_local $9)
)
(i32.const 2)
)
(i32.and
(get_local $10)
(i32.const 65535)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(call $_silk_NLSF2A
(i32.add
(get_local $1)
(i32.const 32)
)
(get_local $4)
(get_local $8)
)
)
)
(br $__rjto$0)
)
(drop
(call $_memcpy
(i32.add
(get_local $1)
(i32.const 32)
)
(get_local $7)
(i32.shl
(i32.load
(get_local $3)
)
(i32.const 1)
)
)
)
)
(drop
(call $_memcpy
(i32.add
(get_local $0)
(i32.const 2344)
)
(get_local $5)
(i32.shl
(tee_local $2
(i32.load
(get_local $3)
)
)
(i32.const 1)
)
)
)
(if
(i32.load
(i32.add
(get_local $0)
(i32.const 4160)
)
)
(block
(call $_silk_bwexpander
(i32.add
(get_local $1)
(i32.const 32)
)
(get_local $2)
(i32.const 63570)
)
(call $_silk_bwexpander
(get_local $7)
(i32.load
(get_local $3)
)
(i32.const 63570)
)
)
)
(if
(i32.ne
(i32.load8_s
(i32.add
(get_local $0)
(i32.const 2765)
)
)
(i32.const 2)
)
(block
(drop
(call $_memset
(get_local $1)
(i32.const 0)
(i32.shl
(i32.load
(get_local $6)
)
(i32.const 2)
)
)
)
(drop
(call $_memset
(i32.add
(get_local $1)
(i32.const 96)
)
(i32.const 0)
(i32.mul
(i32.load
(get_local $6)
)
(i32.const 10)
)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2768)
)
(i32.const 0)
)
(i32.store offset=136
(get_local $1)
(i32.const 0)
)
(set_global $STACKTOP
(get_local $4)
)
(return)
)
)
(call $_silk_decode_pitch
(i32.load16_s
(i32.add
(get_local $0)
(i32.const 2762)
)
)
(i32.load8_s
(i32.add
(get_local $0)
(i32.const 2764)
)
)
(get_local $1)
(i32.load
(i32.add
(get_local $0)
(i32.const 2316)
)
)
(i32.load
(get_local $6)
)
)
(set_local $5
(i32.load
(i32.add
(i32.shl
(i32.load8_s
(i32.add
(get_local $0)
(i32.const 2768)
)
)
(i32.const 2)
)
(i32.const 19868)
)
)
)
(set_local $2
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $2)
(i32.load
(get_local $6)
)
)
(block
(set_local $7
(i32.mul
(i32.load8_s
(i32.add
(i32.add
(get_local $0)
(i32.const 2740)
)
(get_local $2)
)
)
(i32.const 5)
)
)
(set_local $8
(i32.mul
(get_local $2)
(i32.const 5)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in3
(if
(i32.ne
(get_local $3)
(i32.const 5)
)
(block
(i32.store16
(i32.add
(i32.add
(get_local $1)
(i32.const 96)
)
(i32.shl
(i32.add
(get_local $8)
(get_local $3)
)
(i32.const 1)
)
)
(i32.shl
(i32.load8_s
(i32.add
(get_local $5)
(i32.add
(get_local $7)
(get_local $3)
)
)
)
(i32.const 7)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(i32.store offset=136
(get_local $1)
(i32.load16_s
(i32.add
(i32.shl
(i32.load8_s
(i32.add
(get_local $0)
(i32.const 2769)
)
)
(i32.const 1)
)
(i32.const 24368)
)
)
)
(set_global $STACKTOP
(get_local $4)
)
)
(func $_silk_decode_indices (; 132 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 48)
)
)
(i32.store8
(tee_local $6
(i32.add
(get_local $0)
(i32.const 2765)
)
)
(tee_local $2
(i32.shr_u
(tee_local $3
(block $__rjto$0 (result i32)
(block $__rjti$0
(br_if $__rjti$0
(get_local $3)
)
(br_if $__rjti$0
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 2404)
)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
(br $__rjto$0
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28372)
(i32.const 8)
)
)
)
(i32.add
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28368)
(i32.const 8)
)
(i32.const 2)
)
)
)
(i32.const 1)
)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2766)
)
(i32.and
(get_local $3)
(i32.const 1)
)
)
(if
(tee_local $9
(i32.eq
(get_local $4)
(i32.const 2)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2736)
)
(call $_ec_dec_icdf
(get_local $1)
(i32.const 26234)
(i32.const 8)
)
)
(block
(i32.store8
(tee_local $3
(i32.add
(get_local $0)
(i32.const 2736)
)
)
(i32.shl
(call $_ec_dec_icdf
(get_local $1)
(i32.add
(i32.shl
(i32.shr_s
(i32.shl
(get_local $2)
(i32.const 24)
)
(i32.const 24)
)
(i32.const 3)
)
(i32.const 26210)
)
(i32.const 8)
)
(i32.const 3)
)
)
(i32.store8
(get_local $3)
(i32.add
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28397)
(i32.const 8)
)
(i32.load8_u
(get_local $3)
)
)
)
)
)
(set_local $3
(i32.add
(get_local $5)
(i32.const 32)
)
)
(set_local $7
(i32.add
(get_local $0)
(i32.const 2324)
)
)
(set_local $2
(i32.const 1)
)
(loop $while-in
(if
(i32.lt_s
(get_local $2)
(i32.load
(get_local $7)
)
)
(block
(i32.store8
(i32.add
(i32.add
(get_local $0)
(i32.const 2736)
)
(get_local $2)
)
(call $_ec_dec_icdf
(get_local $1)
(i32.const 26234)
(i32.const 8)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2744)
)
(tee_local $2
(call $_ec_dec_icdf
(get_local $1)
(i32.add
(i32.load offset=16
(tee_local $2
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 2732)
)
)
)
)
)
(i32.mul
(i32.shr_s
(i32.load8_s
(get_local $6)
)
(i32.const 1)
)
(i32.load16_s
(get_local $2)
)
)
)
(i32.const 8)
)
)
)
(call $_silk_NLSF_unpack
(get_local $5)
(get_local $3)
(i32.load
(get_local $8)
)
(i32.shr_s
(i32.shl
(get_local $2)
(i32.const 24)
)
(i32.const 24)
)
)
(set_local $2
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $2)
(i32.load16_s offset=2
(tee_local $3
(i32.load
(get_local $8)
)
)
)
)
(block
(block $switch
(block $switch-default
(block $switch-case2
(block $switch-case
(br_table $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case2 $switch-default
(tee_local $3
(call $_ec_dec_icdf
(get_local $1)
(i32.add
(i32.load offset=28
(get_local $3)
)
(i32.load16_s
(i32.add
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
)
(i32.const 8)
)
)
)
)
(set_local $3
(i32.sub
(i32.const 0)
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28405)
(i32.const 8)
)
)
)
(br $switch)
)
(set_local $3
(i32.add
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28405)
(i32.const 8)
)
(i32.const 8)
)
)
)
)
(i32.store8
(i32.add
(i32.add
(get_local $0)
(i32.const 2744)
)
(tee_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
)
(i32.add
(get_local $3)
(i32.const 252)
)
)
(br $while-in1)
)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2767)
)
(tee_local $2
(if (result i32)
(i32.eq
(i32.load
(get_local $7)
)
(i32.const 4)
)
(i32.and
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28374)
(i32.const 8)
)
(i32.const 255)
)
(i32.const 4)
)
)
)
(if
(i32.ne
(i32.load8_s
(get_local $6)
)
(i32.const 2)
)
(block
(i32.store
(i32.add
(get_local $0)
(i32.const 2396)
)
(i32.load8_s
(get_local $6)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2770)
)
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28382)
(i32.const 8)
)
)
(set_global $STACKTOP
(get_local $5)
)
(return)
)
)
(block $__rjto$1
(block $__rjti$1
(br_if $__rjti$1
(i32.eqz
(get_local $9)
)
)
(br_if $__rjti$1
(i32.ne
(i32.load
(i32.add
(get_local $0)
(i32.const 2396)
)
)
(i32.const 2)
)
)
(br_if $__rjti$1
(i32.le_s
(i32.shl
(tee_local $2
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28444)
(i32.const 8)
)
)
(i32.const 16)
)
(i32.const 0)
)
)
(i32.store16
(i32.add
(get_local $0)
(i32.const 2762)
)
(tee_local $2
(i32.and
(i32.add
(i32.add
(get_local $2)
(i32.const 65527)
)
(i32.load16_u
(tee_local $3
(i32.add
(get_local $0)
(i32.const 2400)
)
)
)
)
(i32.const 65535)
)
)
)
(br $__rjto$1)
)
(i32.store16
(tee_local $2
(i32.add
(get_local $0)
(i32.const 2762)
)
)
(i32.mul
(i32.shr_s
(i32.shl
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28412)
(i32.const 8)
)
(i32.const 16)
)
(i32.const 16)
)
(i32.shr_s
(i32.load
(i32.add
(get_local $0)
(i32.const 2316)
)
)
(i32.const 1)
)
)
)
(i32.store16
(get_local $2)
(tee_local $2
(i32.and
(i32.add
(call $_ec_dec_icdf
(get_local $1)
(i32.load
(i32.add
(get_local $0)
(i32.const 2380)
)
)
(i32.const 8)
)
(i32.load16_u
(get_local $2)
)
)
(i32.const 65535)
)
)
)
(set_local $3
(i32.add
(get_local $0)
(i32.const 2400)
)
)
)
(i32.store16
(get_local $3)
(get_local $2)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2764)
)
(call $_ec_dec_icdf
(get_local $1)
(i32.load
(i32.add
(get_local $0)
(i32.const 2384)
)
)
(i32.const 8)
)
)
(i32.store8
(tee_local $2
(i32.add
(get_local $0)
(i32.const 2768)
)
)
(call $_ec_dec_icdf
(get_local $1)
(i32.const 26275)
(i32.const 8)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in4
(if
(i32.lt_s
(get_local $3)
(i32.load
(get_local $7)
)
)
(block
(i32.store8
(i32.add
(i32.add
(get_local $0)
(i32.const 2740)
)
(get_local $3)
)
(call $_ec_dec_icdf
(get_local $1)
(i32.load
(i32.add
(i32.shl
(i32.load8_s
(get_local $2)
)
(i32.const 2)
)
(i32.const 19856)
)
)
(i32.const 8)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in4)
)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2769)
)
(tee_local $2
(if (result i32)
(get_local $4)
(i32.const 0)
(i32.and
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28365)
(i32.const 8)
)
(i32.const 255)
)
)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2396)
)
(i32.load8_s
(get_local $6)
)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2770)
)
(call $_ec_dec_icdf
(get_local $1)
(i32.const 28382)
(i32.const 8)
)
)
(set_global $STACKTOP
(get_local $5)
)
)
(func $_silk_decode_pulses (; 133 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 160)
)
)
(set_local $9
(i32.add
(get_local $5)
(i32.const 80)
)
)
(set_local $11
(get_local $5)
)
(set_local $12
(i32.add
(tee_local $5
(i32.shr_s
(get_local $4)
(i32.const 4)
)
)
(i32.lt_s
(i32.shl
(get_local $5)
(i32.const 4)
)
(get_local $4)
)
)
)
(set_local $8
(i32.add
(i32.mul
(call $_ec_dec_icdf
(get_local $0)
(i32.add
(i32.mul
(i32.shr_s
(get_local $2)
(i32.const 1)
)
(i32.const 9)
)
(i32.const 28705)
)
(i32.const 8)
)
(i32.const 18)
)
(i32.const 28525)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(get_local $12)
)
(block
(i32.store
(tee_local $10
(i32.add
(get_local $11)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
(i32.const 0)
)
(i32.store
(tee_local $13
(i32.add
(get_local $9)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
(tee_local $6
(call $_ec_dec_icdf
(get_local $0)
(get_local $8)
(i32.const 8)
)
)
)
(set_local $5
(i32.const 0)
)
(loop $while-in1
(if
(i32.eq
(get_local $6)
(i32.const 17)
)
(block
(i32.store
(get_local $10)
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
)
(set_local $6
(call $_ec_dec_icdf
(get_local $0)
(i32.add
(i32.eq
(get_local $5)
(i32.const 10)
)
(i32.const 28687)
)
(i32.const 8)
)
)
(br $while-in1)
)
)
)
(i32.store
(get_local $13)
(get_local $6)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
(set_local $5
(i32.const 0)
)
)
)
(loop $while-in3
(block $while-out2
(if
(i32.ge_s
(get_local $5)
(get_local $12)
)
(block
(set_local $5
(i32.const 0)
)
(br $while-out2)
)
)
(set_local $6
(i32.add
(get_local $1)
(i32.shl
(i32.shr_s
(i32.shl
(get_local $5)
(i32.const 16)
)
(i32.const 12)
)
(i32.const 1)
)
)
)
(if
(i32.gt_s
(tee_local $7
(i32.load
(i32.add
(get_local $9)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
(i32.const 0)
)
(call $_silk_shell_decoder
(get_local $6)
(get_local $0)
(get_local $7)
)
(block
(i64.store align=2
(get_local $6)
(i64.const 0)
)
(i64.store offset=8 align=2
(get_local $6)
(i64.const 0)
)
(i64.store offset=16 align=2
(get_local $6)
(i64.const 0)
)
(i64.store offset=24 align=2
(get_local $6)
(i64.const 0)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in3)
)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $5)
(get_local $12)
)
(block
(if
(i32.gt_s
(tee_local $10
(i32.load
(i32.add
(get_local $11)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
)
(i32.const 0)
)
(block
(set_local $13
(i32.add
(get_local $1)
(i32.shl
(i32.shr_s
(i32.shl
(get_local $5)
(i32.const 16)
)
(i32.const 12)
)
(i32.const 1)
)
)
)
(set_local $6
(i32.const 0)
)
(loop $while-in7
(if
(i32.ne
(get_local $6)
(i32.const 16)
)
(block
(set_local $7
(i32.load16_s
(tee_local $14
(i32.add
(get_local $13)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
)
)
(set_local $8
(i32.const 0)
)
(loop $while-in9
(if
(i32.ne
(get_local $8)
(get_local $10)
)
(block
(set_local $7
(i32.add
(i32.shl
(get_local $7)
(i32.const 1)
)
(call $_ec_dec_icdf
(get_local $0)
(i32.const 28363)
(i32.const 8)
)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in9)
)
)
)
(i32.store16
(get_local $14)
(get_local $7)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in7)
)
)
)
(i32.store
(tee_local $6
(i32.add
(get_local $9)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
(i32.or
(i32.load
(get_local $6)
)
(i32.shl
(get_local $10)
(i32.const 5)
)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(call $_silk_decode_signs
(get_local $0)
(get_local $1)
(get_local $4)
(get_local $2)
(get_local $3)
(get_local $9)
)
(set_global $STACKTOP
(get_local $11)
)
)
(func $_silk_decoder_set_fs (; 134 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(i32.store
(i32.add
(get_local $0)
(i32.const 2332)
)
(i32.mul
(tee_local $5
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.const 5)
)
)
(set_local $7
(i32.mul
(i32.shr_s
(i32.shl
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 2324)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
(i32.shr_s
(i32.mul
(get_local $5)
(i32.const 327680)
)
(i32.const 16)
)
)
)
(set_local $4
(i32.add
(get_local $0)
(i32.const 2320)
)
)
(block $do-once
(block $__rjti$2
(block $__rjti$1
(br_if $__rjti$1
(i32.ne
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 2316)
)
)
)
(get_local $1)
)
)
(br_if $__rjti$1
(i32.ne
(i32.load
(get_local $4)
)
(get_local $2)
)
)
(set_local $2
(i32.const 0)
)
(br $__rjti$2)
)
(set_local $6
(call $_silk_resampler_init
(i32.add
(get_local $0)
(i32.const 2432)
)
(i32.mul
(get_local $5)
(i32.const 1000)
)
(get_local $2)
)
)
(i32.store
(get_local $4)
(get_local $2)
)
(if
(i32.eq
(i32.load
(get_local $8)
)
(get_local $1)
)
(block
(set_local $2
(get_local $6)
)
(br $__rjti$2)
)
(block
(set_local $2
(i32.eq
(get_local $1)
(i32.const 8)
)
)
(set_local $4
(i32.add
(get_local $0)
(i32.const 2384)
)
)
(set_local $9
(if (result i32)
(tee_local $3
(i32.eq
(i32.load
(get_local $3)
)
(i32.const 4)
)
)
(i32.const 28465)
(i32.const 28510)
)
)
(set_local $3
(if (result i32)
(get_local $3)
(i32.const 28499)
(i32.const 28522)
)
)
(i32.store
(get_local $4)
(if (result i32)
(get_local $2)
(get_local $3)
(get_local $9)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2336)
)
(i32.mul
(get_local $5)
(i32.const 20)
)
)
(block $__rjto$0
(block $__rjti$0
(block $switch-default4
(block $switch-case
(br_table $switch-case $switch-default4 $switch-default4 $switch-default4 $switch-case $switch-default4
(i32.sub
(get_local $1)
(i32.const 8)
)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2340)
)
(i32.const 10)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2732)
)
(i32.const 19880)
)
(set_local $2
(if (result i32)
(i32.eq
(get_local $1)
(i32.const 12)
)
(i32.const 28391)
(i32.const 28382)
)
)
(block $switch-default
(block $switch-case1
(br_table $switch-case1 $switch-default $switch-default $switch-default $switch-case1 $switch-default
(i32.sub
(get_local $1)
(i32.const 8)
)
)
)
(br $__rjti$0)
)
(br $__rjto$0)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2340)
)
(i32.const 16)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2732)
)
(i32.const 19920)
)
(set_local $2
(if (result i32)
(i32.eq
(get_local $1)
(i32.const 16)
)
(i32.const 28397)
(i32.const 28382)
)
)
(br_if $__rjti$0
(i32.eq
(get_local $1)
(i32.const 16)
)
)
(br $__rjto$0)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2380)
)
(get_local $2)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2376)
)
(i32.const 1)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2308)
)
(i32.const 100)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 2312)
)
(i32.const 10)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4164)
)
(i32.const 0)
)
(drop
(call $_memset
(i32.add
(get_local $0)
(i32.const 1284)
)
(i32.const 0)
(i32.const 1024)
)
)
(set_local $2
(get_local $6)
)
)
)
(br $do-once)
)
(if
(i32.eq
(get_local $7)
(i32.load
(i32.add
(get_local $0)
(i32.const 2328)
)
)
)
(return
(get_local $2)
)
(block
(set_local $6
(i32.eq
(get_local $1)
(i32.const 8)
)
)
(set_local $5
(i32.add
(get_local $0)
(i32.const 2384)
)
)
(set_local $4
(if (result i32)
(tee_local $3
(i32.eq
(i32.load
(get_local $3)
)
(i32.const 4)
)
)
(i32.const 28465)
(i32.const 28510)
)
)
(set_local $3
(if (result i32)
(get_local $3)
(i32.const 28499)
(i32.const 28522)
)
)
(i32.store
(get_local $5)
(if (result i32)
(get_local $6)
(get_local $3)
(get_local $4)
)
)
)
)
)
(i32.store
(get_local $8)
(get_local $1)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 2328)
)
(get_local $7)
)
(get_local $2)
)
(func $_silk_Get_Decoder_Size (; 135 ;) (param $0 i32) (result i32)
(i32.store
(get_local $0)
(i32.const 8552)
)
(i32.const 0)
)
(func $_silk_InitDecoder (; 136 ;) (param $0 i32) (result i32)
(local $1 i32)
(loop $while-in
(if
(i32.ne
(get_local $1)
(i32.const 2)
)
(block
(call $_silk_init_decoder
(i32.add
(get_local $0)
(i32.mul
(get_local $1)
(i32.const 4264)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(i64.store align=4
(tee_local $1
(i32.add
(get_local $0)
(i32.const 8528)
)
)
(i64.const 0)
)
(i32.store offset=8
(get_local $1)
(i32.const 0)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 8548)
)
(i32.const 0)
)
(i32.const 0)
)
(func $_silk_Decode (; 137 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(set_local $7
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 672)
)
)
(i32.store
(tee_local $16
(i32.add
(get_local $7)
(i32.const 20)
)
)
(i32.const 0)
)
(i64.store
(tee_local $14
(get_local $7)
)
(i64.const 0)
)
(set_local $11
(i32.add
(get_local $1)
(i32.const 4)
)
)
(if
(get_local $3)
(block
(set_local $7
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(tee_local $3
(i32.load
(get_local $11)
)
)
)
(block
(i32.store
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2388)
)
(i32.const 0)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(set_local $3
(i32.load
(get_local $11)
)
)
)
(if
(i32.gt_s
(get_local $3)
(i32.load
(tee_local $18
(i32.add
(get_local $0)
(i32.const 8544)
)
)
)
)
(block
(call $_silk_init_decoder
(i32.add
(get_local $0)
(i32.const 4264)
)
)
(set_local $3
(i32.load
(get_local $11)
)
)
)
)
(set_local $24
(if (result i32)
(i32.eq
(get_local $3)
(i32.const 1)
)
(if (result i32)
(i32.eq
(i32.load
(get_local $18)
)
(i32.const 2)
)
(i32.eq
(i32.load offset=12
(get_local $1)
)
(i32.mul
(i32.load
(i32.add
(get_local $0)
(i32.const 2316)
)
)
(i32.const 1000)
)
)
(i32.const 0)
)
(i32.const 0)
)
)
(set_local $12
(i32.add
(get_local $14)
(i32.const 16)
)
)
(set_local $17
(i32.add
(get_local $14)
(i32.const 8)
)
)
(set_local $19
(i32.add
(get_local $14)
(i32.const 24)
)
)
(block $label$break$L14
(if
(i32.eqz
(i32.load
(tee_local $15
(i32.add
(get_local $0)
(i32.const 2388)
)
)
)
)
(block
(set_local $10
(i32.add
(get_local $1)
(i32.const 16)
)
)
(set_local $13
(i32.add
(get_local $1)
(i32.const 12)
)
)
(set_local $20
(i32.add
(get_local $1)
(i32.const 8)
)
)
(set_local $7
(i32.const 0)
)
(block $__rjto$0
(block $__rjti$0
(loop $label$continue$L16
(block $label$break$L16
(br_if $label$break$L14
(i32.ge_s
(get_local $7)
(get_local $3)
)
)
(block $switch
(block $switch-default
(block $switch-case4
(block $switch-case3
(block $switch-case2
(block $switch-case
(br_table $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case2 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case3 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case4 $switch-default
(i32.load
(get_local $10)
)
)
)
(set_local $3
(i32.const 2)
)
(set_local $8
(i32.const 1)
)
(br $switch)
)
(set_local $3
(i32.const 4)
)
(set_local $8
(i32.const 1)
)
(br $switch)
)
(set_local $3
(i32.const 4)
)
(set_local $8
(i32.const 2)
)
(br $switch)
)
(set_local $3
(i32.const 4)
)
(set_local $8
(i32.const 3)
)
(br $switch)
)
(set_local $3
(i32.const -203)
)
(br $__rjti$0)
)
(i32.store
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2392)
)
(get_local $8)
)
(i32.store
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2324)
)
(get_local $3)
)
(block $switch5
(block $switch-default9
(block $switch-case6
(br_table $switch-case6 $switch-default9 $switch-default9 $switch-default9 $switch-case6 $switch-default9 $switch-default9 $switch-default9 $switch-case6 $switch-default9
(i32.sub
(tee_local $3
(i32.shr_s
(i32.load
(get_local $13)
)
(i32.const 10)
)
)
(i32.const 7)
)
)
)
(br $switch5)
)
(set_local $3
(i32.const -200)
)
(br $__rjti$0)
)
(set_local $9
(i32.add
(get_local $9)
(call $_silk_decoder_set_fs
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.add
(get_local $3)
(i32.const 1)
)
(i32.load
(get_local $20)
)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(set_local $3
(i32.load
(get_local $11)
)
)
(br $label$continue$L16)
)
)
)
(set_global $STACKTOP
(get_local $14)
)
(return
(get_local $3)
)
)
)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 8540)
)
(tee_local $3
(block $do-once (result i32)
(if (result i32)
(i32.eq
(tee_local $7
(i32.load
(get_local $1)
)
)
(i32.const 2)
)
(if (result i32)
(i32.eq
(get_local $3)
(i32.const 2)
)
(block (result i32)
(if
(i32.ne
(i32.load
(i32.add
(get_local $0)
(i32.const 8540)
)
)
(i32.const 1)
)
(drop
(br_if $do-once
(i32.const 2)
(i32.ne
(i32.load
(get_local $18)
)
(i32.const 1)
)
)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 8528)
)
(i32.const 0)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 8536)
)
(i32.const 0)
)
(drop
(call $_memcpy
(i32.add
(get_local $0)
(i32.const 6696)
)
(i32.add
(get_local $0)
(i32.const 2432)
)
(i32.const 300)
)
)
(i32.load
(get_local $1)
)
)
(i32.const 2)
)
(get_local $7)
)
)
)
)
(i32.store
(get_local $18)
(i32.load
(get_local $11)
)
)
(if
(i32.gt_u
(i32.add
(i32.load
(tee_local $20
(i32.add
(get_local $1)
(i32.const 8)
)
)
)
(i32.const -8000)
)
(i32.const 40000)
)
(block
(set_global $STACKTOP
(get_local $14)
)
(return
(i32.const -200)
)
)
)
(block $label$break$L39
(if
(i32.eqz
(tee_local $25
(i32.eq
(get_local $2)
(i32.const 1)
)
)
)
(if
(i32.eqz
(i32.load
(get_local $15)
)
)
(block
(set_local $7
(i32.const 0)
)
(loop $while-in13
(if
(i32.lt_s
(get_local $7)
(tee_local $3
(i32.load
(get_local $11)
)
)
)
(block
(set_local $10
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2392)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in15
(set_local $13
(i32.lt_s
(get_local $3)
(i32.load
(get_local $10)
)
)
)
(set_local $8
(call $_ec_dec_bit_logp
(get_local $4)
(i32.const 1)
)
)
(if
(get_local $13)
(block
(i32.store
(i32.add
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2404)
)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(get_local $8)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in15)
)
)
)
(i32.store
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2416)
)
(get_local $8)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in13)
)
(set_local $7
(i32.const 0)
)
)
)
(loop $while-in17
(if
(i32.lt_s
(get_local $7)
(get_local $3)
)
(block
(i64.store align=4
(tee_local $3
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2420)
)
)
(i64.const 0)
)
(i32.store offset=8
(get_local $3)
(i32.const 0)
)
(block $label$break$L51
(if
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2416)
)
)
(block
(if
(i32.eq
(tee_local $10
(i32.load
(tee_local $8
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2392)
)
)
)
)
(i32.const 1)
)
(block
(i32.store
(get_local $3)
(i32.const 1)
)
(br $label$break$L51)
)
)
(set_local $10
(i32.add
(call $_ec_dec_icdf
(get_local $4)
(i32.load
(i32.add
(i32.shl
(get_local $10)
(i32.const 2)
)
(i32.const 19952)
)
)
(i32.const 8)
)
(i32.const 1)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in20
(br_if $label$break$L51
(i32.ge_s
(get_local $3)
(i32.load
(get_local $8)
)
)
)
(i32.store
(i32.add
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2420)
)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(i32.and
(i32.shr_u
(get_local $10)
(get_local $3)
)
(i32.const 1)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in20)
)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(set_local $3
(i32.load
(get_local $11)
)
)
(br $while-in17)
)
)
)
(if
(i32.eqz
(get_local $2)
)
(block
(set_local $10
(i32.add
(get_local $0)
(i32.const 2392)
)
)
(set_local $13
(i32.add
(get_local $0)
(i32.const 6684)
)
)
(set_local $8
(i32.const 0)
)
(loop $while-in22
(br_if $label$break$L39
(i32.ge_s
(get_local $8)
(i32.load
(get_local $10)
)
)
)
(set_local $21
(i32.add
(get_local $13)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(set_local $22
(i32.gt_s
(get_local $8)
(i32.const 0)
)
)
(set_local $23
(i32.add
(get_local $8)
(i32.const -1)
)
)
(set_local $7
(i32.const 0)
)
(loop $while-in24
(if
(i32.lt_s
(get_local $7)
(get_local $3)
)
(block
(if
(i32.load
(i32.add
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2420)
)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(block
(if
(i32.and
(i32.eq
(get_local $3)
(i32.const 2)
)
(i32.eqz
(get_local $7)
)
)
(block
(call $_silk_stereo_decode_pred
(get_local $4)
(get_local $14)
)
(if
(i32.eqz
(i32.load
(get_local $21)
)
)
(call $_silk_stereo_decode_mid_only
(get_local $4)
(get_local $16)
)
)
)
)
(call $_silk_decode_indices
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(get_local $4)
(get_local $8)
(i32.const 1)
(tee_local $3
(block $__rjto$1 (result i32)
(block $__rjti$1
(br_if $__rjti$1
(i32.eqz
(get_local $22)
)
)
(br_if $__rjti$1
(i32.eqz
(i32.load
(i32.add
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2420)
)
(i32.shl
(get_local $23)
(i32.const 2)
)
)
)
)
)
(br $__rjto$1
(i32.const 2)
)
)
(i32.const 0)
)
)
)
(call $_silk_decode_pulses
(get_local $4)
(get_local $19)
(i32.load8_s
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2765)
)
)
(i32.load8_s
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2766)
)
)
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $7)
(i32.const 4264)
)
)
(i32.const 2328)
)
)
)
(set_local $3
(i32.load
(get_local $11)
)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in24)
)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in22)
)
)
)
)
)
)
)
(if
(i32.eq
(tee_local $3
(i32.load
(get_local $11)
)
)
(i32.const 2)
)
(block
(block $label$break$L88
(block $__rjti$4
(block $__rjti$3
(block $__rjti$2
(block $switch-default28
(block $switch-case27
(block $switch-case26
(br_table $switch-case26 $switch-default28 $switch-case27 $switch-default28
(get_local $2)
)
)
(call $_silk_stereo_decode_pred
(get_local $4)
(get_local $14)
)
(br_if $__rjti$3
(i32.eqz
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 6668)
)
(i32.shl
(i32.load
(get_local $15)
)
(i32.const 2)
)
)
)
)
)
(br $__rjti$4)
)
(br_if $__rjti$2
(i32.ne
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 2420)
)
(i32.shl
(i32.load
(get_local $15)
)
(i32.const 2)
)
)
)
(i32.const 1)
)
)
(call $_silk_stereo_decode_pred
(get_local $4)
(get_local $14)
)
(br_if $__rjti$3
(i32.eqz
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 6684)
)
(i32.shl
(i32.load
(get_local $15)
)
(i32.const 2)
)
)
)
)
)
(br $__rjti$4)
)
)
(set_local $7
(i32.add
(get_local $0)
(i32.const 8528)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in31
(br_if $label$break$L88
(i32.eq
(get_local $3)
(i32.const 2)
)
)
(i32.store
(i32.add
(get_local $14)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
(i32.load16_s
(i32.add
(get_local $7)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in31)
)
)
(call $_silk_stereo_decode_mid_only
(get_local $4)
(get_local $16)
)
(br $label$break$L88)
)
(i32.store
(get_local $16)
(i32.const 0)
)
)
(if
(i32.eq
(tee_local $3
(i32.load
(get_local $11)
)
)
(i32.const 2)
)
(set_local $3
(if (result i32)
(i32.load
(get_local $16)
)
(i32.const 2)
(if (result i32)
(i32.eq
(i32.load
(i32.add
(get_local $0)
(i32.const 8548)
)
)
(i32.const 1)
)
(block (result i32)
(drop
(call $_memset
(i32.add
(get_local $0)
(i32.const 5548)
)
(i32.const 0)
(i32.const 1024)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 6572)
)
(i32.const 100)
)
(i32.store8
(i32.add
(get_local $0)
(i32.const 6576)
)
(i32.const 10)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 8428)
)
(i32.const 0)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 6640)
)
(i32.const 1)
)
(i32.load
(get_local $11)
)
)
(i32.const 2)
)
)
)
)
)
)
(if
(tee_local $22
(i32.lt_s
(i32.mul
(i32.load offset=12
(get_local $1)
)
(get_local $3)
)
(i32.mul
(i32.load
(get_local $20)
)
(i32.load
(get_local $1)
)
)
)
)
(block
(set_local $19
(call $_llvm_stacksave)
)
(set_local $7
(get_local $5)
)
(set_local $3
(i32.add
(get_local $0)
(i32.const 2328)
)
)
)
(block
(set_local $8
(i32.mul
(get_local $3)
(i32.add
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 2328)
)
)
)
(i32.const 2)
)
)
)
(set_local $19
(call $_llvm_stacksave)
)
(set_local $7
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $8)
(i32.const 1)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
)
)
(set_local $21
(i32.add
(i32.add
(get_local $7)
(i32.shl
(i32.load
(get_local $3)
)
(i32.const 1)
)
)
(i32.const 4)
)
)
(i32.store
(get_local $17)
(get_local $7)
)
(i32.store
(tee_local $23
(i32.add
(get_local $17)
(i32.const 4)
)
)
(get_local $21)
)
(set_local $10
(if (result i32)
(get_local $2)
(if (result i32)
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 8548)
)
)
)
(if (result i32)
(i32.and
(i32.eq
(i32.load
(get_local $11)
)
(i32.const 2)
)
(i32.eq
(get_local $2)
(i32.const 2)
)
)
(i32.eq
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 6684)
)
(i32.shl
(i32.load
(i32.add
(get_local $0)
(i32.const 6652)
)
)
(i32.const 2)
)
)
)
(i32.const 1)
)
(i32.const 0)
)
(i32.const 1)
)
(block (result i32)
(set_local $8
(i32.add
(get_local $0)
(i32.const 8548)
)
)
(i32.eqz
(i32.load
(get_local $16)
)
)
)
)
)
(set_local $26
(i32.eq
(get_local $2)
(i32.const 2)
)
)
(set_local $3
(get_local $9)
)
(set_local $9
(i32.const 0)
)
(loop $while-in33
(if
(i32.lt_s
(get_local $9)
(tee_local $13
(i32.load
(get_local $11)
)
)
)
(block
(if
(i32.or
(i32.eqz
(get_local $9)
)
(get_local $10)
)
(set_local $3
(i32.add
(get_local $3)
(call $_silk_decode_frame
(i32.add
(get_local $0)
(i32.mul
(get_local $9)
(i32.const 4264)
)
)
(get_local $4)
(i32.add
(i32.load
(i32.add
(get_local $17)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
(i32.const 4)
)
(get_local $12)
(get_local $2)
(tee_local $13
(block $do-once34 (result i32)
(if (result i32)
(i32.lt_s
(tee_local $13
(i32.sub
(i32.load
(get_local $15)
)
(get_local $9)
)
)
(i32.const 1)
)
(i32.const 0)
(block (result i32)
(if
(get_local $26)
(br $do-once34
(if (result i32)
(i32.load
(i32.add
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $9)
(i32.const 4264)
)
)
(i32.shl
(get_local $13)
(i32.const 2)
)
)
(i32.const 2416)
)
)
(i32.const 2)
(i32.const 0)
)
)
)
(if
(i32.gt_s
(get_local $9)
(i32.const 0)
)
(drop
(br_if $do-once34
(i32.const 1)
(i32.load
(get_local $8)
)
)
)
)
(i32.const 2)
)
)
)
)
)
)
)
(drop
(call $_memset
(i32.add
(i32.load
(i32.add
(get_local $17)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
(i32.const 4)
)
(i32.const 0)
(i32.shl
(i32.load
(get_local $12)
)
(i32.const 1)
)
)
)
)
(i32.store
(tee_local $13
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $9)
(i32.const 4264)
)
)
(i32.const 2388)
)
)
(i32.add
(i32.load
(get_local $13)
)
(i32.const 1)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in33)
)
)
)
(if
(i32.and
(i32.eq
(i32.load
(get_local $1)
)
(i32.const 2)
)
(i32.eq
(get_local $13)
(i32.const 2)
)
)
(call $_silk_stereo_MS_to_LR
(i32.add
(get_local $0)
(i32.const 8528)
)
(get_local $7)
(get_local $21)
(get_local $14)
(i32.load
(tee_local $15
(i32.add
(get_local $0)
(i32.const 2316)
)
)
)
(tee_local $9
(i32.load
(get_local $12)
)
)
)
(block
(i32.store align=2
(get_local $7)
(i32.load align=2
(tee_local $2
(i32.add
(get_local $0)
(i32.const 8532)
)
)
)
)
(i32.store align=2
(get_local $2)
(i32.load align=2
(i32.add
(get_local $7)
(i32.shl
(tee_local $9
(i32.load
(get_local $12)
)
)
(i32.const 1)
)
)
)
)
(set_local $15
(i32.add
(get_local $0)
(i32.const 2316)
)
)
)
)
(i32.store
(get_local $6)
(tee_local $12
(i32.div_s
(i32.mul
(get_local $9)
(i32.load
(get_local $20)
)
)
(i32.mul
(i32.shr_s
(i32.shl
(i32.load
(get_local $15)
)
(i32.const 16)
)
(i32.const 16)
)
(i32.const 1000)
)
)
)
)
(if
(i32.eq
(tee_local $2
(i32.load
(get_local $1)
)
)
(i32.const 2)
)
(block
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $12)
(i32.const 1)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
)
(set_local $4
(get_local $5)
)
)
(if
(get_local $22)
(block
(set_local $7
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(tee_local $10
(i32.mul
(i32.load
(get_local $11)
)
(i32.add
(tee_local $12
(i32.load
(i32.add
(get_local $0)
(i32.const 2328)
)
)
)
(i32.const 2)
)
)
)
(i32.const 1)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(drop
(call $_memcpy
(get_local $7)
(get_local $5)
(i32.shl
(get_local $10)
(i32.const 1)
)
)
)
(i32.store
(get_local $17)
(get_local $7)
)
(i32.store
(get_local $23)
(i32.add
(i32.add
(get_local $7)
(i32.shl
(get_local $12)
(i32.const 1)
)
)
(i32.const 4)
)
)
)
)
(set_local $12
(i32.const 0)
)
(loop $while-in37
(if
(i32.lt_s
(get_local $12)
(if (result i32)
(i32.lt_s
(get_local $2)
(tee_local $10
(i32.load
(get_local $11)
)
)
)
(get_local $2)
(get_local $10)
)
)
(block
(call $_silk_resampler
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $12)
(i32.const 4264)
)
)
(i32.const 2432)
)
(get_local $4)
(i32.add
(i32.load
(i32.add
(get_local $17)
(i32.shl
(get_local $12)
(i32.const 2)
)
)
)
(i32.const 2)
)
(get_local $9)
)
(if
(i32.eq
(tee_local $2
(i32.load
(get_local $1)
)
)
(i32.const 2)
)
(block
(set_local $2
(i32.const 0)
)
(loop $while-in39
(if
(i32.lt_s
(get_local $2)
(i32.load
(get_local $6)
)
)
(block
(i32.store16
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $12)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
(i32.const 1)
)
)
(i32.load16_s
(i32.add
(get_local $4)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in39)
)
)
)
(set_local $2
(i32.load
(get_local $1)
)
)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.const 1)
)
)
(br $while-in37)
)
)
)
(block $label$break$L147
(if
(i32.and
(i32.eq
(get_local $2)
(i32.const 2)
)
(i32.eq
(get_local $10)
(i32.const 1)
)
)
(block
(if
(i32.eqz
(get_local $24)
)
(block
(set_local $2
(i32.const 0)
)
(loop $while-in42
(br_if $label$break$L147
(i32.ge_s
(get_local $2)
(i32.load
(get_local $6)
)
)
)
(i32.store16
(i32.add
(get_local $5)
(i32.shl
(i32.or
(tee_local $4
(i32.shl
(get_local $2)
(i32.const 1)
)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.load16_s
(i32.add
(get_local $5)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in42)
)
)
)
(call $_silk_resampler
(i32.add
(get_local $0)
(i32.const 6696)
)
(get_local $4)
(i32.add
(get_local $7)
(i32.const 2)
)
(get_local $9)
)
(set_local $2
(i32.const 0)
)
(loop $while-in44
(br_if $label$break$L147
(i32.ge_s
(get_local $2)
(i32.load
(get_local $6)
)
)
)
(i32.store16
(i32.add
(get_local $5)
(i32.shl
(i32.or
(i32.shl
(get_local $2)
(i32.const 1)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.load16_s
(i32.add
(get_local $4)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in44)
)
)
)
)
(i32.store offset=20
(get_local $1)
(tee_local $2
(if (result i32)
(i32.eq
(i32.load
(i32.add
(get_local $0)
(i32.const 4164)
)
)
(i32.const 2)
)
(i32.mul
(i32.load
(i32.add
(get_local $0)
(i32.const 2308)
)
)
(i32.load
(i32.add
(i32.shl
(i32.shr_s
(i32.add
(i32.load
(get_local $15)
)
(i32.const -8)
)
(i32.const 2)
)
(i32.const 2)
)
(i32.const 19844)
)
)
)
(i32.const 0)
)
)
)
(block $label$break$L161
(if
(get_local $25)
(block
(set_local $1
(i32.const 0)
)
(loop $while-in47
(br_if $label$break$L161
(i32.ge_s
(get_local $1)
(i32.load
(get_local $18)
)
)
)
(i32.store8
(i32.add
(i32.add
(get_local $0)
(i32.mul
(get_local $1)
(i32.const 4264)
)
)
(i32.const 2312)
)
(i32.const 10)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in47)
)
)
(i32.store
(get_local $8)
(i32.load
(get_local $16)
)
)
)
)
(call $_llvm_stackrestore
(get_local $19)
)
(set_global $STACKTOP
(get_local $14)
)
(get_local $3)
)
(func $_silk_min_32 (; 138 ;) (param $0 i32) (result i32)
(if (result i32)
(i32.lt_s
(get_local $0)
(i32.const 3967)
)
(get_local $0)
(i32.const 3967)
)
)
(func $_silk_gains_dequant (; 139 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(loop $while-in
(if
(i32.lt_s
(get_local $6)
(get_local $4)
)
(block
(i32.store8
(get_local $2)
(tee_local $7
(i32.and
(tee_local $5
(if (result i32)
(i32.or
(get_local $6)
(get_local $3)
)
(if (result i32)
(i32.gt_s
(tee_local $5
(i32.add
(i32.load8_s
(i32.add
(get_local $1)
(get_local $6)
)
)
(i32.const -4)
)
)
(tee_local $9
(i32.add
(tee_local $8
(tee_local $7
(i32.load8_s
(get_local $2)
)
)
)
(i32.const 8)
)
)
)
(i32.add
(i32.sub
(i32.shl
(get_local $5)
(i32.const 1)
)
(get_local $9)
)
(get_local $8)
)
(i32.add
(get_local $5)
(i32.and
(get_local $7)
(i32.const 255)
)
)
)
(call $_silk_max_int
(i32.load8_s
(get_local $1)
)
(i32.add
(i32.load8_s
(get_local $2)
)
(i32.const -16)
)
)
)
)
(i32.const 255)
)
)
)
(i32.store8
(get_local $2)
(tee_local $5
(if (result i32)
(i32.gt_s
(i32.shl
(get_local $5)
(i32.const 24)
)
(i32.const 1056964608)
)
(i32.const 63)
(if (result i32)
(i32.lt_s
(i32.shr_s
(i32.shl
(get_local $7)
(i32.const 24)
)
(i32.const 24)
)
(i32.const 0)
)
(i32.const 0)
(i32.shr_s
(i32.shl
(get_local $5)
(i32.const 24)
)
(i32.const 24)
)
)
)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
(call $_silk_log2lin
(call $_silk_min_32
(i32.add
(i32.add
(i32.mul
(get_local $5)
(i32.const 29)
)
(i32.shr_s
(i32.mul
(get_local $5)
(i32.const 7281)
)
(i32.const 16)
)
)
(i32.const 2090)
)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_silk_max_int (; 140 ;) (param $0 i32) (param $1 i32) (result i32)
(if (result i32)
(i32.gt_s
(get_local $0)
(get_local $1)
)
(get_local $0)
(get_local $1)
)
)
(func $_silk_NLSF_decode (; 141 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 80)
)
)
(call $_silk_NLSF_unpack
(i32.add
(get_local $4)
(i32.const 32)
)
(tee_local $3
(i32.add
(get_local $4)
(i32.const 64)
)
)
(get_local $2)
(i32.load8_s
(get_local $1)
)
)
(call $_silk_NLSF_residual_dequant
(get_local $4)
(i32.add
(get_local $1)
(i32.const 1)
)
(get_local $3)
(i32.load16_s offset=4
(get_local $2)
)
(i32.load16_s
(tee_local $5
(i32.add
(get_local $2)
(i32.const 2)
)
)
)
)
(set_local $6
(i32.add
(i32.load offset=8
(get_local $2)
)
(tee_local $3
(i32.mul
(i32.load8_s
(get_local $1)
)
(tee_local $1
(i32.load16_s
(get_local $5)
)
)
)
)
)
)
(set_local $7
(i32.add
(i32.load offset=12
(get_local $2)
)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $3)
(tee_local $1
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 16)
)
(i32.const 16)
)
)
)
(block
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $1
(i32.add
(i32.div_s
(i32.shl
(i32.load16_s
(i32.add
(get_local $4)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
(i32.const 14)
)
(i32.load16_s
(i32.add
(get_local $7)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
(i32.shl
(i32.load8_u
(i32.add
(get_local $6)
(get_local $3)
)
)
(i32.const 7)
)
)
)
(i32.const 0)
)
(get_local $1)
(tee_local $1
(i32.const 0)
)
)
(i32.const 32767)
)
(get_local $1)
(i32.const 32767)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(set_local $1
(i32.load16_s
(get_local $5)
)
)
(br $while-in)
)
)
)
(call $_silk_NLSF_stabilize
(get_local $0)
(i32.load offset=36
(get_local $2)
)
(get_local $1)
)
(set_global $STACKTOP
(get_local $4)
)
)
(func $_silk_NLSF_residual_dequant (; 142 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(set_local $6
(i32.shr_s
(i32.shl
(get_local $3)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $3
(i32.shr_s
(i32.shl
(get_local $4)
(i32.const 16)
)
(i32.const 16)
)
)
(loop $while-in
(if
(i32.gt_s
(get_local $3)
(i32.const 0)
)
(block
(set_local $9
(i32.load8_u
(i32.add
(get_local $2)
(tee_local $3
(i32.add
(get_local $3)
(i32.const -1)
)
)
)
)
)
(set_local $5
(i32.shl
(tee_local $8
(i32.load8_s
(i32.add
(get_local $1)
(get_local $3)
)
)
)
(i32.const 10)
)
)
(if
(i32.gt_s
(get_local $8)
(i32.const 0)
)
(set_local $4
(i32.add
(get_local $5)
(i32.const -102)
)
)
(block
(set_local $4
(i32.or
(get_local $5)
(i32.const 102)
)
)
(if
(i32.eqz
(get_local $8)
)
(set_local $4
(get_local $5)
)
)
)
)
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(tee_local $7
(i32.add
(i32.shr_s
(i32.mul
(i32.shr_s
(i32.shl
(get_local $7)
(i32.const 16)
)
(i32.const 16)
)
(get_local $9)
)
(i32.const 8)
)
(i32.add
(i32.mul
(i32.shr_s
(get_local $4)
(i32.const 16)
)
(get_local $6)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $6)
)
(i32.const 16)
)
)
)
)
)
(br $while-in)
)
)
)
)
(func $_silk_PLC_Reset (; 143 ;) (param $0 i32)
(i32.store
(i32.add
(get_local $0)
(i32.const 4172)
)
(i32.shl
(i32.load
(i32.add
(get_local $0)
(i32.const 2328)
)
)
(i32.const 7)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4244)
)
(i32.const 65536)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4248)
)
(i32.const 65536)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4260)
)
(i32.const 20)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4256)
)
(i32.const 2)
)
)
(func $_silk_PLC (; 144 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(if
(i32.ne
(i32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.const 2316)
)
)
)
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 4252)
)
)
)
)
(block
(call $_silk_PLC_Reset
(get_local $0)
)
(i32.store
(get_local $5)
(i32.load
(get_local $4)
)
)
)
)
(if
(get_local $3)
(block
(call $_silk_PLC_conceal
(get_local $0)
(get_local $1)
(get_local $2)
)
(i32.store
(tee_local $0
(i32.add
(get_local $0)
(i32.const 4160)
)
)
(i32.add
(i32.load
(get_local $0)
)
(i32.const 1)
)
)
)
(call $_silk_PLC_update
(get_local $0)
(get_local $1)
)
)
)
(func $_silk_PLC_conceal (; 145 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 i32)
(local $33 i32)
(local $34 i32)
(local $35 i32)
(set_local $16
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 64)
)
)
(set_local $24
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(i32.add
(tee_local $8
(i32.load
(tee_local $31
(i32.add
(get_local $0)
(i32.const 2336)
)
)
)
)
(i32.load
(tee_local $33
(i32.add
(get_local $0)
(i32.const 2328)
)
)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $18
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $8)
(i32.const 1)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(i32.store
(get_local $16)
(i32.shr_s
(i32.load
(i32.add
(get_local $0)
(i32.const 4244)
)
)
(i32.const 6)
)
)
(i32.store offset=4
(get_local $16)
(tee_local $13
(i32.shr_s
(tee_local $12
(i32.load
(tee_local $17
(i32.add
(get_local $0)
(i32.const 4248)
)
)
)
)
(i32.const 6)
)
)
)
(if
(i32.load
(i32.add
(get_local $0)
(i32.const 2376)
)
)
(block
(i64.store align=2
(tee_local $8
(i32.add
(get_local $0)
(i32.const 4186)
)
)
(i64.const 0)
)
(i64.store offset=8 align=2
(get_local $8)
(i64.const 0)
)
(i64.store offset=16 align=2
(get_local $8)
(i64.const 0)
)
(i64.store offset=24 align=2
(get_local $8)
(i64.const 0)
)
)
)
(set_local $14
(i32.add
(get_local $16)
(i32.const 24)
)
)
(call $_silk_PLC_energy
(tee_local $19
(i32.add
(get_local $16)
(i32.const 12)
)
)
(tee_local $15
(i32.add
(get_local $16)
(i32.const 20)
)
)
(tee_local $5
(i32.add
(get_local $16)
(i32.const 8)
)
)
(tee_local $8
(i32.add
(get_local $16)
(i32.const 16)
)
)
(i32.add
(get_local $0)
(i32.const 4)
)
(get_local $16)
(i32.load
(tee_local $25
(i32.add
(get_local $0)
(i32.const 2332)
)
)
)
(i32.load
(tee_local $26
(i32.add
(get_local $0)
(i32.const 2324)
)
)
)
)
(set_local $27
(i32.add
(i32.add
(get_local $0)
(i32.const 4)
)
(i32.shl
(call $_silk_max_int_126
(i32.add
(i32.mul
(i32.add
(i32.load
(i32.add
(get_local $0)
(i32.const 4256)
)
)
(i32.shr_s
(i32.shl
(i32.lt_s
(i32.shr_s
(i32.load
(get_local $19)
)
(i32.load
(get_local $8)
)
)
(i32.shr_s
(i32.load
(get_local $5)
)
(i32.load
(get_local $15)
)
)
)
(i32.const 31)
)
(i32.const 31)
)
)
(i32.load
(i32.add
(get_local $0)
(i32.const 4260)
)
)
)
(i32.const -128)
)
)
(i32.const 2)
)
)
)
(set_local $28
(i32.add
(get_local $0)
(i32.const 4176)
)
)
(set_local $15
(i32.load16_s
(tee_local $34
(i32.add
(get_local $0)
(i32.const 4228)
)
)
)
)
(set_local $19
(i32.load16_s
(i32.add
(i32.shl
(tee_local $8
(call $_silk_min_int_127
(i32.load
(tee_local $6
(i32.add
(get_local $0)
(i32.const 4160)
)
)
)
)
)
(i32.const 1)
)
(i32.const 22596)
)
)
)
(set_local $8
(i32.load16_s
(i32.add
(if (result i32)
(i32.eq
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 4164)
)
)
)
(i32.const 2)
)
(i32.const 22600)
(i32.const 22604)
)
(i32.shl
(get_local $8)
(i32.const 1)
)
)
)
)
(call $_silk_bwexpander
(tee_local $10
(i32.add
(get_local $0)
(i32.const 4186)
)
)
(i32.load
(tee_local $23
(i32.add
(get_local $0)
(i32.const 2340)
)
)
)
(i32.const 64881)
)
(drop
(call $_memcpy
(get_local $14)
(get_local $10)
(i32.shl
(tee_local $5
(i32.load
(get_local $23)
)
)
(i32.const 1)
)
)
)
(block $do-once
(if
(i32.eqz
(i32.load
(get_local $6)
)
)
(block
(if
(i32.eq
(i32.load
(get_local $3)
)
(i32.const 2)
)
(block
(set_local $15
(i32.const 16384)
)
(set_local $3
(i32.const 0)
)
)
(block
(set_local $15
(i32.const 16384)
)
(set_local $8
(i32.shr_s
(i32.add
(i32.mul
(i32.shr_s
(tee_local $5
(i32.shl
(call $_silk_max_int
(i32.const 4194304)
(call $_silk_min_32_128
(i32.const 134217728)
(call $_silk_LPC_inverse_pred_gain_c
(get_local $10)
(get_local $5)
)
)
)
(i32.const 3)
)
)
(i32.const 16)
)
(get_local $8)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $5)
(i32.const 65528)
)
(get_local $8)
)
(i32.const 16)
)
)
(i32.const 14)
)
)
(set_local $5
(i32.load
(get_local $23)
)
)
(br $do-once)
)
)
(loop $while-in
(if
(i32.ne
(get_local $3)
(i32.const 5)
)
(block
(set_local $15
(i32.and
(i32.sub
(i32.and
(get_local $15)
(i32.const 65535)
)
(i32.load16_u
(i32.add
(i32.add
(get_local $0)
(i32.const 4176)
)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
(i32.const 65535)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $15
(i32.and
(i32.shr_u
(i32.mul
(i32.shr_s
(i32.shl
(call $_silk_max_16
(get_local $15)
)
(i32.const 16)
)
(i32.const 16)
)
(i32.load16_s
(i32.add
(get_local $0)
(i32.const 4240)
)
)
)
(i32.const 14)
)
(i32.const 65535)
)
)
)
)
)
(set_local $6
(i32.load
(tee_local $35
(i32.add
(get_local $0)
(i32.const 4224)
)
)
)
)
(call $_silk_LPC_analysis_filter
(i32.add
(get_local $18)
(i32.shl
(tee_local $11
(i32.add
(i32.sub
(i32.sub
(tee_local $10
(i32.load
(get_local $31)
)
)
(tee_local $3
(i32.shr_s
(i32.add
(i32.shr_s
(i32.load
(tee_local $9
(i32.add
(get_local $0)
(i32.const 4172)
)
)
)
(i32.const 7)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
(get_local $5)
)
(i32.const -2)
)
)
(i32.const 1)
)
)
(i32.add
(i32.add
(get_local $0)
(i32.const 1348)
)
(i32.shl
(get_local $11)
(i32.const 1)
)
)
(get_local $14)
(i32.sub
(get_local $10)
(get_local $11)
)
(get_local $5)
)
(if
(i32.ge_s
(tee_local $5
(call $_silk_INVERSE32_varQ_129
(i32.load
(get_local $17)
)
)
)
(i32.const 1073741823)
)
(set_local $5
(i32.const 1073741823)
)
)
(set_local $21
(i32.load
(get_local $31)
)
)
(set_local $22
(i32.shr_s
(get_local $5)
(i32.const 16)
)
)
(set_local $17
(i32.and
(get_local $5)
(i32.const 65535)
)
)
(set_local $11
(i32.add
(get_local $11)
(i32.load
(get_local $23)
)
)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $11)
(get_local $21)
)
(block
(i32.store
(i32.add
(get_local $24)
(i32.shl
(get_local $11)
(i32.const 2)
)
)
(i32.add
(i32.mul
(get_local $22)
(tee_local $5
(i32.load16_s
(i32.add
(get_local $18)
(i32.shl
(get_local $11)
(i32.const 1)
)
)
)
)
)
(i32.shr_s
(i32.mul
(get_local $17)
(get_local $5)
)
(i32.const 16)
)
)
)
(set_local $11
(i32.add
(get_local $11)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_local $29
(i32.add
(get_local $0)
(i32.const 4178)
)
)
(set_local $30
(i32.add
(get_local $0)
(i32.const 4180)
)
)
(set_local $11
(i32.add
(get_local $0)
(i32.const 4182)
)
)
(set_local $18
(i32.add
(get_local $0)
(i32.const 4184)
)
)
(set_local $21
(i32.add
(get_local $0)
(i32.const 2765)
)
)
(set_local $22
(i32.add
(get_local $0)
(i32.const 2316)
)
)
(set_local $17
(i32.shr_s
(i32.shl
(get_local $8)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $5
(get_local $10)
)
(set_local $8
(get_local $6)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $32)
(i32.load
(get_local $26)
)
)
(block
(set_local $4
(i32.shr_s
(i32.shl
(get_local $15)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $10
(i32.load
(get_local $25)
)
)
(set_local $20
(i32.add
(get_local $24)
(i32.shl
(i32.add
(i32.sub
(get_local $5)
(get_local $3)
)
(i32.const 2)
)
(i32.const 2)
)
)
)
(set_local $7
(i32.const 0)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $7)
(get_local $10)
)
(block
(i32.store
(i32.add
(get_local $24)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(i32.shl
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(tee_local $6
(i32.load
(get_local $20)
)
)
(i32.const 16)
)
(tee_local $3
(i32.load16_s
(get_local $28)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $6)
(i32.const 65535)
)
(get_local $3)
)
(i32.const 16)
)
)
(i32.const 2)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $6
(i32.load
(i32.add
(get_local $20)
(i32.const -4)
)
)
)
(i32.const 16)
)
(tee_local $3
(i32.load16_s
(get_local $29)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $6)
(i32.const 65535)
)
(get_local $3)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $6
(i32.load
(i32.add
(get_local $20)
(i32.const -8)
)
)
)
(i32.const 16)
)
(tee_local $3
(i32.load16_s
(get_local $30)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $6)
(i32.const 65535)
)
(get_local $3)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $6
(i32.load
(i32.add
(get_local $20)
(i32.const -12)
)
)
)
(i32.const 16)
)
(tee_local $3
(i32.load16_s
(get_local $11)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $6)
(i32.const 65535)
)
(get_local $3)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $6
(i32.load
(i32.add
(get_local $20)
(i32.const -16)
)
)
)
(i32.const 16)
)
(tee_local $3
(i32.load16_s
(get_local $18)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $6)
(i32.const 65535)
)
(get_local $3)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $3
(i32.load
(i32.add
(get_local $27)
(i32.shl
(i32.shr_u
(tee_local $8
(i32.add
(i32.mul
(get_local $8)
(i32.const 196314165)
)
(i32.const 907633515)
)
)
(i32.const 25)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $4)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $3)
(i32.const 65535)
)
(get_local $4)
)
(i32.const 16)
)
)
)
(i32.const 2)
)
)
(set_local $20
(i32.add
(get_local $20)
(i32.const 4)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in5)
)
(set_local $6
(i32.const 0)
)
)
)
(loop $while-in7
(if
(i32.ne
(get_local $6)
(i32.const 5)
)
(block
(i32.store16
(tee_local $3
(i32.add
(i32.add
(get_local $0)
(i32.const 4176)
)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
(i32.shr_u
(i32.mul
(get_local $19)
(i32.load16_s
(get_local $3)
)
)
(i32.const 15)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in7)
)
)
)
(if
(i32.load8_s
(get_local $21)
)
(set_local $15
(i32.and
(i32.shr_u
(i32.mul
(get_local $17)
(get_local $4)
)
(i32.const 15)
)
(i32.const 65535)
)
)
)
(i32.store
(get_local $9)
(tee_local $3
(call $_silk_min_32_128
(i32.add
(tee_local $3
(i32.load
(get_local $9)
)
)
(i32.add
(i32.mul
(i32.shr_s
(get_local $3)
(i32.const 16)
)
(i32.const 655)
)
(i32.shr_u
(i32.mul
(i32.and
(get_local $3)
(i32.const 65535)
)
(i32.const 655)
)
(i32.const 16)
)
)
)
(i32.mul
(i32.shr_s
(i32.shl
(i32.load
(get_local $22)
)
(i32.const 16)
)
(i32.const 16)
)
(i32.const 4608)
)
)
)
)
(set_local $32
(i32.add
(get_local $32)
(i32.const 1)
)
)
(set_local $3
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $3)
(i32.const 7)
)
(i32.const 1)
)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(i64.store align=4
(tee_local $4
(i32.add
(get_local $24)
(i32.shl
(i32.add
(i32.load
(get_local $31)
)
(i32.const -16)
)
(i32.const 2)
)
)
)
(i64.load align=4
(tee_local $7
(i32.add
(get_local $0)
(i32.const 1284)
)
)
)
)
(i64.store offset=8 align=4
(get_local $4)
(i64.load offset=8 align=4
(get_local $7)
)
)
(i64.store offset=16 align=4
(get_local $4)
(i64.load offset=16 align=4
(get_local $7)
)
)
(i64.store offset=24 align=4
(get_local $4)
(i64.load offset=24 align=4
(get_local $7)
)
)
(i64.store offset=32 align=4
(get_local $4)
(i64.load offset=32 align=4
(get_local $7)
)
)
(i64.store offset=40 align=4
(get_local $4)
(i64.load offset=40 align=4
(get_local $7)
)
)
(i64.store offset=48 align=4
(get_local $4)
(i64.load offset=48 align=4
(get_local $7)
)
)
(i64.store offset=56 align=4
(get_local $4)
(i64.load offset=56 align=4
(get_local $7)
)
)
(set_local $25
(i32.load16_s
(get_local $14)
)
)
(set_local $26
(i32.load16_s offset=2
(get_local $14)
)
)
(set_local $27
(i32.load16_s offset=4
(get_local $14)
)
)
(set_local $28
(i32.load16_s offset=6
(get_local $14)
)
)
(set_local $29
(i32.load16_s offset=8
(get_local $14)
)
)
(set_local $30
(i32.load16_s offset=10
(get_local $14)
)
)
(set_local $11
(i32.load16_s offset=12
(get_local $14)
)
)
(set_local $18
(i32.load16_s offset=14
(get_local $14)
)
)
(set_local $21
(i32.load16_s offset=16
(get_local $14)
)
)
(set_local $22
(i32.load16_s offset=18
(get_local $14)
)
)
(set_local $17
(i32.shr_s
(i32.shl
(get_local $13)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $6
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $12)
(i32.const 21)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $9
(i32.const 0)
)
(loop $while-in9
(if
(i32.lt_s
(get_local $9)
(tee_local $0
(i32.load
(get_local $33)
)
)
)
(block
(set_local $19
(i32.load
(get_local $23)
)
)
(set_local $10
(i32.add
(get_local $9)
(i32.const 16)
)
)
(set_local $12
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.shr_s
(i32.load
(get_local $23)
)
(i32.const 1)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 15)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $25)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $25)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 14)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $26)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $26)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 13)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $27)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $27)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 12)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $28)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $28)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 11)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $29)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $29)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 10)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $30)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $30)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 9)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $11)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 8)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $18)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $18)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 7)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $21)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $21)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $0
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const 6)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(get_local $22)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $22)
)
(i32.const 16)
)
)
)
)
(set_local $13
(i32.const 10)
)
(loop $while-in11
(if
(i32.lt_s
(get_local $13)
(get_local $19)
)
(block
(set_local $12
(i32.add
(get_local $12)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $5
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(i32.sub
(get_local $10)
(get_local $13)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $0
(i32.load16_s
(i32.add
(get_local $14)
(i32.shl
(get_local $13)
(i32.const 1)
)
)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $5)
(i32.const 65535)
)
(get_local $0)
)
(i32.const 16)
)
)
)
)
(set_local $13
(i32.add
(get_local $13)
(i32.const 1)
)
)
(br $while-in11)
)
)
)
(set_local $13
(i32.load
(tee_local $19
(i32.add
(get_local $4)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
)
)
)
(set_local $10
(i32.gt_s
(get_local $12)
(i32.const 134217727)
)
)
(set_local $0
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $12)
(i32.const -134217728)
)
(get_local $12)
(i32.const -134217728)
)
(i32.const 4)
)
)
(set_local $5
(i32.gt_s
(i32.add
(get_local $13)
(if (result i32)
(get_local $10)
(i32.const 2147483632)
(get_local $0)
)
)
(i32.const -1)
)
)
(set_local $0
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $12)
(i32.const -134217728)
)
(get_local $12)
(i32.const -134217728)
)
(i32.const 4)
)
)
(if
(get_local $10)
(set_local $0
(i32.const 2147483632)
)
)
(i32.store
(get_local $19)
(tee_local $0
(if (result i32)
(get_local $5)
(if (result i32)
(i32.lt_s
(i32.and
(get_local $13)
(get_local $0)
)
(i32.const 0)
)
(i32.const -2147483648)
(block (result i32)
(set_local $0
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $12)
(i32.const -134217728)
)
(get_local $12)
(i32.const -134217728)
)
(i32.const 4)
)
)
(i32.add
(get_local $13)
(if (result i32)
(get_local $10)
(i32.const 2147483632)
(get_local $0)
)
)
)
)
(if (result i32)
(i32.gt_s
(i32.or
(get_local $13)
(get_local $0)
)
(i32.const -1)
)
(i32.const 2147483647)
(block (result i32)
(set_local $0
(i32.shl
(if (result i32)
(i32.gt_s
(get_local $12)
(i32.const -134217728)
)
(get_local $12)
(i32.const -134217728)
)
(i32.const 4)
)
)
(i32.add
(get_local $13)
(if (result i32)
(get_local $10)
(i32.const 2147483632)
(get_local $0)
)
)
)
)
)
)
)
(i32.store16
(i32.add
(get_local $2)
(i32.shl
(get_local $9)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $0
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(get_local $0)
(i32.const 16)
)
(get_local $17)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $17)
)
(i32.const 16)
)
)
(i32.mul
(get_local $0)
(get_local $6)
)
)
(i32.const 7)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $0)
(tee_local $0
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $0)
(i32.const 32767)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in9)
)
)
)
(i64.store align=4
(get_local $7)
(i64.load align=4
(tee_local $0
(i32.add
(get_local $4)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
)
(i64.store offset=8 align=4
(get_local $7)
(i64.load offset=8 align=4
(get_local $0)
)
)
(i64.store offset=16 align=4
(get_local $7)
(i64.load offset=16 align=4
(get_local $0)
)
)
(i64.store offset=24 align=4
(get_local $7)
(i64.load offset=24 align=4
(get_local $0)
)
)
(i64.store offset=32 align=4
(get_local $7)
(i64.load offset=32 align=4
(get_local $0)
)
)
(i64.store offset=40 align=4
(get_local $7)
(i64.load offset=40 align=4
(get_local $0)
)
)
(i64.store offset=48 align=4
(get_local $7)
(i64.load offset=48 align=4
(get_local $0)
)
)
(i64.store offset=56 align=4
(get_local $7)
(i64.load offset=56 align=4
(get_local $0)
)
)
(i32.store
(get_local $35)
(get_local $8)
)
(i32.store16
(get_local $34)
(get_local $15)
)
(set_local $0
(i32.const 0)
)
(loop $while-in13
(if
(i32.ne
(get_local $0)
(i32.const 4)
)
(block
(i32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(get_local $3)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in13)
)
)
)
(set_global $STACKTOP
(get_local $16)
)
)
(func $_silk_PLC_update (; 146 ;) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(set_local $9
(i32.add
(get_local $0)
(i32.const 4172)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4164)
)
(tee_local $3
(i32.load8_s
(i32.add
(get_local $0)
(i32.const 2765)
)
)
)
)
(block $label$break$L1
(if
(i32.eq
(get_local $3)
(i32.const 2)
)
(block
(set_local $6
(i32.add
(get_local $0)
(i32.const 4176)
)
)
(set_local $4
(i32.load
(tee_local $10
(i32.add
(get_local $0)
(i32.const 2332)
)
)
)
)
(set_local $8
(i32.load
(tee_local $11
(i32.add
(get_local $0)
(i32.const 2324)
)
)
)
)
(loop $while-in
(if
(i32.eqz
(i32.or
(i32.ge_s
(i32.mul
(get_local $5)
(get_local $4)
)
(i32.load
(i32.add
(get_local $1)
(i32.shl
(tee_local $12
(i32.add
(get_local $8)
(i32.const -1)
)
)
(i32.const 2)
)
)
)
)
(i32.eq
(get_local $5)
(get_local $8)
)
)
)
(block
(set_local $7
(i32.const 0)
)
(set_local $3
(i32.const 0)
)
(loop $while-in1
(if
(i32.ne
(get_local $7)
(i32.const 5)
)
(block
(set_local $3
(i32.add
(get_local $3)
(i32.load16_s
(i32.add
(i32.add
(get_local $1)
(i32.const 96)
)
(i32.shl
(i32.add
(i32.mul
(i32.sub
(get_local $12)
(get_local $5)
)
(i32.const 5)
)
(get_local $7)
)
(i32.const 1)
)
)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(if
(i32.gt_s
(get_local $3)
(get_local $2)
)
(block
(i64.store align=2
(get_local $6)
(i64.load align=2
(tee_local $2
(i32.add
(i32.add
(get_local $1)
(i32.const 96)
)
(i32.shl
(i32.mul
(i32.shr_s
(i32.shl
(i32.sub
(i32.add
(get_local $8)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
(i32.const 16)
)
(i32.const 5)
)
(i32.const 1)
)
)
)
)
)
(i32.store16 offset=8
(get_local $6)
(i32.load16_s offset=8
(get_local $2)
)
)
(i32.store
(get_local $9)
(i32.shl
(i32.load
(i32.add
(get_local $1)
(i32.shl
(i32.sub
(get_local $12)
(get_local $5)
)
(i32.const 2)
)
)
)
(i32.const 8)
)
)
)
(set_local $3
(get_local $2)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(set_local $2
(get_local $3)
)
(br $while-in)
)
)
)
(i64.store align=4
(get_local $6)
(i64.const 0)
)
(i32.store16 offset=8
(get_local $6)
(i32.const 0)
)
(i32.store16
(i32.add
(get_local $0)
(i32.const 4180)
)
(get_local $2)
)
(if
(i32.lt_s
(get_local $2)
(i32.const 11469)
)
(block
(set_local $2
(i32.shr_s
(i32.shl
(i32.div_u
(i32.const 11744256)
(if (result i32)
(i32.gt_s
(get_local $2)
(i32.const 1)
)
(get_local $2)
(i32.const 1)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in3
(if
(i32.eq
(get_local $4)
(i32.const 5)
)
(br $label$break$L1)
(block
(i32.store16
(tee_local $3
(i32.add
(i32.add
(get_local $0)
(i32.const 4176)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
(i32.shr_u
(i32.mul
(get_local $2)
(i32.load16_s
(get_local $3)
)
)
(i32.const 10)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
)
)
(if
(i32.gt_s
(get_local $2)
(i32.const 15565)
)
(block
(set_local $2
(i32.shr_s
(i32.shl
(i32.div_s
(i32.const 255016960)
(get_local $2)
)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in5
(if
(i32.ne
(get_local $4)
(i32.const 5)
)
(block
(i32.store16
(tee_local $3
(i32.add
(i32.add
(get_local $0)
(i32.const 4176)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
(i32.shr_u
(i32.mul
(get_local $2)
(i32.load16_s
(get_local $3)
)
)
(i32.const 14)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
)
)
)
(block
(i32.store
(get_local $9)
(i32.mul
(i32.shr_s
(i32.shl
(i32.load
(i32.add
(get_local $0)
(i32.const 2316)
)
)
(i32.const 16)
)
(i32.const 16)
)
(i32.const 4608)
)
)
(i64.store align=4
(tee_local $3
(i32.add
(get_local $0)
(i32.const 4176)
)
)
(i64.const 0)
)
(i32.store16 offset=8
(get_local $3)
(i32.const 0)
)
(set_local $10
(i32.add
(get_local $0)
(i32.const 2332)
)
)
(set_local $11
(i32.add
(get_local $0)
(i32.const 2324)
)
)
)
)
)
(drop
(call $_memcpy
(i32.add
(get_local $0)
(i32.const 4186)
)
(i32.add
(get_local $1)
(i32.const 64)
)
(i32.shl
(i32.load
(i32.add
(get_local $0)
(i32.const 2340)
)
)
(i32.const 1)
)
)
)
(i32.store16
(i32.add
(get_local $0)
(i32.const 4240)
)
(i32.load offset=136
(get_local $1)
)
)
(i64.store align=4
(i32.add
(get_local $0)
(i32.const 4244)
)
(i64.load offset=8 align=4
(i32.add
(get_local $1)
(i32.shl
(tee_local $1
(i32.load
(get_local $11)
)
)
(i32.const 2)
)
)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4260)
)
(i32.load
(get_local $10)
)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4256)
)
(get_local $1)
)
)
(func $_silk_PLC_energy (; 147 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(set_local $13
(get_global $STACKTOP)
)
(set_local $11
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $6)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $12
(get_local $11)
)
(loop $while-in
(if
(i32.ne
(get_local $9)
(i32.const 2)
)
(block
(set_local $14
(i32.mul
(i32.add
(i32.add
(get_local $9)
(get_local $7)
)
(i32.const -2)
)
(get_local $6)
)
)
(set_local $15
(i32.add
(get_local $5)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
(set_local $10
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $10)
(get_local $6)
)
(block
(i32.store16
(i32.add
(get_local $12)
(i32.shl
(get_local $10)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $8
(i32.shr_s
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $10)
(get_local $14)
)
(i32.const 2)
)
)
)
)
(i32.const 16)
)
(tee_local $17
(i32.shr_s
(i32.shl
(tee_local $16
(i32.load
(get_local $15)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $17)
)
(i32.const 16)
)
)
(i32.mul
(get_local $8)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $16)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
(i32.const 8)
)
)
(i32.const -32768)
)
(get_local $8)
(tee_local $8
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $8)
(i32.const 32767)
)
)
(set_local $10
(i32.add
(get_local $10)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(call $_silk_sum_sqr_shift
(get_local $0)
(get_local $1)
(get_local $11)
(get_local $6)
)
(call $_silk_sum_sqr_shift
(get_local $2)
(get_local $3)
(i32.add
(get_local $11)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
(get_local $6)
)
(set_global $STACKTOP
(get_local $13)
)
)
(func $_silk_max_int_126 (; 148 ;) (param $0 i32) (result i32)
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const 0)
)
(get_local $0)
(i32.const 0)
)
)
(func $_silk_min_int_127 (; 149 ;) (param $0 i32) (result i32)
(if (result i32)
(i32.lt_s
(get_local $0)
(i32.const 1)
)
(get_local $0)
(i32.const 1)
)
)
(func $_silk_max_16 (; 150 ;) (param $0 i32) (result i32)
(if (result i32)
(i32.gt_s
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 16)
)
(i32.const 16)
)
(i32.const 3277)
)
(get_local $0)
(i32.const 3277)
)
)
(func $_silk_min_32_128 (; 151 ;) (param $0 i32) (param $1 i32) (result i32)
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $1)
)
(get_local $0)
(get_local $1)
)
)
(func $_silk_INVERSE32_varQ_129 (; 152 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(set_local $1
(i32.sub
(i32.const 0)
(get_local $0)
)
)
(set_local $0
(i32.shr_s
(tee_local $5
(i32.shl
(tee_local $4
(i32.div_s
(i32.const 536870911)
(tee_local $3
(i32.shr_s
(tee_local $1
(i32.shl
(get_local $0)
(i32.add
(tee_local $2
(call $_silk_CLZ32
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const 0)
)
(get_local $0)
(get_local $1)
)
)
)
(i32.const -1)
)
)
)
(i32.const 16)
)
)
)
)
(i32.const 16)
)
)
(i32.const 16)
)
)
(set_local $0
(i32.add
(i32.add
(get_local $5)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $1
(i32.shl
(i32.sub
(i32.const 0)
(i32.add
(i32.mul
(get_local $3)
(get_local $0)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $1)
(i32.const 65535)
)
(get_local $0)
)
(i32.const 16)
)
)
)
(i32.const 3)
)
)
(i32.const 16)
)
(get_local $0)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $1)
(i32.const 65528)
)
(get_local $0)
)
(i32.const 16)
)
)
)
(i32.mul
(get_local $1)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $4)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(if
(i32.ge_s
(tee_local $1
(i32.sub
(i32.const 62)
(get_local $2)
)
)
(i32.const 47)
)
(block
(set_local $0
(i32.shr_s
(get_local $0)
(i32.add
(get_local $1)
(i32.const -46)
)
)
)
(return
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 78)
)
(get_local $0)
(i32.const 0)
)
)
)
)
(if (result i32)
(i32.gt_s
(tee_local $2
(i32.shr_s
(i32.const -2147483648)
(tee_local $1
(i32.sub
(i32.const 46)
(get_local $1)
)
)
)
)
(tee_local $3
(i32.shr_u
(i32.const 2147483647)
(get_local $1)
)
)
)
(block (result i32)
(if
(i32.gt_s
(get_local $0)
(get_local $2)
)
(return
(i32.shl
(get_local $2)
(get_local $1)
)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $3)
)
(get_local $3)
(get_local $0)
)
(get_local $1)
)
)
(block (result i32)
(if
(i32.gt_s
(get_local $0)
(get_local $3)
)
(return
(i32.shl
(get_local $3)
(get_local $1)
)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $2)
)
(get_local $2)
(get_local $0)
)
(get_local $1)
)
)
)
)
(func $_silk_PLC_glue_frames (; 153 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(if
(i32.load
(i32.add
(get_local $0)
(i32.const 4160)
)
)
(block
(call $_silk_sum_sqr_shift
(i32.add
(get_local $0)
(i32.const 4232)
)
(i32.add
(get_local $0)
(i32.const 4236)
)
(get_local $1)
(get_local $2)
)
(i32.store
(i32.add
(get_local $0)
(i32.const 4220)
)
(i32.const 1)
)
(set_global $STACKTOP
(get_local $4)
)
(return)
)
)
(set_local $3
(i32.add
(get_local $4)
(i32.const 4)
)
)
(block $label$break$L5
(if
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 4220)
)
)
)
(block
(call $_silk_sum_sqr_shift
(get_local $4)
(get_local $3)
(get_local $1)
(get_local $2)
)
(if
(i32.gt_s
(tee_local $6
(i32.load
(get_local $3)
)
)
(tee_local $5
(i32.load
(i32.add
(get_local $0)
(i32.const 4236)
)
)
)
)
(i32.store
(tee_local $3
(i32.add
(get_local $0)
(i32.const 4232)
)
)
(i32.shr_s
(i32.load
(get_local $3)
)
(i32.sub
(get_local $6)
(get_local $5)
)
)
)
(if
(i32.lt_s
(get_local $6)
(get_local $5)
)
(i32.store
(get_local $4)
(i32.shr_s
(i32.load
(get_local $4)
)
(i32.sub
(get_local $5)
(get_local $6)
)
)
)
)
)
(if
(i32.gt_s
(tee_local $5
(i32.load
(get_local $4)
)
)
(tee_local $3
(i32.load
(tee_local $0
(i32.add
(get_local $0)
(i32.const 4232)
)
)
)
)
)
(block
(i32.store
(get_local $0)
(tee_local $0
(i32.shl
(get_local $3)
(i32.add
(tee_local $3
(call $_silk_CLZ32
(get_local $3)
)
)
(i32.const -1)
)
)
)
)
(i32.store
(get_local $4)
(tee_local $3
(i32.shr_s
(get_local $5)
(call $_silk_max_int
(i32.sub
(i32.const 25)
(get_local $3)
)
(i32.const 0)
)
)
)
)
(set_local $5
(i32.shl
(i32.div_s
(i32.sub
(i32.const 65536)
(tee_local $0
(i32.shl
(call $_silk_SQRT_APPROX
(i32.div_s
(get_local $0)
(if (result i32)
(i32.gt_s
(get_local $3)
(i32.const 1)
)
(get_local $3)
(i32.const 1)
)
)
)
(i32.const 4)
)
)
)
(get_local $2)
)
(i32.const 2)
)
)
(loop $while-in
(br_if $label$break$L5
(i32.ge_s
(get_local $7)
(get_local $2)
)
)
(set_local $6
(i32.load16_s
(tee_local $3
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
)
)
)
(i32.store16
(get_local $3)
(i32.add
(i32.mul
(i32.shr_s
(get_local $0)
(i32.const 16)
)
(get_local $6)
)
(i32.shr_u
(i32.mul
(i32.and
(get_local $0)
(i32.const 65532)
)
(get_local $6)
)
(i32.const 16)
)
)
)
(br_if $label$break$L5
(i32.gt_s
(tee_local $0
(i32.add
(get_local $0)
(get_local $5)
)
)
(i32.const 65536)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
)
)
(i32.store
(get_local $8)
(i32.const 0)
)
(set_global $STACKTOP
(get_local $4)
)
)
(func $_silk_shell_decoder (; 154 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 32)
)
)
(set_local $7
(i32.add
(tee_local $4
(i32.add
(get_local $3)
(i32.const 24)
)
)
(i32.const 2)
)
)
(call $_decode_split
(get_local $4)
(get_local $7)
(get_local $1)
(get_local $2)
(i32.const 29179)
)
(set_local $6
(i32.add
(tee_local $5
(i32.add
(get_local $3)
(i32.const 16)
)
)
(i32.const 2)
)
)
(call $_decode_split
(get_local $5)
(get_local $6)
(get_local $1)
(i32.load16_s
(get_local $4)
)
(i32.const 29027)
)
(call $_decode_split
(get_local $3)
(tee_local $2
(i32.add
(get_local $3)
(i32.const 2)
)
)
(get_local $1)
(i32.load16_s
(get_local $5)
)
(i32.const 28875)
)
(call $_decode_split
(get_local $0)
(i32.add
(get_local $0)
(i32.const 2)
)
(get_local $1)
(i32.load16_s
(get_local $3)
)
(i32.const 28723)
)
(call $_decode_split
(i32.add
(get_local $0)
(i32.const 4)
)
(i32.add
(get_local $0)
(i32.const 6)
)
(get_local $1)
(i32.load16_s
(get_local $2)
)
(i32.const 28723)
)
(call $_decode_split
(tee_local $4
(i32.add
(get_local $3)
(i32.const 4)
)
)
(tee_local $2
(i32.add
(get_local $3)
(i32.const 6)
)
)
(get_local $1)
(i32.load16_s
(get_local $6)
)
(i32.const 28875)
)
(call $_decode_split
(i32.add
(get_local $0)
(i32.const 8)
)
(i32.add
(get_local $0)
(i32.const 10)
)
(get_local $1)
(i32.load16_s
(get_local $4)
)
(i32.const 28723)
)
(call $_decode_split
(i32.add
(get_local $0)
(i32.const 12)
)
(i32.add
(get_local $0)
(i32.const 14)
)
(get_local $1)
(i32.load16_s
(get_local $2)
)
(i32.const 28723)
)
(call $_decode_split
(tee_local $8
(i32.add
(get_local $5)
(i32.const 4)
)
)
(tee_local $6
(i32.add
(get_local $5)
(i32.const 6)
)
)
(get_local $1)
(i32.load16_s
(get_local $7)
)
(i32.const 29027)
)
(call $_decode_split
(tee_local $4
(i32.add
(get_local $3)
(i32.const 8)
)
)
(tee_local $2
(i32.add
(get_local $3)
(i32.const 10)
)
)
(get_local $1)
(i32.load16_s
(get_local $8)
)
(i32.const 28875)
)
(call $_decode_split
(i32.add
(get_local $0)
(i32.const 16)
)
(i32.add
(get_local $0)
(i32.const 18)
)
(get_local $1)
(i32.load16_s
(get_local $4)
)
(i32.const 28723)
)
(call $_decode_split
(i32.add
(get_local $0)
(i32.const 20)
)
(i32.add
(get_local $0)
(i32.const 22)
)
(get_local $1)
(i32.load16_s
(get_local $2)
)
(i32.const 28723)
)
(call $_decode_split
(tee_local $4
(i32.add
(get_local $3)
(i32.const 12)
)
)
(tee_local $2
(i32.add
(get_local $3)
(i32.const 14)
)
)
(get_local $1)
(i32.load16_s
(get_local $6)
)
(i32.const 28875)
)
(call $_decode_split
(i32.add
(get_local $0)
(i32.const 24)
)
(i32.add
(get_local $0)
(i32.const 26)
)
(get_local $1)
(i32.load16_s
(get_local $4)
)
(i32.const 28723)
)
(call $_decode_split
(i32.add
(get_local $0)
(i32.const 28)
)
(i32.add
(get_local $0)
(i32.const 30)
)
(get_local $1)
(i32.load16_s
(get_local $2)
)
(i32.const 28723)
)
(set_global $STACKTOP
(get_local $3)
)
)
(func $_decode_split (; 155 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(if
(i32.gt_s
(get_local $3)
(i32.const 0)
)
(block
(i32.store16
(get_local $0)
(tee_local $5
(call $_ec_dec_icdf
(get_local $2)
(i32.add
(get_local $4)
(i32.load8_u
(i32.add
(get_local $3)
(i32.const 29331)
)
)
)
(i32.const 8)
)
)
)
(i32.store16
(get_local $1)
(i32.sub
(get_local $3)
(get_local $5)
)
)
)
(block
(i32.store16
(get_local $0)
(i32.const 0)
)
(i32.store16
(get_local $1)
(i32.const 0)
)
)
)
)
(func $_silk_NLSF_unpack (; 156 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(set_local $6
(i32.add
(get_local $2)
(i32.const 20)
)
)
(set_local $5
(i32.add
(i32.load offset=24
(get_local $2)
)
(i32.div_s
(i32.mul
(tee_local $2
(i32.load16_s
(tee_local $4
(i32.add
(get_local $2)
(i32.const 2)
)
)
)
)
(get_local $3)
)
(i32.const 2)
)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $3)
(i32.shr_s
(i32.shl
(get_local $2)
(i32.const 16)
)
(i32.const 16)
)
)
(block
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(i32.mul
(i32.and
(i32.shr_u
(tee_local $7
(i32.and
(tee_local $2
(i32.load8_s
(get_local $5)
)
)
(i32.const 255)
)
)
(i32.const 1)
)
(i32.const 7)
)
(i32.const 9)
)
)
(i32.store8
(i32.add
(get_local $1)
(get_local $3)
)
(i32.load8_s
(i32.add
(i32.load
(get_local $6)
)
(i32.add
(get_local $3)
(i32.and
(i32.add
(i32.load16_s
(get_local $4)
)
(i32.const -1)
)
(i32.sub
(i32.const 0)
(i32.and
(get_local $2)
(i32.const 1)
)
)
)
)
)
)
)
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(tee_local $8
(i32.or
(get_local $3)
(i32.const 1)
)
)
(i32.const 1)
)
)
(i32.and
(i32.mul
(i32.shr_u
(i32.and
(get_local $2)
(i32.const 255)
)
(i32.const 5)
)
(i32.const 9)
)
(i32.const 255)
)
)
(i32.store8
(i32.add
(get_local $1)
(get_local $8)
)
(i32.load8_s
(i32.add
(i32.load
(get_local $6)
)
(i32.add
(i32.add
(get_local $3)
(i32.and
(i32.add
(i32.load16_s
(get_local $4)
)
(i32.const -1)
)
(i32.sub
(i32.const 0)
(i32.and
(i32.shr_u
(get_local $7)
(i32.const 4)
)
(i32.const 1)
)
)
)
)
(i32.const 1)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 2)
)
)
(set_local $2
(i32.load16_s
(get_local $4)
)
)
(br $while-in)
)
)
)
)
(func $_silk_stereo_MS_to_LR (; 157 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(i32.store align=2
(get_local $1)
(i32.load align=2
(tee_local $6
(i32.add
(get_local $0)
(i32.const 4)
)
)
)
)
(i32.store align=2
(get_local $2)
(i32.load align=2
(tee_local $7
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(i32.store align=2
(get_local $6)
(i32.load align=2
(i32.add
(get_local $1)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
(i32.store align=2
(get_local $7)
(i32.load align=2
(i32.add
(get_local $2)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
(set_local $12
(i32.shr_s
(i32.add
(i32.shr_s
(i32.mul
(i32.shr_s
(i32.shl
(i32.sub
(i32.load
(get_local $3)
)
(i32.and
(tee_local $6
(i32.load16_s
(get_local $0)
)
)
(i32.const 65535)
)
)
(i32.const 16)
)
(i32.const 16)
)
(tee_local $7
(i32.shr_s
(i32.shl
(i32.div_s
(i32.const 65536)
(tee_local $9
(i32.shl
(get_local $4)
(i32.const 3)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $14
(i32.shr_s
(i32.add
(i32.shr_s
(i32.mul
(i32.shr_s
(i32.shl
(i32.sub
(i32.load
(tee_local $11
(i32.add
(get_local $3)
(i32.const 4)
)
)
)
(i32.and
(tee_local $4
(i32.load16_s
(tee_local $13
(i32.add
(get_local $0)
(i32.const 2)
)
)
)
)
(i32.const 65535)
)
)
(i32.const 16)
)
(i32.const 16)
)
(get_local $7)
)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $7
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(get_local $9)
)
(block
(set_local $10
(i32.add
(i32.add
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $7)
(i32.const 2)
)
(i32.const 1)
)
)
)
)
(i32.shl
(tee_local $8
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(tee_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
)
(i32.const 1)
)
)
)
(if
(i32.le_s
(tee_local $8
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.add
(i32.shl
(i32.load16_s
(tee_local $15
(i32.add
(get_local $2)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
)
)
(i32.const 8)
)
(i32.add
(i32.mul
(i32.shr_s
(get_local $10)
(i32.const 7)
)
(tee_local $16
(i32.shr_s
(i32.shl
(tee_local $6
(i32.add
(get_local $6)
(get_local $12)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(i32.shl
(get_local $10)
(i32.const 9)
)
(i32.const 65024)
)
(get_local $16)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(get_local $8)
(i32.const 5)
)
(tee_local $10
(i32.shr_s
(i32.shl
(tee_local $4
(i32.add
(get_local $4)
(get_local $14)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(i32.shl
(get_local $8)
(i32.const 11)
)
(i32.const 63488)
)
(get_local $10)
)
(i32.const 16)
)
)
)
(i32.const 7)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(set_local $8
(i32.const -32768)
)
)
(i32.store16
(get_local $15)
(if (result i32)
(i32.lt_s
(get_local $8)
(i32.const 32767)
)
(get_local $8)
(i32.const 32767)
)
)
(br $while-in)
)
)
)
(set_local $7
(i32.shr_s
(i32.shl
(i32.load
(get_local $3)
)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $8
(i32.shr_s
(i32.shl
(i32.load
(get_local $11)
)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $4
(get_local $9)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $4)
(get_local $5)
)
(block
(set_local $9
(i32.add
(i32.add
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $4)
(i32.const 2)
)
(i32.const 1)
)
)
)
)
(i32.shl
(tee_local $6
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(tee_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
)
(i32.const 1)
)
)
)
(if
(i32.le_s
(tee_local $6
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.add
(i32.shl
(i32.load16_s
(tee_local $10
(i32.add
(get_local $2)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
(i32.const 8)
)
(i32.add
(i32.mul
(i32.shr_s
(get_local $9)
(i32.const 7)
)
(get_local $7)
)
(i32.shr_s
(i32.mul
(i32.and
(i32.shl
(get_local $9)
(i32.const 9)
)
(i32.const 65024)
)
(get_local $7)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(get_local $6)
(i32.const 5)
)
(get_local $8)
)
(i32.shr_s
(i32.mul
(i32.and
(i32.shl
(get_local $6)
(i32.const 11)
)
(i32.const 63488)
)
(get_local $8)
)
(i32.const 16)
)
)
)
(i32.const 7)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(set_local $6
(i32.const -32768)
)
)
(i32.store16
(get_local $10)
(if (result i32)
(i32.lt_s
(get_local $6)
(i32.const 32767)
)
(get_local $6)
(i32.const 32767)
)
)
(br $while-in1)
)
)
)
(i32.store16
(get_local $0)
(i32.load
(get_local $3)
)
)
(set_local $3
(i32.const 0)
)
(set_local $0
(get_local $13)
)
(set_local $4
(i32.load
(get_local $11)
)
)
(loop $while-in3
(block $while-out2
(i32.store16
(get_local $0)
(get_local $4)
)
(br_if $while-out2
(i32.ge_s
(get_local $3)
(get_local $5)
)
)
(set_local $6
(i32.add
(tee_local $4
(i32.load16_s
(tee_local $7
(i32.add
(get_local $1)
(i32.shl
(tee_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
)
)
(tee_local $9
(i32.load16_s
(tee_local $0
(i32.add
(get_local $2)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
)
)
)
(set_local $4
(i32.sub
(get_local $4)
(get_local $9)
)
)
(i32.store16
(get_local $7)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(get_local $6)
(i32.const -32768)
)
(get_local $6)
(tee_local $6
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $6)
(i32.const 32767)
)
)
(if
(i32.gt_s
(get_local $4)
(i32.const 32767)
)
(block
(set_local $4
(i32.const 32767)
)
(br $while-in3)
)
(block
(if
(i32.le_s
(get_local $4)
(i32.const -32768)
)
(set_local $4
(i32.const -32768)
)
)
(br $while-in3)
)
)
)
)
)
(func $_silk_bwexpander_32 (; 158 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(set_local $6
(i32.add
(get_local $2)
(i32.const -65536)
)
)
(set_local $3
(i32.add
(get_local $1)
(i32.const -1)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in
(set_local $4
(i32.shr_s
(get_local $2)
(i32.const 16)
)
)
(if
(i32.lt_s
(get_local $1)
(get_local $3)
)
(block
(set_local $5
(i32.shr_s
(i32.shl
(tee_local $8
(i32.load
(tee_local $7
(i32.add
(get_local $0)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.store
(get_local $7)
(i32.add
(i32.add
(i32.mul
(get_local $4)
(get_local $5)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $2)
(i32.const 65535)
)
(get_local $5)
)
(i32.const 16)
)
)
(i32.mul
(get_local $2)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $8)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.shr_s
(i32.add
(i32.shr_s
(i32.mul
(get_local $2)
(get_local $6)
)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
(br $while-in)
)
)
)
(set_local $0
(i32.shr_s
(i32.shl
(tee_local $3
(i32.load
(tee_local $1
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
(i32.const 16)
)
(i32.const 16)
)
)
(i32.store
(get_local $1)
(i32.add
(i32.add
(i32.mul
(get_local $4)
(get_local $0)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $2)
(i32.const 65535)
)
(get_local $0)
)
(i32.const 16)
)
)
(i32.mul
(get_local $2)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $3)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
)
(func $_silk_bwexpander (; 159 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(set_local $4
(i32.add
(get_local $2)
(i32.const -65536)
)
)
(set_local $3
(i32.add
(get_local $1)
(i32.const -1)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $1)
(get_local $3)
)
(block
(i32.store16
(tee_local $5
(i32.add
(get_local $0)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
)
(i32.shr_u
(i32.add
(i32.shr_u
(i32.mul
(get_local $2)
(i32.load16_s
(get_local $5)
)
)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.shr_s
(i32.add
(i32.shr_s
(i32.mul
(get_local $2)
(get_local $4)
)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
(br $while-in)
)
)
)
(i32.store16
(tee_local $0
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
(i32.shr_u
(i32.add
(i32.shr_u
(i32.mul
(get_local $2)
(i32.load16_s
(get_local $0)
)
)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
(func $_silk_decode_pitch (; 160 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(set_local $6
(i32.eq
(get_local $3)
(i32.const 8)
)
)
(set_local $8
(if (result i32)
(tee_local $5
(i32.eq
(get_local $4)
(i32.const 4)
)
)
(i32.const 11)
(i32.const 3)
)
)
(set_local $9
(if (result i32)
(get_local $5)
(i32.const 29446)
(i32.const 29416)
)
)
(set_local $7
(if (result i32)
(get_local $5)
(i32.const 34)
(i32.const 12)
)
)
(set_local $5
(if (result i32)
(get_local $5)
(i32.const 29490)
(i32.const 29422)
)
)
(if
(i32.eqz
(get_local $6)
)
(set_local $8
(get_local $7)
)
)
(if
(i32.eqz
(get_local $6)
)
(set_local $9
(get_local $5)
)
)
(set_local $6
(i32.add
(tee_local $3
(i32.shr_s
(tee_local $5
(i32.shl
(get_local $3)
(i32.const 16)
)
)
(i32.const 15)
)
)
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 16)
)
(i32.const 16)
)
)
)
(set_local $7
(i32.shr_s
(i32.shl
(get_local $1)
(i32.const 24)
)
(i32.const 24)
)
)
(set_local $10
(i32.gt_s
(get_local $3)
(tee_local $1
(i32.mul
(i32.shr_s
(get_local $5)
(i32.const 16)
)
(i32.const 18)
)
)
)
)
(set_local $5
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $5)
(get_local $4)
)
(block
(i32.store
(tee_local $11
(i32.add
(get_local $2)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
(tee_local $0
(i32.add
(get_local $6)
(i32.load8_s
(i32.add
(get_local $9)
(i32.add
(i32.mul
(get_local $5)
(get_local $8)
)
(get_local $7)
)
)
)
)
)
)
(if
(get_local $10)
(if
(i32.gt_s
(get_local $0)
(get_local $3)
)
(set_local $0
(get_local $3)
)
(if
(i32.lt_s
(get_local $0)
(get_local $1)
)
(set_local $0
(get_local $1)
)
)
)
(if
(i32.gt_s
(get_local $0)
(get_local $1)
)
(set_local $0
(get_local $1)
)
(if
(i32.lt_s
(get_local $0)
(get_local $3)
)
(set_local $0
(get_local $3)
)
)
)
)
(i32.store
(get_local $11)
(get_local $0)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_silk_log2lin (; 161 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(if
(i32.lt_s
(get_local $0)
(i32.const 0)
)
(return
(i32.const 0)
)
)
(if
(i32.gt_s
(get_local $0)
(i32.const 3966)
)
(return
(i32.const 2147483647)
)
)
(set_local $1
(i32.and
(get_local $0)
(i32.const 127)
)
)
(i32.add
(tee_local $3
(i32.shl
(i32.const 1)
(tee_local $2
(i32.shr_s
(get_local $0)
(i32.const 7)
)
)
)
)
(tee_local $0
(if (result i32)
(i32.lt_s
(get_local $0)
(i32.const 2048)
)
(i32.shr_s
(i32.shl
(i32.add
(get_local $1)
(i32.shr_s
(i32.mul
(i32.mul
(get_local $1)
(i32.sub
(i32.const 128)
(get_local $1)
)
)
(i32.const -174)
)
(i32.const 16)
)
)
(get_local $2)
)
(i32.const 7)
)
(i32.mul
(i32.shr_s
(get_local $3)
(i32.const 7)
)
(i32.add
(get_local $1)
(i32.shr_s
(i32.mul
(i32.mul
(get_local $1)
(i32.sub
(i32.const 128)
(get_local $1)
)
)
(i32.const -174)
)
(i32.const 16)
)
)
)
)
)
)
)
(func $_silk_LPC_analysis_filter (; 162 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(set_local $9
(i32.add
(get_local $2)
(i32.const 2)
)
)
(set_local $10
(i32.add
(get_local $2)
(i32.const 4)
)
)
(set_local $11
(i32.add
(get_local $2)
(i32.const 6)
)
)
(set_local $12
(i32.add
(get_local $2)
(i32.const 8)
)
)
(set_local $13
(i32.add
(get_local $2)
(i32.const 10)
)
)
(set_local $7
(get_local $4)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(get_local $3)
)
(block
(set_local $8
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.mul
(i32.load16_s
(tee_local $5
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $7)
(i32.const -1)
)
(i32.const 1)
)
)
)
)
(i32.load16_s
(get_local $2)
)
)
(i32.mul
(i32.load16_s
(i32.add
(get_local $5)
(i32.const -2)
)
)
(i32.load16_s
(get_local $9)
)
)
)
(i32.mul
(i32.load16_s
(i32.add
(get_local $5)
(i32.const -4)
)
)
(i32.load16_s
(get_local $10)
)
)
)
(i32.mul
(i32.load16_s
(i32.add
(get_local $5)
(i32.const -6)
)
)
(i32.load16_s
(get_local $11)
)
)
)
(i32.mul
(i32.load16_s
(i32.add
(get_local $5)
(i32.const -8)
)
)
(i32.load16_s
(get_local $12)
)
)
)
(i32.mul
(i32.load16_s
(i32.add
(get_local $5)
(i32.const -10)
)
)
(i32.load16_s
(get_local $13)
)
)
)
)
(set_local $6
(i32.const 6)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $6)
(get_local $4)
)
(block
(set_local $8
(i32.add
(i32.add
(get_local $8)
(i32.mul
(i32.load16_s
(i32.add
(get_local $5)
(i32.shl
(i32.sub
(i32.const 0)
(get_local $6)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
)
)
(i32.mul
(i32.load16_s
(i32.add
(get_local $5)
(i32.shl
(i32.xor
(get_local $6)
(i32.const -1)
)
(i32.const 1)
)
)
)
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(i32.or
(get_local $6)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 2)
)
)
(br $while-in1)
)
)
)
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $5
(i32.shr_s
(i32.add
(i32.shr_s
(i32.sub
(i32.shl
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
)
(i32.const 12)
)
(get_local $8)
)
(i32.const 11)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $5)
(tee_local $5
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $5)
(i32.const 32767)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(drop
(call $_memset
(get_local $0)
(i32.const 0)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
(func $_silk_LPC_inverse_pred_gain_c (; 163 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 96)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $2)
(get_local $1)
)
(block
(i32.store
(i32.add
(get_local $3)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
(i32.shl
(tee_local $5
(i32.load16_s
(i32.add
(get_local $0)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
)
(i32.const 12)
)
)
(set_local $4
(i32.add
(get_local $4)
(get_local $5)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(if
(i32.gt_s
(get_local $4)
(i32.const 4095)
)
(block
(set_global $STACKTOP
(get_local $3)
)
(return
(i32.const 0)
)
)
)
(set_local $0
(call $_LPC_inverse_pred_gain_QA_c
(get_local $3)
(get_local $1)
)
)
(set_global $STACKTOP
(get_local $3)
)
(get_local $0)
)
(func $_LPC_inverse_pred_gain_QA_c (; 164 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i64)
(local $5 i32)
(local $6 i64)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i64)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i64)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(set_local $6
(i64.const 1073741824)
)
(block $__rjto$1 (result i32)
(block $__rjti$1
(block $__rjti$0
(loop $label$continue$L1
(block $label$break$L1
(set_local $3
(i32.gt_u
(i32.add
(tee_local $2
(i32.load
(i32.add
(get_local $0)
(i32.shl
(tee_local $13
(i32.add
(get_local $1)
(i32.const -1)
)
)
(i32.const 2)
)
)
)
)
(i32.const 16773022)
)
(i32.const 33546044)
)
)
(br_if $__rjti$0
(i32.le_s
(get_local $1)
(i32.const 1)
)
)
(br_if $__rjti$1
(get_local $3)
)
(br_if $__rjti$1
(i32.lt_s
(tee_local $16
(i32.and
(i32.wrap/i64
(i64.shr_u
(i64.mul
(get_local $6)
(i64.extend_s/i32
(tee_local $3
(i32.sub
(i32.const 1073741824)
(i32.wrap/i64
(i64.shr_u
(i64.mul
(tee_local $10
(i64.extend_s/i32
(i32.sub
(i32.const 0)
(i32.shl
(get_local $2)
(i32.const 7)
)
)
)
)
(get_local $10)
)
(i64.const 32)
)
)
)
)
)
)
(i64.const 30)
)
)
(i32.const -4)
)
)
(i32.const 107374)
)
)
(set_local $2
(i32.sub
(i32.const 0)
(get_local $3)
)
)
(set_local $17
(i32.shr_s
(get_local $1)
(i32.const 1)
)
)
(set_local $14
(i32.eq
(tee_local $1
(i32.sub
(i32.const 32)
(call $_silk_CLZ32
(if (result i32)
(i32.gt_s
(get_local $3)
(i32.const 0)
)
(get_local $3)
(get_local $2)
)
)
)
)
(i32.const 1)
)
)
(set_local $6
(i64.extend_s/i32
(call $_silk_INVERSE32_varQ_275
(get_local $3)
(i32.add
(get_local $1)
(i32.const 30)
)
)
)
)
(set_local $15
(i64.extend_u/i32
(i32.add
(get_local $1)
(i32.const -1)
)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $3)
(get_local $17)
)
(block
(set_local $8
(i32.gt_s
(tee_local $7
(i32.sub
(tee_local $2
(i32.load
(tee_local $11
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
(tee_local $5
(i32.wrap/i64
(i64.shr_u
(i64.add
(i64.shr_u
(i64.mul
(i64.extend_s/i32
(tee_local $9
(i32.load
(tee_local $18
(i32.add
(get_local $0)
(i32.shl
(i32.add
(i32.sub
(get_local $13)
(get_local $3)
)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
)
)
(get_local $10)
)
(i64.const 30)
)
(i64.const 1)
)
(i64.const 1)
)
)
)
)
)
(i32.const -1)
)
)
(set_local $12
(i32.xor
(get_local $2)
(i32.const -2147483648)
)
)
(set_local $1
(i32.xor
(get_local $5)
(i32.const -2147483648)
)
)
(if
(i32.eqz
(get_local $8)
)
(set_local $1
(get_local $5)
)
)
(set_local $19
(i32.xor
(i32.shr_s
(get_local $7)
(i32.const 31)
)
(i32.const -2147483648)
)
)
(set_local $4
(i64.mul
(i64.extend_s/i32
(if (result i32)
(i32.lt_s
(i32.and
(if (result i32)
(get_local $8)
(get_local $2)
(get_local $12)
)
(get_local $1)
)
(i32.const 0)
)
(get_local $19)
(get_local $7)
)
)
(get_local $6)
)
)
(br_if $__rjti$1
(i64.gt_u
(i64.add
(tee_local $4
(if (result i64)
(get_local $14)
(block (result i64)
(set_local $4
(i64.shr_s
(get_local $4)
(i64.const 1)
)
)
(set_local $12
(i32.xor
(get_local $2)
(i32.const -2147483648)
)
)
(set_local $1
(i32.xor
(get_local $5)
(i32.const -2147483648)
)
)
(if
(i32.eqz
(get_local $8)
)
(set_local $1
(get_local $5)
)
)
(set_local $5
(i32.xor
(i32.shr_s
(get_local $7)
(i32.const 31)
)
(i32.const -2147483648)
)
)
(i64.add
(get_local $4)
(i64.and
(i64.mul
(i64.extend_s/i32
(if (result i32)
(i32.lt_s
(i32.and
(if (result i32)
(get_local $8)
(get_local $2)
(get_local $12)
)
(get_local $1)
)
(i32.const 0)
)
(get_local $5)
(get_local $7)
)
)
(get_local $6)
)
(i64.const 1)
)
)
)
(i64.shr_s
(i64.add
(i64.shr_s
(get_local $4)
(get_local $15)
)
(i64.const 1)
)
(i64.const 1)
)
)
)
(i64.const 2147483648)
)
(i64.const 4294967295)
)
)
(i64.store32
(get_local $11)
(get_local $4)
)
(set_local $7
(i32.gt_s
(tee_local $5
(i32.sub
(get_local $9)
(tee_local $2
(i32.wrap/i64
(i64.shr_u
(i64.add
(i64.shr_u
(i64.mul
(i64.extend_s/i32
(get_local $2)
)
(get_local $10)
)
(i64.const 30)
)
(i64.const 1)
)
(i64.const 1)
)
)
)
)
)
(i32.const -1)
)
)
(set_local $8
(i32.xor
(get_local $9)
(i32.const -2147483648)
)
)
(set_local $1
(i32.xor
(get_local $2)
(i32.const -2147483648)
)
)
(if
(i32.eqz
(get_local $7)
)
(set_local $1
(get_local $2)
)
)
(set_local $11
(i32.xor
(i32.shr_s
(get_local $5)
(i32.const 31)
)
(i32.const -2147483648)
)
)
(set_local $4
(i64.mul
(i64.extend_s/i32
(if (result i32)
(i32.lt_s
(i32.and
(if (result i32)
(get_local $7)
(get_local $9)
(get_local $8)
)
(get_local $1)
)
(i32.const 0)
)
(get_local $11)
(get_local $5)
)
)
(get_local $6)
)
)
(br_if $__rjti$1
(i64.gt_u
(i64.add
(tee_local $4
(if (result i64)
(get_local $14)
(block (result i64)
(set_local $4
(i64.shr_s
(get_local $4)
(i64.const 1)
)
)
(set_local $8
(i32.xor
(get_local $9)
(i32.const -2147483648)
)
)
(set_local $1
(i32.xor
(get_local $2)
(i32.const -2147483648)
)
)
(if
(i32.eqz
(get_local $7)
)
(set_local $1
(get_local $2)
)
)
(set_local $2
(i32.xor
(i32.shr_s
(get_local $5)
(i32.const 31)
)
(i32.const -2147483648)
)
)
(i64.add
(get_local $4)
(i64.and
(i64.mul
(i64.extend_s/i32
(if (result i32)
(i32.lt_s
(i32.and
(if (result i32)
(get_local $7)
(get_local $9)
(get_local $8)
)
(get_local $1)
)
(i32.const 0)
)
(get_local $2)
(get_local $5)
)
)
(get_local $6)
)
(i64.const 1)
)
)
)
(i64.shr_s
(i64.add
(i64.shr_s
(get_local $4)
(get_local $15)
)
(i64.const 1)
)
(i64.const 1)
)
)
)
(i64.const 2147483648)
)
(i64.const 4294967295)
)
)
(i64.store32
(get_local $18)
(get_local $4)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $1
(get_local $13)
)
(set_local $6
(i64.extend_s/i32
(get_local $16)
)
)
(br $label$continue$L1)
)
)
)
(if
(get_local $3)
(return
(i32.const 0)
)
(return
(if (result i32)
(i32.lt_s
(tee_local $0
(i32.and
(i32.wrap/i64
(i64.shr_u
(i64.mul
(get_local $6)
(i64.extend_s/i32
(i32.sub
(i32.const 1073741824)
(i32.wrap/i64
(i64.shr_u
(i64.mul
(tee_local $6
(i64.extend_s/i32
(i32.sub
(i32.const 0)
(i32.shl
(i32.load
(get_local $0)
)
(i32.const 7)
)
)
)
)
(get_local $6)
)
(i64.const 32)
)
)
)
)
)
(i64.const 30)
)
)
(i32.const -4)
)
)
(i32.const 107374)
)
(i32.const 0)
(get_local $0)
)
)
)
)
(i32.const 0)
)
)
(func $_silk_INVERSE32_varQ_275 (; 165 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(set_local $2
(i32.sub
(i32.const 0)
(get_local $0)
)
)
(set_local $0
(i32.shr_s
(tee_local $6
(i32.shl
(tee_local $5
(i32.div_s
(i32.const 536870911)
(tee_local $4
(i32.shr_s
(tee_local $2
(i32.shl
(get_local $0)
(i32.add
(tee_local $3
(call $_silk_CLZ32
(if (result i32)
(i32.gt_s
(get_local $0)
(i32.const 0)
)
(get_local $0)
(get_local $2)
)
)
)
(i32.const -1)
)
)
)
(i32.const 16)
)
)
)
)
(i32.const 16)
)
)
(i32.const 16)
)
)
(set_local $0
(i32.add
(i32.add
(get_local $6)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $2
(i32.shl
(i32.sub
(i32.const 0)
(i32.add
(i32.mul
(get_local $4)
(get_local $0)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $2)
(i32.const 65535)
)
(get_local $0)
)
(i32.const 16)
)
)
)
(i32.const 3)
)
)
(i32.const 16)
)
(get_local $0)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $2)
(i32.const 65528)
)
(get_local $0)
)
(i32.const 16)
)
)
)
(i32.mul
(get_local $2)
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $5)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(if
(i32.ge_s
(tee_local $1
(i32.sub
(i32.sub
(i32.const 62)
(get_local $3)
)
(get_local $1)
)
)
(i32.const 1)
)
(block
(set_local $0
(i32.shr_s
(get_local $0)
(get_local $1)
)
)
(return
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 32)
)
(get_local $0)
(i32.const 0)
)
)
)
)
(if (result i32)
(i32.gt_s
(tee_local $2
(i32.shr_s
(i32.const -2147483648)
(tee_local $1
(i32.sub
(i32.const 0)
(get_local $1)
)
)
)
)
(tee_local $3
(i32.shr_u
(i32.const 2147483647)
(get_local $1)
)
)
)
(block (result i32)
(if
(i32.gt_s
(get_local $0)
(get_local $2)
)
(return
(i32.shl
(get_local $2)
(get_local $1)
)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $3)
)
(get_local $3)
(get_local $0)
)
(get_local $1)
)
)
(block (result i32)
(if
(i32.gt_s
(get_local $0)
(get_local $3)
)
(return
(i32.shl
(get_local $3)
(get_local $1)
)
)
)
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $0)
(get_local $2)
)
(get_local $2)
(get_local $0)
)
(get_local $1)
)
)
)
)
(func $_silk_NLSF2A (; 166 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 304)
)
)
(set_local $4
(i32.add
(get_local $3)
(i32.const 200)
)
)
(set_local $7
(i32.add
(get_local $3)
(i32.const 148)
)
)
(set_local $8
(i32.add
(get_local $3)
(i32.const 96)
)
)
(set_local $5
(get_local $3)
)
(set_local $9
(if (result i32)
(i32.eq
(get_local $2)
(i32.const 16)
)
(i32.const 29390)
(i32.const 29406)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $3)
(get_local $2)
)
(block
(i32.store
(i32.add
(get_local $4)
(i32.shl
(i32.load8_u
(i32.add
(get_local $9)
(get_local $3)
)
)
(i32.const 2)
)
)
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.shl
(tee_local $11
(i32.load16_s
(i32.add
(i32.shl
(tee_local $6
(i32.shr_s
(tee_local $10
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
(i32.const 8)
)
)
(i32.const 1)
)
(i32.const 24374)
)
)
)
(i32.const 8)
)
(i32.mul
(i32.sub
(i32.load16_s
(i32.add
(i32.shl
(get_local $6)
(i32.const 1)
)
(i32.const 24376)
)
)
(get_local $11)
)
(i32.sub
(get_local $10)
(i32.shl
(get_local $6)
(i32.const 8)
)
)
)
)
(i32.const 3)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(call $_silk_NLSF2A_find_poly
(get_local $7)
(get_local $4)
(tee_local $6
(i32.shr_s
(get_local $2)
(i32.const 1)
)
)
)
(call $_silk_NLSF2A_find_poly
(get_local $8)
(i32.add
(get_local $4)
(i32.const 4)
)
(get_local $6)
)
(set_local $1
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $1)
(get_local $6)
)
(block
(set_local $4
(i32.add
(i32.load
(i32.add
(get_local $7)
(i32.shl
(tee_local $3
(i32.add
(get_local $1)
(i32.const 1)
)
)
(i32.const 2)
)
)
)
(i32.load
(i32.add
(get_local $7)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
(i32.store
(i32.add
(get_local $5)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(i32.sub
(i32.sub
(i32.const 0)
(tee_local $9
(i32.sub
(i32.load
(i32.add
(get_local $8)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
(i32.load
(i32.add
(get_local $8)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
)
(get_local $4)
)
)
(i32.store
(i32.add
(get_local $5)
(i32.shl
(i32.add
(i32.sub
(get_local $2)
(get_local $1)
)
(i32.const -1)
)
(i32.const 2)
)
)
(i32.sub
(get_local $9)
(get_local $4)
)
)
(set_local $1
(get_local $3)
)
(br $while-in1)
)
)
)
(call $_silk_LPC_fit
(get_local $0)
(get_local $5)
(get_local $2)
)
(set_local $3
(i32.const 0)
)
(loop $while-in3
(if
(i32.and
(i32.eqz
(call $_silk_LPC_inverse_pred_gain_c
(get_local $0)
(get_local $2)
)
)
(i32.lt_s
(get_local $3)
(i32.const 16)
)
)
(block
(call $_silk_bwexpander_32
(get_local $5)
(get_local $2)
(i32.sub
(i32.const 65536)
(i32.shl
(i32.const 2)
(get_local $3)
)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $1)
(get_local $2)
)
(block
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
(i32.shr_u
(i32.add
(i32.shr_u
(i32.load
(i32.add
(get_local $5)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(i32.const 4)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(set_global $STACKTOP
(get_local $5)
)
)
(func $_silk_NLSF2A_find_poly (; 167 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i64)
(i32.store
(get_local $0)
(i32.const 65536)
)
(set_local $7
(i32.add
(get_local $0)
(i32.const 4)
)
)
(set_local $3
(i32.const 1)
)
(set_local $6
(i32.sub
(i32.const 0)
(i32.load
(get_local $1)
)
)
)
(loop $while-in
(i32.store
(get_local $7)
(get_local $6)
)
(if
(i32.lt_s
(get_local $3)
(get_local $2)
)
(block
(i32.store
(i32.add
(get_local $0)
(i32.shl
(tee_local $6
(i32.add
(get_local $3)
(i32.const 1)
)
)
(i32.const 2)
)
)
(i32.sub
(i32.shl
(tee_local $4
(i32.load
(i32.add
(get_local $0)
(i32.shl
(i32.add
(get_local $3)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
(i32.const 1)
)
(i32.wrap/i64
(i64.shr_u
(i64.add
(i64.shr_u
(i64.mul
(tee_local $9
(i64.extend_s/i32
(tee_local $8
(i32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $3)
(i32.const 3)
)
)
)
)
)
)
(i64.extend_s/i32
(i32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
)
(i64.const 15)
)
(i64.const 1)
)
(i64.const 1)
)
)
)
)
(set_local $5
(get_local $3)
)
(set_local $3
(get_local $4)
)
(loop $while-in1
(if
(i32.gt_s
(get_local $5)
(i32.const 1)
)
(block
(i32.store
(tee_local $4
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
)
(i32.add
(i32.load
(get_local $4)
)
(i32.sub
(tee_local $4
(i32.load
(i32.add
(get_local $0)
(i32.shl
(i32.add
(get_local $5)
(i32.const -2)
)
(i32.const 2)
)
)
)
)
(i32.wrap/i64
(i64.shr_u
(i64.add
(i64.shr_u
(i64.mul
(get_local $9)
(i64.extend_s/i32
(get_local $3)
)
)
(i64.const 15)
)
(i64.const 1)
)
(i64.const 1)
)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const -1)
)
)
(set_local $3
(get_local $4)
)
(br $while-in1)
)
)
)
(set_local $3
(get_local $6)
)
(set_local $6
(i32.sub
(i32.load
(get_local $7)
)
(get_local $8)
)
)
(br $while-in)
)
)
)
)
(func $_silk_NLSF_stabilize (; 168 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(set_local $9
(i32.add
(get_local $0)
(i32.shl
(i32.add
(get_local $2)
(i32.const -1)
)
(i32.const 1)
)
)
)
(set_local $11
(i32.add
(get_local $1)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
(block $__rjto$0
(block $__rjti$0
(loop $while-in
(if
(i32.lt_s
(get_local $10)
(i32.const 20)
)
(block
(set_local $4
(i32.sub
(tee_local $3
(i32.load16_s
(get_local $0)
)
)
(tee_local $12
(i32.load16_s
(get_local $1)
)
)
)
)
(set_local $6
(i32.const 1)
)
(set_local $5
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $6)
(get_local $2)
)
(block
(set_local $3
(if (result i32)
(tee_local $13
(i32.lt_s
(tee_local $8
(i32.sub
(tee_local $7
(i32.load16_s
(i32.add
(get_local $0)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
)
(i32.add
(i32.shr_s
(i32.shl
(get_local $3)
(i32.const 16)
)
(i32.const 16)
)
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
)
)
)
(get_local $4)
)
)
(get_local $6)
(get_local $5)
)
)
(if
(get_local $13)
(set_local $4
(get_local $8)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(set_local $5
(get_local $3)
)
(set_local $3
(get_local $7)
)
(br $while-in1)
)
)
)
(set_local $3
(if (result i32)
(tee_local $8
(i32.lt_s
(tee_local $7
(i32.sub
(i32.const 32768)
(i32.add
(i32.load16_s
(get_local $9)
)
(i32.load16_s
(get_local $11)
)
)
)
)
(get_local $4)
)
)
(get_local $2)
(get_local $5)
)
)
(br_if $__rjti$0
(i32.gt_s
(if (result i32)
(get_local $8)
(get_local $7)
(get_local $4)
)
(i32.const -1)
)
)
(block $do-once
(if
(get_local $3)
(block
(if
(i32.eq
(get_local $3)
(get_local $2)
)
(block
(i32.store16
(get_local $9)
(i32.sub
(i32.const 32768)
(i32.load16_u
(get_local $11)
)
)
)
(br $do-once)
)
(block
(set_local $7
(i32.const 0)
)
(set_local $4
(i32.const 0)
)
)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $4)
(get_local $3)
)
(block
(set_local $7
(i32.add
(get_local $7)
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(set_local $6
(i32.shr_s
(tee_local $13
(i32.load16_s
(tee_local $12
(i32.add
(get_local $1)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
)
(i32.const 1)
)
)
(set_local $8
(i32.const 32768)
)
(set_local $4
(get_local $2)
)
(loop $while-in5
(if
(i32.gt_s
(get_local $4)
(get_local $3)
)
(block
(set_local $8
(i32.sub
(get_local $8)
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const -1)
)
)
(br $while-in5)
)
)
)
(set_local $5
(i32.add
(i32.shr_s
(i32.add
(tee_local $4
(i32.load16_s
(tee_local $14
(i32.add
(get_local $0)
(i32.shl
(i32.add
(get_local $3)
(i32.const -1)
)
(i32.const 1)
)
)
)
)
)
(tee_local $3
(i32.load16_s
(tee_local $15
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
)
)
)
)
(i32.const 1)
)
(i32.and
(i32.add
(i32.and
(get_local $4)
(i32.const 65535)
)
(i32.and
(get_local $3)
(i32.const 65535)
)
)
(i32.const 1)
)
)
)
(if
(i32.gt_s
(tee_local $3
(i32.add
(get_local $7)
(get_local $6)
)
)
(tee_local $4
(i32.sub
(get_local $8)
(get_local $6)
)
)
)
(if
(i32.le_s
(get_local $5)
(get_local $3)
)
(set_local $3
(if (result i32)
(i32.lt_s
(get_local $5)
(get_local $4)
)
(get_local $4)
(get_local $5)
)
)
)
(if
(i32.gt_s
(get_local $5)
(get_local $4)
)
(set_local $3
(get_local $4)
)
(if
(i32.ge_s
(get_local $5)
(get_local $3)
)
(set_local $3
(get_local $5)
)
)
)
)
(i32.store16
(get_local $14)
(tee_local $3
(i32.sub
(get_local $3)
(i32.shr_u
(get_local $13)
(i32.const 1)
)
)
)
)
(i32.store16
(get_local $15)
(i32.add
(get_local $3)
(i32.load16_u
(get_local $12)
)
)
)
)
(i32.store16
(get_local $0)
(get_local $12)
)
)
)
(set_local $10
(i32.add
(get_local $10)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(br $__rjto$0)
)
(return)
)
(if
(i32.ne
(get_local $10)
(i32.const 20)
)
(return)
)
(call $_silk_insertion_sort_increasing_all_values_int16
(get_local $0)
(get_local $2)
)
(i32.store16
(get_local $0)
(tee_local $3
(call $_silk_max_int
(i32.load16_s
(get_local $0)
)
(i32.load16_s
(get_local $1)
)
)
)
)
(set_local $4
(i32.const 1)
)
(loop $while-in7
(if
(i32.lt_s
(get_local $4)
(get_local $2)
)
(block
(set_local $7
(i32.load16_s
(tee_local $5
(i32.add
(get_local $0)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
)
(i32.store16
(get_local $5)
(tee_local $3
(call $_silk_max_int
(get_local $7)
(i32.shr_s
(i32.shl
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $3
(i32.add
(i32.shr_s
(i32.shl
(get_local $3)
(i32.const 16)
)
(i32.const 16)
)
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
)
(i32.const -32768)
)
(get_local $3)
(tee_local $3
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $3)
(i32.const 32767)
)
(i32.const 16)
)
(i32.const 16)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in7)
)
)
)
(i32.store16
(get_local $9)
(tee_local $3
(call $_silk_min_32_128
(i32.load16_s
(get_local $9)
)
(i32.sub
(i32.const 32768)
(i32.load16_s
(get_local $11)
)
)
)
)
)
(set_local $4
(i32.add
(get_local $2)
(i32.const -2)
)
)
(set_local $2
(get_local $3)
)
(loop $while-in9
(if
(i32.gt_s
(get_local $4)
(i32.const -1)
)
(block
(set_local $2
(call $_silk_min_32_128
(i32.load16_s
(tee_local $3
(i32.add
(get_local $0)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
)
(i32.sub
(i32.shr_s
(i32.shl
(get_local $2)
(i32.const 16)
)
(i32.const 16)
)
(i32.load16_s
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $4)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
)
)
(i32.store16
(get_local $3)
(get_local $2)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const -1)
)
)
(br $while-in9)
)
)
)
)
(func $_silk_resampler_init (; 169 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(drop
(call $_memset
(get_local $0)
(i32.const 0)
(i32.const 300)
)
)
(block $label$break$L1
(if
(i32.lt_s
(get_local $1)
(i32.const 12000)
)
(block
(block $switch-default
(block $switch-case
(br_table $switch-case $switch-default
(i32.sub
(get_local $1)
(i32.const 8000)
)
)
)
(br $label$break$L1)
)
(return
(i32.const -1)
)
)
(if
(i32.lt_s
(get_local $1)
(i32.const 16000)
)
(block
(block $switch-default2
(block $switch-case1
(br_table $switch-case1 $switch-default2
(i32.sub
(get_local $1)
(i32.const 12000)
)
)
)
(br $label$break$L1)
)
(return
(i32.const -1)
)
)
(block
(block $switch-default5
(block $switch-case4
(br_table $switch-case4 $switch-default5
(i32.sub
(get_local $1)
(i32.const 16000)
)
)
)
(br $label$break$L1)
)
(return
(i32.const -1)
)
)
)
)
)
(block $label$break$L11
(if
(i32.lt_s
(get_local $2)
(i32.const 16000)
)
(if
(i32.lt_s
(get_local $2)
(i32.const 12000)
)
(block
(block $switch-default9
(block $switch-case8
(br_table $switch-case8 $switch-default9
(i32.sub
(get_local $2)
(i32.const 8000)
)
)
)
(br $label$break$L11)
)
(return
(i32.const -1)
)
)
(block
(block $switch-default12
(block $switch-case11
(br_table $switch-case11 $switch-default12
(i32.sub
(get_local $2)
(i32.const 12000)
)
)
)
(br $label$break$L11)
)
(return
(i32.const -1)
)
)
)
(block
(if
(i32.lt_s
(get_local $2)
(i32.const 24000)
)
(block
(block $switch-default15
(block $switch-case14
(br_table $switch-case14 $switch-default15
(i32.sub
(get_local $2)
(i32.const 16000)
)
)
)
(br $label$break$L11)
)
(return
(i32.const -1)
)
)
)
(if
(i32.lt_s
(get_local $2)
(i32.const 48000)
)
(block
(block $switch-default18
(block $switch-case17
(br_table $switch-case17 $switch-default18
(i32.sub
(get_local $2)
(i32.const 24000)
)
)
)
(br $label$break$L11)
)
(return
(i32.const -1)
)
)
(block
(block $switch-default21
(block $switch-case20
(br_table $switch-case20 $switch-default21
(i32.sub
(get_local $2)
(i32.const 48000)
)
)
)
(br $label$break$L11)
)
(return
(i32.const -1)
)
)
)
)
)
)
(i32.store offset=292
(get_local $0)
(i32.load8_s
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(i32.sub
(i32.shr_s
(get_local $1)
(i32.const 12)
)
(i32.gt_s
(get_local $1)
(i32.const 16000)
)
)
(i32.gt_s
(get_local $1)
(i32.const 24000)
)
)
(i32.const 5)
)
(i32.shr_s
(i32.sub
(i32.shr_s
(get_local $2)
(i32.const 12)
)
(i32.gt_s
(get_local $2)
(i32.const 16000)
)
)
(i32.gt_s
(get_local $2)
(i32.const 24000)
)
)
)
(i32.const 29620)
)
)
)
(i32.store offset=284
(get_local $0)
(tee_local $3
(i32.div_s
(get_local $1)
(i32.const 1000)
)
)
)
(i32.store offset=288
(get_local $0)
(i32.div_s
(get_local $2)
(i32.const 1000)
)
)
(i32.store offset=268
(get_local $0)
(i32.mul
(get_local $3)
(i32.const 10)
)
)
(block $do-once
(if
(i32.gt_s
(get_local $2)
(get_local $1)
)
(block
(set_local $3
(i32.add
(get_local $0)
(i32.const 264)
)
)
(set_local $3
(if (result i32)
(i32.eq
(i32.shl
(get_local $1)
(i32.const 1)
)
(get_local $2)
)
(block (result i32)
(i32.store
(get_local $3)
(i32.const 1)
)
(i32.const 0)
)
(block (result i32)
(i32.store
(get_local $3)
(i32.const 2)
)
(i32.const 1)
)
)
)
)
(block
(set_local $3
(i32.add
(get_local $0)
(i32.const 264)
)
)
(if
(i32.ge_s
(get_local $2)
(get_local $1)
)
(block
(i32.store
(get_local $3)
(i32.const 0)
)
(set_local $3
(i32.const 0)
)
(br $do-once)
)
)
(i32.store
(get_local $3)
(i32.const 3)
)
(if
(i32.eq
(tee_local $3
(i32.shl
(get_local $2)
(i32.const 2)
)
)
(i32.mul
(get_local $1)
(i32.const 3)
)
)
(block
(i32.store offset=280
(get_local $0)
(i32.const 3)
)
(i32.store offset=276
(get_local $0)
(i32.const 18)
)
(i32.store offset=296
(get_local $0)
(i32.const 24632)
)
(set_local $3
(i32.const 0)
)
(br $do-once)
)
)
(if
(i32.eq
(tee_local $4
(i32.mul
(get_local $2)
(i32.const 3)
)
)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
(block
(i32.store offset=280
(get_local $0)
(i32.const 2)
)
(i32.store offset=276
(get_local $0)
(i32.const 18)
)
(i32.store offset=296
(get_local $0)
(i32.const 24690)
)
(set_local $3
(i32.const 0)
)
(br $do-once)
)
)
(if
(i32.eq
(i32.shl
(get_local $2)
(i32.const 1)
)
(get_local $1)
)
(block
(i32.store offset=280
(get_local $0)
(i32.const 1)
)
(i32.store offset=276
(get_local $0)
(i32.const 24)
)
(i32.store offset=296
(get_local $0)
(i32.const 24730)
)
(set_local $3
(i32.const 0)
)
(br $do-once)
)
)
(if
(i32.eq
(get_local $4)
(get_local $1)
)
(block
(i32.store offset=280
(get_local $0)
(i32.const 1)
)
(i32.store offset=276
(get_local $0)
(i32.const 36)
)
(i32.store offset=296
(get_local $0)
(i32.const 24758)
)
(set_local $3
(i32.const 0)
)
(br $do-once)
)
)
(if
(i32.eq
(get_local $3)
(get_local $1)
)
(block
(i32.store offset=280
(get_local $0)
(i32.const 1)
)
(i32.store offset=276
(get_local $0)
(i32.const 36)
)
(i32.store offset=296
(get_local $0)
(i32.const 24798)
)
(set_local $3
(i32.const 0)
)
(br $do-once)
)
)
(if
(i32.eq
(i32.mul
(get_local $2)
(i32.const 6)
)
(get_local $1)
)
(block
(i32.store offset=280
(get_local $0)
(i32.const 1)
)
(i32.store offset=276
(get_local $0)
(i32.const 36)
)
(i32.store offset=296
(get_local $0)
(i32.const 24838)
)
(set_local $3
(i32.const 0)
)
)
(return
(i32.const -1)
)
)
)
)
)
(i32.store
(tee_local $5
(i32.add
(get_local $0)
(i32.const 272)
)
)
(tee_local $0
(i32.shl
(i32.div_s
(i32.shl
(get_local $1)
(i32.or
(get_local $3)
(i32.const 14)
)
)
(get_local $2)
)
(i32.const 2)
)
)
)
(set_local $4
(i32.shr_s
(i32.shl
(get_local $2)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $2
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $2)
(i32.const 15)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $1
(i32.shl
(get_local $1)
(get_local $3)
)
)
(loop $while-in
(if
(i32.lt_s
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(get_local $0)
(i32.const 16)
)
(get_local $4)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $0)
(i32.const 65535)
)
(get_local $4)
)
(i32.const 16)
)
)
(i32.mul
(get_local $0)
(get_local $2)
)
)
(get_local $1)
)
(block
(i32.store
(get_local $5)
(tee_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
)
(br $while-in)
)
(set_local $0
(i32.const 0)
)
)
)
(i32.const 0)
)
(func $_silk_resampler (; 170 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(set_local $6
(i32.sub
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 284)
)
)
)
(tee_local $4
(i32.load
(tee_local $7
(i32.add
(get_local $0)
(i32.const 292)
)
)
)
)
)
)
(drop
(call $_memcpy
(i32.add
(i32.add
(get_local $0)
(i32.const 168)
)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
)
(drop
(call $_memcpy
(tee_local $0
(block $switch (result i32)
(block $switch-default
(block $switch-case1
(block $switch-case0
(block $switch-case
(br_table $switch-case $switch-case0 $switch-case1 $switch-default
(i32.sub
(i32.load offset=264
(get_local $0)
)
(i32.const 1)
)
)
)
(call $_silk_resampler_private_up2_HQ_wrapper
(get_local $0)
(get_local $1)
(tee_local $4
(i32.add
(get_local $0)
(i32.const 168)
)
)
(i32.load
(get_local $5)
)
)
(call $_silk_resampler_private_up2_HQ_wrapper
(get_local $0)
(i32.add
(get_local $1)
(i32.shl
(i32.load offset=288
(get_local $0)
)
(i32.const 1)
)
)
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
(i32.sub
(get_local $3)
(i32.load
(get_local $5)
)
)
)
(br $switch
(get_local $4)
)
)
(call $_silk_resampler_private_IIR_FIR
(get_local $0)
(get_local $1)
(tee_local $4
(i32.add
(get_local $0)
(i32.const 168)
)
)
(i32.load
(get_local $5)
)
)
(call $_silk_resampler_private_IIR_FIR
(get_local $0)
(i32.add
(get_local $1)
(i32.shl
(i32.load offset=288
(get_local $0)
)
(i32.const 1)
)
)
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
(i32.sub
(get_local $3)
(i32.load
(get_local $5)
)
)
)
(br $switch
(get_local $4)
)
)
(call $_silk_resampler_private_down_FIR
(get_local $0)
(get_local $1)
(tee_local $4
(i32.add
(get_local $0)
(i32.const 168)
)
)
(i32.load
(get_local $5)
)
)
(call $_silk_resampler_private_down_FIR
(get_local $0)
(i32.add
(get_local $1)
(i32.shl
(i32.load offset=288
(get_local $0)
)
(i32.const 1)
)
)
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
(i32.sub
(get_local $3)
(i32.load
(get_local $5)
)
)
)
(br $switch
(get_local $4)
)
)
(drop
(call $_memcpy
(get_local $1)
(tee_local $4
(i32.add
(get_local $0)
(i32.const 168)
)
)
(i32.shl
(i32.load
(get_local $5)
)
(i32.const 1)
)
)
)
(drop
(call $_memcpy
(i32.add
(get_local $1)
(i32.shl
(i32.load offset=288
(get_local $0)
)
(i32.const 1)
)
)
(i32.add
(get_local $2)
(i32.shl
(get_local $6)
(i32.const 1)
)
)
(i32.shl
(i32.sub
(get_local $3)
(i32.load
(get_local $5)
)
)
(i32.const 1)
)
)
)
(get_local $4)
)
)
(i32.add
(get_local $2)
(i32.shl
(i32.sub
(get_local $3)
(tee_local $0
(i32.load
(get_local $7)
)
)
)
(i32.const 1)
)
)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
)
)
(func $_silk_resampler_private_AR2 (; 171 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(set_local $8
(i32.add
(get_local $0)
(i32.const 4)
)
)
(set_local $9
(i32.add
(get_local $3)
(i32.const 2)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $5)
(get_local $4)
)
(block
(i32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(tee_local $6
(i32.add
(i32.load
(get_local $0)
)
(i32.shl
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
(i32.const 8)
)
)
)
)
(i32.store
(get_local $0)
(i32.add
(i32.load
(get_local $8)
)
(i32.add
(i32.mul
(tee_local $7
(i32.shr_s
(tee_local $6
(i32.shl
(get_local $6)
(i32.const 2)
)
)
(i32.const 16)
)
)
(tee_local $10
(i32.load16_s
(get_local $3)
)
)
)
(i32.shr_s
(i32.mul
(tee_local $6
(i32.and
(get_local $6)
(i32.const 65532)
)
)
(get_local $10)
)
(i32.const 16)
)
)
)
)
(i32.store
(get_local $8)
(i32.add
(i32.mul
(get_local $7)
(tee_local $7
(i32.load16_s
(get_local $9)
)
)
)
(i32.shr_s
(i32.mul
(get_local $6)
(get_local $7)
)
(i32.const 16)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_silk_resampler_private_down_FIR (; 172 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(set_local $9
(get_global $STACKTOP)
)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(i32.add
(tee_local $4
(i32.load
(tee_local $10
(i32.add
(get_local $0)
(i32.const 268)
)
)
)
)
(tee_local $8
(i32.load
(tee_local $6
(i32.add
(get_local $0)
(i32.const 276)
)
)
)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(drop
(call $_memcpy
(get_local $5)
(tee_local $11
(i32.add
(get_local $0)
(i32.const 24)
)
)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
)
(set_local $13
(i32.add
(i32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.const 296)
)
)
)
(i32.const 4)
)
)
(set_local $14
(i32.load offset=272
(get_local $0)
)
)
(set_local $15
(i32.add
(get_local $0)
(i32.const 280)
)
)
(set_local $7
(get_local $2)
)
(set_local $2
(get_local $8)
)
(loop $while-in
(call $_silk_resampler_private_AR2
(get_local $0)
(i32.add
(get_local $5)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
(get_local $7)
(i32.load
(get_local $12)
)
(if (result i32)
(i32.lt_s
(get_local $3)
(get_local $4)
)
(tee_local $4
(get_local $3)
)
(get_local $4)
)
)
(set_local $1
(call $_silk_resampler_private_down_FIR_INTERPOL
(get_local $1)
(get_local $5)
(get_local $13)
(i32.load
(get_local $6)
)
(i32.load
(get_local $15)
)
(i32.shl
(get_local $4)
(i32.const 16)
)
(get_local $14)
)
)
(if
(i32.gt_s
(tee_local $3
(i32.sub
(get_local $3)
(get_local $4)
)
)
(i32.const 1)
)
(block
(drop
(call $_memcpy
(get_local $5)
(i32.add
(get_local $5)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(i32.shl
(tee_local $2
(i32.load
(get_local $6)
)
)
(i32.const 2)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
(set_local $4
(i32.load
(get_local $10)
)
)
(br $while-in)
)
)
)
(drop
(call $_memcpy
(get_local $11)
(i32.add
(get_local $5)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(i32.shl
(i32.load
(get_local $6)
)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $9)
)
)
(func $_silk_resampler_private_down_FIR_INTERPOL (; 173 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(block $switch (result i32)
(block $switch-default
(block $switch-case5
(block $switch-case2
(block $switch-case
(br_table $switch-case $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case2 $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-default $switch-case5 $switch-default
(i32.sub
(get_local $3)
(i32.const 18)
)
)
)
(set_local $15
(i32.shr_s
(i32.shl
(get_local $4)
(i32.const 16)
)
(i32.const 16)
)
)
(set_local $16
(i32.add
(get_local $4)
(i32.const -1)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $14)
(get_local $5)
)
(block
(i32.store16
(get_local $0)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $3
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load
(tee_local $3
(i32.add
(get_local $1)
(i32.shl
(i32.shr_s
(get_local $14)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
)
(i32.const 16)
)
(tee_local $13
(i32.load16_s
(tee_local $4
(i32.add
(get_local $2)
(i32.shl
(i32.mul
(tee_local $12
(i32.shr_s
(i32.mul
(i32.and
(get_local $14)
(i32.const 65535)
)
(get_local $15)
)
(i32.const 16)
)
)
(i32.const 9)
)
(i32.const 1)
)
)
)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $13)
)
(i32.const 16)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=4
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $13
(i32.load16_s offset=2
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $13)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=8
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $13
(i32.load16_s offset=4
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $13)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=12
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $13
(i32.load16_s offset=6
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $13)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=16
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $13
(i32.load16_s offset=8
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $13)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=20
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $13
(i32.load16_s offset=10
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $13)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=24
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $13
(i32.load16_s offset=12
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $13)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=28
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $13
(i32.load16_s offset=14
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $13)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=32
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $4
(i32.load16_s offset=16
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $4)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=68
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $12
(i32.load16_s
(tee_local $4
(i32.add
(get_local $2)
(i32.shl
(i32.mul
(i32.sub
(get_local $16)
(get_local $12)
)
(i32.const 9)
)
(i32.const 1)
)
)
)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $12)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=64
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $12
(i32.load16_s offset=2
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $12)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=60
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $12
(i32.load16_s offset=4
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $12)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=56
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $12
(i32.load16_s offset=6
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $12)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=52
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $12
(i32.load16_s offset=8
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $12)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=48
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $12
(i32.load16_s offset=10
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $12)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=44
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $12
(i32.load16_s offset=12
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $12)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $7
(i32.load offset=40
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $12
(i32.load16_s offset=14
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $7)
(i32.const 65535)
)
(get_local $12)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $3
(i32.load offset=36
(get_local $3)
)
)
(i32.const 16)
)
(tee_local $4
(i32.load16_s offset=16
(get_local $4)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $3)
(i32.const 65535)
)
(get_local $4)
)
(i32.const 16)
)
)
)
(i32.const 5)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $3)
(tee_local $3
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $3)
(i32.const 32767)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 2)
)
)
(set_local $14
(i32.add
(get_local $14)
(get_local $6)
)
)
(br $while-in)
)
)
)
(return
(get_local $0)
)
)
(set_local $14
(i32.add
(get_local $2)
(i32.const 2)
)
)
(set_local $15
(i32.add
(get_local $2)
(i32.const 4)
)
)
(set_local $16
(i32.add
(get_local $2)
(i32.const 6)
)
)
(set_local $7
(i32.add
(get_local $2)
(i32.const 8)
)
)
(set_local $12
(i32.add
(get_local $2)
(i32.const 10)
)
)
(set_local $13
(i32.add
(get_local $2)
(i32.const 12)
)
)
(set_local $17
(i32.add
(get_local $2)
(i32.const 14)
)
)
(set_local $18
(i32.add
(get_local $2)
(i32.const 16)
)
)
(set_local $19
(i32.add
(get_local $2)
(i32.const 18)
)
)
(set_local $20
(i32.add
(get_local $2)
(i32.const 20)
)
)
(set_local $21
(i32.add
(get_local $2)
(i32.const 22)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $4)
(get_local $5)
)
(block
(i32.store16
(get_local $0)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $3
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load
(tee_local $3
(i32.add
(get_local $1)
(i32.shl
(i32.shr_s
(get_local $4)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
(i32.load offset=92
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $2)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=4
(get_local $3)
)
(i32.load offset=88
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $14)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=8
(get_local $3)
)
(i32.load offset=84
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $15)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=12
(get_local $3)
)
(i32.load offset=80
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=16
(get_local $3)
)
(i32.load offset=76
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $7)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=20
(get_local $3)
)
(i32.load offset=72
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $12)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=24
(get_local $3)
)
(i32.load offset=68
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $13)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=28
(get_local $3)
)
(i32.load offset=64
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $17)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=32
(get_local $3)
)
(i32.load offset=60
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $18)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=36
(get_local $3)
)
(i32.load offset=56
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $19)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $10
(i32.add
(i32.load offset=40
(get_local $3)
)
(i32.load offset=52
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $11
(i32.load16_s
(get_local $20)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $10)
(i32.const 65535)
)
(get_local $11)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $3
(i32.add
(i32.load offset=44
(get_local $3)
)
(i32.load offset=48
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $10
(i32.load16_s
(get_local $21)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $3)
(i32.const 65535)
)
(get_local $10)
)
(i32.const 16)
)
)
)
(i32.const 5)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $3)
(tee_local $3
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $3)
(i32.const 32767)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 2)
)
)
(set_local $4
(i32.add
(get_local $4)
(get_local $6)
)
)
(br $while-in1)
)
)
)
(return
(get_local $0)
)
)
(set_local $14
(i32.add
(get_local $2)
(i32.const 2)
)
)
(set_local $15
(i32.add
(get_local $2)
(i32.const 4)
)
)
(set_local $16
(i32.add
(get_local $2)
(i32.const 6)
)
)
(set_local $7
(i32.add
(get_local $2)
(i32.const 8)
)
)
(set_local $12
(i32.add
(get_local $2)
(i32.const 10)
)
)
(set_local $13
(i32.add
(get_local $2)
(i32.const 12)
)
)
(set_local $17
(i32.add
(get_local $2)
(i32.const 14)
)
)
(set_local $18
(i32.add
(get_local $2)
(i32.const 16)
)
)
(set_local $19
(i32.add
(get_local $2)
(i32.const 18)
)
)
(set_local $20
(i32.add
(get_local $2)
(i32.const 20)
)
)
(set_local $21
(i32.add
(get_local $2)
(i32.const 22)
)
)
(set_local $10
(i32.add
(get_local $2)
(i32.const 24)
)
)
(set_local $11
(i32.add
(get_local $2)
(i32.const 26)
)
)
(set_local $22
(i32.add
(get_local $2)
(i32.const 28)
)
)
(set_local $23
(i32.add
(get_local $2)
(i32.const 30)
)
)
(set_local $24
(i32.add
(get_local $2)
(i32.const 32)
)
)
(set_local $25
(i32.add
(get_local $2)
(i32.const 34)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in4
(if
(i32.lt_s
(get_local $4)
(get_local $5)
)
(block
(i32.store16
(get_local $0)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $3
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load
(tee_local $3
(i32.add
(get_local $1)
(i32.shl
(i32.shr_s
(get_local $4)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
(i32.load offset=140
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $2)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=4
(get_local $3)
)
(i32.load offset=136
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $14)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=8
(get_local $3)
)
(i32.load offset=132
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $15)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=12
(get_local $3)
)
(i32.load offset=128
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $16)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=16
(get_local $3)
)
(i32.load offset=124
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $7)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=20
(get_local $3)
)
(i32.load offset=120
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $12)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=24
(get_local $3)
)
(i32.load offset=116
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $13)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=28
(get_local $3)
)
(i32.load offset=112
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $17)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=32
(get_local $3)
)
(i32.load offset=108
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $18)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=36
(get_local $3)
)
(i32.load offset=104
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $19)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=40
(get_local $3)
)
(i32.load offset=100
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $20)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=44
(get_local $3)
)
(i32.load offset=96
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $21)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=48
(get_local $3)
)
(i32.load offset=92
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $10)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=52
(get_local $3)
)
(i32.load offset=88
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $11)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=56
(get_local $3)
)
(i32.load offset=84
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $22)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=60
(get_local $3)
)
(i32.load offset=80
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $23)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $8
(i32.add
(i32.load offset=64
(get_local $3)
)
(i32.load offset=76
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $9
(i32.load16_s
(get_local $24)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $8)
(i32.const 65535)
)
(get_local $9)
)
(i32.const 16)
)
)
)
(i32.add
(i32.mul
(i32.shr_s
(tee_local $3
(i32.add
(i32.load offset=68
(get_local $3)
)
(i32.load offset=72
(get_local $3)
)
)
)
(i32.const 16)
)
(tee_local $8
(i32.load16_s
(get_local $25)
)
)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $3)
(i32.const 65535)
)
(get_local $8)
)
(i32.const 16)
)
)
)
(i32.const 5)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $3)
(tee_local $3
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $3)
(i32.const 32767)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 2)
)
)
(set_local $4
(i32.add
(get_local $4)
(get_local $6)
)
)
(br $while-in4)
)
)
)
(return
(get_local $0)
)
)
(get_local $0)
)
)
(func $_silk_resampler_private_IIR_FIR (; 174 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(set_local $7
(get_global $STACKTOP)
)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(tee_local $4
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 268)
)
)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 31)
)
(i32.const -16)
)
)
)
(i64.store align=2
(get_local $5)
(i64.load align=2
(tee_local $6
(i32.add
(get_local $0)
(i32.const 24)
)
)
)
)
(i64.store offset=8 align=2
(get_local $5)
(i64.load offset=8 align=2
(get_local $6)
)
)
(set_local $9
(i32.load offset=272
(get_local $0)
)
)
(set_local $10
(i32.add
(get_local $5)
(i32.const 16)
)
)
(loop $while-in
(call $_silk_resampler_private_up2_HQ
(get_local $0)
(get_local $10)
(get_local $2)
(if (result i32)
(i32.lt_s
(get_local $3)
(get_local $4)
)
(tee_local $4
(get_local $3)
)
(get_local $4)
)
)
(set_local $1
(call $_silk_resampler_private_IIR_FIR_INTERPOL
(get_local $1)
(get_local $5)
(i32.shl
(get_local $4)
(i32.const 17)
)
(get_local $9)
)
)
(if
(i32.gt_s
(tee_local $3
(i32.sub
(get_local $3)
(get_local $4)
)
)
(i32.const 0)
)
(block
(i64.store align=2
(get_local $5)
(i64.load align=2
(tee_local $11
(i32.add
(get_local $5)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
(i64.store offset=8 align=2
(get_local $5)
(i64.load offset=8 align=2
(get_local $11)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
)
(set_local $4
(i32.load
(get_local $8)
)
)
(br $while-in)
)
)
)
(i64.store align=2
(get_local $6)
(i64.load align=2
(tee_local $0
(i32.add
(get_local $5)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
)
(i64.store offset=8 align=2
(get_local $6)
(i64.load offset=8 align=2
(get_local $0)
)
)
(set_global $STACKTOP
(get_local $7)
)
)
(func $_silk_resampler_private_IIR_FIR_INTERPOL (; 175 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(loop $while-in
(if
(i32.lt_s
(get_local $5)
(get_local $2)
)
(block
(set_local $7
(i32.sub
(i32.const 11)
(tee_local $6
(i32.shr_u
(i32.mul
(i32.and
(get_local $5)
(i32.const 65535)
)
(i32.const 12)
)
(i32.const 16)
)
)
)
)
(i32.store16
(get_local $0)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $4
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.add
(i32.mul
(i32.load16_s
(tee_local $4
(i32.add
(get_local $1)
(i32.shl
(i32.shr_s
(get_local $5)
(i32.const 16)
)
(i32.const 1)
)
)
)
)
(i32.load16_s
(i32.add
(i32.shl
(get_local $6)
(i32.const 3)
)
(i32.const 24878)
)
)
)
(i32.mul
(i32.load16_s offset=2
(get_local $4)
)
(i32.load16_s
(i32.add
(i32.shl
(get_local $6)
(i32.const 3)
)
(i32.const 24880)
)
)
)
)
(i32.mul
(i32.load16_s offset=4
(get_local $4)
)
(i32.load16_s
(i32.add
(i32.shl
(get_local $6)
(i32.const 3)
)
(i32.const 24882)
)
)
)
)
(i32.mul
(i32.load16_s offset=6
(get_local $4)
)
(i32.load16_s
(i32.add
(i32.shl
(get_local $6)
(i32.const 3)
)
(i32.const 24884)
)
)
)
)
(i32.mul
(i32.load16_s offset=8
(get_local $4)
)
(i32.load16_s
(i32.add
(i32.shl
(get_local $7)
(i32.const 3)
)
(i32.const 24884)
)
)
)
)
(i32.mul
(i32.load16_s offset=10
(get_local $4)
)
(i32.load16_s
(i32.add
(i32.shl
(get_local $7)
(i32.const 3)
)
(i32.const 24882)
)
)
)
)
(i32.mul
(i32.load16_s offset=12
(get_local $4)
)
(i32.load16_s
(i32.add
(i32.shl
(get_local $7)
(i32.const 3)
)
(i32.const 24880)
)
)
)
)
(i32.mul
(i32.load16_s offset=14
(get_local $4)
)
(i32.load16_s
(i32.add
(i32.shl
(get_local $7)
(i32.const 3)
)
(i32.const 24878)
)
)
)
)
(i32.const 14)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $4)
(tee_local $4
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $4)
(i32.const 32767)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 2)
)
)
(set_local $5
(i32.add
(get_local $5)
(get_local $3)
)
)
(br $while-in)
)
)
)
(get_local $0)
)
(func $_silk_resampler_private_up2_HQ (; 176 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(set_local $9
(i32.add
(get_local $0)
(i32.const 4)
)
)
(set_local $10
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $11
(i32.add
(get_local $0)
(i32.const 12)
)
)
(set_local $12
(i32.add
(get_local $0)
(i32.const 16)
)
)
(set_local $13
(i32.add
(get_local $0)
(i32.const 20)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(get_local $3)
)
(block
(set_local $4
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.sub
(tee_local $5
(i32.shl
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
)
(i32.const 10)
)
)
(tee_local $6
(i32.load
(get_local $0)
)
)
)
)
(i32.const 16)
)
(i32.const 1746)
)
(i32.shr_u
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(i32.const 1746)
)
(i32.const 16)
)
)
)
(i32.store
(get_local $0)
(i32.add
(get_local $5)
(get_local $4)
)
)
(set_local $4
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.sub
(tee_local $6
(i32.add
(get_local $6)
(get_local $4)
)
)
(tee_local $8
(i32.load
(get_local $9)
)
)
)
)
(i32.const 16)
)
(i32.const 14986)
)
(i32.shr_u
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(i32.const 14986)
)
(i32.const 16)
)
)
)
(i32.store
(get_local $9)
(i32.add
(get_local $6)
(get_local $4)
)
)
(set_local $8
(i32.add
(i32.mul
(i32.shr_s
(tee_local $6
(i32.sub
(tee_local $4
(i32.add
(get_local $8)
(get_local $4)
)
)
(i32.load
(get_local $10)
)
)
)
(i32.const 16)
)
(i32.const -26453)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $6)
(i32.const 65535)
)
(i32.const -26453)
)
(i32.const 16)
)
)
)
(i32.store
(get_local $10)
(i32.add
(get_local $4)
(i32.add
(get_local $6)
(get_local $8)
)
)
)
(i32.store16
(i32.add
(get_local $1)
(i32.shl
(tee_local $14
(i32.shl
(get_local $7)
(i32.const 1)
)
)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $4
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(get_local $4)
(get_local $8)
)
(i32.const 9)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $4)
(tee_local $4
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $4)
(i32.const 32767)
)
)
(i32.store
(get_local $11)
(i32.add
(get_local $5)
(tee_local $5
(i32.add
(i32.mul
(i32.shr_s
(tee_local $5
(i32.sub
(get_local $5)
(tee_local $4
(i32.load
(get_local $11)
)
)
)
)
(i32.const 16)
)
(i32.const 6854)
)
(i32.shr_u
(i32.mul
(i32.and
(get_local $5)
(i32.const 65535)
)
(i32.const 6854)
)
(i32.const 16)
)
)
)
)
)
(set_local $4
(i32.add
(i32.mul
(i32.shr_s
(tee_local $4
(i32.sub
(tee_local $5
(i32.add
(get_local $4)
(get_local $5)
)
)
(tee_local $6
(i32.load
(get_local $12)
)
)
)
)
(i32.const 16)
)
(i32.const 25769)
)
(i32.shr_u
(i32.mul
(i32.and
(get_local $4)
(i32.const 65535)
)
(i32.const 25769)
)
(i32.const 16)
)
)
)
(i32.store
(get_local $12)
(i32.add
(get_local $5)
(get_local $4)
)
)
(set_local $6
(i32.add
(i32.mul
(i32.shr_s
(tee_local $5
(i32.sub
(tee_local $4
(i32.add
(get_local $6)
(get_local $4)
)
)
(i32.load
(get_local $13)
)
)
)
(i32.const 16)
)
(i32.const -9994)
)
(i32.shr_s
(i32.mul
(i32.and
(get_local $5)
(i32.const 65535)
)
(i32.const -9994)
)
(i32.const 16)
)
)
)
(i32.store
(get_local $13)
(i32.add
(get_local $4)
(i32.add
(get_local $5)
(get_local $6)
)
)
)
(i32.store16
(i32.add
(get_local $1)
(i32.shl
(i32.or
(get_local $14)
(i32.const 1)
)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $4
(i32.shr_s
(i32.add
(i32.shr_s
(i32.add
(get_local $4)
(get_local $6)
)
(i32.const 9)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $4)
(tee_local $4
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $4)
(i32.const 32767)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_silk_resampler_private_up2_HQ_wrapper (; 177 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(call $_silk_resampler_private_up2_HQ
(get_local $0)
(get_local $1)
(get_local $2)
(get_local $3)
)
)
(func $_silk_insertion_sort_increasing_all_values_int16 (; 178 ;) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(set_local $2
(i32.const 1)
)
(loop $while-in
(if
(i32.lt_s
(get_local $2)
(get_local $1)
)
(block
(set_local $4
(i32.load16_s
(i32.add
(get_local $0)
(i32.shl
(get_local $2)
(i32.const 1)
)
)
)
)
(set_local $3
(get_local $2)
)
(loop $while-in1
(block $while-out0
(br_if $while-out0
(i32.le_s
(get_local $3)
(i32.const 0)
)
)
(br_if $while-out0
(i32.ge_s
(get_local $4)
(tee_local $6
(i32.load16_s
(i32.add
(get_local $0)
(i32.shl
(tee_local $5
(i32.add
(get_local $3)
(i32.const -1)
)
)
(i32.const 1)
)
)
)
)
)
)
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(get_local $6)
)
(set_local $3
(get_local $5)
)
(br $while-in1)
)
)
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(get_local $4)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_silk_sum_sqr_shift (; 179 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(set_local $6
(i32.sub
(i32.const 31)
(call $_silk_CLZ32
(get_local $3)
)
)
)
(set_local $8
(i32.and
(i32.add
(if (result i32)
(i32.gt_s
(tee_local $7
(i32.add
(get_local $3)
(i32.const -1)
)
)
(i32.const 0)
)
(get_local $7)
(i32.const 0)
)
(i32.const 1)
)
(i32.const -2)
)
)
(set_local $4
(get_local $3)
)
(loop $while-in
(if
(i32.lt_s
(get_local $5)
(get_local $7)
)
(block
(set_local $4
(i32.add
(get_local $4)
(i32.shr_u
(i32.add
(i32.mul
(tee_local $4
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
(get_local $4)
)
(i32.mul
(tee_local $4
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(i32.or
(get_local $5)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(get_local $4)
)
)
(get_local $6)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 2)
)
)
(br $while-in)
)
)
)
(if
(i32.lt_s
(get_local $8)
(get_local $3)
)
(set_local $4
(i32.add
(get_local $4)
(i32.shr_u
(i32.mul
(tee_local $4
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(get_local $8)
(i32.const 1)
)
)
)
)
(get_local $4)
)
(get_local $6)
)
)
)
)
(set_local $6
(call $_silk_max_int_126
(i32.sub
(i32.add
(get_local $6)
(i32.const 3)
)
(call $_silk_CLZ32
(get_local $4)
)
)
)
)
(set_local $8
(i32.and
(i32.add
(if (result i32)
(i32.gt_s
(get_local $7)
(i32.const 0)
)
(get_local $7)
(i32.const 0)
)
(i32.const 1)
)
(i32.const -2)
)
)
(set_local $5
(i32.const 0)
)
(set_local $4
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $5)
(get_local $7)
)
(block
(set_local $9
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
)
)
(set_local $10
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(i32.or
(get_local $5)
(i32.const 1)
)
(i32.const 1)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 2)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.shr_u
(i32.add
(i32.mul
(get_local $9)
(get_local $9)
)
(i32.mul
(get_local $10)
(get_local $10)
)
)
(get_local $6)
)
)
)
(br $while-in1)
)
)
)
(if
(i32.ge_s
(get_local $8)
(get_local $3)
)
(block
(i32.store
(get_local $1)
(get_local $6)
)
(i32.store
(get_local $0)
(get_local $4)
)
(return)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.shr_u
(i32.mul
(tee_local $2
(i32.load16_s
(i32.add
(get_local $2)
(i32.shl
(get_local $8)
(i32.const 1)
)
)
)
)
(get_local $2)
)
(get_local $6)
)
)
)
(i32.store
(get_local $1)
(get_local $6)
)
(i32.store
(get_local $0)
(get_local $4)
)
)
(func $_silk_stereo_decode_pred (; 180 ;) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 32)
)
)
(i32.store offset=8
(get_local $3)
(tee_local $4
(i32.div_s
(tee_local $2
(call $_ec_dec_icdf
(get_local $0)
(i32.const 28326)
(i32.const 8)
)
)
(i32.const 5)
)
)
)
(i32.store offset=20
(get_local $3)
(i32.add
(get_local $2)
(i32.mul
(get_local $4)
(i32.const -5)
)
)
)
(set_local $2
(i32.const 0)
)
(loop $while-in
(if
(i32.eq
(get_local $2)
(i32.const 2)
)
(set_local $0
(i32.const 0)
)
(block
(i32.store
(i32.add
(get_local $3)
(i32.mul
(get_local $2)
(i32.const 12)
)
)
(call $_ec_dec_icdf
(get_local $0)
(i32.const 28379)
(i32.const 8)
)
)
(i32.store offset=4
(i32.add
(get_local $3)
(i32.mul
(get_local $2)
(i32.const 12)
)
)
(call $_ec_dec_icdf
(get_local $0)
(i32.const 28386)
(i32.const 8)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(loop $while-in1
(if
(i32.ne
(get_local $0)
(i32.const 2)
)
(block
(set_local $2
(i32.add
(i32.load
(tee_local $4
(i32.add
(get_local $3)
(i32.mul
(get_local $0)
(i32.const 12)
)
)
)
)
(i32.mul
(i32.load offset=8
(i32.add
(get_local $3)
(i32.mul
(get_local $0)
(i32.const 12)
)
)
)
(i32.const 3)
)
)
)
(i32.store
(get_local $4)
(get_local $2)
)
(i32.store
(i32.add
(get_local $1)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(i32.add
(i32.mul
(i32.shr_s
(i32.add
(i32.mul
(i32.shr_s
(i32.sub
(tee_local $4
(i32.load16_s
(i32.add
(i32.shl
(get_local $2)
(i32.const 1)
)
(i32.const 24330)
)
)
)
(tee_local $2
(i32.load16_s
(i32.add
(i32.shl
(get_local $2)
(i32.const 1)
)
(i32.const 24328)
)
)
)
)
(i32.const 16)
)
(i32.const 429522944)
)
(i32.mul
(i32.and
(i32.sub
(i32.and
(get_local $4)
(i32.const 65535)
)
(get_local $2)
)
(i32.const 65535)
)
(i32.const 6554)
)
)
(i32.const 16)
)
(i32.or
(i32.shr_s
(i32.shl
(i32.load offset=4
(i32.add
(get_local $3)
(i32.mul
(get_local $0)
(i32.const 12)
)
)
)
(i32.const 17)
)
(i32.const 16)
)
(i32.const 1)
)
)
(get_local $2)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(i32.store
(get_local $1)
(i32.sub
(i32.load
(get_local $1)
)
(i32.load offset=4
(get_local $1)
)
)
)
(set_global $STACKTOP
(get_local $3)
)
)
(func $_silk_stereo_decode_mid_only (; 181 ;) (param $0 i32) (param $1 i32)
(i32.store
(get_local $1)
(call $_ec_dec_icdf
(get_local $0)
(i32.const 28351)
(i32.const 8)
)
)
)
(func $_silk_LPC_fit (; 182 ;) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(loop $while-in
(block $while-out
(br_if $while-out
(i32.ge_s
(get_local $7)
(i32.const 10)
)
)
(set_local $5
(i32.const 0)
)
(set_local $6
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $6)
(get_local $2)
)
(block
(set_local $8
(i32.sub
(i32.const 0)
(tee_local $3
(i32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
)
)
(if
(tee_local $8
(i32.gt_s
(if (result i32)
(i32.gt_s
(get_local $3)
(i32.const 0)
)
(get_local $3)
(tee_local $3
(get_local $8)
)
)
(get_local $5)
)
)
(set_local $4
(get_local $6)
)
)
(if
(get_local $8)
(set_local $5
(get_local $3)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(br_if $while-out
(i32.le_s
(tee_local $3
(i32.shr_s
(i32.add
(i32.shr_s
(get_local $5)
(i32.const 4)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const 32767)
)
)
(call $_silk_bwexpander_32
(get_local $1)
(get_local $2)
(i32.sub
(i32.const 65470)
(i32.div_s
(i32.add
(i32.shl
(if (result i32)
(i32.lt_s
(get_local $3)
(i32.const 163838)
)
(get_local $3)
(tee_local $3
(i32.const 163838)
)
)
(i32.const 14)
)
(i32.const -536854528)
)
(i32.shr_s
(i32.mul
(get_local $3)
(i32.add
(get_local $4)
(i32.const 1)
)
)
(i32.const 2)
)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
)
(if
(i32.eq
(get_local $7)
(i32.const 10)
)
(block
(set_local $3
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $3)
(get_local $2)
)
(block
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(get_local $3)
(i32.const 1)
)
)
(if (result i32)
(i32.lt_s
(if (result i32)
(i32.gt_s
(tee_local $4
(i32.shr_s
(i32.add
(i32.shr_s
(i32.load
(tee_local $5
(i32.add
(get_local $1)
(i32.shl
(get_local $3)
(i32.const 2)
)
)
)
)
(i32.const 4)
)
(i32.const 1)
)
(i32.const 1)
)
)
(i32.const -32768)
)
(get_local $4)
(tee_local $4
(i32.const -32768)
)
)
(i32.const 32767)
)
(get_local $4)
(tee_local $4
(i32.const 32767)
)
)
)
(i32.store
(get_local $5)
(i32.shr_s
(i32.shl
(get_local $4)
(i32.const 16)
)
(i32.const 11)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
)
(block
(set_local $4
(i32.const 0)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $4)
(get_local $2)
)
(block
(i32.store16
(i32.add
(get_local $0)
(i32.shl
(get_local $4)
(i32.const 1)
)
)
(i32.shr_u
(i32.add
(i32.shr_u
(i32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(i32.const 4)
)
(i32.const 1)
)
(i32.const 1)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
)
)
)
(func $_opus_pcm_soft_clip (; 183 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 f32)
(local $5 i32)
(local $6 i32)
(local $7 f32)
(local $8 i32)
(local $9 i32)
(local $10 f32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 f32)
(local $16 i32)
(local $17 i32)
(local $18 f32)
(local $19 f32)
(if
(i32.or
(i32.or
(i32.or
(i32.lt_s
(get_local $2)
(i32.const 1)
)
(i32.lt_s
(get_local $1)
(i32.const 1)
)
)
(i32.eqz
(get_local $0)
)
)
(i32.eqz
(get_local $3)
)
)
(return)
)
(set_local $8
(i32.mul
(get_local $1)
(get_local $2)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $11)
(get_local $8)
)
(block
(set_local $13
(f32.gt
(tee_local $7
(f32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.shl
(get_local $11)
(i32.const 2)
)
)
)
)
)
(f32.const 2)
)
)
(set_local $6
(i32.or
(tee_local $5
(f32.lt
(get_local $7)
(f32.const -2)
)
)
(get_local $13)
)
)
(set_local $4
(if (result f32)
(i32.and
(get_local $5)
(i32.xor
(get_local $13)
(i32.const 1)
)
)
(f32.const -2)
(f32.const 2)
)
)
(f32.store
(get_local $12)
(if (result f32)
(get_local $6)
(get_local $4)
(get_local $7)
)
)
(set_local $11
(i32.add
(get_local $11)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(loop $while-in1
(if
(i32.ne
(get_local $14)
(get_local $2)
)
(block
(set_local $9
(i32.add
(get_local $0)
(i32.shl
(get_local $14)
(i32.const 2)
)
)
)
(set_local $7
(f32.load
(tee_local $17
(i32.add
(get_local $3)
(i32.shl
(get_local $14)
(i32.const 2)
)
)
)
)
)
(set_local $5
(i32.const 0)
)
(loop $while-in3
(block $while-out2
(br_if $while-out2
(i32.ge_s
(get_local $5)
(get_local $1)
)
)
(br_if $while-out2
(f32.ge
(tee_local $4
(f32.mul
(tee_local $10
(f32.load
(tee_local $6
(i32.add
(get_local $9)
(i32.shl
(i32.mul
(get_local $5)
(get_local $2)
)
(i32.const 2)
)
)
)
)
)
(get_local $7)
)
)
(f32.const 0)
)
)
(f32.store
(get_local $6)
(f32.add
(get_local $10)
(f32.mul
(get_local $4)
(get_local $10)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in3)
)
)
(set_local $18
(f32.load
(get_local $9)
)
)
(set_local $12
(i32.const 0)
)
(loop $while-in5
(block $while-out4
(set_local $6
(get_local $12)
)
(loop $while-in7
(block $while-out6
(br_if $while-out6
(i32.ge_s
(get_local $6)
(get_local $1)
)
)
(br_if $while-out6
(i32.or
(f32.gt
(tee_local $4
(f32.load
(i32.add
(get_local $9)
(i32.shl
(i32.mul
(get_local $6)
(get_local $2)
)
(i32.const 2)
)
)
)
)
(f32.const 1)
)
(f32.lt
(get_local $4)
(f32.const -1)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in7)
)
)
(if
(i32.eq
(get_local $6)
(get_local $1)
)
(block
(set_local $7
(f32.const 0)
)
(br $while-out4)
)
)
(set_local $4
(f32.abs
(tee_local $10
(f32.load
(i32.add
(get_local $9)
(i32.shl
(i32.mul
(get_local $6)
(get_local $2)
)
(i32.const 2)
)
)
)
)
)
)
(set_local $8
(get_local $6)
)
(loop $while-in9
(block $while-out8
(if
(i32.le_s
(get_local $8)
(i32.const 0)
)
(block
(set_local $5
(get_local $6)
)
(br $while-out8)
)
)
(if
(f32.ge
(f32.mul
(get_local $10)
(f32.load
(i32.add
(get_local $9)
(i32.shl
(i32.mul
(tee_local $5
(i32.add
(get_local $8)
(i32.const -1)
)
)
(get_local $2)
)
(i32.const 2)
)
)
)
)
(f32.const 0)
)
(block
(set_local $8
(get_local $5)
)
(br $while-in9)
)
(set_local $5
(get_local $6)
)
)
)
)
(loop $while-in11
(block $while-out10
(br_if $while-out10
(i32.ge_s
(get_local $5)
(get_local $1)
)
)
(br_if $while-out10
(i32.eqz
(f32.ge
(f32.mul
(get_local $10)
(tee_local $7
(f32.load
(i32.add
(get_local $9)
(i32.shl
(i32.mul
(get_local $5)
(get_local $2)
)
(i32.const 2)
)
)
)
)
)
(f32.const 0)
)
)
)
(if
(tee_local $13
(f32.gt
(tee_local $7
(f32.abs
(get_local $7)
)
)
(get_local $4)
)
)
(set_local $4
(get_local $7)
)
)
(if
(get_local $13)
(set_local $6
(get_local $5)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(br $while-in11)
)
)
(set_local $11
(if (result i32)
(get_local $8)
(i32.const 0)
(f32.ge
(f32.mul
(get_local $10)
(f32.load
(get_local $9)
)
)
(f32.const 0)
)
)
)
(set_local $7
(f32.neg
(tee_local $4
(f32.add
(tee_local $4
(f32.div
(f32.add
(get_local $4)
(f32.const -1)
)
(f32.mul
(get_local $4)
(get_local $4)
)
)
)
(f32.mul
(get_local $4)
(f32.const 2.399999914359796e-07)
)
)
)
)
)
(if
(i32.eqz
(f32.gt
(get_local $10)
(f32.const 0)
)
)
(set_local $7
(get_local $4)
)
)
(loop $while-in13
(if
(i32.lt_s
(get_local $8)
(get_local $5)
)
(block
(set_local $4
(f32.load
(tee_local $13
(i32.add
(get_local $9)
(i32.shl
(i32.mul
(get_local $8)
(get_local $2)
)
(i32.const 2)
)
)
)
)
)
(f32.store
(get_local $13)
(f32.add
(get_local $4)
(f32.mul
(f32.mul
(get_local $7)
(get_local $4)
)
(get_local $4)
)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in13)
)
)
)
(block $label$break$L38
(if
(i32.and
(get_local $11)
(i32.gt_s
(get_local $6)
(i32.const 1)
)
)
(block
(set_local $19
(f32.div
(tee_local $4
(f32.sub
(get_local $18)
(f32.load
(get_local $9)
)
)
)
(f32.convert_s/i32
(get_local $6)
)
)
)
(loop $while-in15
(br_if $label$break$L38
(i32.ge_s
(get_local $12)
(get_local $6)
)
)
(set_local $15
(f32.add
(f32.load
(tee_local $16
(i32.add
(get_local $9)
(i32.shl
(i32.mul
(get_local $12)
(get_local $2)
)
(i32.const 2)
)
)
)
)
(tee_local $4
(f32.sub
(get_local $4)
(get_local $19)
)
)
)
)
(f32.store
(get_local $16)
(get_local $15)
)
(set_local $8
(i32.or
(tee_local $11
(f32.lt
(get_local $15)
(f32.const -1)
)
)
(tee_local $13
(f32.gt
(get_local $15)
(f32.const 1)
)
)
)
)
(set_local $10
(if (result f32)
(i32.and
(get_local $11)
(i32.xor
(get_local $13)
(i32.const 1)
)
)
(f32.const -1)
(f32.const 1)
)
)
(f32.store
(get_local $16)
(if (result f32)
(get_local $8)
(get_local $10)
(get_local $15)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.const 1)
)
)
(br $while-in15)
)
)
)
)
(if
(i32.ne
(get_local $5)
(get_local $1)
)
(block
(set_local $12
(get_local $5)
)
(br $while-in5)
)
)
)
)
(f32.store
(get_local $17)
(get_local $7)
)
(set_local $14
(i32.add
(get_local $14)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
)
(func $_opus_packet_get_samples_per_frame (; 184 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.lt_s
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.const 0)
)
(return
(i32.div_s
(i32.shl
(get_local $1)
(i32.and
(i32.shr_u
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.const 3)
)
(i32.const 3)
)
)
(i32.const 400)
)
)
)
(if (result i32)
(i32.eq
(i32.and
(get_local $0)
(i32.const 96)
)
(i32.const 96)
)
(if (result i32)
(i32.and
(get_local $0)
(i32.const 8)
)
(i32.div_s
(get_local $1)
(i32.const 50)
)
(i32.div_s
(get_local $1)
(i32.const 100)
)
)
(if (result i32)
(i32.eq
(tee_local $2
(i32.and
(i32.shr_u
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.const 3)
)
(i32.const 3)
)
)
(i32.const 3)
)
(i32.div_s
(i32.mul
(get_local $1)
(i32.const 60)
)
(i32.const 1000)
)
(i32.div_s
(i32.shl
(get_local $1)
(get_local $2)
)
(i32.const 100)
)
)
)
)
(func $_opus_packet_parse_impl (; 185 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(if
(i32.or
(i32.eqz
(get_local $4)
)
(i32.lt_s
(get_local $1)
(i32.const 0)
)
)
(return
(i32.const -1)
)
)
(if
(i32.eqz
(get_local $1)
)
(return
(i32.const -4)
)
)
(set_local $12
(call $_opus_packet_get_samples_per_frame
(tee_local $21
(i32.load8_s
(get_local $0)
)
)
(i32.const 48000)
)
)
(set_local $7
(i32.add
(get_local $0)
(i32.const 1)
)
)
(set_local $8
(i32.add
(get_local $1)
(i32.const -1)
)
)
(block $label$break$L59
(block $__rjti$2
(block $__rjti$1
(block $__rjti$0
(block $switch-default
(block $switch-case1
(block $switch-case0
(block $switch-case
(br_table $switch-case $switch-case0 $switch-case1 $switch-default
(i32.and
(get_local $21)
(i32.const 3)
)
)
)
(set_local $12
(i32.const 0)
)
(set_local $9
(i32.const 1)
)
(set_local $10
(get_local $7)
)
(set_local $11
(tee_local $1
(get_local $8)
)
)
(br $__rjti$0)
)
(if
(get_local $2)
(block
(set_local $12
(i32.const 1)
)
(set_local $9
(i32.const 2)
)
(set_local $10
(get_local $7)
)
(set_local $11
(tee_local $1
(get_local $8)
)
)
(br $__rjti$1)
)
(if
(i32.and
(get_local $8)
(i32.const 1)
)
(return
(i32.const -4)
)
(block
(i32.store16
(get_local $4)
(tee_local $1
(i32.div_s
(get_local $8)
(i32.const 2)
)
)
)
(set_local $9
(i32.const 2)
)
(set_local $11
(get_local $7)
)
(br $__rjti$2)
)
)
)
)
(set_local $10
(call $_parse_size
(get_local $7)
(get_local $8)
(get_local $4)
)
)
(if
(i32.lt_s
(tee_local $1
(i32.load16_s
(get_local $4)
)
)
(i32.const 0)
)
(return
(i32.const -4)
)
)
(if
(i32.lt_s
(tee_local $11
(i32.sub
(get_local $8)
(get_local $10)
)
)
(get_local $1)
)
(return
(i32.const -4)
)
(block
(set_local $12
(i32.const 0)
)
(set_local $9
(i32.const 2)
)
(set_local $10
(i32.add
(get_local $7)
(get_local $10)
)
)
(set_local $1
(i32.sub
(get_local $11)
(get_local $1)
)
)
(br $__rjti$0)
)
)
)
(if
(i32.lt_s
(get_local $1)
(i32.const 2)
)
(return
(i32.const -4)
)
)
(set_local $15
(tee_local $7
(i32.and
(tee_local $18
(i32.load8_s
(get_local $7)
)
)
(i32.const 63)
)
)
)
(if
(i32.or
(i32.eqz
(get_local $7)
)
(i32.gt_s
(i32.mul
(get_local $12)
(get_local $15)
)
(i32.const 5760)
)
)
(return
(i32.const -4)
)
)
(set_local $12
(i32.add
(get_local $0)
(i32.const 2)
)
)
(set_local $7
(i32.add
(get_local $1)
(i32.const -2)
)
)
(if
(i32.and
(get_local $18)
(i32.const 64)
)
(block
(set_local $1
(get_local $12)
)
(set_local $12
(i32.const 0)
)
(loop $while-in
(block $while-out
(if
(i32.lt_s
(get_local $7)
(i32.const 1)
)
(block
(set_local $13
(i32.const -4)
)
(set_local $16
(i32.const 47)
)
(br $while-out)
)
)
(set_local $14
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br_if $while-out
(i32.ne
(tee_local $17
(i32.load8_s
(get_local $1)
)
)
(i32.const -1)
)
)
(set_local $1
(get_local $14)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const -255)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.const 254)
)
)
(br $while-in)
)
)
(if
(i32.eq
(get_local $16)
(i32.const 47)
)
(return
(get_local $13)
)
)
(set_local $7
(i32.sub
(i32.add
(get_local $7)
(i32.const -1)
)
(tee_local $1
(i32.and
(get_local $17)
(i32.const 255)
)
)
)
)
(set_local $12
(i32.add
(get_local $12)
(get_local $1)
)
)
(if
(i32.lt_s
(get_local $7)
(i32.const 0)
)
(return
(i32.const -4)
)
(block
(set_local $1
(get_local $14)
)
(set_local $14
(get_local $12)
)
)
)
)
(set_local $1
(get_local $12)
)
)
(set_local $12
(tee_local $17
(i32.xor
(i32.shr_u
(i32.and
(get_local $18)
(i32.const 255)
)
(i32.const 7)
)
(i32.const 1)
)
)
)
(if
(i32.and
(get_local $17)
(i32.const 255)
)
(block
(if
(get_local $2)
(block
(set_local $9
(get_local $15)
)
(set_local $10
(get_local $1)
)
(set_local $1
(get_local $8)
)
(set_local $11
(get_local $7)
)
(br $__rjti$1)
)
)
(if
(i32.ne
(i32.mul
(tee_local $11
(i32.div_s
(get_local $7)
(get_local $15)
)
)
(get_local $15)
)
(get_local $7)
)
(return
(i32.const -4)
)
)
(set_local $9
(i32.add
(get_local $15)
(i32.const -1)
)
)
(set_local $10
(i32.and
(get_local $11)
(i32.const 65535)
)
)
(set_local $8
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $8)
(get_local $9)
)
(block
(i32.store16
(i32.add
(get_local $4)
(i32.shl
(get_local $8)
(i32.const 1)
)
)
(get_local $10)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in3)
)
(block
(set_local $9
(get_local $15)
)
(set_local $10
(get_local $1)
)
(set_local $1
(get_local $11)
)
(set_local $11
(get_local $7)
)
(br $__rjti$0)
)
)
)
)
)
(set_local $16
(i32.add
(get_local $15)
(i32.const -1)
)
)
(set_local $7
(tee_local $8
(get_local $7)
)
)
(loop $while-in5
(block $while-out4
(if
(i32.ge_s
(get_local $19)
(get_local $16)
)
(block
(set_local $16
(i32.const 23)
)
(br $while-out4)
)
)
(set_local $20
(call $_parse_size
(get_local $1)
(get_local $7)
(tee_local $17
(i32.add
(get_local $4)
(i32.shl
(get_local $19)
(i32.const 1)
)
)
)
)
)
(if
(i32.lt_s
(tee_local $18
(i32.load16_s
(get_local $17)
)
)
(i32.const 0)
)
(block
(set_local $13
(i32.const -4)
)
(set_local $16
(i32.const 47)
)
(br $while-out4)
)
)
(if
(i32.lt_s
(tee_local $17
(i32.sub
(get_local $7)
(get_local $20)
)
)
(get_local $18)
)
(block
(set_local $13
(i32.const -4)
)
(set_local $16
(i32.const 47)
)
)
(block
(set_local $19
(i32.add
(get_local $19)
(i32.const 1)
)
)
(set_local $8
(i32.sub
(get_local $8)
(i32.add
(get_local $20)
(get_local $18)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(get_local $20)
)
)
(set_local $7
(get_local $17)
)
(br $while-in5)
)
)
)
)
(if
(i32.eq
(get_local $16)
(i32.const 23)
)
(block
(if
(i32.lt_s
(get_local $8)
(i32.const 0)
)
(set_local $13
(i32.const -4)
)
(block
(set_local $9
(get_local $15)
)
(set_local $10
(get_local $1)
)
(set_local $1
(get_local $8)
)
(set_local $11
(get_local $7)
)
(br $__rjti$0)
)
)
(return
(i32.const -4)
)
)
(if
(i32.eq
(get_local $16)
(i32.const 47)
)
(return
(get_local $13)
)
)
)
(br $label$break$L59)
)
(if
(i32.eqz
(get_local $2)
)
(block
(set_local $11
(get_local $10)
)
(br $__rjti$2)
)
)
)
(set_local $13
(call $_parse_size
(get_local $10)
(get_local $11)
(i32.add
(i32.add
(get_local $4)
(i32.shl
(get_local $9)
(i32.const 1)
)
)
(i32.const -2)
)
)
)
(if
(i32.lt_s
(tee_local $2
(i32.load16_s
(tee_local $8
(i32.add
(get_local $4)
(i32.shl
(tee_local $15
(i32.add
(get_local $9)
(i32.const -1)
)
)
(i32.const 1)
)
)
)
)
)
(i32.const 0)
)
(return
(i32.const -4)
)
)
(if
(i32.lt_s
(tee_local $7
(i32.sub
(get_local $11)
(get_local $13)
)
)
(get_local $2)
)
(return
(i32.const -4)
)
)
(set_local $11
(i32.add
(get_local $10)
(get_local $13)
)
)
(if
(i32.eqz
(get_local $12)
)
(block
(if
(i32.gt_s
(i32.add
(get_local $13)
(get_local $2)
)
(get_local $1)
)
(set_local $13
(i32.const -4)
)
(block
(set_local $10
(get_local $9)
)
(set_local $9
(get_local $14)
)
(br $label$break$L59)
)
)
(return
(i32.const -4)
)
)
)
(if
(i32.gt_s
(i32.mul
(get_local $9)
(get_local $2)
)
(get_local $7)
)
(return
(i32.const -4)
)
(set_local $1
(i32.const 0)
)
)
(loop $while-in8
(if
(i32.lt_s
(get_local $1)
(get_local $15)
)
(block
(i32.store16
(i32.add
(get_local $4)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
(i32.load16_s
(get_local $8)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in8)
)
(block
(set_local $10
(get_local $9)
)
(set_local $9
(get_local $14)
)
(br $label$break$L59)
)
)
)
)
(if
(i32.gt_s
(get_local $1)
(i32.const 1275)
)
(return
(i32.const -4)
)
(block
(i32.store16
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $9)
(i32.const -1)
)
(i32.const 1)
)
)
(get_local $1)
)
(set_local $10
(get_local $9)
)
(set_local $9
(get_local $14)
)
)
)
)
(set_local $1
(if (result i32)
(get_local $5)
(block (result i32)
(i32.store
(get_local $5)
(i32.sub
(get_local $11)
(get_local $0)
)
)
(i32.const 0)
)
(i32.const 0)
)
)
(loop $while-in10
(if
(i32.lt_s
(get_local $1)
(get_local $10)
)
(block
(set_local $11
(i32.add
(get_local $11)
(i32.load16_s
(i32.add
(get_local $4)
(i32.shl
(get_local $1)
(i32.const 1)
)
)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in10)
)
)
)
(if
(get_local $6)
(i32.store
(get_local $6)
(i32.add
(get_local $9)
(i32.sub
(get_local $11)
(get_local $0)
)
)
)
)
(if
(i32.eqz
(get_local $3)
)
(return
(get_local $10)
)
)
(i32.store8
(get_local $3)
(get_local $21)
)
(get_local $10)
)
(func $_parse_size (; 186 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(i32.store16
(get_local $2)
(tee_local $0
(block $do-once (result i32)
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 1)
)
(block (result i32)
(set_local $1
(i32.const -1)
)
(i32.const -1)
)
(block (result i32)
(if
(i32.lt_s
(tee_local $3
(i32.load8_u
(get_local $0)
)
)
(i32.const 252)
)
(block
(set_local $1
(i32.const 1)
)
(br $do-once
(get_local $3)
)
)
)
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 2)
)
(block (result i32)
(set_local $1
(i32.const -1)
)
(i32.const -1)
)
(block (result i32)
(set_local $1
(i32.const 2)
)
(i32.and
(i32.add
(i32.shl
(i32.load8_u offset=1
(get_local $0)
)
(i32.const 2)
)
(get_local $3)
)
(i32.const 65535)
)
)
)
)
)
)
)
)
(get_local $1)
)
(func $_opus_decoder_get_size (; 187 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(set_local $1
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $0
(if (result i32)
(i32.gt_u
(i32.add
(get_local $0)
(i32.const -1)
)
(i32.const 1)
)
(i32.const 0)
(if (result i32)
(call $_silk_Get_Decoder_Size
(get_local $1)
)
(i32.const 0)
(block (result i32)
(i32.store
(get_local $1)
(tee_local $2
(call $_align
(i32.load
(get_local $1)
)
)
)
)
(set_local $0
(call $_celt_decoder_get_size
(get_local $0)
)
)
(i32.add
(i32.add
(call $_align
(i32.const 88)
)
(get_local $2)
)
(get_local $0)
)
)
)
)
)
(set_global $STACKTOP
(get_local $1)
)
(get_local $0)
)
(func $_align (; 188 ;) (param $0 i32) (result i32)
(i32.and
(i32.add
(get_local $0)
(i32.const 3)
)
(i32.const -4)
)
)
(func $_opus_decoder_init (; 189 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(set_local $5
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $3
(i32.add
(get_local $5)
(i32.const 4)
)
)
(set_local $0
(block $__rjto$0 (result i32)
(block $__rjti$0
(br $__rjto$0
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 16000)
)
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 12000)
)
(block $switch (result i32)
(block $switch-default
(block $switch-case
(br_table $switch-case $switch-default
(i32.sub
(get_local $1)
(i32.const 8000)
)
)
)
(br $__rjti$0)
)
(i32.const -1)
)
(block $switch0 (result i32)
(block $switch-default2
(block $switch-case1
(br_table $switch-case1 $switch-default2
(i32.sub
(get_local $1)
(i32.const 12000)
)
)
)
(br $__rjti$0)
)
(i32.const -1)
)
)
(block (result i32)
(if
(i32.lt_s
(get_local $1)
(i32.const 24000)
)
(block $switch3
(block $switch-default5
(block $switch-case4
(br_table $switch-case4 $switch-default5
(i32.sub
(get_local $1)
(i32.const 16000)
)
)
)
(br $__rjti$0)
)
(br $__rjto$0
(i32.const -1)
)
)
)
(if (result i32)
(i32.lt_s
(get_local $1)
(i32.const 48000)
)
(block $switch6 (result i32)
(block $switch-default8
(block $switch-case7
(br_table $switch-case7 $switch-default8
(i32.sub
(get_local $1)
(i32.const 24000)
)
)
)
(br $__rjti$0)
)
(i32.const -1)
)
(block $switch9 (result i32)
(block $switch-default11
(block $switch-case10
(br_table $switch-case10 $switch-default11
(i32.sub
(get_local $1)
(i32.const 48000)
)
)
)
(br $__rjti$0)
)
(i32.const -1)
)
)
)
)
)
)
(if (result i32)
(i32.lt_u
(i32.add
(get_local $2)
(i32.const -1)
)
(i32.const 2)
)
(block (result i32)
(drop
(call $_memset
(get_local $0)
(i32.const 0)
(call $_opus_decoder_get_size
(get_local $2)
)
)
)
(if (result i32)
(call $_silk_Get_Decoder_Size
(get_local $3)
)
(i32.const -3)
(block (result i32)
(i32.store
(get_local $3)
(tee_local $4
(call $_align
(i32.load
(get_local $3)
)
)
)
)
(i32.store offset=4
(get_local $0)
(tee_local $3
(call $_align
(i32.const 88)
)
)
)
(i32.store
(get_local $0)
(tee_local $4
(i32.add
(get_local $3)
(get_local $4)
)
)
)
(set_local $4
(i32.add
(get_local $0)
(get_local $4)
)
)
(i32.store offset=8
(get_local $0)
(get_local $2)
)
(i32.store offset=48
(get_local $0)
(get_local $2)
)
(i32.store offset=12
(get_local $0)
(get_local $1)
)
(i32.store offset=24
(get_local $0)
(get_local $1)
)
(i32.store offset=16
(get_local $0)
(get_local $2)
)
(if (result i32)
(call $_silk_InitDecoder
(i32.add
(get_local $0)
(get_local $3)
)
)
(i32.const -3)
(if (result i32)
(call $_celt_decoder_init
(get_local $4)
(get_local $1)
(get_local $2)
)
(i32.const -3)
(block (result i32)
(i32.store
(get_local $5)
(i32.const 0)
)
(call $_opus_custom_decoder_ctl
(get_local $4)
(i32.const 10016)
(get_local $5)
)
(i32.store offset=60
(get_local $0)
(i32.const 0)
)
(i32.store offset=64
(get_local $0)
(i32.div_s
(get_local $1)
(i32.const 400)
)
)
(i32.store offset=44
(get_local $0)
(i32.const 0)
)
(i32.const 0)
)
)
)
)
)
)
(i32.const -1)
)
)
)
(set_global $STACKTOP
(get_local $5)
)
(get_local $0)
)
(func $_opus_decoder_create (; 190 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(block $__rjto$0
(block $__rjti$0
(if
(i32.lt_s
(get_local $0)
(i32.const 16000)
)
(if
(i32.lt_s
(get_local $0)
(i32.const 12000)
)
(block $switch-default
(block $switch-case
(br_table $switch-case $switch-default
(i32.sub
(get_local $0)
(i32.const 8000)
)
)
)
(br $__rjti$0)
)
(block $switch-default2
(block $switch-case1
(br_table $switch-case1 $switch-default2
(i32.sub
(get_local $0)
(i32.const 12000)
)
)
)
(br $__rjti$0)
)
)
(block
(if
(i32.lt_s
(get_local $0)
(i32.const 24000)
)
(block $switch3
(block $switch-default5
(block $switch-case4
(br_table $switch-case4 $switch-default5
(i32.sub
(get_local $0)
(i32.const 16000)
)
)
)
(br $__rjti$0)
)
(br $__rjto$0)
)
)
(if
(i32.lt_s
(get_local $0)
(i32.const 48000)
)
(block $switch-default8
(block $switch-case7
(br_table $switch-case7 $switch-default8
(i32.sub
(get_local $0)
(i32.const 24000)
)
)
)
(br $__rjti$0)
)
(block $switch-default11
(block $switch-case10
(br_table $switch-case10 $switch-default11
(i32.sub
(get_local $0)
(i32.const 48000)
)
)
)
(br $__rjti$0)
)
)
)
)
(br $__rjto$0)
)
(if
(i32.lt_u
(i32.add
(get_local $1)
(i32.const -1)
)
(i32.const 2)
)
(block
(if
(i32.eqz
(tee_local $3
(call $_opus_alloc
(call $_opus_decoder_get_size
(get_local $1)
)
)
)
)
(block
(if
(i32.eqz
(get_local $2)
)
(return
(i32.const 0)
)
)
(i32.store
(get_local $2)
(i32.const -7)
)
(return
(i32.const 0)
)
)
)
(set_local $0
(call $_opus_decoder_init
(get_local $3)
(get_local $0)
(get_local $1)
)
)
(if
(get_local $2)
(i32.store
(get_local $2)
(get_local $0)
)
)
(if
(i32.eqz
(get_local $0)
)
(return
(get_local $3)
)
)
(call $_opus_free
(get_local $3)
)
(return
(i32.const 0)
)
)
)
)
(if
(i32.eqz
(get_local $2)
)
(return
(i32.const 0)
)
)
(i32.store
(get_local $2)
(i32.const -1)
)
(i32.const 0)
)
(func $_opus_alloc (; 191 ;) (param $0 i32) (result i32)
(call $_malloc
(get_local $0)
)
)
(func $_opus_free (; 192 ;) (param $0 i32)
(call $_free
(get_local $0)
)
)
(func $_opus_decode_native (; 193 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(set_local $7
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 112)
)
)
(if
(i32.gt_u
(get_local $5)
(i32.const 1)
)
(block
(set_global $STACKTOP
(get_local $7)
)
(return
(i32.const -1)
)
)
)
(if
(i32.or
(i32.or
(i32.eqz
(get_local $2)
)
(i32.xor
(tee_local $14
(i32.eqz
(get_local $5)
)
)
(i32.const 1)
)
)
(i32.eqz
(get_local $1)
)
)
(block
(if
(i32.rem_s
(get_local $4)
(i32.div_s
(i32.load offset=12
(get_local $0)
)
(i32.const 400)
)
)
(block
(set_global $STACKTOP
(get_local $7)
)
(return
(i32.const -1)
)
)
)
(if
(i32.or
(i32.eqz
(get_local $2)
)
(i32.eqz
(get_local $1)
)
)
(block
(set_local $5
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in
(block $while-out
(if
(i32.lt_s
(tee_local $2
(call $_opus_decode_frame
(get_local $0)
(i32.const 0)
(i32.const 0)
(i32.add
(get_local $3)
(i32.shl
(i32.mul
(get_local $1)
(i32.load
(get_local $5)
)
)
(i32.const 2)
)
)
(i32.sub
(get_local $4)
(get_local $1)
)
(i32.const 0)
)
)
(i32.const 0)
)
(block
(set_local $9
(get_local $2)
)
(set_local $11
(i32.const 28)
)
(br $while-out)
)
)
(if
(i32.lt_s
(tee_local $8
(i32.add
(get_local $1)
(get_local $2)
)
)
(get_local $4)
)
(block
(set_local $1
(get_local $8)
)
(br $while-in)
)
)
)
)
(if
(i32.eq
(get_local $11)
(i32.const 28)
)
(block
(set_global $STACKTOP
(get_local $7)
)
(return
(get_local $9)
)
)
)
(i32.store offset=72
(get_local $0)
(get_local $8)
)
(set_global $STACKTOP
(get_local $7)
)
(return
(get_local $8)
)
)
)
)
)
(if
(i32.lt_s
(get_local $2)
(i32.const 0)
)
(block
(set_global $STACKTOP
(get_local $7)
)
(return
(i32.const -1)
)
)
)
(set_local $10
(call $_opus_packet_get_mode
(tee_local $5
(i32.load8_s
(get_local $1)
)
)
)
)
(set_local $12
(call $_opus_packet_get_bandwidth
(get_local $5)
)
)
(set_local $8
(call $_opus_packet_get_samples_per_frame
(get_local $5)
(i32.load offset=12
(get_local $0)
)
)
)
(set_local $13
(call $_opus_packet_get_nb_channels
(get_local $5)
)
)
(if
(i32.lt_s
(tee_local $2
(call $_opus_packet_parse_impl
(get_local $1)
(get_local $2)
(i32.const 0)
(i32.add
(get_local $7)
(i32.const 104)
)
(tee_local $15
(i32.add
(get_local $7)
(i32.const 8)
)
)
(get_local $7)
(i32.const 0)
)
)
(i32.const 0)
)
(block
(set_global $STACKTOP
(get_local $7)
)
(return
(get_local $2)
)
)
)
(set_local $5
(i32.add
(get_local $1)
(i32.load
(get_local $7)
)
)
)
(if (result i32)
(get_local $14)
(block (result i32)
(if
(i32.gt_s
(i32.mul
(get_local $2)
(get_local $8)
)
(get_local $4)
)
(block
(set_global $STACKTOP
(get_local $7)
)
(return
(i32.const -2)
)
)
)
(i32.store offset=56
(get_local $0)
(get_local $10)
)
(i32.store offset=52
(get_local $0)
(get_local $12)
)
(i32.store offset=64
(get_local $0)
(get_local $8)
)
(i32.store offset=48
(get_local $0)
(get_local $13)
)
(set_local $12
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $1
(i32.const 0)
)
(set_local $10
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $10)
(get_local $2)
)
(if
(i32.lt_s
(tee_local $8
(call $_opus_decode_frame
(get_local $0)
(get_local $5)
(i32.load16_s
(tee_local $13
(i32.add
(get_local $15)
(i32.shl
(get_local $10)
(i32.const 1)
)
)
)
)
(i32.add
(get_local $3)
(i32.shl
(i32.mul
(get_local $1)
(i32.load
(get_local $12)
)
)
(i32.const 2)
)
)
(i32.sub
(get_local $4)
(get_local $1)
)
(i32.const 0)
)
)
(i32.const 0)
)
(block
(set_local $9
(get_local $8)
)
(set_local $11
(i32.const 28)
)
)
(block
(set_local $5
(i32.add
(get_local $5)
(i32.load16_s
(get_local $13)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(get_local $8)
)
)
(set_local $10
(i32.add
(get_local $10)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
)
(if
(i32.eq
(get_local $11)
(i32.const 28)
)
(block
(set_global $STACKTOP
(get_local $7)
)
(return
(get_local $9)
)
)
)
(i32.store offset=72
(get_local $0)
(get_local $1)
)
(if (result i32)
(get_local $6)
(block (result i32)
(call $_opus_pcm_soft_clip
(get_local $3)
(get_local $1)
(i32.load
(get_local $12)
)
(i32.add
(get_local $0)
(i32.const 76)
)
)
(set_global $STACKTOP
(get_local $7)
)
(get_local $1)
)
(block (result i32)
(f32.store offset=80
(get_local $0)
(f32.const 0)
)
(f32.store offset=76
(get_local $0)
(f32.const 0)
)
(set_global $STACKTOP
(get_local $7)
)
(get_local $1)
)
)
)
(block (result i32)
(if
(i32.eqz
(i32.or
(i32.gt_s
(get_local $8)
(get_local $4)
)
(i32.eq
(get_local $10)
(i32.const 1002)
)
)
)
(if
(i32.ne
(i32.load
(tee_local $11
(i32.add
(get_local $0)
(i32.const 56)
)
)
)
(i32.const 1002)
)
(block
(set_local $14
(i32.load
(tee_local $1
(i32.add
(get_local $0)
(i32.const 72)
)
)
)
)
(set_local $2
(i32.sub
(get_local $4)
(get_local $8)
)
)
(if
(i32.ne
(get_local $8)
(get_local $4)
)
(if
(i32.lt_s
(tee_local $9
(call $_opus_decode_native
(get_local $0)
(i32.const 0)
(i32.const 0)
(get_local $3)
(get_local $2)
(i32.const 0)
(get_local $6)
)
)
(i32.const 0)
)
(block
(i32.store
(get_local $1)
(get_local $14)
)
(set_global $STACKTOP
(get_local $7)
)
(return
(get_local $9)
)
)
)
)
(i32.store
(get_local $11)
(get_local $10)
)
(i32.store offset=52
(get_local $0)
(get_local $12)
)
(i32.store offset=64
(get_local $0)
(get_local $8)
)
(i32.store offset=48
(get_local $0)
(get_local $13)
)
(if
(i32.lt_s
(tee_local $9
(call $_opus_decode_frame
(get_local $0)
(get_local $5)
(i32.load16_s
(get_local $15)
)
(i32.add
(get_local $3)
(i32.shl
(i32.mul
(i32.load offset=8
(get_local $0)
)
(get_local $2)
)
(i32.const 2)
)
)
(get_local $8)
(i32.const 1)
)
)
(i32.const 0)
)
(block
(set_global $STACKTOP
(get_local $7)
)
(return
(get_local $9)
)
)
)
(i32.store
(get_local $1)
(get_local $4)
)
(set_global $STACKTOP
(get_local $7)
)
(return
(get_local $4)
)
)
)
)
(set_local $9
(call $_opus_decode_native
(get_local $0)
(i32.const 0)
(i32.const 0)
(get_local $3)
(get_local $4)
(i32.const 0)
(get_local $6)
)
)
(set_global $STACKTOP
(get_local $7)
)
(get_local $9)
)
)
)
(func $_opus_decode_frame (; 194 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 i32)
(local $33 i32)
(local $34 i32)
(local $35 i32)
(local $36 i32)
(local $37 i32)
(local $38 i32)
(local $39 i32)
(local $40 i32)
(local $41 i32)
(local $42 f32)
(set_local $6
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 160)
)
)
(i32.store
(tee_local $24
(i32.add
(get_local $6)
(i32.const 88)
)
)
(i32.const 0)
)
(set_local $7
(i32.load offset=4
(get_local $0)
)
)
(set_local $8
(i32.load
(get_local $0)
)
)
(if
(i32.gt_s
(tee_local $16
(i32.shr_s
(tee_local $11
(i32.div_s
(tee_local $17
(i32.load
(tee_local $21
(i32.add
(get_local $0)
(i32.const 12)
)
)
)
)
(i32.const 50)
)
)
(i32.const 3)
)
)
(get_local $4)
)
(block
(set_global $STACKTOP
(get_local $6)
)
(return
(i32.const -2)
)
)
)
(set_local $27
(i32.add
(get_local $6)
(i32.const 80)
)
)
(set_local $28
(i32.add
(get_local $6)
(i32.const 72)
)
)
(set_local $38
(i32.add
(get_local $6)
(i32.const 64)
)
)
(set_local $29
(i32.add
(get_local $6)
(i32.const 56)
)
)
(set_local $30
(i32.add
(get_local $6)
(i32.const 48)
)
)
(set_local $39
(i32.add
(get_local $6)
(i32.const 40)
)
)
(set_local $31
(i32.add
(get_local $6)
(i32.const 32)
)
)
(set_local $32
(i32.add
(get_local $6)
(i32.const 24)
)
)
(set_local $33
(i32.add
(get_local $6)
(i32.const 16)
)
)
(set_local $34
(i32.add
(get_local $6)
(i32.const 8)
)
)
(set_local $15
(i32.add
(tee_local $19
(get_local $6)
)
(i32.const 96)
)
)
(set_local $18
(i32.add
(get_local $19)
(i32.const 92)
)
)
(set_local $35
(i32.add
(get_local $19)
(i32.const 144)
)
)
(set_local $36
(i32.add
(get_local $19)
(i32.const 84)
)
)
(set_local $37
(i32.add
(get_local $0)
(get_local $7)
)
)
(set_local $13
(i32.add
(get_local $0)
(get_local $8)
)
)
(set_local $9
(i32.shr_s
(get_local $11)
(i32.const 1)
)
)
(set_local $14
(i32.shr_s
(get_local $11)
(i32.const 2)
)
)
(if
(i32.le_s
(tee_local $6
(i32.mul
(i32.div_s
(get_local $17)
(i32.const 25)
)
(i32.const 3)
)
)
(get_local $4)
)
(set_local $4
(get_local $6)
)
)
(block $__rjto$4
(block $__rjti$4
(block $__rjti$3
(if
(i32.lt_s
(get_local $2)
(i32.const 2)
)
(block
(if
(i32.lt_s
(get_local $4)
(tee_local $1
(i32.load offset=64
(get_local $0)
)
)
)
(set_local $1
(get_local $4)
)
)
(br $__rjti$3)
)
(if
(get_local $1)
(block
(set_local $6
(i32.load offset=64
(get_local $0)
)
)
(set_local $7
(i32.load offset=56
(get_local $0)
)
)
(call $_ec_dec_init
(get_local $15)
(get_local $1)
(get_local $2)
)
(if
(i32.gt_s
(tee_local $8
(i32.load offset=60
(get_local $0)
)
)
(i32.const 0)
)
(block
(set_local $8
(i32.eq
(get_local $8)
(i32.const 1002)
)
)
(if
(i32.ne
(get_local $7)
(i32.const 1002)
)
(block
(if
(i32.eqz
(get_local $8)
)
(block
(set_local $8
(get_local $1)
)
(set_local $1
(get_local $4)
)
(set_local $4
(get_local $6)
)
(br $__rjti$4)
)
)
(set_local $22
(i32.mul
(get_local $14)
(i32.load offset=8
(get_local $0)
)
)
)
(set_local $25
(call $_llvm_stacksave)
)
(set_local $17
(i32.const 0)
)
(set_local $8
(get_local $1)
)
(set_local $23
(i32.const 1)
)
(set_local $1
(get_local $4)
)
(br $__rjto$4)
)
)
(if
(get_local $8)
(block
(set_local $8
(get_local $1)
)
(set_local $7
(i32.const 1002)
)
(set_local $1
(get_local $4)
)
(set_local $4
(get_local $6)
)
(br $__rjti$4)
)
(if
(i32.load offset=68
(get_local $0)
)
(block
(set_local $8
(get_local $1)
)
(set_local $7
(i32.const 1002)
)
(set_local $1
(get_local $4)
)
(set_local $4
(get_local $6)
)
(br $__rjti$4)
)
(block
(set_local $7
(i32.mul
(get_local $14)
(i32.load offset=8
(get_local $0)
)
)
)
(set_local $25
(call $_llvm_stacksave)
)
(set_local $17
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $7)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(drop
(call $_opus_decode_frame
(get_local $0)
(i32.const 0)
(i32.const 0)
(get_local $17)
(if (result i32)
(i32.lt_s
(get_local $14)
(get_local $6)
)
(get_local $14)
(get_local $6)
)
(i32.const 0)
)
)
(set_local $8
(get_local $1)
)
(set_local $7
(i32.const 1002)
)
(set_local $23
(i32.const 1)
)
(set_local $1
(get_local $4)
)
(set_local $22
(i32.const 1)
)
)
)
)
)
(block
(set_local $8
(get_local $1)
)
(set_local $1
(get_local $4)
)
(set_local $4
(get_local $6)
)
(br $__rjti$4)
)
)
)
(block
(set_local $1
(get_local $4)
)
(br $__rjti$3)
)
)
)
(br $__rjto$4)
)
(if
(i32.eqz
(tee_local $7
(i32.load offset=60
(get_local $0)
)
)
)
(block
(set_local $2
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $0)
(i32.mul
(get_local $1)
(i32.load
(get_local $2)
)
)
)
(block
(f32.store
(i32.add
(get_local $3)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(f32.const 0)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_global $STACKTOP
(get_local $19)
)
(return
(get_local $1)
)
)
)
(if
(i32.le_s
(get_local $1)
(get_local $11)
)
(block
(if
(i32.ge_s
(get_local $1)
(get_local $11)
)
(block
(set_local $8
(i32.const 0)
)
(set_local $4
(get_local $1)
)
(br $__rjti$4)
)
)
(if
(i32.gt_s
(get_local $1)
(get_local $9)
)
(block
(set_local $8
(i32.const 0)
)
(set_local $4
(get_local $9)
)
(br $__rjti$4)
)
)
(if
(i32.eq
(get_local $7)
(i32.const 1000)
)
(block
(set_local $8
(i32.const 0)
)
(set_local $7
(i32.const 1000)
)
(set_local $4
(get_local $1)
)
(br $__rjti$4)
)
)
(set_local $8
(i32.const 0)
)
(set_local $4
(if (result i32)
(i32.and
(i32.gt_s
(get_local $1)
(get_local $14)
)
(i32.lt_s
(get_local $1)
(get_local $9)
)
)
(get_local $14)
(get_local $1)
)
)
(br $__rjti$4)
)
)
(set_local $5
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $2
(get_local $1)
)
(block $__rjto$0
(block $__rjti$0
(loop $while-in3
(block $while-out2
(if
(i32.lt_s
(tee_local $4
(call $_opus_decode_frame
(get_local $0)
(i32.const 0)
(i32.const 0)
(get_local $3)
(if (result i32)
(i32.lt_s
(get_local $2)
(get_local $11)
)
(get_local $2)
(get_local $11)
)
(i32.const 0)
)
)
(i32.const 0)
)
(block
(set_local $1
(get_local $4)
)
(br $__rjti$0)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.shl
(i32.mul
(get_local $4)
(i32.load
(get_local $5)
)
)
(i32.const 2)
)
)
)
(br_if $while-in3
(i32.gt_s
(tee_local $2
(i32.sub
(get_local $2)
(get_local $4)
)
)
(i32.const 0)
)
)
)
)
)
(set_global $STACKTOP
(get_local $19)
)
(return
(get_local $1)
)
)
)
(set_local $25
(call $_llvm_stacksave)
)
(set_local $17
(i32.const 0)
)
(set_local $22
(i32.const 1)
)
(set_local $6
(get_local $4)
)
)
(set_local $1
(block $label$break$L39 (result i32)
(if (result i32)
(i32.gt_s
(get_local $6)
(get_local $1)
)
(i32.const -1)
(block (result i32)
(if
(i32.eq
(get_local $7)
(i32.const 1002)
)
(block
(set_local $12
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $1
(i32.const 1002)
)
)
(block
(set_local $20
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $12
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(i32.mul
(if (result i32)
(i32.gt_s
(get_local $9)
(get_local $6)
)
(get_local $9)
(get_local $6)
)
(i32.load
(get_local $20)
)
)
(i32.const 1)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(if
(i32.eq
(i32.load offset=60
(get_local $0)
)
(i32.const 1002)
)
(drop
(call $_silk_InitDecoder
(get_local $37)
)
)
)
(i32.store offset=32
(get_local $0)
(if (result i32)
(i32.gt_s
(tee_local $1
(i32.div_s
(i32.mul
(get_local $6)
(i32.const 1000)
)
(i32.load
(get_local $21)
)
)
)
(i32.const 10)
)
(get_local $1)
(i32.const 10)
)
)
(set_local $40
(i32.add
(get_local $0)
(i32.const 16)
)
)
(set_local $41
(i32.eqz
(tee_local $26
(if (result i32)
(get_local $8)
(block (result i32)
(i32.store offset=20
(get_local $0)
(i32.load offset=48
(get_local $0)
)
)
(i32.store offset=28
(get_local $0)
(tee_local $1
(block $label$break$L49 (result i32)
(if (result i32)
(i32.eq
(get_local $7)
(i32.const 1000)
)
(block $switch (result i32)
(block $switch-default
(block $switch-case7
(block $switch-case6
(block $switch-case
(br_table $switch-case6 $switch-case $switch-case7 $switch-default
(i32.sub
(i32.load offset=52
(get_local $0)
)
(i32.const 1101)
)
)
)
(br $label$break$L49
(i32.const 12000)
)
)
(br $label$break$L49
(i32.const 8000)
)
)
(br $label$break$L49
(i32.const 16000)
)
)
(i32.const 16000)
)
(i32.const 16000)
)
)
)
)
(i32.shl
(get_local $5)
(i32.const 1)
)
)
(i32.const 1)
)
)
)
)
(set_local $1
(get_local $12)
)
(set_local $4
(i32.const 0)
)
(loop $while-in9
(if
(call $_silk_Decode
(get_local $37)
(get_local $40)
(get_local $26)
(i32.eqz
(get_local $4)
)
(get_local $15)
(get_local $1)
(get_local $18)
)
(block
(drop
(br_if $label$break$L39
(i32.const -3)
(get_local $41)
)
)
(i32.store
(get_local $18)
(get_local $6)
)
(set_local $10
(i32.const 0)
)
(loop $while-in12
(if
(i32.lt_s
(get_local $10)
(i32.mul
(get_local $6)
(tee_local $9
(i32.load
(get_local $20)
)
)
)
)
(block
(i32.store16
(i32.add
(get_local $1)
(i32.shl
(get_local $10)
(i32.const 1)
)
)
(i32.const 0)
)
(set_local $10
(i32.add
(get_local $10)
(i32.const 1)
)
)
(br $while-in12)
)
)
)
)
(set_local $9
(i32.load
(get_local $20)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(tee_local $10
(i32.load
(get_local $18)
)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.shl
(i32.mul
(get_local $10)
(get_local $9)
)
(i32.const 1)
)
)
)
(br_if $while-in9
(i32.lt_s
(get_local $4)
(get_local $6)
)
)
(set_local $1
(get_local $7)
)
)
)
)
(set_local $4
(i32.eq
(get_local $1)
(i32.const 1002)
)
)
(block $__rjto$1
(block $__rjti$1
(if
(tee_local $26
(i32.eqz
(get_local $5)
)
)
(if
(get_local $4)
(block
(set_local $18
(i32.const 0)
)
(set_local $9
(i32.const 0)
)
(set_local $10
(i32.const 0)
)
(set_local $7
(i32.const 0)
)
)
(if
(get_local $8)
(if
(i32.gt_s
(i32.add
(i32.add
(call $_ec_tell_2
(i32.load
(tee_local $9
(i32.add
(get_local $15)
(i32.const 20)
)
)
)
(i32.load
(tee_local $10
(i32.add
(get_local $15)
(i32.const 28)
)
)
)
)
(i32.const 17)
)
(if (result i32)
(i32.eq
(i32.load offset=56
(get_local $0)
)
(i32.const 1001)
)
(i32.const 20)
(i32.const 0)
)
)
(i32.shl
(get_local $2)
(i32.const 3)
)
)
(block
(set_local $4
(i32.const 0)
)
(set_local $5
(i32.const 0)
)
(set_local $7
(i32.const 0)
)
(br $__rjti$1)
)
(block
(if
(i32.eq
(get_local $1)
(i32.const 1001)
)
(block
(if
(i32.eqz
(tee_local $7
(call $_ec_dec_bit_logp
(get_local $15)
(i32.const 12)
)
)
)
(block
(set_local $4
(i32.const 0)
)
(set_local $5
(i32.const 0)
)
(set_local $7
(i32.const 0)
)
(br $__rjti$1)
)
)
(set_local $4
(call $_ec_dec_bit_logp
(get_local $15)
(i32.const 1)
)
)
(set_local $5
(i32.add
(call $_ec_dec_uint
(get_local $15)
(i32.const 256)
)
(i32.const 2)
)
)
(set_local $9
(i32.load
(get_local $9)
)
)
(set_local $10
(i32.load
(get_local $10)
)
)
)
(block
(set_local $4
(call $_ec_dec_bit_logp
(get_local $15)
(i32.const 1)
)
)
(set_local $7
(i32.const 1)
)
(set_local $9
(tee_local $5
(i32.load
(get_local $9)
)
)
)
(set_local $10
(tee_local $18
(i32.load
(get_local $10)
)
)
)
(set_local $5
(i32.sub
(get_local $2)
(i32.shr_s
(i32.add
(call $_ec_tell_2
(get_local $5)
(get_local $18)
)
(i32.const 7)
)
(i32.const 3)
)
)
)
)
)
(if
(tee_local $9
(i32.lt_s
(i32.shl
(tee_local $2
(i32.sub
(get_local $2)
(get_local $5)
)
)
(i32.const 3)
)
(call $_ec_tell_2
(get_local $9)
(get_local $10)
)
)
)
(set_local $5
(i32.const 0)
)
)
(if
(get_local $9)
(set_local $7
(i32.const 0)
)
)
(i32.store
(tee_local $10
(i32.add
(get_local $15)
(i32.const 4)
)
)
(i32.sub
(i32.load
(get_local $10)
)
(get_local $5)
)
)
(if
(get_local $9)
(set_local $2
(i32.const 0)
)
)
(br $__rjti$1)
)
)
(block
(set_local $4
(i32.const 0)
)
(set_local $5
(i32.const 0)
)
(set_local $7
(i32.const 0)
)
(br $__rjti$1)
)
)
)
(if
(get_local $4)
(block
(set_local $18
(i32.const 0)
)
(set_local $9
(i32.const 0)
)
(set_local $10
(i32.const 0)
)
(set_local $7
(i32.const 0)
)
)
(block
(set_local $4
(i32.const 0)
)
(set_local $5
(i32.const 0)
)
(set_local $7
(i32.const 0)
)
(br $__rjti$1)
)
)
)
(br $__rjto$1)
)
(set_local $18
(i32.const 17)
)
(set_local $9
(get_local $4)
)
(set_local $10
(get_local $5)
)
)
(i32.store
(get_local $19)
(tee_local $4
(block $switch15 (result i32)
(block $switch-default20
(block $switch-case19
(block $switch-case17
(block $switch-case16
(br_table $switch-case16 $switch-case17 $switch-case17 $switch-case19 $switch-default20
(i32.sub
(i32.load offset=52
(get_local $0)
)
(i32.const 1101)
)
)
)
(br $switch15
(i32.const 13)
)
)
(br $switch15
(i32.const 17)
)
)
(br $switch15
(i32.const 19)
)
)
(i32.const 21)
)
)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 10012)
(get_local $19)
)
(i32.store
(get_local $34)
(i32.load offset=48
(get_local $0)
)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 10008)
(get_local $34)
)
(if
(tee_local $20
(i32.eqz
(get_local $7)
)
)
(block
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(get_local $22)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(if
(i32.eqz
(i32.or
(i32.eqz
(get_local $23)
)
(i32.eq
(get_local $1)
(i32.const 1002)
)
)
)
(block
(drop
(call $_opus_decode_frame
(get_local $0)
(i32.const 0)
(i32.const 0)
(get_local $4)
(if (result i32)
(i32.lt_s
(get_local $14)
(get_local $6)
)
(get_local $14)
(get_local $6)
)
(i32.const 0)
)
)
(set_local $17
(get_local $4)
)
)
)
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
)
(block
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.and
(i32.add
(i32.mul
(i32.shl
(i32.mul
(get_local $14)
(i32.load offset=8
(get_local $0)
)
)
(i32.const 2)
)
(i32.const 1)
)
(i32.const 15)
)
(i32.const -16)
)
)
)
(set_local $23
(if (result i32)
(get_local $9)
(block (result i32)
(i32.store
(get_local $33)
(i32.const 0)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 10010)
(get_local $33)
)
(drop
(call $_celt_decode_with_ec
(get_local $13)
(i32.add
(get_local $8)
(get_local $2)
)
(get_local $10)
(get_local $4)
(get_local $14)
(i32.const 0)
(i32.const 0)
)
)
(i32.store
(get_local $32)
(get_local $24)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 4031)
(get_local $32)
)
(i32.const 0)
)
(i32.const 0)
)
)
)
)
(i32.store
(get_local $31)
(get_local $18)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 10010)
(get_local $31)
)
(block $label$break$L110
(block $__rjti$2
(if
(i32.eq
(get_local $1)
(i32.const 1000)
)
(block
(i32.store16
(get_local $35)
(i32.const -1)
)
(set_local $5
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in24
(if
(i32.lt_s
(get_local $1)
(i32.mul
(get_local $6)
(i32.load
(get_local $5)
)
)
)
(block
(f32.store
(i32.add
(get_local $3)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(f32.const 0)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in24)
)
)
)
(if
(i32.eq
(i32.load offset=60
(get_local $0)
)
(i32.const 1001)
)
(block
(if
(i32.eqz
(i32.or
(get_local $20)
(i32.eqz
(get_local $9)
)
)
)
(if
(i32.load offset=68
(get_local $0)
)
(block
(set_local $5
(i32.const 0)
)
(set_local $1
(i32.const 1000)
)
(br $__rjti$2)
)
)
)
(i32.store
(get_local $30)
(i32.const 0)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 10010)
(get_local $30)
)
(drop
(call $_celt_decode_with_ec
(get_local $13)
(get_local $35)
(i32.const 2)
(get_local $3)
(get_local $16)
(i32.const 0)
(i32.const 0)
)
)
(set_local $5
(i32.const 0)
)
(set_local $1
(i32.const 1000)
)
(br $__rjti$2)
)
(block
(set_local $5
(i32.const 0)
)
(set_local $1
(i32.const 1000)
)
(br $__rjti$2)
)
)
)
(block
(if
(i32.and
(i32.ne
(get_local $1)
(tee_local $5
(i32.load offset=60
(get_local $0)
)
)
)
(i32.gt_s
(get_local $5)
(i32.const 0)
)
)
(if
(i32.eqz
(i32.load offset=68
(get_local $0)
)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 4028)
(get_local $39)
)
)
)
(if
(i32.ge_s
(get_local $11)
(get_local $6)
)
(set_local $11
(get_local $6)
)
)
(set_local $5
(call $_celt_decode_with_ec
(get_local $13)
(if (result i32)
(get_local $26)
(get_local $8)
(i32.const 0)
)
(get_local $2)
(get_local $3)
(get_local $11)
(get_local $15)
(i32.const 0)
)
)
(br_if $__rjti$2
(i32.ne
(get_local $1)
(i32.const 1002)
)
)
)
)
(br $label$break$L110)
)
(set_local $11
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $7
(i32.const 0)
)
(loop $while-in27
(if
(i32.lt_s
(get_local $7)
(i32.mul
(get_local $6)
(i32.load
(get_local $11)
)
)
)
(block
(f32.store
(tee_local $22
(i32.add
(get_local $3)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
(f32.add
(f32.load
(get_local $22)
)
(f32.mul
(f32.convert_s/i32
(i32.load16_s
(i32.add
(get_local $12)
(i32.shl
(get_local $7)
(i32.const 1)
)
)
)
)
(f32.const 0.000030517578125)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in27)
)
)
)
)
(i32.store
(get_local $29)
(get_local $36)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 10015)
(get_local $29)
)
(set_local $7
(i32.load offset=60
(i32.load
(get_local $36)
)
)
)
(block $do-once28
(if
(i32.eqz
(get_local $20)
)
(block
(if
(i32.eqz
(get_local $9)
)
(block
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 4028)
(get_local $38)
)
(i32.store
(get_local $28)
(i32.const 0)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 10010)
(get_local $28)
)
(drop
(call $_celt_decode_with_ec
(get_local $13)
(i32.add
(get_local $8)
(get_local $2)
)
(get_local $10)
(get_local $4)
(get_local $14)
(i32.const 0)
(i32.const 0)
)
)
(i32.store
(get_local $27)
(get_local $24)
)
(call $_opus_custom_decoder_ctl
(get_local $13)
(i32.const 4031)
(get_local $27)
)
(call $_smooth_fade
(tee_local $12
(i32.add
(get_local $3)
(i32.shl
(i32.mul
(tee_local $8
(i32.load offset=8
(get_local $0)
)
)
(i32.sub
(get_local $6)
(get_local $16)
)
)
(i32.const 2)
)
)
)
(i32.add
(get_local $4)
(i32.shl
(i32.mul
(get_local $8)
(get_local $16)
)
(i32.const 2)
)
)
(get_local $12)
(get_local $16)
(get_local $8)
(get_local $7)
(i32.load
(get_local $21)
)
)
(br $do-once28)
)
)
(set_local $11
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $8
(i32.const 0)
)
(loop $while-in31
(if
(i32.lt_s
(get_local $8)
(tee_local $12
(i32.load
(get_local $11)
)
)
)
(block
(set_local $12
(i32.const 0)
)
(loop $while-in33
(if
(i32.lt_s
(get_local $12)
(get_local $16)
)
(block
(i32.store
(i32.add
(get_local $3)
(i32.shl
(tee_local $10
(i32.add
(i32.mul
(i32.load
(get_local $11)
)
(get_local $12)
)
(get_local $8)
)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $4)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
)
)
(set_local $12
(i32.add
(get_local $12)
(i32.const 1)
)
)
(br $while-in33)
)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in31)
)
)
)
(set_local $8
(i32.add
(get_local $3)
(i32.shl
(tee_local $11
(i32.mul
(get_local $12)
(get_local $16)
)
)
(i32.const 2)
)
)
)
(call $_smooth_fade
(i32.add
(get_local $4)
(i32.shl
(get_local $11)
(i32.const 2)
)
)
(get_local $8)
(get_local $8)
(get_local $16)
(get_local $12)
(get_local $7)
(i32.load
(get_local $21)
)
)
)
)
)
(block $do-once34
(if
(get_local $23)
(block
(set_local $8
(i32.add
(get_local $0)
(i32.const 8)
)
)
(if
(i32.lt_s
(get_local $6)
(get_local $14)
)
(block
(call $_smooth_fade
(get_local $17)
(get_local $3)
(get_local $3)
(get_local $16)
(i32.load
(get_local $8)
)
(get_local $7)
(i32.load
(get_local $21)
)
)
(br $do-once34)
)
(set_local $4
(i32.const 0)
)
)
(loop $while-in37
(if
(i32.lt_s
(get_local $4)
(tee_local $12
(i32.mul
(tee_local $14
(i32.load
(get_local $8)
)
)
(get_local $16)
)
)
)
(block
(i32.store
(i32.add
(get_local $3)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $17)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in37)
)
)
)
(call $_smooth_fade
(i32.add
(get_local $17)
(i32.shl
(get_local $12)
(i32.const 2)
)
)
(tee_local $4
(i32.add
(get_local $3)
(i32.shl
(get_local $12)
(i32.const 2)
)
)
)
(get_local $4)
(get_local $16)
(get_local $14)
(get_local $7)
(i32.load
(get_local $21)
)
)
)
)
)
(block $label$break$L138
(if
(tee_local $4
(i32.load offset=40
(get_local $0)
)
)
(block
(set_local $42
(f32.demote/f64
(call $_exp
(f64.mul
(f64.promote/f32
(f32.mul
(f32.convert_s/i32
(get_local $4)
)
(f32.const 6.488140788860619e-04)
)
)
(f64.const 0.6931471805599453)
)
)
)
)
(set_local $7
(i32.add
(get_local $0)
(i32.const 8)
)
)
(set_local $4
(i32.const 0)
)
(loop $while-in40
(br_if $label$break$L138
(i32.ge_s
(get_local $4)
(i32.mul
(get_local $6)
(i32.load
(get_local $7)
)
)
)
)
(f32.store
(tee_local $8
(i32.add
(get_local $3)
(i32.shl
(get_local $4)
(i32.const 2)
)
)
)
(f32.mul
(f32.load
(get_local $8)
)
(get_local $42)
)
)
(set_local $4
(i32.add
(get_local $4)
(i32.const 1)
)
)
(br $while-in40)
)
)
)
)
(i32.store offset=84
(get_local $0)
(tee_local $2
(if (result i32)
(i32.lt_s
(get_local $2)
(i32.const 2)
)
(i32.const 0)
(i32.xor
(i32.load offset=28
(get_local $15)
)
(i32.load
(get_local $24)
)
)
)
)
)
(i32.store offset=60
(get_local $0)
(get_local $1)
)
(i32.store offset=68
(get_local $0)
(i32.and
(i32.eqz
(get_local $9)
)
(i32.xor
(get_local $20)
(i32.const 1)
)
)
)
(if (result i32)
(i32.lt_s
(get_local $5)
(i32.const 0)
)
(get_local $5)
(get_local $6)
)
)
)
)
)
(call $_llvm_stackrestore
(get_local $25)
)
(set_global $STACKTOP
(get_local $19)
)
(get_local $1)
)
(func $_opus_packet_get_mode (; 195 ;) (param $0 i32) (result i32)
(if (result i32)
(i32.lt_s
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.const 0)
)
(i32.const 1002)
(if (result i32)
(i32.eq
(i32.and
(get_local $0)
(i32.const 96)
)
(i32.const 96)
)
(i32.const 1001)
(i32.const 1000)
)
)
)
(func $_opus_packet_get_bandwidth (; 196 ;) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.lt_s
(i32.shr_s
(i32.shl
(get_local $0)
(i32.const 24)
)
(i32.const 24)
)
(i32.const 0)
)
(block
(set_local $1
(i32.add
(tee_local $0
(i32.and
(i32.shr_u
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.const 5)
)
(i32.const 3)
)
)
(i32.const 1102)
)
)
(return
(if (result i32)
(get_local $0)
(get_local $1)
(i32.const 1101)
)
)
)
)
(if (result i32)
(i32.eq
(i32.and
(get_local $0)
(i32.const 96)
)
(i32.const 96)
)
(i32.or
(i32.shr_u
(i32.and
(get_local $0)
(i32.const 16)
)
(i32.const 4)
)
(i32.const 1104)
)
(i32.add
(i32.and
(i32.shr_u
(i32.and
(get_local $0)
(i32.const 255)
)
(i32.const 5)
)
(i32.const 3)
)
(i32.const 1101)
)
)
)
(func $_opus_packet_get_nb_channels (; 197 ;) (param $0 i32) (result i32)
(i32.add
(i32.shr_u
(i32.and
(get_local $0)
(i32.const 4)
)
(i32.const 2)
)
(i32.const 1)
)
)
(func $_smooth_fade (; 198 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32)
(local $7 i32)
(local $8 f32)
(local $9 i32)
(local $10 i32)
(set_local $10
(i32.div_s
(i32.const 48000)
(get_local $6)
)
)
(loop $while-in
(if
(i32.lt_s
(get_local $7)
(get_local $4)
)
(block
(set_local $6
(i32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $6)
(get_local $3)
)
(block
(f32.store
(i32.add
(get_local $2)
(i32.shl
(tee_local $9
(i32.add
(i32.mul
(get_local $6)
(get_local $4)
)
(get_local $7)
)
)
(i32.const 2)
)
)
(f32.add
(f32.mul
(tee_local $8
(f32.mul
(tee_local $8
(f32.load
(i32.add
(get_local $5)
(i32.shl
(i32.mul
(get_local $6)
(get_local $10)
)
(i32.const 2)
)
)
)
)
(get_local $8)
)
)
(f32.load
(i32.add
(get_local $1)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
)
(f32.mul
(f32.sub
(f32.const 1)
(get_local $8)
)
(f32.load
(i32.add
(get_local $0)
(i32.shl
(get_local $9)
(i32.const 2)
)
)
)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_opus_decode_float (; 199 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(if
(i32.lt_s
(get_local $4)
(i32.const 1)
)
(return
(i32.const -1)
)
)
(call $_opus_decode_native
(get_local $0)
(get_local $1)
(get_local $2)
(get_local $3)
(get_local $4)
(get_local $5)
(i32.const 0)
)
)
(func $_opus_decoder_destroy (; 200 ;) (param $0 i32)
(call $_opus_free
(get_local $0)
)
)
(func $_speex_resampler_init (; 201 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(call $_speex_resampler_init_frac
(get_local $0)
(get_local $1)
(get_local $2)
(get_local $1)
(get_local $2)
(get_local $3)
(get_local $4)
)
)
(func $_speex_resampler_init_frac (; 202 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(if
(i32.gt_u
(get_local $5)
(i32.const 10)
)
(block
(if
(i32.eqz
(get_local $6)
)
(return
(i32.const 0)
)
)
(i32.store
(get_local $6)
(i32.const 3)
)
(return
(i32.const 0)
)
)
)
(i32.store
(tee_local $9
(i32.add
(tee_local $7
(call $_speex_alloc_515
(i32.const 96)
)
)
(i32.const 52)
)
)
(i32.const 0)
)
(i32.store offset=56
(get_local $7)
(i32.const 0)
)
(i64.store align=4
(get_local $7)
(i64.const 0)
)
(i64.store offset=8 align=4
(get_local $7)
(i64.const 0)
)
(i32.store offset=16
(get_local $7)
(i32.const -1)
)
(i32.store offset=80
(get_local $7)
(i32.const 0)
)
(i32.store offset=28
(get_local $7)
(i32.const 0)
)
(i32.store offset=24
(get_local $7)
(i32.const 0)
)
(i32.store offset=72
(get_local $7)
(i32.const 0)
)
(i32.store offset=84
(get_local $7)
(i32.const 0)
)
(f32.store offset=44
(get_local $7)
(f32.const 1)
)
(i32.store offset=20
(get_local $7)
(get_local $0)
)
(i32.store offset=88
(get_local $7)
(i32.const 1)
)
(i32.store offset=92
(get_local $7)
(i32.const 1)
)
(i32.store offset=32
(get_local $7)
(i32.const 160)
)
(i32.store
(tee_local $10
(i32.add
(get_local $7)
(i32.const 60)
)
)
(call $_speex_alloc_515
(tee_local $8
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
(i32.store
(tee_local $11
(i32.add
(get_local $7)
(i32.const 68)
)
)
(call $_speex_alloc_515
(get_local $8)
)
)
(i32.store
(tee_local $12
(i32.add
(get_local $7)
(i32.const 64)
)
)
(call $_speex_alloc_515
(get_local $8)
)
)
(set_local $8
(i32.const 0)
)
(loop $while-in
(if
(i32.ne
(get_local $8)
(get_local $0)
)
(block
(i32.store
(i32.add
(i32.load
(get_local $10)
)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
(i32.const 0)
)
(i32.store
(i32.add
(i32.load
(get_local $11)
)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
(i32.const 0)
)
(i32.store
(i32.add
(i32.load
(get_local $12)
)
(i32.shl
(get_local $8)
(i32.const 2)
)
)
(i32.const 0)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(call $_speex_resampler_set_quality
(get_local $7)
(get_local $5)
)
(call $_speex_resampler_set_rate_frac
(get_local $7)
(get_local $1)
(get_local $2)
(get_local $3)
(get_local $4)
)
(if
(tee_local $0
(call $_update_filter
(get_local $7)
)
)
(block
(call $_speex_resampler_destroy
(get_local $7)
)
(set_local $7
(i32.const 0)
)
)
(i32.store
(get_local $9)
(i32.const 1)
)
)
(if
(i32.eqz
(get_local $6)
)
(return
(get_local $7)
)
)
(i32.store
(get_local $6)
(get_local $0)
)
(get_local $7)
)
(func $_speex_alloc_515 (; 203 ;) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.eqz
(tee_local $1
(call $_malloc
(get_local $0)
)
)
)
(return
(get_local $1)
)
)
(if
(i32.eqz
(i32.and
(i32.load
(i32.add
(get_local $1)
(i32.const -4)
)
)
(i32.const 3)
)
)
(return
(get_local $1)
)
)
(drop
(call $_memset
(get_local $1)
(i32.const 0)
(get_local $0)
)
)
(get_local $1)
)
(func $_speex_resampler_set_quality (; 204 ;) (param $0 i32) (param $1 i32)
(local $2 i32)
(if
(i32.gt_u
(get_local $1)
(i32.const 10)
)
(return)
)
(if
(i32.eq
(i32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
(get_local $1)
)
(return)
)
(i32.store
(get_local $2)
(get_local $1)
)
(if
(i32.eqz
(i32.load offset=52
(get_local $0)
)
)
(return)
)
(drop
(call $_update_filter
(get_local $0)
)
)
)
(func $_speex_resampler_set_rate_frac (; 205 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(set_local $6
(i32.add
(get_local $0)
(i32.const 4)
)
)
(if
(i32.eq
(i32.load
(get_local $0)
)
(get_local $3)
)
(if
(i32.eq
(i32.load
(get_local $6)
)
(get_local $4)
)
(if
(i32.eq
(i32.load offset=8
(get_local $0)
)
(get_local $1)
)
(if
(i32.eq
(i32.load offset=12
(get_local $0)
)
(get_local $2)
)
(return)
)
)
)
)
(set_local $7
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 12)
)
)
)
)
(i32.store
(get_local $0)
(get_local $3)
)
(i32.store
(get_local $6)
(get_local $4)
)
(i32.store
(tee_local $4
(i32.add
(get_local $0)
(i32.const 8)
)
)
(get_local $1)
)
(i32.store
(get_local $5)
(get_local $2)
)
(set_local $3
(i32.const 2)
)
(loop $while-in
(if
(i32.le_u
(get_local $3)
(i32.load
(if (result i32)
(i32.lt_u
(get_local $1)
(get_local $2)
)
(get_local $4)
(get_local $5)
)
)
)
(block
(set_local $1
(i32.load
(get_local $4)
)
)
(loop $while-in1
(if
(i32.eqz
(i32.rem_u
(get_local $1)
(get_local $3)
)
)
(if
(i32.eqz
(i32.rem_u
(tee_local $2
(i32.load
(get_local $5)
)
)
(get_local $3)
)
)
(block
(i32.store
(get_local $4)
(tee_local $1
(i32.div_u
(get_local $1)
(get_local $3)
)
)
)
(i32.store
(get_local $5)
(tee_local $2
(i32.div_u
(get_local $2)
(get_local $3)
)
)
)
(br $while-in1)
)
)
)
)
(set_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(block $label$break$L16
(if
(get_local $7)
(block
(set_local $3
(i32.add
(get_local $0)
(i32.const 20)
)
)
(set_local $2
(i32.add
(get_local $0)
(i32.const 64)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in3
(br_if $label$break$L16
(i32.ge_u
(get_local $1)
(i32.load
(get_local $3)
)
)
)
(i32.store
(tee_local $4
(i32.add
(i32.load
(get_local $2)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(i32.div_u
(i32.mul
(i32.load
(get_local $4)
)
(i32.load
(get_local $5)
)
)
(get_local $7)
)
)
(if
(i32.ge_u
(i32.load
(tee_local $4
(i32.add
(i32.load
(get_local $2)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(tee_local $6
(i32.load
(get_local $5)
)
)
)
(i32.store
(get_local $4)
(i32.add
(get_local $6)
(i32.const -1)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
)
(if
(i32.eqz
(i32.load offset=52
(get_local $0)
)
)
(return)
)
(drop
(call $_update_filter
(get_local $0)
)
)
)
(func $_update_filter (; 206 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 f32)
(local $15 i32)
(local $16 f32)
(set_local $11
(i32.load
(tee_local $6
(i32.add
(get_local $0)
(i32.const 24)
)
)
)
)
(set_local $15
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 28)
)
)
)
)
(i32.store offset=36
(get_local $0)
(i32.div_u
(tee_local $3
(i32.load offset=8
(get_local $0)
)
)
(tee_local $4
(i32.load
(tee_local $7
(i32.add
(get_local $0)
(i32.const 12)
)
)
)
)
)
)
(i32.store offset=40
(get_local $0)
(i32.rem_u
(get_local $3)
(get_local $4)
)
)
(i32.store
(tee_local $9
(i32.add
(get_local $0)
(i32.const 48)
)
)
(tee_local $2
(i32.load
(i32.add
(i32.mul
(tee_local $5
(i32.load
(tee_local $10
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(i32.const 20)
)
(i32.const 19972)
)
)
)
)
(i32.store
(get_local $6)
(tee_local $1
(i32.load
(i32.add
(i32.mul
(get_local $5)
(i32.const 20)
)
(i32.const 19968)
)
)
)
)
(if
(i32.gt_u
(get_local $3)
(get_local $4)
)
(block
(f32.store offset=44
(get_local $0)
(f32.div
(f32.mul
(f32.load
(i32.add
(i32.mul
(get_local $5)
(i32.const 20)
)
(i32.const 19976)
)
)
(f32.convert_u/i32
(get_local $4)
)
)
(f32.convert_u/i32
(get_local $3)
)
)
)
(i32.store
(get_local $6)
(tee_local $1
(i32.and
(i32.add
(i32.div_u
(i32.mul
(get_local $1)
(get_local $3)
)
(get_local $4)
)
(i32.const 7)
)
(i32.const -8)
)
)
)
(set_local $2
(i32.shr_u
(i32.shr_u
(i32.shr_u
(i32.shr_u
(get_local $2)
(tee_local $5
(i32.lt_u
(i32.shl
(get_local $4)
(i32.const 1)
)
(get_local $3)
)
)
)
(tee_local $12
(i32.lt_u
(i32.shl
(get_local $4)
(i32.const 2)
)
(get_local $3)
)
)
)
(tee_local $13
(i32.lt_u
(i32.shl
(get_local $4)
(i32.const 3)
)
(get_local $3)
)
)
)
(tee_local $3
(i32.lt_u
(i32.shl
(get_local $4)
(i32.const 4)
)
(get_local $3)
)
)
)
)
(if
(i32.or
(i32.or
(i32.or
(get_local $5)
(get_local $12)
)
(get_local $13)
)
(get_local $3)
)
(i32.store
(get_local $9)
(get_local $2)
)
)
(if
(i32.eqz
(get_local $2)
)
(block
(i32.store
(get_local $9)
(i32.const 1)
)
(set_local $2
(i32.const 1)
)
)
)
)
(i32.store offset=44
(get_local $0)
(i32.load
(i32.add
(i32.mul
(get_local $5)
(i32.const 20)
)
(i32.const 19980)
)
)
)
)
(block $do-once
(block $__rjti$1
(block $__rjti$0
(br_if $__rjti$0
(i32.gt_u
(tee_local $3
(i32.mul
(get_local $1)
(get_local $4)
)
)
(tee_local $5
(i32.add
(i32.mul
(get_local $1)
(get_local $2)
)
(i32.const 8)
)
)
)
)
(br_if $__rjti$0
(i32.lt_u
(i32.div_u
(i32.const 536870911)
(get_local $4)
)
(get_local $1)
)
)
(set_local $1
(get_local $3)
)
(set_local $2
(i32.const 1)
)
(br $__rjti$1)
)
(if
(i32.ge_u
(i32.div_u
(i32.const 536870903)
(get_local $2)
)
(get_local $1)
)
(block
(set_local $1
(get_local $5)
)
(set_local $2
(i32.const 0)
)
(br $__rjti$1)
)
)
(br $do-once)
)
(if
(i32.lt_u
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 80)
)
)
)
(get_local $1)
)
(block
(br_if $do-once
(i32.eqz
(tee_local $4
(call $_speex_realloc
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 76)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
(i32.store
(get_local $5)
(get_local $4)
)
(i32.store
(get_local $3)
(get_local $1)
)
)
)
(set_local $5
(i32.add
(get_local $0)
(i32.const 44)
)
)
(set_local $4
(i32.add
(get_local $0)
(i32.const 76)
)
)
(if
(get_local $2)
(block
(set_local $1
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_u
(get_local $1)
(i32.load
(get_local $7)
)
)
(block
(set_local $14
(f32.convert_u/i32
(get_local $1)
)
)
(set_local $2
(i32.const 0)
)
(loop $while-in3
(if
(i32.lt_u
(get_local $2)
(tee_local $3
(i32.load
(get_local $6)
)
)
)
(block
(set_local $16
(call $_sinc
(f32.load
(get_local $5)
)
(f32.sub
(f32.convert_s/i32
(i32.add
(i32.sub
(get_local $2)
(i32.div_s
(get_local $3)
(i32.const 2)
)
)
(i32.const 1)
)
)
(f32.div
(get_local $14)
(f32.convert_u/i32
(i32.load
(get_local $7)
)
)
)
)
(get_local $3)
(i32.load
(i32.add
(i32.mul
(i32.load
(get_local $10)
)
(i32.const 20)
)
(i32.const 19984)
)
)
)
)
(f32.store
(i32.add
(i32.load
(get_local $4)
)
(i32.shl
(i32.add
(i32.mul
(get_local $1)
(get_local $3)
)
(get_local $2)
)
(i32.const 2)
)
)
(get_local $16)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in3)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $1
(i32.add
(get_local $0)
(i32.const 84)
)
)
(if
(i32.gt_s
(i32.load
(get_local $10)
)
(i32.const 8)
)
(i32.store
(get_local $1)
(i32.const 1)
)
(i32.store
(get_local $1)
(i32.const 2)
)
)
)
(block
(set_local $1
(i32.const -4)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $1)
(i32.add
(i32.mul
(tee_local $3
(i32.load
(get_local $9)
)
)
(tee_local $2
(i32.load
(get_local $6)
)
)
)
(i32.const 4)
)
)
(block
(set_local $14
(call $_sinc
(f32.load
(get_local $5)
)
(f32.sub
(f32.div
(f32.convert_s/i32
(get_local $1)
)
(f32.convert_u/i32
(get_local $3)
)
)
(f32.convert_u/i32
(i32.shr_u
(get_local $2)
(i32.const 1)
)
)
)
(get_local $2)
(i32.load
(i32.add
(i32.mul
(i32.load
(get_local $10)
)
(i32.const 20)
)
(i32.const 19984)
)
)
)
)
(f32.store
(i32.add
(i32.load
(get_local $4)
)
(i32.shl
(i32.add
(get_local $1)
(i32.const 4)
)
(i32.const 2)
)
)
(get_local $14)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(set_local $1
(i32.add
(get_local $0)
(i32.const 84)
)
)
(if
(i32.gt_s
(i32.load
(get_local $10)
)
(i32.const 8)
)
(i32.store
(get_local $1)
(i32.const 3)
)
(i32.store
(get_local $1)
(i32.const 4)
)
)
)
)
(if
(i32.gt_u
(tee_local $1
(i32.add
(i32.add
(i32.load
(get_local $6)
)
(i32.const -1)
)
(i32.load offset=32
(get_local $0)
)
)
)
(tee_local $2
(i32.load
(get_local $8)
)
)
)
(block
(br_if $do-once
(i32.lt_u
(i32.div_u
(i32.const 536870911)
(tee_local $2
(i32.load offset=20
(get_local $0)
)
)
)
(get_local $1)
)
)
(br_if $do-once
(i32.eqz
(tee_local $2
(call $_speex_realloc
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 72)
)
)
)
(i32.shl
(i32.mul
(get_local $2)
(get_local $1)
)
(i32.const 2)
)
)
)
)
)
(i32.store
(get_local $3)
(get_local $2)
)
(i32.store
(get_local $8)
(get_local $1)
)
)
(set_local $1
(get_local $2)
)
)
(if
(i32.eqz
(i32.load offset=56
(get_local $0)
)
)
(block
(set_local $2
(i32.add
(get_local $0)
(i32.const 20)
)
)
(set_local $3
(i32.add
(get_local $0)
(i32.const 72)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in7
(if
(i32.lt_u
(get_local $0)
(i32.mul
(i32.load
(get_local $2)
)
(get_local $1)
)
)
(block
(f32.store
(i32.add
(i32.load
(get_local $3)
)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(f32.const 0)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(set_local $1
(i32.load
(get_local $8)
)
)
(br $while-in7)
)
(set_local $0
(i32.const 0)
)
)
)
(return
(i32.const 0)
)
)
)
(if
(i32.le_u
(tee_local $1
(i32.load
(get_local $6)
)
)
(get_local $11)
)
(block
(if
(i32.ge_u
(get_local $1)
(get_local $11)
)
(return
(i32.const 0)
)
)
(set_local $4
(i32.add
(get_local $0)
(i32.const 20)
)
)
(set_local $2
(i32.add
(get_local $0)
(i32.const 68)
)
)
(set_local $10
(i32.add
(get_local $0)
(i32.const 72)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in9
(if
(i32.lt_u
(get_local $0)
(i32.load
(get_local $4)
)
)
(block
(set_local $3
(i32.load
(tee_local $1
(i32.add
(i32.load
(get_local $2)
)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
)
(i32.store
(get_local $1)
(i32.shr_u
(i32.sub
(get_local $11)
(i32.load
(get_local $6)
)
)
(i32.const 1)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in11
(if
(i32.lt_u
(get_local $1)
(i32.add
(i32.add
(i32.add
(i32.load
(get_local $6)
)
(i32.const -1)
)
(tee_local $5
(i32.load
(tee_local $9
(i32.add
(i32.load
(get_local $2)
)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
)
)
(get_local $3)
)
)
(block
(i32.store
(i32.add
(tee_local $9
(i32.load
(get_local $10)
)
)
(i32.shl
(tee_local $7
(i32.add
(i32.mul
(get_local $0)
(i32.load
(get_local $8)
)
)
(get_local $1)
)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $9)
(i32.shl
(i32.add
(get_local $7)
(get_local $5)
)
(i32.const 2)
)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in11)
)
)
)
(i32.store
(get_local $9)
(i32.add
(get_local $5)
(get_local $3)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in9)
)
(set_local $0
(i32.const 0)
)
)
)
(return
(i32.const 0)
)
)
)
(set_local $3
(i32.add
(get_local $0)
(i32.const 68)
)
)
(set_local $10
(i32.add
(get_local $11)
(i32.const -1)
)
)
(set_local $5
(i32.add
(get_local $0)
(i32.const 72)
)
)
(set_local $9
(i32.add
(get_local $0)
(i32.const 60)
)
)
(set_local $0
(i32.load offset=20
(get_local $0)
)
)
(loop $label$continue$L65
(block $label$break$L65
(if
(i32.eqz
(get_local $0)
)
(block
(set_local $0
(i32.const 0)
)
(br $label$break$L65)
)
)
(set_local $4
(i32.shl
(tee_local $1
(i32.load
(i32.add
(i32.load
(get_local $3)
)
(i32.shl
(tee_local $0
(i32.add
(get_local $0)
(i32.const -1)
)
)
(i32.const 2)
)
)
)
)
(i32.const 1)
)
)
(set_local $7
(i32.mul
(get_local $0)
(get_local $15)
)
)
(set_local $1
(i32.add
(get_local $10)
(get_local $1)
)
)
(loop $while-in13
(set_local $2
(i32.add
(get_local $1)
(i32.const -1)
)
)
(if
(get_local $1)
(block
(i32.store
(i32.add
(tee_local $1
(i32.load
(get_local $5)
)
)
(i32.shl
(i32.add
(i32.add
(i32.mul
(get_local $0)
(i32.load
(get_local $8)
)
)
(get_local $2)
)
(i32.load
(i32.add
(i32.load
(get_local $3)
)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $7)
(get_local $2)
)
(i32.const 2)
)
)
)
)
(set_local $1
(get_local $2)
)
(br $while-in13)
)
(set_local $1
(i32.const 0)
)
)
)
(loop $while-in15
(if
(i32.lt_u
(get_local $1)
(i32.load
(tee_local $2
(i32.add
(i32.load
(get_local $3)
)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
)
(block
(f32.store
(i32.add
(i32.load
(get_local $5)
)
(i32.shl
(i32.add
(i32.mul
(get_local $0)
(i32.load
(get_local $8)
)
)
(get_local $1)
)
(i32.const 2)
)
)
(f32.const 0)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in15)
)
)
)
(i32.store
(get_local $2)
(i32.const 0)
)
(if
(i32.lt_u
(tee_local $4
(i32.add
(get_local $11)
(get_local $4)
)
)
(tee_local $1
(i32.load
(get_local $6)
)
)
)
(block
(set_local $1
(i32.add
(get_local $4)
(i32.const -1)
)
)
(set_local $7
(i32.add
(get_local $4)
(i32.const -2)
)
)
(set_local $2
(i32.const 0)
)
(loop $while-in19
(if
(i32.ne
(get_local $2)
(get_local $1)
)
(block
(i32.store
(i32.add
(tee_local $12
(i32.load
(get_local $5)
)
)
(i32.shl
(i32.add
(tee_local $13
(i32.mul
(get_local $0)
(i32.load
(get_local $8)
)
)
)
(i32.sub
(i32.add
(i32.load
(get_local $6)
)
(i32.const -2)
)
(get_local $2)
)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $12)
(i32.shl
(i32.add
(get_local $13)
(i32.sub
(get_local $7)
(get_local $2)
)
)
(i32.const 2)
)
)
)
)
(set_local $2
(i32.add
(get_local $2)
(i32.const 1)
)
)
(br $while-in19)
)
)
)
(loop $while-in21
(if
(i32.lt_u
(get_local $1)
(i32.add
(tee_local $2
(i32.load
(get_local $6)
)
)
(i32.const -1)
)
)
(block
(f32.store
(i32.add
(i32.load
(get_local $5)
)
(i32.shl
(i32.add
(i32.mul
(get_local $0)
(i32.load
(get_local $8)
)
)
(i32.sub
(i32.add
(get_local $2)
(i32.const -2)
)
(get_local $1)
)
)
(i32.const 2)
)
)
(f32.const 0)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in21)
)
)
)
(i32.store
(tee_local $1
(i32.add
(i32.load
(get_local $9)
)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(i32.add
(i32.load
(get_local $1)
)
(i32.shr_u
(i32.sub
(get_local $2)
(get_local $4)
)
(i32.const 1)
)
)
)
(br $label$continue$L65)
)
(block
(i32.store
(i32.add
(i32.load
(get_local $3)
)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(i32.shr_u
(i32.sub
(get_local $4)
(get_local $1)
)
(i32.const 1)
)
)
(set_local $1
(i32.const 0)
)
(loop $while-in17
(if
(i32.lt_u
(get_local $1)
(i32.add
(i32.add
(i32.load
(get_local $6)
)
(i32.const -1)
)
(tee_local $2
(i32.load
(i32.add
(i32.load
(get_local $3)
)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
)
)
)
(block
(i32.store
(i32.add
(tee_local $4
(i32.load
(get_local $5)
)
)
(i32.shl
(tee_local $7
(i32.add
(i32.mul
(get_local $0)
(i32.load
(get_local $8)
)
)
(get_local $1)
)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $4)
(i32.shl
(i32.add
(get_local $7)
(get_local $2)
)
(i32.const 2)
)
)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in17)
)
(br $label$continue$L65)
)
)
)
)
)
)
(return
(i32.const 0)
)
)
(i32.store offset=84
(get_local $0)
(i32.const 5)
)
(i32.store
(get_local $6)
(get_local $11)
)
(i32.const 1)
)
(func $_speex_resampler_destroy (; 207 ;) (param $0 i32)
(call $_opus_free
(i32.load offset=72
(get_local $0)
)
)
(call $_opus_free
(i32.load offset=76
(get_local $0)
)
)
(call $_opus_free
(i32.load offset=60
(get_local $0)
)
)
(call $_opus_free
(i32.load offset=68
(get_local $0)
)
)
(call $_opus_free
(i32.load offset=64
(get_local $0)
)
)
(call $_opus_free
(get_local $0)
)
)
(func $_speex_realloc (; 208 ;) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(if
(i32.eqz
(get_local $0)
)
(return
(call $_malloc
(get_local $1)
)
)
)
(if
(i32.gt_u
(get_local $1)
(i32.const -65)
)
(return
(i32.const 0)
)
)
(set_local $4
(i32.and
(tee_local $11
(i32.load
(tee_local $10
(i32.add
(get_local $0)
(i32.const -4)
)
)
)
)
(i32.const -8)
)
)
(if
(i32.eqz
(i32.and
(i32.and
(i32.ne
(tee_local $12
(i32.and
(get_local $11)
(i32.const 3)
)
)
(i32.const 1)
)
(i32.le_u
(tee_local $13
(i32.load
(i32.const 29664)
)
)
(tee_local $8
(i32.add
(get_local $0)
(i32.const -8)
)
)
)
)
(i32.gt_s
(get_local $4)
(i32.const 0)
)
)
)
(call $_abort)
)
(if
(i32.eqz
(i32.and
(tee_local $7
(i32.load
(tee_local $9
(i32.add
(tee_local $6
(i32.add
(get_local $8)
(get_local $4)
)
)
(i32.const 4)
)
)
)
)
(i32.const 1)
)
)
(call $_abort)
)
(set_local $5
(i32.and
(i32.add
(get_local $1)
(i32.const 11)
)
(i32.const -8)
)
)
(if
(i32.lt_u
(get_local $1)
(i32.const 11)
)
(set_local $5
(i32.const 16)
)
)
(block $do-once
(if
(get_local $12)
(block
(if
(i32.ge_u
(get_local $4)
(get_local $5)
)
(block
(if
(i32.le_u
(tee_local $1
(i32.sub
(get_local $4)
(get_local $5)
)
)
(i32.const 15)
)
(return
(get_local $0)
)
)
(i32.store
(get_local $10)
(i32.or
(i32.or
(i32.and
(get_local $11)
(i32.const 1)
)
(get_local $5)
)
(i32.const 2)
)
)
(i32.store offset=4
(tee_local $3
(i32.add
(get_local $8)
(get_local $5)
)
)
(i32.or
(get_local $1)
(i32.const 3)
)
)
(i32.store
(get_local $9)
(i32.or
(i32.load
(get_local $9)
)
(i32.const 1)
)
)
(call $_dispose_chunk
(get_local $3)
(get_local $1)
)
(return
(get_local $0)
)
)
)
(if
(i32.eq
(i32.load
(i32.const 29672)
)
(get_local $6)
)
(block
(br_if $do-once
(i32.le_u
(tee_local $3
(i32.add
(i32.load
(i32.const 29660)
)
(get_local $4)
)
)
(get_local $5)
)
)
(i32.store
(get_local $10)
(i32.or
(i32.or
(i32.and
(get_local $11)
(i32.const 1)
)
(get_local $5)
)
(i32.const 2)
)
)
(i32.store offset=4
(tee_local $1
(i32.add
(get_local $8)
(get_local $5)
)
)
(i32.or
(tee_local $3
(i32.sub
(get_local $3)
(get_local $5)
)
)
(i32.const 1)
)
)
(i32.store
(i32.const 29672)
(get_local $1)
)
(i32.store
(i32.const 29660)
(get_local $3)
)
(return
(get_local $0)
)
)
)
(if
(i32.eq
(i32.load
(i32.const 29668)
)
(get_local $6)
)
(block
(br_if $do-once
(i32.lt_u
(tee_local $2
(i32.add
(i32.load
(i32.const 29656)
)
(get_local $4)
)
)
(get_local $5)
)
)
(if
(i32.gt_u
(tee_local $1
(i32.sub
(get_local $2)
(get_local $5)
)
)
(i32.const 15)
)
(block
(i32.store
(get_local $10)
(i32.or
(i32.or
(i32.and
(get_local $11)
(i32.const 1)
)
(get_local $5)
)
(i32.const 2)
)
)
(i32.store offset=4
(tee_local $3
(i32.add
(get_local $8)
(get_local $5)
)
)
(i32.or
(get_local $1)
(i32.const 1)
)
)
(i32.store
(tee_local $2
(i32.add
(get_local $8)
(get_local $2)
)
)
(get_local $1)
)
(i32.store
(tee_local $2
(i32.add
(get_local $2)
(i32.const 4)
)
)
(i32.and
(i32.load
(get_local $2)
)
(i32.const -2)
)
)
)
(block
(i32.store
(get_local $10)
(i32.or
(i32.or
(i32.and
(get_local $11)
(i32.const 1)
)
(get_local $2)
)
(i32.const 2)
)
)
(i32.store
(tee_local $1
(i32.add
(i32.add
(get_local $8)
(get_local $2)
)
(i32.const 4)
)
)
(i32.or
(i32.load
(get_local $1)
)
(i32.const 1)
)
)
(set_local $1
(i32.const 0)
)
)
)
(i32.store
(i32.const 29656)
(get_local $1)
)
(i32.store
(i32.const 29668)
(get_local $3)
)
(return
(get_local $0)
)
)
)
(if
(i32.eqz
(i32.and
(get_local $7)
(i32.const 2)
)
)
(if
(i32.ge_u
(tee_local $12
(i32.add
(i32.and
(get_local $7)
(i32.const -8)
)
(get_local $4)
)
)
(get_local $5)
)
(block
(set_local $14
(i32.sub
(get_local $12)
(get_local $5)
)
)
(set_local $1
(i32.shr_u
(get_local $7)
(i32.const 3)
)
)
(block $label$break$L42
(if
(i32.lt_u
(get_local $7)
(i32.const 256)
)
(block
(set_local $2
(i32.load offset=12
(get_local $6)
)
)
(if
(i32.ne
(tee_local $4
(i32.load offset=8
(get_local $6)
)
)
(tee_local $7
(i32.add
(i32.shl
(get_local $1)
(i32.const 3)
)
(i32.const 29688)
)
)
)
(block
(if
(i32.gt_u
(get_local $13)
(get_local $4)
)
(call $_abort)
)
(if
(i32.ne
(i32.load offset=12
(get_local $4)
)
(get_local $6)
)
(call $_abort)
)
)
)
(if
(i32.eq
(get_local $2)
(get_local $4)
)
(block
(i32.store
(i32.const 29648)
(i32.and
(i32.load
(i32.const 29648)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $1)
)
(i32.const -1)
)
)
)
(br $label$break$L42)
)
)
(if
(i32.eq
(get_local $2)
(get_local $7)
)
(set_local $3
(i32.add
(get_local $2)
(i32.const 8)
)
)
(block
(if
(i32.gt_u
(get_local $13)
(get_local $2)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $1
(i32.add
(get_local $2)
(i32.const 8)
)
)
)
(get_local $6)
)
(set_local $3
(get_local $1)
)
(call $_abort)
)
)
)
(i32.store offset=12
(get_local $4)
(get_local $2)
)
(i32.store
(get_local $3)
(get_local $4)
)
)
(block
(set_local $9
(i32.load offset=24
(get_local $6)
)
)
(block $do-once1
(if
(i32.eq
(tee_local $1
(i32.load offset=12
(get_local $6)
)
)
(get_local $6)
)
(block
(if
(tee_local $1
(i32.load
(tee_local $4
(i32.add
(tee_local $3
(i32.add
(get_local $6)
(i32.const 16)
)
)
(i32.const 4)
)
)
)
)
(set_local $3
(get_local $4)
)
(br_if $do-once1
(i32.eqz
(tee_local $1
(i32.load
(get_local $3)
)
)
)
)
)
(loop $while-in
(if
(tee_local $7
(i32.load
(tee_local $4
(i32.add
(get_local $1)
(i32.const 20)
)
)
)
)
(block
(set_local $1
(get_local $7)
)
(set_local $3
(get_local $4)
)
(br $while-in)
)
)
(if
(tee_local $7
(i32.load
(tee_local $4
(i32.add
(get_local $1)
(i32.const 16)
)
)
)
)
(block
(set_local $1
(get_local $7)
)
(set_local $3
(get_local $4)
)
(br $while-in)
)
)
)
(if
(i32.gt_u
(get_local $13)
(get_local $3)
)
(call $_abort)
(block
(i32.store
(get_local $3)
(i32.const 0)
)
(set_local $2
(get_local $1)
)
)
)
)
(block
(if
(i32.gt_u
(get_local $13)
(tee_local $3
(i32.load offset=8
(get_local $6)
)
)
)
(call $_abort)
)
(if
(i32.ne
(i32.load
(tee_local $4
(i32.add
(get_local $3)
(i32.const 12)
)
)
)
(get_local $6)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $7
(i32.add
(get_local $1)
(i32.const 8)
)
)
)
(get_local $6)
)
(block
(i32.store
(get_local $4)
(get_local $1)
)
(i32.store
(get_local $7)
(get_local $3)
)
(set_local $2
(get_local $1)
)
)
(call $_abort)
)
)
)
)
(if
(get_local $9)
(block
(if
(i32.eq
(i32.load
(tee_local $3
(i32.add
(i32.shl
(tee_local $1
(i32.load offset=28
(get_local $6)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
(get_local $6)
)
(block
(i32.store
(get_local $3)
(get_local $2)
)
(if
(i32.eqz
(get_local $2)
)
(block
(i32.store
(i32.const 29652)
(i32.and
(i32.load
(i32.const 29652)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $1)
)
(i32.const -1)
)
)
)
(br $label$break$L42)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $9)
)
(call $_abort)
(block
(i32.store
(i32.add
(i32.add
(get_local $9)
(i32.const 16)
)
(i32.shl
(i32.ne
(i32.load offset=16
(get_local $9)
)
(get_local $6)
)
(i32.const 2)
)
)
(get_local $2)
)
(br_if $label$break$L42
(i32.eqz
(get_local $2)
)
)
)
)
)
(if
(i32.gt_u
(tee_local $3
(i32.load
(i32.const 29664)
)
)
(get_local $2)
)
(call $_abort)
)
(i32.store offset=24
(get_local $2)
(get_local $9)
)
(if
(tee_local $1
(i32.load
(tee_local $4
(i32.add
(get_local $6)
(i32.const 16)
)
)
)
)
(if
(i32.gt_u
(get_local $3)
(get_local $1)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $2)
(get_local $1)
)
(i32.store offset=24
(get_local $1)
(get_local $2)
)
)
)
)
(if
(tee_local $1
(i32.load offset=4
(get_local $4)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $1)
)
(call $_abort)
(block
(i32.store offset=20
(get_local $2)
(get_local $1)
)
(i32.store offset=24
(get_local $1)
(get_local $2)
)
)
)
)
)
)
)
)
)
(if
(i32.lt_u
(get_local $14)
(i32.const 16)
)
(block
(i32.store
(get_local $10)
(i32.or
(i32.or
(get_local $12)
(i32.and
(get_local $11)
(i32.const 1)
)
)
(i32.const 2)
)
)
(i32.store
(tee_local $1
(i32.add
(i32.add
(get_local $8)
(get_local $12)
)
(i32.const 4)
)
)
(i32.or
(i32.load
(get_local $1)
)
(i32.const 1)
)
)
(return
(get_local $0)
)
)
(block
(i32.store
(get_local $10)
(i32.or
(i32.or
(i32.and
(get_local $11)
(i32.const 1)
)
(get_local $5)
)
(i32.const 2)
)
)
(i32.store offset=4
(tee_local $1
(i32.add
(get_local $8)
(get_local $5)
)
)
(i32.or
(get_local $14)
(i32.const 3)
)
)
(i32.store
(tee_local $3
(i32.add
(i32.add
(get_local $8)
(get_local $12)
)
(i32.const 4)
)
)
(i32.or
(i32.load
(get_local $3)
)
(i32.const 1)
)
)
(call $_dispose_chunk
(get_local $1)
(get_local $14)
)
(return
(get_local $0)
)
)
)
)
)
)
)
(if
(i32.eqz
(i32.or
(i32.lt_u
(get_local $5)
(i32.const 256)
)
(i32.lt_u
(get_local $4)
(i32.or
(get_local $5)
(i32.const 4)
)
)
)
)
(if
(i32.le_u
(i32.sub
(get_local $4)
(get_local $5)
)
(i32.shl
(i32.load
(i32.const 30128)
)
(i32.const 1)
)
)
(return
(get_local $0)
)
)
)
)
)
(if
(i32.eqz
(tee_local $3
(call $_malloc
(get_local $1)
)
)
)
(return
(i32.const 0)
)
)
(drop
(call $_memcpy
(get_local $3)
(get_local $0)
(if (result i32)
(i32.lt_u
(tee_local $2
(i32.sub
(i32.and
(tee_local $2
(i32.load
(get_local $10)
)
)
(i32.const -8)
)
(if (result i32)
(i32.and
(get_local $2)
(i32.const 3)
)
(i32.const 4)
(i32.const 8)
)
)
)
(get_local $1)
)
(get_local $2)
(get_local $1)
)
)
)
(call $_free
(get_local $0)
)
(get_local $3)
)
(func $_sinc (; 209 ;) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32)
(local $4 i32)
(local $5 f64)
(local $6 f64)
(local $7 f64)
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(if
(f64.lt
(tee_local $5
(f64.promote/f32
(f32.abs
(get_local $1)
)
)
)
(f64.const 1e-06)
)
(block
(set_global $STACKTOP
(get_local $4)
)
(return
(get_local $0)
)
)
)
(if
(f64.lt
(f64.mul
(tee_local $6
(f64.convert_s/i32
(get_local $2)
)
)
(f64.const 0.5)
)
(get_local $5)
)
(block
(set_global $STACKTOP
(get_local $4)
)
(return
(f32.const 0)
)
)
)
(set_local $7
(f64.promote/f32
(get_local $0)
)
)
(set_local $0
(f32.demote/f64
(f64.mul
(f64.div
(f64.mul
(block $label$break$L7 (result f64)
(if (result f64)
(i32.lt_u
(tee_local $2
(i32.and
(i32.wrap/i64
(i64.shr_u
(i64.reinterpret/f64
(tee_local $5
(f64.mul
(f64.promote/f32
(f32.mul
(get_local $1)
(get_local $0)
)
)
(f64.const 3.141592653589793)
)
)
)
(i64.const 32)
)
)
(i32.const 2147483647)
)
)
(i32.const 1072243196)
)
(if (result f64)
(i32.lt_u
(get_local $2)
(i32.const 1045430272)
)
(get_local $5)
(call $___sin
(get_local $5)
(f64.const 0)
(i32.const 0)
)
)
(block (result f64)
(drop
(br_if $label$break$L7
(f64.sub
(get_local $5)
(get_local $5)
)
(i32.gt_u
(get_local $2)
(i32.const 2146435071)
)
)
)
(block $switch-default
(block $switch-case1
(block $switch-case0
(block $switch-case
(br_table $switch-case $switch-case0 $switch-case1 $switch-default
(i32.and
(call $___rem_pio2
(get_local $5)
(get_local $4)
)
(i32.const 3)
)
)
)
(br $label$break$L7
(call $___sin
(f64.load
(get_local $4)
)
(f64.load offset=8
(get_local $4)
)
(i32.const 1)
)
)
)
(br $label$break$L7
(call $___cos
(f64.load
(get_local $4)
)
(f64.load offset=8
(get_local $4)
)
)
)
)
(br $label$break$L7
(f64.neg
(call $___sin
(f64.load
(get_local $4)
)
(f64.load offset=8
(get_local $4)
)
(i32.const 1)
)
)
)
)
(f64.neg
(call $___cos
(f64.load
(get_local $4)
)
(f64.load offset=8
(get_local $4)
)
)
)
)
)
)
(get_local $7)
)
(get_local $5)
)
(call $_compute_func
(f32.abs
(f32.demote/f64
(f64.div
(f64.mul
(f64.promote/f32
(get_local $1)
)
(f64.const 2)
)
(get_local $6)
)
)
)
(i32.load
(get_local $3)
)
(i32.load offset=4
(get_local $3)
)
)
)
)
)
(set_global $STACKTOP
(get_local $4)
)
(get_local $0)
)
(func $_resampler_basic_direct_double (; 210 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 f64)
(local $12 f64)
(local $13 f64)
(local $14 f64)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(set_local $15
(i32.load offset=24
(get_local $0)
)
)
(set_local $20
(i32.load offset=76
(get_local $0)
)
)
(set_local $21
(i32.load offset=92
(get_local $0)
)
)
(set_local $22
(i32.load offset=36
(get_local $0)
)
)
(set_local $23
(i32.load offset=40
(get_local $0)
)
)
(set_local $16
(i32.load offset=12
(get_local $0)
)
)
(set_local $8
(i32.load
(i32.add
(i32.load
(tee_local $24
(i32.add
(get_local $0)
(i32.const 64)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(set_local $0
(i32.load
(i32.add
(i32.load
(tee_local $25
(i32.add
(get_local $0)
(i32.const 60)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(block $__rjto$0 (result i32)
(block $__rjti$0
(loop $while-in
(block $while-out
(br_if $__rjti$0
(i32.ge_s
(get_local $0)
(i32.load
(get_local $3)
)
)
)
(if
(i32.lt_s
(get_local $7)
(i32.load
(get_local $5)
)
)
(block
(set_local $9
(i32.add
(get_local $20)
(i32.shl
(i32.mul
(get_local $8)
(get_local $15)
)
(i32.const 2)
)
)
)
(set_local $10
(i32.add
(get_local $2)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(set_local $6
(i32.const 0)
)
(set_local $11
(f64.const 0)
)
(set_local $12
(f64.const 0)
)
(set_local $13
(f64.const 0)
)
(set_local $14
(f64.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $6)
(get_local $15)
)
(block
(set_local $11
(f64.add
(get_local $11)
(f64.promote/f32
(f32.mul
(f32.load
(i32.add
(get_local $9)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $10)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
)
)
)
(set_local $17
(i32.or
(get_local $6)
(i32.const 1)
)
)
(set_local $18
(i32.or
(get_local $6)
(i32.const 2)
)
)
(set_local $19
(i32.or
(get_local $6)
(i32.const 3)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 4)
)
)
(set_local $12
(f64.add
(get_local $12)
(f64.promote/f32
(f32.mul
(f32.load
(i32.add
(get_local $9)
(i32.shl
(get_local $19)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $10)
(i32.shl
(get_local $19)
(i32.const 2)
)
)
)
)
)
)
)
(set_local $13
(f64.add
(get_local $13)
(f64.promote/f32
(f32.mul
(f32.load
(i32.add
(get_local $9)
(i32.shl
(get_local $17)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $10)
(i32.shl
(get_local $17)
(i32.const 2)
)
)
)
)
)
)
)
(set_local $14
(f64.add
(get_local $14)
(f64.promote/f32
(f32.mul
(f32.load
(i32.add
(get_local $9)
(i32.shl
(get_local $18)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $10)
(i32.shl
(get_local $18)
(i32.const 2)
)
)
)
)
)
)
)
(br $while-in1)
)
)
)
(set_local $6
(i32.add
(get_local $7)
(i32.const 1)
)
)
(f32.store
(i32.add
(get_local $4)
(i32.shl
(i32.mul
(get_local $21)
(get_local $7)
)
(i32.const 2)
)
)
(f32.demote/f64
(f64.add
(f64.add
(f64.add
(get_local $11)
(get_local $13)
)
(get_local $14)
)
(get_local $12)
)
)
)
(set_local $0
(i32.add
(i32.add
(get_local $0)
(get_local $22)
)
(i32.xor
(tee_local $8
(i32.lt_u
(tee_local $7
(i32.add
(get_local $8)
(get_local $23)
)
)
(get_local $16)
)
)
(i32.const 1)
)
)
)
(set_local $8
(i32.sub
(get_local $7)
(if (result i32)
(get_local $8)
(i32.const 0)
(get_local $16)
)
)
)
(set_local $7
(get_local $6)
)
(br $while-in)
)
)
)
)
)
(i32.store
(i32.add
(i32.load
(get_local $25)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $0)
)
(i32.store
(i32.add
(i32.load
(get_local $24)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $8)
)
(get_local $7)
)
)
(func $_resampler_basic_direct_single (; 211 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 f32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(set_local $10
(i32.load offset=24
(get_local $0)
)
)
(set_local $12
(i32.load offset=76
(get_local $0)
)
)
(set_local $13
(i32.load offset=92
(get_local $0)
)
)
(set_local $14
(i32.load offset=36
(get_local $0)
)
)
(set_local $15
(i32.load offset=40
(get_local $0)
)
)
(set_local $11
(i32.load offset=12
(get_local $0)
)
)
(set_local $8
(i32.load
(i32.add
(i32.load
(tee_local $16
(i32.add
(get_local $0)
(i32.const 64)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(set_local $0
(i32.load
(i32.add
(i32.load
(tee_local $17
(i32.add
(get_local $0)
(i32.const 60)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(block $__rjto$0 (result i32)
(block $__rjti$0
(loop $while-in
(block $while-out
(br_if $__rjti$0
(i32.ge_s
(get_local $0)
(i32.load
(get_local $3)
)
)
)
(if
(i32.lt_s
(get_local $6)
(i32.load
(get_local $5)
)
)
(block
(set_local $18
(i32.add
(get_local $12)
(i32.shl
(i32.mul
(get_local $8)
(get_local $10)
)
(i32.const 2)
)
)
)
(set_local $19
(i32.add
(get_local $2)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(set_local $7
(i32.const 0)
)
(set_local $9
(f32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $7)
(get_local $10)
)
(block
(set_local $9
(f32.add
(get_local $9)
(f32.mul
(f32.load
(i32.add
(get_local $18)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
(f32.load
(i32.add
(get_local $19)
(i32.shl
(get_local $7)
(i32.const 2)
)
)
)
)
)
)
(set_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(br $while-in1)
)
)
)
(set_local $7
(i32.add
(get_local $6)
(i32.const 1)
)
)
(f32.store
(i32.add
(get_local $4)
(i32.shl
(i32.mul
(get_local $13)
(get_local $6)
)
(i32.const 2)
)
)
(get_local $9)
)
(set_local $0
(i32.add
(i32.add
(get_local $0)
(get_local $14)
)
(i32.xor
(tee_local $8
(i32.lt_u
(tee_local $6
(i32.add
(get_local $8)
(get_local $15)
)
)
(get_local $11)
)
)
(i32.const 1)
)
)
)
(set_local $8
(i32.sub
(get_local $6)
(if (result i32)
(get_local $8)
(i32.const 0)
(get_local $11)
)
)
)
(set_local $6
(get_local $7)
)
(br $while-in)
)
)
)
)
)
(i32.store
(i32.add
(i32.load
(get_local $17)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $0)
)
(i32.store
(i32.add
(i32.load
(get_local $16)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $8)
)
(get_local $6)
)
)
(func $_resampler_basic_interpolate_double (; 212 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 f64)
(local $12 f64)
(local $13 f64)
(local $14 f64)
(local $15 f32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 i32)
(local $33 i32)
(local $34 f32)
(set_local $8
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $18
(i32.load offset=24
(get_local $0)
)
)
(set_local $19
(i32.load offset=92
(get_local $0)
)
)
(set_local $20
(i32.load offset=36
(get_local $0)
)
)
(set_local $21
(i32.load offset=40
(get_local $0)
)
)
(set_local $17
(i32.load
(tee_local $22
(i32.add
(get_local $0)
(i32.const 12)
)
)
)
)
(set_local $23
(i32.add
(get_local $0)
(i32.const 48)
)
)
(set_local $24
(i32.add
(get_local $0)
(i32.const 76)
)
)
(set_local $25
(i32.add
(get_local $8)
(i32.const 4)
)
)
(set_local $26
(i32.add
(get_local $8)
(i32.const 8)
)
)
(set_local $27
(i32.add
(get_local $8)
(i32.const 12)
)
)
(set_local $9
(i32.load
(i32.add
(i32.load
(tee_local $28
(i32.add
(get_local $0)
(i32.const 64)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(set_local $0
(i32.load
(i32.add
(i32.load
(tee_local $29
(i32.add
(get_local $0)
(i32.const 60)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(block $__rjto$0 (result i32)
(block $__rjti$0
(loop $while-in
(block $while-out
(br_if $__rjti$0
(i32.ge_s
(get_local $0)
(i32.load
(get_local $3)
)
)
)
(if
(i32.lt_s
(get_local $7)
(i32.load
(get_local $5)
)
)
(block
(set_local $30
(i32.add
(get_local $2)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(set_local $32
(i32.div_u
(tee_local $10
(i32.mul
(get_local $9)
(tee_local $31
(i32.load
(get_local $23)
)
)
)
)
(tee_local $6
(i32.load
(get_local $22)
)
)
)
)
(set_local $33
(i32.rem_u
(get_local $10)
(get_local $6)
)
)
(set_local $34
(f32.convert_u/i32
(get_local $6)
)
)
(set_local $6
(i32.const 0)
)
(set_local $11
(f64.const 0)
)
(set_local $12
(f64.const 0)
)
(set_local $13
(f64.const 0)
)
(set_local $14
(f64.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $6)
(get_local $18)
)
(block
(set_local $11
(f64.add
(get_local $11)
(f64.promote/f32
(f32.mul
(tee_local $15
(f32.load
(i32.add
(get_local $30)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
(f32.load
(i32.add
(tee_local $16
(i32.load
(get_local $24)
)
)
(i32.shl
(i32.add
(tee_local $10
(i32.sub
(i32.add
(i32.mul
(tee_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(get_local $31)
)
(i32.const 4)
)
(get_local $32)
)
)
(i32.const -2)
)
(i32.const 2)
)
)
)
)
)
)
)
(set_local $12
(f64.add
(get_local $12)
(f64.promote/f32
(f32.mul
(get_local $15)
(f32.load
(i32.add
(get_local $16)
(i32.shl
(i32.add
(get_local $10)
(i32.const 1)
)
(i32.const 2)
)
)
)
)
)
)
)
(set_local $13
(f64.add
(get_local $13)
(f64.promote/f32
(f32.mul
(get_local $15)
(f32.load
(i32.add
(get_local $16)
(i32.shl
(i32.add
(get_local $10)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
)
)
)
(set_local $14
(f64.add
(get_local $14)
(f64.promote/f32
(f32.mul
(get_local $15)
(f32.load
(i32.add
(get_local $16)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
)
)
)
)
)
(br $while-in1)
)
)
)
(call $_cubic_coef
(f32.div
(f32.convert_u/i32
(get_local $33)
)
(get_local $34)
)
(get_local $8)
)
(set_local $6
(i32.add
(get_local $7)
(i32.const 1)
)
)
(f32.store
(i32.add
(get_local $4)
(i32.shl
(i32.mul
(get_local $19)
(get_local $7)
)
(i32.const 2)
)
)
(f32.demote/f64
(f64.add
(f64.add
(f64.add
(f64.mul
(get_local $11)
(f64.promote/f32
(f32.load
(get_local $8)
)
)
)
(f64.mul
(get_local $13)
(f64.promote/f32
(f32.load
(get_local $25)
)
)
)
)
(f64.mul
(get_local $14)
(f64.promote/f32
(f32.load
(get_local $26)
)
)
)
)
(f64.mul
(get_local $12)
(f64.promote/f32
(f32.load
(get_local $27)
)
)
)
)
)
)
(set_local $0
(i32.add
(i32.add
(get_local $0)
(get_local $20)
)
(i32.xor
(tee_local $9
(i32.lt_u
(tee_local $7
(i32.add
(get_local $9)
(get_local $21)
)
)
(get_local $17)
)
)
(i32.const 1)
)
)
)
(set_local $9
(i32.sub
(get_local $7)
(if (result i32)
(get_local $9)
(i32.const 0)
(get_local $17)
)
)
)
(set_local $7
(get_local $6)
)
(br $while-in)
)
)
)
)
)
(i32.store
(i32.add
(i32.load
(get_local $29)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $0)
)
(i32.store
(i32.add
(i32.load
(get_local $28)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $9)
)
(set_global $STACKTOP
(get_local $8)
)
(get_local $7)
)
)
(func $_resampler_basic_interpolate_single (; 213 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 f32)
(local $12 f32)
(local $13 f32)
(local $14 f32)
(local $15 f32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(local $30 i32)
(local $31 i32)
(local $32 i32)
(local $33 i32)
(local $34 f32)
(set_local $8
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $18
(i32.load offset=24
(get_local $0)
)
)
(set_local $19
(i32.load offset=92
(get_local $0)
)
)
(set_local $20
(i32.load offset=36
(get_local $0)
)
)
(set_local $21
(i32.load offset=40
(get_local $0)
)
)
(set_local $17
(i32.load
(tee_local $22
(i32.add
(get_local $0)
(i32.const 12)
)
)
)
)
(set_local $23
(i32.add
(get_local $0)
(i32.const 48)
)
)
(set_local $24
(i32.add
(get_local $0)
(i32.const 76)
)
)
(set_local $25
(i32.add
(get_local $8)
(i32.const 4)
)
)
(set_local $26
(i32.add
(get_local $8)
(i32.const 8)
)
)
(set_local $27
(i32.add
(get_local $8)
(i32.const 12)
)
)
(set_local $9
(i32.load
(i32.add
(i32.load
(tee_local $28
(i32.add
(get_local $0)
(i32.const 64)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(set_local $0
(i32.load
(i32.add
(i32.load
(tee_local $29
(i32.add
(get_local $0)
(i32.const 60)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(block $__rjto$0 (result i32)
(block $__rjti$0
(loop $while-in
(block $while-out
(br_if $__rjti$0
(i32.ge_s
(get_local $0)
(i32.load
(get_local $3)
)
)
)
(if
(i32.lt_s
(get_local $7)
(i32.load
(get_local $5)
)
)
(block
(set_local $30
(i32.add
(get_local $2)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
)
(set_local $32
(i32.div_u
(tee_local $10
(i32.mul
(get_local $9)
(tee_local $31
(i32.load
(get_local $23)
)
)
)
)
(tee_local $6
(i32.load
(get_local $22)
)
)
)
)
(set_local $33
(i32.rem_u
(get_local $10)
(get_local $6)
)
)
(set_local $34
(f32.convert_u/i32
(get_local $6)
)
)
(set_local $6
(i32.const 0)
)
(set_local $11
(f32.const 0)
)
(set_local $12
(f32.const 0)
)
(set_local $13
(f32.const 0)
)
(set_local $14
(f32.const 0)
)
(loop $while-in1
(if
(i32.lt_s
(get_local $6)
(get_local $18)
)
(block
(set_local $11
(f32.add
(get_local $11)
(f32.mul
(tee_local $15
(f32.load
(i32.add
(get_local $30)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
)
)
(f32.load
(i32.add
(tee_local $16
(i32.load
(get_local $24)
)
)
(i32.shl
(i32.add
(tee_local $10
(i32.sub
(i32.add
(i32.mul
(tee_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(get_local $31)
)
(i32.const 4)
)
(get_local $32)
)
)
(i32.const -2)
)
(i32.const 2)
)
)
)
)
)
)
(set_local $12
(f32.add
(get_local $12)
(f32.mul
(get_local $15)
(f32.load
(i32.add
(get_local $16)
(i32.shl
(i32.add
(get_local $10)
(i32.const 1)
)
(i32.const 2)
)
)
)
)
)
)
(set_local $13
(f32.add
(get_local $13)
(f32.mul
(get_local $15)
(f32.load
(i32.add
(get_local $16)
(i32.shl
(i32.add
(get_local $10)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
)
)
(set_local $14
(f32.add
(get_local $14)
(f32.mul
(get_local $15)
(f32.load
(i32.add
(get_local $16)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
)
)
)
)
(br $while-in1)
)
)
)
(call $_cubic_coef
(f32.div
(f32.convert_u/i32
(get_local $33)
)
(get_local $34)
)
(get_local $8)
)
(set_local $6
(i32.add
(get_local $7)
(i32.const 1)
)
)
(f32.store
(i32.add
(get_local $4)
(i32.shl
(i32.mul
(get_local $19)
(get_local $7)
)
(i32.const 2)
)
)
(f32.add
(f32.add
(f32.add
(f32.mul
(f32.load
(get_local $8)
)
(get_local $11)
)
(f32.mul
(f32.load
(get_local $25)
)
(get_local $13)
)
)
(f32.mul
(f32.load
(get_local $26)
)
(get_local $14)
)
)
(f32.mul
(f32.load
(get_local $27)
)
(get_local $12)
)
)
)
(set_local $0
(i32.add
(i32.add
(get_local $0)
(get_local $20)
)
(i32.xor
(tee_local $9
(i32.lt_u
(tee_local $7
(i32.add
(get_local $9)
(get_local $21)
)
)
(get_local $17)
)
)
(i32.const 1)
)
)
)
(set_local $9
(i32.sub
(get_local $7)
(if (result i32)
(get_local $9)
(i32.const 0)
(get_local $17)
)
)
)
(set_local $7
(get_local $6)
)
(br $while-in)
)
)
)
)
)
(i32.store
(i32.add
(i32.load
(get_local $29)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $0)
)
(i32.store
(i32.add
(i32.load
(get_local $28)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $9)
)
(set_global $STACKTOP
(get_local $8)
)
(get_local $7)
)
)
(func $_resampler_basic_zero (; 214 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(set_local $8
(i32.load offset=92
(get_local $0)
)
)
(set_local $9
(i32.load offset=36
(get_local $0)
)
)
(set_local $10
(i32.load offset=40
(get_local $0)
)
)
(set_local $7
(i32.load offset=12
(get_local $0)
)
)
(set_local $6
(i32.load
(i32.add
(i32.load
(tee_local $11
(i32.add
(get_local $0)
(i32.const 64)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(set_local $2
(i32.load
(i32.add
(i32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.const 60)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(set_local $0
(i32.const 0)
)
(block $__rjto$0 (result i32)
(block $__rjti$0
(loop $while-in
(block $while-out
(br_if $__rjti$0
(i32.ge_s
(get_local $2)
(i32.load
(get_local $3)
)
)
)
(if
(i32.lt_s
(get_local $0)
(i32.load
(get_local $5)
)
)
(block
(set_local $13
(i32.add
(get_local $0)
(i32.const 1)
)
)
(f32.store
(i32.add
(get_local $4)
(i32.shl
(i32.mul
(get_local $8)
(get_local $0)
)
(i32.const 2)
)
)
(f32.const 0)
)
(set_local $2
(i32.add
(i32.add
(get_local $2)
(get_local $9)
)
(i32.xor
(tee_local $6
(i32.lt_u
(tee_local $0
(i32.add
(get_local $6)
(get_local $10)
)
)
(get_local $7)
)
)
(i32.const 1)
)
)
)
(set_local $6
(i32.sub
(get_local $0)
(if (result i32)
(get_local $6)
(i32.const 0)
(get_local $7)
)
)
)
(set_local $0
(get_local $13)
)
(br $while-in)
)
)
)
)
)
(i32.store
(i32.add
(i32.load
(get_local $12)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $2)
)
(i32.store
(i32.add
(i32.load
(get_local $11)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
(get_local $6)
)
(get_local $0)
)
)
(func $_cubic_coef (; 215 ;) (param $0 f32) (param $1 i32)
(local $2 f32)
(local $3 f32)
(local $4 f32)
(local $5 f32)
(f32.store
(get_local $1)
(tee_local $4
(f32.add
(f32.mul
(get_local $0)
(f32.const -0.16666999459266663)
)
(tee_local $3
(f32.mul
(f32.mul
(f32.mul
(get_local $0)
(f32.const 0.16666999459266663)
)
(get_local $0)
)
(get_local $0)
)
)
)
)
)
(f32.store offset=4
(get_local $1)
(tee_local $5
(f32.sub
(f32.add
(tee_local $2
(f32.mul
(f32.mul
(get_local $0)
(f32.const 0.5)
)
(get_local $0)
)
)
(get_local $0)
)
(f32.mul
(get_local $2)
(get_local $0)
)
)
)
)
(f32.store offset=12
(get_local $1)
(tee_local $0
(f32.sub
(f32.add
(f32.mul
(get_local $0)
(f32.const -0.3333300054073334)
)
(get_local $2)
)
(get_local $3)
)
)
)
(f32.store offset=8
(get_local $1)
(f32.demote/f64
(f64.sub
(f64.sub
(f64.sub
(f64.const 1)
(f64.promote/f32
(get_local $4)
)
)
(f64.promote/f32
(get_local $5)
)
)
(f64.promote/f32
(get_local $0)
)
)
)
)
)
(func $_compute_func (; 216 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result f64)
(local $3 f64)
(local $4 f64)
(local $5 f64)
(local $6 f32)
(local $7 f64)
(local $8 f64)
(set_local $2
(i32.trunc_s/f32
(f32.floor
(tee_local $0
(f32.mul
(f32.convert_s/i32
(get_local $2)
)
(get_local $0)
)
)
)
)
)
(set_local $5
(f64.add
(f64.mul
(tee_local $3
(f64.promote/f32
(tee_local $0
(f32.sub
(get_local $0)
(f32.convert_s/i32
(get_local $2)
)
)
)
)
)
(f64.const -0.1666666667)
)
(tee_local $7
(f64.mul
(tee_local $4
(f64.promote/f32
(f32.mul
(tee_local $6
(f32.mul
(get_local $0)
(get_local $0)
)
)
(get_local $0)
)
)
)
(f64.const 0.1666666667)
)
)
)
)
(set_local $4
(f64.sub
(f64.add
(tee_local $8
(f64.mul
(f64.promote/f32
(get_local $6)
)
(f64.const 0.5)
)
)
(get_local $3)
)
(f64.mul
(get_local $4)
(f64.const 0.5)
)
)
)
(f64.add
(f64.add
(f64.add
(f64.mul
(tee_local $3
(f64.sub
(f64.add
(f64.mul
(get_local $3)
(f64.const -0.3333333333)
)
(get_local $8)
)
(get_local $7)
)
)
(f64.load
(i32.add
(get_local $1)
(i32.shl
(get_local $2)
(i32.const 3)
)
)
)
)
(f64.mul
(f64.sub
(f64.sub
(f64.sub
(f64.const 1)
(get_local $5)
)
(get_local $4)
)
(get_local $3)
)
(f64.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $2)
(i32.const 1)
)
(i32.const 3)
)
)
)
)
)
(f64.mul
(get_local $4)
(f64.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $2)
(i32.const 2)
)
(i32.const 3)
)
)
)
)
)
(f64.mul
(get_local $5)
(f64.load
(i32.add
(get_local $1)
(i32.shl
(i32.add
(get_local $2)
(i32.const 3)
)
(i32.const 3)
)
)
)
)
)
)
(func $_speex_resampler_process_float (; 217 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(set_local $8
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(i32.store
(tee_local $13
(i32.add
(get_local $8)
(i32.const 8)
)
)
(get_local $4)
)
(set_local $4
(i32.load
(get_local $3)
)
)
(set_local $7
(i32.load
(get_local $5)
)
)
(set_local $6
(i32.load offset=72
(get_local $0)
)
)
(set_local $11
(i32.load offset=28
(get_local $0)
)
)
(set_local $9
(i32.load offset=24
(get_local $0)
)
)
(set_local $14
(i32.load offset=88
(get_local $0)
)
)
(if
(i32.load
(i32.add
(i32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.const 68)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(block
(set_local $7
(i32.sub
(get_local $7)
(call $_speex_resampler_magic
(get_local $0)
(get_local $1)
(get_local $13)
(get_local $7)
)
)
)
(if
(i32.load
(i32.add
(i32.load
(get_local $12)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(block
(i32.store
(get_local $3)
(i32.sub
(i32.load
(get_local $3)
)
(get_local $4)
)
)
(i32.store
(get_local $5)
(i32.sub
(i32.load
(get_local $5)
)
(get_local $7)
)
)
(set_global $STACKTOP
(get_local $8)
)
(return)
)
)
)
)
(set_local $10
(i32.add
(get_local $8)
(i32.const 4)
)
)
(set_local $15
(i32.add
(get_local $6)
(i32.shl
(i32.mul
(get_local $11)
(get_local $1)
)
(i32.const 2)
)
)
)
(set_local $12
(i32.sub
(get_local $11)
(tee_local $16
(i32.add
(get_local $9)
(i32.const -1)
)
)
)
)
(set_local $18
(i32.add
(get_local $0)
(i32.const 92)
)
)
(set_local $9
(get_local $2)
)
(set_local $2
(get_local $7)
)
(loop $label$continue$L5
(block $label$break$L5
(set_local $17
(i32.eqz
(get_local $9)
)
)
(loop $while-in
(br_if $label$break$L5
(i32.eqz
(i32.and
(i32.ne
(get_local $4)
(i32.const 0)
)
(i32.ne
(get_local $2)
(i32.const 0)
)
)
)
)
(i32.store
(get_local $10)
(tee_local $7
(if (result i32)
(i32.gt_u
(get_local $4)
(get_local $12)
)
(get_local $12)
(get_local $4)
)
)
)
(i32.store
(get_local $8)
(get_local $2)
)
(block $label$break$L10
(if
(get_local $17)
(block
(set_local $6
(i32.const 0)
)
(loop $while-in1
(br_if $label$break$L10
(i32.ge_u
(get_local $6)
(get_local $7)
)
)
(f32.store
(i32.add
(get_local $15)
(i32.shl
(i32.add
(get_local $6)
(get_local $16)
)
(i32.const 2)
)
)
(f32.const 0)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(set_local $7
(i32.load
(get_local $10)
)
)
(br $while-in1)
)
)
(block
(set_local $6
(i32.const 0)
)
(loop $while-in3
(br_if $label$break$L10
(i32.ge_u
(get_local $6)
(get_local $7)
)
)
(i32.store
(i32.add
(get_local $15)
(i32.shl
(i32.add
(get_local $6)
(get_local $16)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $9)
(i32.shl
(i32.mul
(get_local $6)
(get_local $14)
)
(i32.const 2)
)
)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(set_local $7
(i32.load
(get_local $10)
)
)
(br $while-in3)
)
)
)
)
(call $_speex_resampler_process_native
(get_local $0)
(get_local $1)
(get_local $10)
(tee_local $11
(i32.load
(get_local $13)
)
)
(get_local $8)
)
(set_local $4
(i32.sub
(get_local $4)
(tee_local $6
(i32.load
(get_local $10)
)
)
)
)
(set_local $2
(i32.sub
(get_local $2)
(tee_local $7
(i32.load
(get_local $8)
)
)
)
)
(i32.store
(get_local $13)
(i32.add
(get_local $11)
(i32.shl
(i32.mul
(get_local $7)
(i32.load
(get_local $18)
)
)
(i32.const 2)
)
)
)
(br_if $while-in
(get_local $17)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.shl
(i32.mul
(get_local $6)
(get_local $14)
)
(i32.const 2)
)
)
)
(br $label$continue$L5)
)
)
(i32.store
(get_local $3)
(i32.sub
(i32.load
(get_local $3)
)
(get_local $4)
)
)
(i32.store
(get_local $5)
(i32.sub
(i32.load
(get_local $5)
)
(get_local $2)
)
)
(set_global $STACKTOP
(get_local $8)
)
)
(func $_speex_resampler_magic (; 218 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(set_local $4
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(i32.store
(tee_local $7
(i32.add
(get_local $4)
(i32.const 4)
)
)
(get_local $3)
)
(i32.store
(get_local $4)
(i32.load
(i32.add
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 68)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(set_local $5
(i32.load offset=72
(get_local $0)
)
)
(set_local $6
(i32.load offset=28
(get_local $0)
)
)
(set_local $9
(i32.load offset=24
(get_local $0)
)
)
(call $_speex_resampler_process_native
(get_local $0)
(get_local $1)
(get_local $4)
(i32.load
(get_local $2)
)
(get_local $7)
)
(i32.store
(tee_local $3
(i32.add
(i32.load
(get_local $8)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(i32.sub
(i32.load
(get_local $3)
)
(i32.load
(get_local $4)
)
)
)
(if
(i32.eqz
(tee_local $3
(i32.load
(i32.add
(i32.load
(get_local $8)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
)
(block
(i32.store
(get_local $2)
(i32.add
(i32.load
(get_local $2)
)
(i32.shl
(i32.mul
(tee_local $1
(i32.load
(get_local $7)
)
)
(i32.load offset=92
(get_local $0)
)
)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $4)
)
(return
(get_local $1)
)
)
)
(set_local $6
(i32.add
(get_local $5)
(i32.shl
(i32.mul
(get_local $6)
(get_local $1)
)
(i32.const 2)
)
)
)
(set_local $9
(i32.add
(get_local $9)
(i32.const -1)
)
)
(set_local $5
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_u
(get_local $5)
(get_local $3)
)
(block
(i32.store
(i32.add
(get_local $6)
(i32.shl
(tee_local $3
(i32.add
(get_local $9)
(get_local $5)
)
)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $6)
(i32.shl
(i32.add
(get_local $3)
(i32.load
(get_local $4)
)
)
(i32.const 2)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(set_local $3
(i32.load
(i32.add
(i32.load
(get_local $8)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(br $while-in)
)
)
)
(i32.store
(get_local $2)
(i32.add
(i32.load
(get_local $2)
)
(i32.shl
(i32.mul
(tee_local $1
(i32.load
(get_local $7)
)
)
(i32.load offset=92
(get_local $0)
)
)
(i32.const 2)
)
)
)
(set_global $STACKTOP
(get_local $4)
)
(get_local $1)
)
(func $_speex_resampler_process_native (; 219 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(set_local $6
(i32.load offset=24
(get_local $0)
)
)
(set_local $5
(i32.add
(i32.load offset=72
(get_local $0)
)
(i32.shl
(i32.mul
(i32.load offset=28
(get_local $0)
)
(get_local $1)
)
(i32.const 2)
)
)
)
(i32.store offset=56
(get_local $0)
(i32.const 1)
)
(set_local $3
(call_indirect (type $FUNCSIG$iiiiiii)
(get_local $0)
(get_local $1)
(get_local $5)
(get_local $2)
(get_local $3)
(get_local $4)
(i32.and
(i32.load offset=84
(get_local $0)
)
(i32.const 7)
)
)
)
(if
(i32.lt_s
(tee_local $7
(i32.load
(i32.add
(i32.load
(tee_local $0
(i32.add
(get_local $0)
(i32.const 60)
)
)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
)
(i32.load
(get_local $2)
)
)
(i32.store
(get_local $2)
(get_local $7)
)
)
(i32.store
(get_local $4)
(get_local $3)
)
(i32.store
(tee_local $0
(i32.add
(i32.load
(get_local $0)
)
(i32.shl
(get_local $1)
(i32.const 2)
)
)
)
(i32.sub
(i32.load
(get_local $0)
)
(i32.load
(get_local $2)
)
)
)
(set_local $1
(i32.load
(get_local $2)
)
)
(set_local $2
(i32.add
(get_local $6)
(i32.const -1)
)
)
(set_local $0
(i32.const 0)
)
(loop $while-in
(if
(i32.lt_s
(get_local $0)
(get_local $2)
)
(block
(i32.store
(i32.add
(get_local $5)
(i32.shl
(get_local $0)
(i32.const 2)
)
)
(i32.load
(i32.add
(get_local $5)
(i32.shl
(i32.add
(get_local $0)
(get_local $1)
)
(i32.const 2)
)
)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in)
)
)
)
)
(func $_speex_resampler_process_interleaved_float (; 220 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(set_local $9
(i32.load
(get_local $4)
)
)
(set_local $10
(i32.load
(get_local $2)
)
)
(set_local $11
(i32.load
(tee_local $7
(i32.add
(get_local $0)
(i32.const 88)
)
)
)
)
(set_local $12
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 92)
)
)
)
)
(i32.store
(get_local $8)
(tee_local $6
(i32.load
(tee_local $13
(i32.add
(get_local $0)
(i32.const 20)
)
)
)
)
)
(i32.store
(get_local $7)
(get_local $6)
)
(set_local $14
(i32.eqz
(get_local $1)
)
)
(loop $while-in
(if
(i32.lt_u
(get_local $5)
(get_local $6)
)
(block
(i32.store
(get_local $4)
(get_local $9)
)
(i32.store
(get_local $2)
(get_local $10)
)
(if
(get_local $14)
(call $_speex_resampler_process_float
(get_local $0)
(get_local $5)
(i32.const 0)
(get_local $2)
(i32.add
(get_local $3)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(get_local $4)
)
(call $_speex_resampler_process_float
(get_local $0)
(get_local $5)
(i32.add
(get_local $1)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(get_local $2)
(i32.add
(get_local $3)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(get_local $4)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(set_local $6
(i32.load
(get_local $13)
)
)
(br $while-in)
)
)
)
(i32.store
(get_local $7)
(get_local $11)
)
(i32.store
(get_local $8)
(get_local $12)
)
(i32.eq
(i32.load offset=84
(get_local $0)
)
(i32.const 5)
)
)
(func $_malloc (; 221 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(set_local $3
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $13
(get_local $3)
)
(block $do-once
(if
(i32.lt_u
(get_local $0)
(i32.const 245)
)
(block
(set_local $3
(i32.and
(i32.add
(get_local $0)
(i32.const 11)
)
(i32.const -8)
)
)
(if
(i32.and
(tee_local $2
(i32.shr_u
(tee_local $7
(i32.load
(i32.const 29648)
)
)
(tee_local $0
(i32.shr_u
(if (result i32)
(i32.lt_u
(get_local $0)
(i32.const 11)
)
(tee_local $3
(i32.const 16)
)
(get_local $3)
)
(i32.const 3)
)
)
)
)
(i32.const 3)
)
(block
(if
(i32.eq
(tee_local $2
(i32.load
(tee_local $6
(i32.add
(tee_local $0
(i32.load
(tee_local $4
(i32.add
(tee_local $3
(i32.add
(i32.shl
(tee_local $1
(i32.add
(i32.xor
(i32.and
(get_local $2)
(i32.const 1)
)
(i32.const 1)
)
(get_local $0)
)
)
(i32.const 3)
)
(i32.const 29688)
)
)
(i32.const 8)
)
)
)
)
(i32.const 8)
)
)
)
)
(get_local $3)
)
(i32.store
(i32.const 29648)
(i32.and
(get_local $7)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $1)
)
(i32.const -1)
)
)
)
(block
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $2)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $5
(i32.add
(get_local $2)
(i32.const 12)
)
)
)
(get_local $0)
)
(block
(i32.store
(get_local $5)
(get_local $3)
)
(i32.store
(get_local $4)
(get_local $2)
)
)
(call $_abort)
)
)
)
(i32.store offset=4
(get_local $0)
(i32.or
(tee_local $2
(i32.shl
(get_local $1)
(i32.const 3)
)
)
(i32.const 3)
)
)
(i32.store
(tee_local $0
(i32.add
(i32.add
(get_local $0)
(get_local $2)
)
(i32.const 4)
)
)
(i32.or
(i32.load
(get_local $0)
)
(i32.const 1)
)
)
(set_global $STACKTOP
(get_local $13)
)
(return
(get_local $6)
)
)
)
(if
(i32.gt_u
(get_local $3)
(tee_local $15
(i32.load
(i32.const 29656)
)
)
)
(block
(if
(get_local $2)
(block
(set_local $0
(i32.and
(i32.shr_u
(tee_local $2
(i32.add
(i32.and
(tee_local $0
(i32.and
(i32.shl
(get_local $2)
(get_local $0)
)
(i32.or
(tee_local $0
(i32.shl
(i32.const 2)
(get_local $0)
)
)
(i32.sub
(i32.const 0)
(get_local $0)
)
)
)
)
(i32.sub
(i32.const 0)
(get_local $0)
)
)
(i32.const -1)
)
)
(i32.const 12)
)
(i32.const 16)
)
)
(if
(i32.eq
(tee_local $2
(i32.load
(tee_local $11
(i32.add
(tee_local $0
(i32.load
(tee_local $8
(i32.add
(tee_local $5
(i32.add
(i32.shl
(tee_local $4
(i32.add
(i32.or
(i32.or
(i32.or
(i32.or
(tee_local $4
(i32.and
(i32.shr_u
(tee_local $2
(i32.shr_u
(get_local $2)
(get_local $0)
)
)
(i32.const 5)
)
(i32.const 8)
)
)
(get_local $0)
)
(tee_local $2
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
(get_local $2)
(get_local $4)
)
)
(i32.const 2)
)
(i32.const 4)
)
)
)
(tee_local $2
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
(get_local $0)
(get_local $2)
)
)
(i32.const 1)
)
(i32.const 2)
)
)
)
(tee_local $2
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
(get_local $0)
(get_local $2)
)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
(i32.shr_u
(get_local $0)
(get_local $2)
)
)
)
(i32.const 3)
)
(i32.const 29688)
)
)
(i32.const 8)
)
)
)
)
(i32.const 8)
)
)
)
)
(get_local $5)
)
(i32.store
(i32.const 29648)
(tee_local $1
(i32.and
(get_local $7)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $4)
)
(i32.const -1)
)
)
)
)
(block
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $2)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $12
(i32.add
(get_local $2)
(i32.const 12)
)
)
)
(get_local $0)
)
(block
(i32.store
(get_local $12)
(get_local $5)
)
(i32.store
(get_local $8)
(get_local $2)
)
(set_local $1
(get_local $7)
)
)
(call $_abort)
)
)
)
(i32.store offset=4
(get_local $0)
(i32.or
(get_local $3)
(i32.const 3)
)
)
(i32.store offset=4
(tee_local $5
(i32.add
(get_local $0)
(get_local $3)
)
)
(i32.or
(tee_local $4
(i32.sub
(tee_local $2
(i32.shl
(get_local $4)
(i32.const 3)
)
)
(get_local $3)
)
)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $0)
(get_local $2)
)
(get_local $4)
)
(if
(get_local $15)
(block
(set_local $3
(i32.load
(i32.const 29668)
)
)
(set_local $0
(i32.add
(i32.shl
(tee_local $2
(i32.shr_u
(get_local $15)
(i32.const 3)
)
)
(i32.const 3)
)
(i32.const 29688)
)
)
(if
(i32.and
(get_local $1)
(tee_local $2
(i32.shl
(i32.const 1)
(get_local $2)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(tee_local $1
(i32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(call $_abort)
(block
(set_local $6
(get_local $1)
)
(set_local $10
(get_local $2)
)
)
)
(block
(i32.store
(i32.const 29648)
(i32.or
(get_local $1)
(get_local $2)
)
)
(set_local $6
(get_local $0)
)
(set_local $10
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(i32.store
(get_local $10)
(get_local $3)
)
(i32.store offset=12
(get_local $6)
(get_local $3)
)
(i32.store offset=8
(get_local $3)
(get_local $6)
)
(i32.store offset=12
(get_local $3)
(get_local $0)
)
)
)
(i32.store
(i32.const 29656)
(get_local $4)
)
(i32.store
(i32.const 29668)
(get_local $5)
)
(set_global $STACKTOP
(get_local $13)
)
(return
(get_local $11)
)
)
)
(if
(tee_local $10
(i32.load
(i32.const 29652)
)
)
(block
(set_local $0
(i32.and
(i32.shr_u
(tee_local $2
(i32.add
(i32.and
(get_local $10)
(i32.sub
(i32.const 0)
(get_local $10)
)
)
(i32.const -1)
)
)
(i32.const 12)
)
(i32.const 16)
)
)
(set_local $2
(i32.sub
(i32.and
(i32.load offset=4
(tee_local $1
(i32.load
(i32.add
(i32.shl
(i32.add
(i32.or
(i32.or
(i32.or
(i32.or
(tee_local $1
(i32.and
(i32.shr_u
(tee_local $2
(i32.shr_u
(get_local $2)
(get_local $0)
)
)
(i32.const 5)
)
(i32.const 8)
)
)
(get_local $0)
)
(tee_local $2
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
(get_local $2)
(get_local $1)
)
)
(i32.const 2)
)
(i32.const 4)
)
)
)
(tee_local $2
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
(get_local $0)
(get_local $2)
)
)
(i32.const 1)
)
(i32.const 2)
)
)
)
(tee_local $2
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
(get_local $0)
(get_local $2)
)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
(i32.shr_u
(get_local $0)
(get_local $2)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
)
(i32.const -8)
)
(get_local $3)
)
)
(if
(tee_local $0
(i32.load
(i32.add
(i32.add
(get_local $1)
(i32.const 16)
)
(i32.shl
(i32.eqz
(i32.load offset=16
(get_local $1)
)
)
(i32.const 2)
)
)
)
)
(loop $while-in
(if
(tee_local $8
(i32.lt_u
(tee_local $6
(i32.sub
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
(get_local $3)
)
)
(get_local $2)
)
)
(set_local $2
(get_local $6)
)
)
(if
(get_local $8)
(set_local $1
(get_local $0)
)
)
(br_if $while-in
(tee_local $0
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 16)
)
(i32.shl
(i32.eqz
(i32.load offset=16
(get_local $0)
)
)
(i32.const 2)
)
)
)
)
)
(set_local $6
(get_local $2)
)
)
(set_local $6
(get_local $2)
)
)
(if
(i32.gt_u
(tee_local $16
(i32.load
(i32.const 29664)
)
)
(get_local $1)
)
(call $_abort)
)
(if
(i32.le_u
(tee_local $9
(i32.add
(get_local $1)
(get_local $3)
)
)
(get_local $1)
)
(call $_abort)
)
(set_local $12
(i32.load offset=24
(get_local $1)
)
)
(block $do-once4
(if
(i32.eq
(tee_local $0
(i32.load offset=12
(get_local $1)
)
)
(get_local $1)
)
(block
(if
(i32.eqz
(tee_local $0
(i32.load
(tee_local $2
(i32.add
(get_local $1)
(i32.const 20)
)
)
)
)
)
(br_if $do-once4
(i32.eqz
(tee_local $0
(i32.load
(tee_local $2
(i32.add
(get_local $1)
(i32.const 16)
)
)
)
)
)
)
)
(loop $while-in7
(if
(tee_local $11
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 20)
)
)
)
)
(block
(set_local $0
(get_local $11)
)
(set_local $2
(get_local $8)
)
(br $while-in7)
)
)
(if
(tee_local $11
(i32.load
(tee_local $8
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(block
(set_local $0
(get_local $11)
)
(set_local $2
(get_local $8)
)
(br $while-in7)
)
)
)
(if
(i32.gt_u
(get_local $16)
(get_local $2)
)
(call $_abort)
(block
(i32.store
(get_local $2)
(i32.const 0)
)
(set_local $4
(get_local $0)
)
)
)
)
(block
(if
(i32.gt_u
(get_local $16)
(tee_local $2
(i32.load offset=8
(get_local $1)
)
)
)
(call $_abort)
)
(if
(i32.ne
(i32.load
(tee_local $8
(i32.add
(get_local $2)
(i32.const 12)
)
)
)
(get_local $1)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $11
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
(get_local $1)
)
(block
(i32.store
(get_local $8)
(get_local $0)
)
(i32.store
(get_local $11)
(get_local $2)
)
(set_local $4
(get_local $0)
)
)
(call $_abort)
)
)
)
)
(block $label$break$L73
(if
(get_local $12)
(block
(if
(i32.eq
(get_local $1)
(i32.load
(tee_local $2
(i32.add
(i32.shl
(tee_local $0
(i32.load offset=28
(get_local $1)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
)
(block
(i32.store
(get_local $2)
(get_local $4)
)
(if
(i32.eqz
(get_local $4)
)
(block
(i32.store
(i32.const 29652)
(i32.and
(get_local $10)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $0)
)
(i32.const -1)
)
)
)
(br $label$break$L73)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $12)
)
(call $_abort)
(block
(i32.store
(i32.add
(i32.add
(get_local $12)
(i32.const 16)
)
(i32.shl
(i32.ne
(i32.load offset=16
(get_local $12)
)
(get_local $1)
)
(i32.const 2)
)
)
(get_local $4)
)
(br_if $label$break$L73
(i32.eqz
(get_local $4)
)
)
)
)
)
(if
(i32.gt_u
(tee_local $2
(i32.load
(i32.const 29664)
)
)
(get_local $4)
)
(call $_abort)
)
(i32.store offset=24
(get_local $4)
(get_local $12)
)
(if
(tee_local $0
(i32.load offset=16
(get_local $1)
)
)
(if
(i32.gt_u
(get_local $2)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $4)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $4)
)
)
)
)
(if
(tee_local $0
(i32.load offset=20
(get_local $1)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=20
(get_local $4)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $4)
)
)
)
)
)
)
)
(if
(i32.lt_u
(get_local $6)
(i32.const 16)
)
(block
(i32.store offset=4
(get_local $1)
(i32.or
(tee_local $0
(i32.add
(get_local $6)
(get_local $3)
)
)
(i32.const 3)
)
)
(i32.store
(tee_local $0
(i32.add
(i32.add
(get_local $1)
(get_local $0)
)
(i32.const 4)
)
)
(i32.or
(i32.load
(get_local $0)
)
(i32.const 1)
)
)
)
(block
(i32.store offset=4
(get_local $1)
(i32.or
(get_local $3)
(i32.const 3)
)
)
(i32.store offset=4
(get_local $9)
(i32.or
(get_local $6)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $9)
(get_local $6)
)
(get_local $6)
)
(if
(get_local $15)
(block
(set_local $4
(i32.load
(i32.const 29668)
)
)
(set_local $0
(i32.add
(i32.shl
(tee_local $2
(i32.shr_u
(get_local $15)
(i32.const 3)
)
)
(i32.const 3)
)
(i32.const 29688)
)
)
(if
(i32.and
(get_local $7)
(tee_local $2
(i32.shl
(i32.const 1)
(get_local $2)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(tee_local $3
(i32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(call $_abort)
(block
(set_local $5
(get_local $3)
)
(set_local $14
(get_local $2)
)
)
)
(block
(i32.store
(i32.const 29648)
(i32.or
(get_local $7)
(get_local $2)
)
)
(set_local $5
(get_local $0)
)
(set_local $14
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(i32.store
(get_local $14)
(get_local $4)
)
(i32.store offset=12
(get_local $5)
(get_local $4)
)
(i32.store offset=8
(get_local $4)
(get_local $5)
)
(i32.store offset=12
(get_local $4)
(get_local $0)
)
)
)
(i32.store
(i32.const 29656)
(get_local $6)
)
(i32.store
(i32.const 29668)
(get_local $9)
)
)
)
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.add
(get_local $1)
(i32.const 8)
)
)
)
(set_local $2
(get_local $3)
)
)
)
(set_local $2
(get_local $3)
)
)
)
(if
(i32.gt_u
(get_local $0)
(i32.const -65)
)
(set_local $2
(i32.const -1)
)
(block
(set_local $4
(i32.and
(tee_local $0
(i32.add
(get_local $0)
(i32.const 11)
)
)
(i32.const -8)
)
)
(if
(tee_local $6
(i32.load
(i32.const 29652)
)
)
(block
(set_local $17
(if (result i32)
(tee_local $0
(i32.shr_u
(get_local $0)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
(get_local $4)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
(get_local $4)
(i32.add
(tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
(tee_local $3
(i32.and
(i32.shr_u
(i32.add
(tee_local $1
(i32.shl
(get_local $0)
(tee_local $0
(i32.and
(i32.shr_u
(i32.add
(get_local $0)
(i32.const 1048320)
)
(i32.const 16)
)
(i32.const 8)
)
)
)
)
(i32.const 520192)
)
(i32.const 16)
)
(i32.const 4)
)
)
(get_local $0)
)
(tee_local $1
(i32.and
(i32.shr_u
(i32.add
(tee_local $0
(i32.shl
(get_local $1)
(get_local $3)
)
)
(i32.const 245760)
)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
(i32.shr_u
(i32.shl
(get_local $0)
(get_local $1)
)
(i32.const 15)
)
)
)
(i32.const 7)
)
)
(i32.const 1)
)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
)
(i32.const 0)
)
)
(set_local $3
(i32.sub
(i32.const 0)
(get_local $4)
)
)
(block $__rjto$3
(block $__rjti$3
(if
(tee_local $0
(i32.load
(i32.add
(i32.shl
(get_local $17)
(i32.const 2)
)
(i32.const 29952)
)
)
)
(block
(set_local $5
(i32.sub
(i32.const 25)
(i32.shr_u
(get_local $17)
(i32.const 1)
)
)
)
(set_local $1
(i32.const 0)
)
(set_local $10
(i32.shl
(get_local $4)
(if (result i32)
(i32.eq
(get_local $17)
(i32.const 31)
)
(i32.const 0)
(get_local $5)
)
)
)
(set_local $5
(i32.const 0)
)
(loop $while-in15
(if
(i32.lt_u
(tee_local $14
(i32.sub
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
(get_local $4)
)
)
(get_local $3)
)
(if
(get_local $14)
(block
(set_local $1
(get_local $0)
)
(set_local $3
(get_local $14)
)
)
(block
(set_local $3
(i32.const 0)
)
(set_local $0
(tee_local $1
(get_local $0)
)
)
(br $__rjti$3)
)
)
)
(if
(i32.eqz
(i32.or
(i32.eqz
(tee_local $14
(i32.load offset=20
(get_local $0)
)
)
)
(i32.eq
(get_local $14)
(tee_local $0
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 16)
)
(i32.shl
(i32.shr_u
(get_local $10)
(i32.const 31)
)
(i32.const 2)
)
)
)
)
)
)
)
(set_local $5
(get_local $14)
)
)
(set_local $10
(i32.shl
(get_local $10)
(i32.xor
(tee_local $14
(i32.eqz
(get_local $0)
)
)
(i32.const 1)
)
)
)
(br_if $while-in15
(i32.eqz
(get_local $14)
)
)
)
)
(set_local $1
(i32.const 0)
)
)
(br_if $__rjti$3
(tee_local $0
(if (result i32)
(i32.or
(get_local $5)
(get_local $1)
)
(get_local $5)
(block (result i32)
(if
(i32.eqz
(tee_local $0
(i32.and
(get_local $6)
(i32.or
(tee_local $0
(i32.shl
(i32.const 2)
(get_local $17)
)
)
(i32.sub
(i32.const 0)
(get_local $0)
)
)
)
)
)
(block
(set_local $2
(get_local $4)
)
(br $do-once)
)
)
(set_local $0
(i32.and
(i32.shr_u
(tee_local $5
(i32.add
(i32.and
(get_local $0)
(i32.sub
(i32.const 0)
(get_local $0)
)
)
(i32.const -1)
)
)
(i32.const 12)
)
(i32.const 16)
)
)
(set_local $1
(i32.const 0)
)
(i32.load
(i32.add
(i32.shl
(i32.add
(i32.or
(i32.or
(i32.or
(i32.or
(tee_local $10
(i32.and
(i32.shr_u
(tee_local $5
(i32.shr_u
(get_local $5)
(get_local $0)
)
)
(i32.const 5)
)
(i32.const 8)
)
)
(get_local $0)
)
(tee_local $5
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
(get_local $5)
(get_local $10)
)
)
(i32.const 2)
)
(i32.const 4)
)
)
)
(tee_local $5
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
(get_local $0)
(get_local $5)
)
)
(i32.const 1)
)
(i32.const 2)
)
)
)
(tee_local $5
(i32.and
(i32.shr_u
(tee_local $0
(i32.shr_u
(get_local $0)
(get_local $5)
)
)
(i32.const 1)
)
(i32.const 1)
)
)
)
(i32.shr_u
(get_local $0)
(get_local $5)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
)
)
)
(set_local $5
(get_local $1)
)
(br $__rjto$3)
)
(loop $while-in17
(if
(tee_local $10
(i32.lt_u
(tee_local $5
(i32.sub
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
(get_local $4)
)
)
(get_local $3)
)
)
(set_local $3
(get_local $5)
)
)
(if
(get_local $10)
(set_local $1
(get_local $0)
)
)
(br_if $while-in17
(tee_local $0
(i32.load
(i32.add
(i32.add
(get_local $0)
(i32.const 16)
)
(i32.shl
(i32.eqz
(i32.load offset=16
(get_local $0)
)
)
(i32.const 2)
)
)
)
)
)
(set_local $5
(get_local $1)
)
)
)
(if
(get_local $5)
(if
(i32.lt_u
(get_local $3)
(i32.sub
(i32.load
(i32.const 29656)
)
(get_local $4)
)
)
(block
(if
(i32.gt_u
(tee_local $14
(i32.load
(i32.const 29664)
)
)
(get_local $5)
)
(call $_abort)
)
(if
(i32.le_u
(tee_local $9
(i32.add
(get_local $5)
(get_local $4)
)
)
(get_local $5)
)
(call $_abort)
)
(set_local $10
(i32.load offset=24
(get_local $5)
)
)
(block $do-once18
(if
(i32.eq
(tee_local $0
(i32.load offset=12
(get_local $5)
)
)
(get_local $5)
)
(block
(if
(i32.eqz
(tee_local $0
(i32.load
(tee_local $1
(i32.add
(get_local $5)
(i32.const 20)
)
)
)
)
)
(br_if $do-once18
(i32.eqz
(tee_local $0
(i32.load
(tee_local $1
(i32.add
(get_local $5)
(i32.const 16)
)
)
)
)
)
)
)
(loop $while-in21
(if
(tee_local $12
(i32.load
(tee_local $11
(i32.add
(get_local $0)
(i32.const 20)
)
)
)
)
(block
(set_local $0
(get_local $12)
)
(set_local $1
(get_local $11)
)
(br $while-in21)
)
)
(if
(tee_local $12
(i32.load
(tee_local $11
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(block
(set_local $0
(get_local $12)
)
(set_local $1
(get_local $11)
)
(br $while-in21)
)
)
)
(if
(i32.gt_u
(get_local $14)
(get_local $1)
)
(call $_abort)
(block
(i32.store
(get_local $1)
(i32.const 0)
)
(set_local $8
(get_local $0)
)
)
)
)
(block
(if
(i32.gt_u
(get_local $14)
(tee_local $1
(i32.load offset=8
(get_local $5)
)
)
)
(call $_abort)
)
(if
(i32.ne
(i32.load
(tee_local $11
(i32.add
(get_local $1)
(i32.const 12)
)
)
)
(get_local $5)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $12
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
(get_local $5)
)
(block
(i32.store
(get_local $11)
(get_local $0)
)
(i32.store
(get_local $12)
(get_local $1)
)
(set_local $8
(get_local $0)
)
)
(call $_abort)
)
)
)
)
(block $label$break$L164
(if
(get_local $10)
(block
(if
(i32.eq
(get_local $5)
(i32.load
(tee_local $1
(i32.add
(i32.shl
(tee_local $0
(i32.load offset=28
(get_local $5)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
)
(block
(i32.store
(get_local $1)
(get_local $8)
)
(if
(i32.eqz
(get_local $8)
)
(block
(i32.store
(i32.const 29652)
(tee_local $2
(i32.and
(get_local $6)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $0)
)
(i32.const -1)
)
)
)
)
(br $label$break$L164)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $10)
)
(call $_abort)
(block
(i32.store
(i32.add
(i32.add
(get_local $10)
(i32.const 16)
)
(i32.shl
(i32.ne
(i32.load offset=16
(get_local $10)
)
(get_local $5)
)
(i32.const 2)
)
)
(get_local $8)
)
(if
(i32.eqz
(get_local $8)
)
(block
(set_local $2
(get_local $6)
)
(br $label$break$L164)
)
)
)
)
)
(if
(i32.gt_u
(tee_local $1
(i32.load
(i32.const 29664)
)
)
(get_local $8)
)
(call $_abort)
)
(i32.store offset=24
(get_local $8)
(get_local $10)
)
(if
(tee_local $0
(i32.load offset=16
(get_local $5)
)
)
(if
(i32.gt_u
(get_local $1)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $8)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $8)
)
)
)
)
(if
(tee_local $0
(i32.load offset=20
(get_local $5)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=20
(get_local $8)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $8)
)
(set_local $2
(get_local $6)
)
)
)
(set_local $2
(get_local $6)
)
)
)
(set_local $2
(get_local $6)
)
)
)
(block $do-once27
(if
(i32.lt_u
(get_local $3)
(i32.const 16)
)
(block
(i32.store offset=4
(get_local $5)
(i32.or
(tee_local $0
(i32.add
(get_local $3)
(get_local $4)
)
)
(i32.const 3)
)
)
(i32.store
(tee_local $0
(i32.add
(i32.add
(get_local $5)
(get_local $0)
)
(i32.const 4)
)
)
(i32.or
(i32.load
(get_local $0)
)
(i32.const 1)
)
)
)
(block
(i32.store offset=4
(get_local $5)
(i32.or
(get_local $4)
(i32.const 3)
)
)
(i32.store offset=4
(get_local $9)
(i32.or
(get_local $3)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $9)
(get_local $3)
)
(get_local $3)
)
(set_local $1
(i32.shr_u
(get_local $3)
(i32.const 3)
)
)
(if
(i32.lt_u
(get_local $3)
(i32.const 256)
)
(block
(set_local $0
(i32.add
(i32.shl
(get_local $1)
(i32.const 3)
)
(i32.const 29688)
)
)
(if
(i32.and
(tee_local $2
(i32.load
(i32.const 29648)
)
)
(tee_local $1
(i32.shl
(i32.const 1)
(get_local $1)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(tee_local $1
(i32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(call $_abort)
(block
(set_local $7
(get_local $1)
)
(set_local $15
(get_local $2)
)
)
)
(block
(i32.store
(i32.const 29648)
(i32.or
(get_local $2)
(get_local $1)
)
)
(set_local $7
(get_local $0)
)
(set_local $15
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(i32.store
(get_local $15)
(get_local $9)
)
(i32.store offset=12
(get_local $7)
(get_local $9)
)
(i32.store offset=8
(get_local $9)
(get_local $7)
)
(i32.store offset=12
(get_local $9)
(get_local $0)
)
(br $do-once27)
)
)
(set_local $0
(i32.add
(i32.shl
(tee_local $1
(if (result i32)
(tee_local $0
(i32.shr_u
(get_local $3)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
(get_local $3)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
(get_local $3)
(i32.add
(tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
(tee_local $4
(i32.and
(i32.shr_u
(i32.add
(tee_local $1
(i32.shl
(get_local $0)
(tee_local $0
(i32.and
(i32.shr_u
(i32.add
(get_local $0)
(i32.const 1048320)
)
(i32.const 16)
)
(i32.const 8)
)
)
)
)
(i32.const 520192)
)
(i32.const 16)
)
(i32.const 4)
)
)
(get_local $0)
)
(tee_local $1
(i32.and
(i32.shr_u
(i32.add
(tee_local $0
(i32.shl
(get_local $1)
(get_local $4)
)
)
(i32.const 245760)
)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
(i32.shr_u
(i32.shl
(get_local $0)
(get_local $1)
)
(i32.const 15)
)
)
)
(i32.const 7)
)
)
(i32.const 1)
)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
)
(i32.const 0)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
(i32.store offset=28
(get_local $9)
(get_local $1)
)
(i32.store offset=4
(tee_local $4
(i32.add
(get_local $9)
(i32.const 16)
)
)
(i32.const 0)
)
(i32.store
(get_local $4)
(i32.const 0)
)
(if
(i32.eqz
(i32.and
(get_local $2)
(tee_local $4
(i32.shl
(i32.const 1)
(get_local $1)
)
)
)
)
(block
(i32.store
(i32.const 29652)
(i32.or
(get_local $2)
(get_local $4)
)
)
(i32.store
(get_local $0)
(get_local $9)
)
(i32.store offset=24
(get_local $9)
(get_local $0)
)
(i32.store offset=12
(get_local $9)
(get_local $9)
)
(i32.store offset=8
(get_local $9)
(get_local $9)
)
(br $do-once27)
)
)
(set_local $0
(i32.load
(get_local $0)
)
)
(set_local $2
(i32.sub
(i32.const 25)
(i32.shr_u
(get_local $1)
(i32.const 1)
)
)
)
(set_local $2
(i32.shl
(get_local $3)
(if (result i32)
(i32.eq
(get_local $1)
(i32.const 31)
)
(i32.const 0)
(get_local $2)
)
)
)
(block $__rjto$1
(block $__rjti$1
(loop $while-in30
(block $while-out29
(br_if $__rjti$1
(i32.eq
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
(get_local $3)
)
)
(set_local $1
(i32.shl
(get_local $2)
(i32.const 1)
)
)
(if
(tee_local $4
(i32.load
(tee_local $2
(i32.add
(i32.add
(get_local $0)
(i32.const 16)
)
(i32.shl
(i32.shr_u
(get_local $2)
(i32.const 31)
)
(i32.const 2)
)
)
)
)
)
(block
(set_local $2
(get_local $1)
)
(set_local $0
(get_local $4)
)
(br $while-in30)
)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $2)
)
(call $_abort)
(block
(i32.store
(get_local $2)
(get_local $9)
)
(i32.store offset=24
(get_local $9)
(get_local $0)
)
(i32.store offset=12
(get_local $9)
(get_local $9)
)
(i32.store offset=8
(get_local $9)
(get_local $9)
)
(br $do-once27)
)
)
(br $__rjto$1)
)
(if
(i32.and
(i32.le_u
(tee_local $1
(i32.load
(i32.const 29664)
)
)
(tee_local $2
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(i32.le_u
(get_local $1)
(get_local $0)
)
)
(block
(i32.store offset=12
(get_local $2)
(get_local $9)
)
(i32.store
(get_local $3)
(get_local $9)
)
(i32.store offset=8
(get_local $9)
(get_local $2)
)
(i32.store offset=12
(get_local $9)
(get_local $0)
)
(i32.store offset=24
(get_local $9)
(i32.const 0)
)
)
(call $_abort)
)
)
)
)
)
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.add
(get_local $5)
(i32.const 8)
)
)
)
(set_local $2
(get_local $4)
)
)
(set_local $2
(get_local $4)
)
)
)
(set_local $2
(get_local $4)
)
)
)
)
)
)
(if
(i32.ge_u
(tee_local $1
(i32.load
(i32.const 29656)
)
)
(get_local $2)
)
(block
(set_local $0
(i32.load
(i32.const 29668)
)
)
(if
(i32.gt_u
(tee_local $3
(i32.sub
(get_local $1)
(get_local $2)
)
)
(i32.const 15)
)
(block
(i32.store
(i32.const 29668)
(tee_local $4
(i32.add
(get_local $0)
(get_local $2)
)
)
)
(i32.store
(i32.const 29656)
(get_local $3)
)
(i32.store offset=4
(get_local $4)
(i32.or
(get_local $3)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $0)
(get_local $1)
)
(get_local $3)
)
(i32.store offset=4
(get_local $0)
(i32.or
(get_local $2)
(i32.const 3)
)
)
)
(block
(i32.store
(i32.const 29656)
(i32.const 0)
)
(i32.store
(i32.const 29668)
(i32.const 0)
)
(i32.store offset=4
(get_local $0)
(i32.or
(get_local $1)
(i32.const 3)
)
)
(i32.store
(tee_local $2
(i32.add
(i32.add
(get_local $0)
(get_local $1)
)
(i32.const 4)
)
)
(i32.or
(i32.load
(get_local $2)
)
(i32.const 1)
)
)
)
)
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(if
(i32.gt_u
(tee_local $1
(i32.load
(i32.const 29660)
)
)
(get_local $2)
)
(block
(i32.store
(i32.const 29660)
(tee_local $1
(i32.sub
(get_local $1)
(get_local $2)
)
)
)
(i32.store
(i32.const 29672)
(tee_local $3
(i32.add
(tee_local $0
(i32.load
(i32.const 29672)
)
)
(get_local $2)
)
)
)
(i32.store offset=4
(get_local $3)
(i32.or
(get_local $1)
(i32.const 1)
)
)
(i32.store offset=4
(get_local $0)
(i32.or
(get_local $2)
(i32.const 3)
)
)
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(if
(i32.le_u
(tee_local $4
(i32.and
(tee_local $5
(i32.add
(tee_local $0
(if (result i32)
(i32.load
(i32.const 30120)
)
(i32.load
(i32.const 30128)
)
(block (result i32)
(i32.store
(i32.const 30128)
(i32.const 4096)
)
(i32.store
(i32.const 30124)
(i32.const 4096)
)
(i32.store
(i32.const 30132)
(i32.const -1)
)
(i32.store
(i32.const 30136)
(i32.const -1)
)
(i32.store
(i32.const 30140)
(i32.const 0)
)
(i32.store
(i32.const 30092)
(i32.const 0)
)
(i32.store
(i32.const 30120)
(i32.xor
(i32.and
(get_local $13)
(i32.const -16)
)
(i32.const 1431655768)
)
)
(i32.const 4096)
)
)
)
(tee_local $6
(i32.add
(get_local $2)
(i32.const 47)
)
)
)
)
(tee_local $8
(i32.sub
(i32.const 0)
(get_local $0)
)
)
)
)
(get_local $2)
)
(block
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.const 0)
)
)
)
(if
(tee_local $0
(i32.load
(i32.const 30088)
)
)
(if
(i32.or
(i32.le_u
(tee_local $7
(i32.add
(tee_local $3
(i32.load
(i32.const 30080)
)
)
(get_local $4)
)
)
(get_local $3)
)
(i32.gt_u
(get_local $7)
(get_local $0)
)
)
(block
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.const 0)
)
)
)
)
(set_local $7
(i32.add
(get_local $2)
(i32.const 48)
)
)
(block $__rjto$12
(if
(i32.and
(i32.load
(i32.const 30092)
)
(i32.const 4)
)
(set_local $1
(i32.const 0)
)
(block
(block $do-once37
(block $__rjti$5
(block $__rjti$4
(br_if $__rjti$4
(i32.eqz
(tee_local $0
(i32.load
(i32.const 29672)
)
)
)
)
(set_local $3
(i32.const 30096)
)
(loop $while-in34
(block $while-out33
(if
(i32.le_u
(tee_local $10
(i32.load
(get_local $3)
)
)
(get_local $0)
)
(br_if $while-out33
(i32.gt_u
(i32.add
(get_local $10)
(i32.load
(tee_local $10
(i32.add
(get_local $3)
(i32.const 4)
)
)
)
)
(get_local $0)
)
)
)
(br_if $while-in34
(tee_local $3
(i32.load offset=8
(get_local $3)
)
)
)
(br $__rjti$4)
)
)
(if
(i32.lt_u
(tee_local $1
(i32.and
(i32.sub
(get_local $5)
(get_local $1)
)
(get_local $8)
)
)
(i32.const 2147483647)
)
(if
(i32.eq
(tee_local $0
(call $_sbrk
(get_local $1)
)
)
(i32.add
(i32.load
(get_local $3)
)
(i32.load
(get_local $10)
)
)
)
(br_if $__rjto$12
(i32.ne
(get_local $0)
(i32.const -1)
)
)
(br $__rjti$5)
)
(set_local $1
(i32.const 0)
)
)
(br $do-once37)
)
(if
(i32.eq
(tee_local $0
(call $_sbrk
(i32.const 0)
)
)
(i32.const -1)
)
(set_local $1
(i32.const 0)
)
(block
(set_local $1
(i32.sub
(i32.and
(i32.add
(tee_local $3
(i32.add
(tee_local $1
(i32.load
(i32.const 30124)
)
)
(i32.const -1)
)
)
(get_local $0)
)
(i32.sub
(i32.const 0)
(get_local $1)
)
)
(get_local $0)
)
)
(set_local $3
(i32.add
(tee_local $1
(i32.add
(if (result i32)
(i32.and
(get_local $3)
(get_local $0)
)
(get_local $1)
(i32.const 0)
)
(get_local $4)
)
)
(tee_local $5
(i32.load
(i32.const 30080)
)
)
)
)
(if
(i32.and
(i32.gt_u
(get_local $1)
(get_local $2)
)
(i32.lt_u
(get_local $1)
(i32.const 2147483647)
)
)
(block
(if
(tee_local $8
(i32.load
(i32.const 30088)
)
)
(if
(i32.or
(i32.le_u
(get_local $3)
(get_local $5)
)
(i32.gt_u
(get_local $3)
(get_local $8)
)
)
(block
(set_local $1
(i32.const 0)
)
(br $do-once37)
)
)
)
(br_if $__rjto$12
(i32.eq
(tee_local $3
(call $_sbrk
(get_local $1)
)
)
(get_local $0)
)
)
(set_local $0
(get_local $3)
)
(br $__rjti$5)
)
(set_local $1
(i32.const 0)
)
)
)
)
(br $do-once37)
)
(if
(i32.eqz
(i32.and
(i32.gt_u
(get_local $7)
(get_local $1)
)
(i32.and
(i32.lt_u
(get_local $1)
(i32.const 2147483647)
)
(i32.ne
(get_local $0)
(i32.const -1)
)
)
)
)
(if
(i32.eq
(get_local $0)
(i32.const -1)
)
(block
(set_local $1
(i32.const 0)
)
(br $do-once37)
)
(br $__rjto$12)
)
)
(br_if $__rjto$12
(i32.ge_u
(tee_local $3
(i32.and
(i32.add
(i32.sub
(get_local $6)
(get_local $1)
)
(tee_local $3
(i32.load
(i32.const 30128)
)
)
)
(i32.sub
(i32.const 0)
(get_local $3)
)
)
)
(i32.const 2147483647)
)
)
(set_local $6
(i32.sub
(i32.const 0)
(get_local $1)
)
)
(if
(i32.eq
(call $_sbrk
(get_local $3)
)
(i32.const -1)
)
(block
(drop
(call $_sbrk
(get_local $6)
)
)
(set_local $1
(i32.const 0)
)
)
(block
(set_local $1
(i32.add
(get_local $3)
(get_local $1)
)
)
(br $__rjto$12)
)
)
)
(i32.store
(i32.const 30092)
(i32.or
(i32.load
(i32.const 30092)
)
(i32.const 4)
)
)
)
)
(if
(i32.ge_u
(get_local $4)
(i32.const 2147483647)
)
(block
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.const 0)
)
)
)
(set_local $4
(i32.and
(i32.lt_u
(tee_local $0
(call $_sbrk
(get_local $4)
)
)
(tee_local $3
(call $_sbrk
(i32.const 0)
)
)
)
(i32.and
(i32.ne
(get_local $0)
(i32.const -1)
)
(i32.ne
(get_local $3)
(i32.const -1)
)
)
)
)
(if
(tee_local $6
(i32.gt_u
(tee_local $3
(i32.sub
(get_local $3)
(get_local $0)
)
)
(i32.add
(get_local $2)
(i32.const 40)
)
)
)
(set_local $1
(get_local $3)
)
)
(if
(i32.or
(i32.or
(i32.eq
(get_local $0)
(i32.const -1)
)
(i32.xor
(get_local $6)
(i32.const 1)
)
)
(i32.xor
(get_local $4)
(i32.const 1)
)
)
(block
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.const 0)
)
)
)
)
(i32.store
(i32.const 30080)
(tee_local $3
(i32.add
(i32.load
(i32.const 30080)
)
(get_local $1)
)
)
)
(if
(i32.gt_u
(get_local $3)
(i32.load
(i32.const 30084)
)
)
(i32.store
(i32.const 30084)
(get_local $3)
)
)
(block $do-once39
(if
(tee_local $6
(i32.load
(i32.const 29672)
)
)
(block
(set_local $3
(i32.const 30096)
)
(block $__rjto$10
(block $__rjti$10
(loop $while-in42
(block $while-out41
(br_if $__rjti$10
(i32.eq
(get_local $0)
(i32.add
(tee_local $4
(i32.load
(get_local $3)
)
)
(tee_local $8
(i32.load
(tee_local $5
(i32.add
(get_local $3)
(i32.const 4)
)
)
)
)
)
)
)
(br_if $while-in42
(tee_local $3
(i32.load offset=8
(get_local $3)
)
)
)
)
)
(br $__rjto$10)
)
(if
(i32.eqz
(i32.and
(i32.load offset=12
(get_local $3)
)
(i32.const 8)
)
)
(if
(i32.and
(i32.gt_u
(get_local $0)
(get_local $6)
)
(i32.le_u
(get_local $4)
(get_local $6)
)
)
(block
(i32.store
(get_local $5)
(i32.add
(get_local $8)
(get_local $1)
)
)
(set_local $1
(i32.add
(i32.load
(i32.const 29660)
)
(get_local $1)
)
)
(set_local $0
(i32.and
(i32.sub
(i32.const 0)
(tee_local $3
(i32.add
(get_local $6)
(i32.const 8)
)
)
)
(i32.const 7)
)
)
(i32.store
(i32.const 29672)
(tee_local $3
(i32.add
(get_local $6)
(if (result i32)
(i32.and
(get_local $3)
(i32.const 7)
)
(get_local $0)
(tee_local $0
(i32.const 0)
)
)
)
)
)
(i32.store
(i32.const 29660)
(tee_local $0
(i32.sub
(get_local $1)
(get_local $0)
)
)
)
(i32.store offset=4
(get_local $3)
(i32.or
(get_local $0)
(i32.const 1)
)
)
(i32.store offset=4
(i32.add
(get_local $6)
(get_local $1)
)
(i32.const 40)
)
(i32.store
(i32.const 29676)
(i32.load
(i32.const 30136)
)
)
(br $do-once39)
)
)
)
)
(if
(i32.lt_u
(get_local $0)
(tee_local $3
(i32.load
(i32.const 29664)
)
)
)
(block
(i32.store
(i32.const 29664)
(get_local $0)
)
(set_local $3
(get_local $0)
)
)
)
(set_local $5
(i32.add
(get_local $0)
(get_local $1)
)
)
(set_local $4
(i32.const 30096)
)
(block $__rjto$11
(block $__rjti$11
(loop $while-in44
(block $while-out43
(br_if $__rjti$11
(i32.eq
(i32.load
(get_local $4)
)
(get_local $5)
)
)
(br_if $while-in44
(tee_local $4
(i32.load offset=8
(get_local $4)
)
)
)
(set_local $3
(i32.const 30096)
)
)
)
(br $__rjto$11)
)
(if
(i32.and
(i32.load offset=12
(get_local $4)
)
(i32.const 8)
)
(set_local $3
(i32.const 30096)
)
(block
(i32.store
(get_local $4)
(get_local $0)
)
(i32.store
(tee_local $4
(i32.add
(get_local $4)
(i32.const 4)
)
)
(i32.add
(i32.load
(get_local $4)
)
(get_local $1)
)
)
(set_local $4
(i32.and
(i32.sub
(i32.const 0)
(tee_local $1
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
(i32.const 7)
)
)
(set_local $10
(i32.and
(i32.sub
(i32.const 0)
(tee_local $8
(i32.add
(get_local $5)
(i32.const 8)
)
)
)
(i32.const 7)
)
)
(set_local $7
(i32.add
(tee_local $9
(i32.add
(get_local $0)
(if (result i32)
(i32.and
(get_local $1)
(i32.const 7)
)
(get_local $4)
(i32.const 0)
)
)
)
(get_local $2)
)
)
(set_local $8
(i32.sub
(i32.sub
(tee_local $5
(i32.add
(get_local $5)
(if (result i32)
(i32.and
(get_local $8)
(i32.const 7)
)
(get_local $10)
(i32.const 0)
)
)
)
(get_local $9)
)
(get_local $2)
)
)
(i32.store offset=4
(get_local $9)
(i32.or
(get_local $2)
(i32.const 3)
)
)
(block $do-once45
(if
(i32.eq
(get_local $6)
(get_local $5)
)
(block
(i32.store
(i32.const 29660)
(tee_local $0
(i32.add
(i32.load
(i32.const 29660)
)
(get_local $8)
)
)
)
(i32.store
(i32.const 29672)
(get_local $7)
)
(i32.store offset=4
(get_local $7)
(i32.or
(get_local $0)
(i32.const 1)
)
)
)
(block
(if
(i32.eq
(i32.load
(i32.const 29668)
)
(get_local $5)
)
(block
(i32.store
(i32.const 29656)
(tee_local $0
(i32.add
(i32.load
(i32.const 29656)
)
(get_local $8)
)
)
)
(i32.store
(i32.const 29668)
(get_local $7)
)
(i32.store offset=4
(get_local $7)
(i32.or
(get_local $0)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $7)
(get_local $0)
)
(get_local $0)
)
(br $do-once45)
)
)
(set_local $4
(if (result i32)
(i32.eq
(i32.and
(tee_local $0
(i32.load offset=4
(get_local $5)
)
)
(i32.const 3)
)
(i32.const 1)
)
(block (result i32)
(set_local $10
(i32.and
(get_local $0)
(i32.const -8)
)
)
(set_local $4
(i32.shr_u
(get_local $0)
(i32.const 3)
)
)
(block $label$break$L313
(if
(i32.lt_u
(get_local $0)
(i32.const 256)
)
(block
(set_local $2
(i32.load offset=12
(get_local $5)
)
)
(block $do-once48
(if
(i32.ne
(tee_local $1
(i32.load offset=8
(get_local $5)
)
)
(tee_local $0
(i32.add
(i32.shl
(get_local $4)
(i32.const 3)
)
(i32.const 29688)
)
)
)
(block
(if
(i32.gt_u
(get_local $3)
(get_local $1)
)
(call $_abort)
)
(br_if $do-once48
(i32.eq
(i32.load offset=12
(get_local $1)
)
(get_local $5)
)
)
(call $_abort)
)
)
)
(if
(i32.eq
(get_local $2)
(get_local $1)
)
(block
(i32.store
(i32.const 29648)
(i32.and
(i32.load
(i32.const 29648)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $4)
)
(i32.const -1)
)
)
)
(br $label$break$L313)
)
)
(block $do-once50
(if
(i32.eq
(get_local $2)
(get_local $0)
)
(set_local $16
(i32.add
(get_local $2)
(i32.const 8)
)
)
(block
(if
(i32.gt_u
(get_local $3)
(get_local $2)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $0
(i32.add
(get_local $2)
(i32.const 8)
)
)
)
(get_local $5)
)
(block
(set_local $16
(get_local $0)
)
(br $do-once50)
)
)
(call $_abort)
)
)
)
(i32.store offset=12
(get_local $1)
(get_local $2)
)
(i32.store
(get_local $16)
(get_local $1)
)
)
(block
(set_local $6
(i32.load offset=24
(get_local $5)
)
)
(block $do-once52
(if
(i32.eq
(tee_local $0
(i32.load offset=12
(get_local $5)
)
)
(get_local $5)
)
(block
(if
(tee_local $0
(i32.load
(tee_local $1
(i32.add
(tee_local $2
(i32.add
(get_local $5)
(i32.const 16)
)
)
(i32.const 4)
)
)
)
)
(set_local $2
(get_local $1)
)
(br_if $do-once52
(i32.eqz
(tee_local $0
(i32.load
(get_local $2)
)
)
)
)
)
(loop $while-in55
(if
(tee_local $4
(i32.load
(tee_local $1
(i32.add
(get_local $0)
(i32.const 20)
)
)
)
)
(block
(set_local $0
(get_local $4)
)
(set_local $2
(get_local $1)
)
(br $while-in55)
)
)
(if
(tee_local $4
(i32.load
(tee_local $1
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(block
(set_local $0
(get_local $4)
)
(set_local $2
(get_local $1)
)
(br $while-in55)
)
)
)
(if
(i32.gt_u
(get_local $3)
(get_local $2)
)
(call $_abort)
(block
(i32.store
(get_local $2)
(i32.const 0)
)
(set_local $11
(get_local $0)
)
)
)
)
(block
(if
(i32.gt_u
(get_local $3)
(tee_local $2
(i32.load offset=8
(get_local $5)
)
)
)
(call $_abort)
)
(if
(i32.ne
(i32.load
(tee_local $1
(i32.add
(get_local $2)
(i32.const 12)
)
)
)
(get_local $5)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
(get_local $5)
)
(block
(i32.store
(get_local $1)
(get_local $0)
)
(i32.store
(get_local $3)
(get_local $2)
)
(set_local $11
(get_local $0)
)
)
(call $_abort)
)
)
)
)
(br_if $label$break$L313
(i32.eqz
(get_local $6)
)
)
(block $do-once56
(if
(i32.eq
(i32.load
(tee_local $2
(i32.add
(i32.shl
(tee_local $0
(i32.load offset=28
(get_local $5)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
(get_local $5)
)
(block
(i32.store
(get_local $2)
(get_local $11)
)
(br_if $do-once56
(get_local $11)
)
(i32.store
(i32.const 29652)
(i32.and
(i32.load
(i32.const 29652)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $0)
)
(i32.const -1)
)
)
)
(br $label$break$L313)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $6)
)
(call $_abort)
(block
(i32.store
(i32.add
(i32.add
(get_local $6)
(i32.const 16)
)
(i32.shl
(i32.ne
(i32.load offset=16
(get_local $6)
)
(get_local $5)
)
(i32.const 2)
)
)
(get_local $11)
)
(br_if $label$break$L313
(i32.eqz
(get_local $11)
)
)
)
)
)
)
(if
(i32.gt_u
(tee_local $2
(i32.load
(i32.const 29664)
)
)
(get_local $11)
)
(call $_abort)
)
(i32.store offset=24
(get_local $11)
(get_local $6)
)
(if
(tee_local $0
(i32.load
(tee_local $1
(i32.add
(get_local $5)
(i32.const 16)
)
)
)
)
(if
(i32.gt_u
(get_local $2)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $11)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $11)
)
)
)
)
(br_if $label$break$L313
(i32.eqz
(tee_local $0
(i32.load offset=4
(get_local $1)
)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=20
(get_local $11)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $11)
)
)
)
)
)
)
(set_local $5
(i32.add
(get_local $5)
(get_local $10)
)
)
(i32.add
(get_local $10)
(get_local $8)
)
)
(get_local $8)
)
)
(i32.store
(tee_local $0
(i32.add
(get_local $5)
(i32.const 4)
)
)
(i32.and
(i32.load
(get_local $0)
)
(i32.const -2)
)
)
(i32.store offset=4
(get_local $7)
(i32.or
(get_local $4)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $7)
(get_local $4)
)
(get_local $4)
)
(set_local $2
(i32.shr_u
(get_local $4)
(i32.const 3)
)
)
(if
(i32.lt_u
(get_local $4)
(i32.const 256)
)
(block
(set_local $0
(i32.add
(i32.shl
(get_local $2)
(i32.const 3)
)
(i32.const 29688)
)
)
(block $do-once60
(if
(i32.and
(tee_local $1
(i32.load
(i32.const 29648)
)
)
(tee_local $2
(i32.shl
(i32.const 1)
(get_local $2)
)
)
)
(block
(if
(i32.le_u
(i32.load
(i32.const 29664)
)
(tee_local $1
(i32.load
(tee_local $2
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(block
(set_local $12
(get_local $1)
)
(set_local $18
(get_local $2)
)
(br $do-once60)
)
)
(call $_abort)
)
(block
(i32.store
(i32.const 29648)
(i32.or
(get_local $1)
(get_local $2)
)
)
(set_local $12
(get_local $0)
)
(set_local $18
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(i32.store
(get_local $18)
(get_local $7)
)
(i32.store offset=12
(get_local $12)
(get_local $7)
)
(i32.store offset=8
(get_local $7)
(get_local $12)
)
(i32.store offset=12
(get_local $7)
(get_local $0)
)
(br $do-once45)
)
)
(set_local $0
(i32.add
(i32.shl
(tee_local $2
(block $do-once62 (result i32)
(if (result i32)
(tee_local $0
(i32.shr_u
(get_local $4)
(i32.const 8)
)
)
(block (result i32)
(drop
(br_if $do-once62
(i32.const 31)
(i32.gt_u
(get_local $4)
(i32.const 16777215)
)
)
)
(i32.or
(i32.and
(i32.shr_u
(get_local $4)
(i32.add
(tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
(tee_local $1
(i32.and
(i32.shr_u
(i32.add
(tee_local $2
(i32.shl
(get_local $0)
(tee_local $0
(i32.and
(i32.shr_u
(i32.add
(get_local $0)
(i32.const 1048320)
)
(i32.const 16)
)
(i32.const 8)
)
)
)
)
(i32.const 520192)
)
(i32.const 16)
)
(i32.const 4)
)
)
(get_local $0)
)
(tee_local $2
(i32.and
(i32.shr_u
(i32.add
(tee_local $0
(i32.shl
(get_local $2)
(get_local $1)
)
)
(i32.const 245760)
)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
(i32.shr_u
(i32.shl
(get_local $0)
(get_local $2)
)
(i32.const 15)
)
)
)
(i32.const 7)
)
)
(i32.const 1)
)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
)
(i32.const 0)
)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
(i32.store offset=28
(get_local $7)
(get_local $2)
)
(i32.store offset=4
(tee_local $1
(i32.add
(get_local $7)
(i32.const 16)
)
)
(i32.const 0)
)
(i32.store
(get_local $1)
(i32.const 0)
)
(if
(i32.eqz
(i32.and
(tee_local $1
(i32.load
(i32.const 29652)
)
)
(tee_local $3
(i32.shl
(i32.const 1)
(get_local $2)
)
)
)
)
(block
(i32.store
(i32.const 29652)
(i32.or
(get_local $1)
(get_local $3)
)
)
(i32.store
(get_local $0)
(get_local $7)
)
(i32.store offset=24
(get_local $7)
(get_local $0)
)
(i32.store offset=12
(get_local $7)
(get_local $7)
)
(i32.store offset=8
(get_local $7)
(get_local $7)
)
(br $do-once45)
)
)
(set_local $0
(i32.load
(get_local $0)
)
)
(set_local $1
(i32.sub
(i32.const 25)
(i32.shr_u
(get_local $2)
(i32.const 1)
)
)
)
(set_local $2
(i32.shl
(get_local $4)
(if (result i32)
(i32.eq
(get_local $2)
(i32.const 31)
)
(i32.const 0)
(get_local $1)
)
)
)
(block $__rjto$7
(block $__rjti$7
(loop $while-in65
(block $while-out64
(br_if $__rjti$7
(i32.eq
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
(get_local $4)
)
)
(set_local $1
(i32.shl
(get_local $2)
(i32.const 1)
)
)
(if
(tee_local $3
(i32.load
(tee_local $2
(i32.add
(i32.add
(get_local $0)
(i32.const 16)
)
(i32.shl
(i32.shr_u
(get_local $2)
(i32.const 31)
)
(i32.const 2)
)
)
)
)
)
(block
(set_local $2
(get_local $1)
)
(set_local $0
(get_local $3)
)
(br $while-in65)
)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $2)
)
(call $_abort)
(block
(i32.store
(get_local $2)
(get_local $7)
)
(i32.store offset=24
(get_local $7)
(get_local $0)
)
(i32.store offset=12
(get_local $7)
(get_local $7)
)
(i32.store offset=8
(get_local $7)
(get_local $7)
)
(br $do-once45)
)
)
(br $__rjto$7)
)
(if
(i32.and
(i32.le_u
(tee_local $1
(i32.load
(i32.const 29664)
)
)
(tee_local $2
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(i32.le_u
(get_local $1)
(get_local $0)
)
)
(block
(i32.store offset=12
(get_local $2)
(get_local $7)
)
(i32.store
(get_local $3)
(get_local $7)
)
(i32.store offset=8
(get_local $7)
(get_local $2)
)
(i32.store offset=12
(get_local $7)
(get_local $0)
)
(i32.store offset=24
(get_local $7)
(i32.const 0)
)
)
(call $_abort)
)
)
)
)
)
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.add
(get_local $9)
(i32.const 8)
)
)
)
)
)
(loop $while-in67
(block $while-out66
(if
(i32.le_u
(tee_local $4
(i32.load
(get_local $3)
)
)
(get_local $6)
)
(br_if $while-out66
(i32.gt_u
(tee_local $11
(i32.add
(get_local $4)
(i32.load offset=4
(get_local $3)
)
)
)
(get_local $6)
)
)
)
(set_local $3
(i32.load offset=8
(get_local $3)
)
)
(br $while-in67)
)
)
(set_local $5
(i32.and
(i32.sub
(i32.const 0)
(tee_local $4
(i32.add
(tee_local $3
(i32.add
(get_local $11)
(i32.const -47)
)
)
(i32.const 8)
)
)
)
(i32.const 7)
)
)
(set_local $8
(i32.add
(if (result i32)
(i32.lt_u
(tee_local $3
(i32.add
(get_local $3)
(if (result i32)
(i32.and
(get_local $4)
(i32.const 7)
)
(get_local $5)
(i32.const 0)
)
)
)
(tee_local $12
(i32.add
(get_local $6)
(i32.const 16)
)
)
)
(tee_local $3
(get_local $6)
)
(get_local $3)
)
(i32.const 8)
)
)
(set_local $4
(i32.add
(get_local $3)
(i32.const 24)
)
)
(set_local $7
(i32.add
(get_local $1)
(i32.const -40)
)
)
(set_local $5
(i32.and
(i32.sub
(i32.const 0)
(tee_local $10
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
(i32.const 7)
)
)
(i32.store
(i32.const 29672)
(tee_local $10
(i32.add
(get_local $0)
(if (result i32)
(i32.and
(get_local $10)
(i32.const 7)
)
(get_local $5)
(tee_local $5
(i32.const 0)
)
)
)
)
)
(i32.store
(i32.const 29660)
(tee_local $5
(i32.sub
(get_local $7)
(get_local $5)
)
)
)
(i32.store offset=4
(get_local $10)
(i32.or
(get_local $5)
(i32.const 1)
)
)
(i32.store offset=4
(i32.add
(get_local $0)
(get_local $7)
)
(i32.const 40)
)
(i32.store
(i32.const 29676)
(i32.load
(i32.const 30136)
)
)
(i32.store
(tee_local $5
(i32.add
(get_local $3)
(i32.const 4)
)
)
(i32.const 27)
)
(i64.store align=4
(get_local $8)
(i64.load align=4
(i32.const 30096)
)
)
(i64.store offset=8 align=4
(get_local $8)
(i64.load align=4
(i32.const 30104)
)
)
(i32.store
(i32.const 30096)
(get_local $0)
)
(i32.store
(i32.const 30100)
(get_local $1)
)
(i32.store
(i32.const 30108)
(i32.const 0)
)
(i32.store
(i32.const 30104)
(get_local $8)
)
(set_local $0
(get_local $4)
)
(loop $while-in69
(i32.store
(tee_local $1
(i32.add
(get_local $0)
(i32.const 4)
)
)
(i32.const 7)
)
(if
(i32.lt_u
(i32.add
(get_local $0)
(i32.const 8)
)
(get_local $11)
)
(block
(set_local $0
(get_local $1)
)
(br $while-in69)
)
)
)
(if
(i32.ne
(get_local $3)
(get_local $6)
)
(block
(i32.store
(get_local $5)
(i32.and
(i32.load
(get_local $5)
)
(i32.const -2)
)
)
(i32.store offset=4
(get_local $6)
(i32.or
(tee_local $5
(i32.sub
(get_local $3)
(get_local $6)
)
)
(i32.const 1)
)
)
(i32.store
(get_local $3)
(get_local $5)
)
(set_local $1
(i32.shr_u
(get_local $5)
(i32.const 3)
)
)
(if
(i32.lt_u
(get_local $5)
(i32.const 256)
)
(block
(set_local $0
(i32.add
(i32.shl
(get_local $1)
(i32.const 3)
)
(i32.const 29688)
)
)
(if
(i32.and
(tee_local $3
(i32.load
(i32.const 29648)
)
)
(tee_local $1
(i32.shl
(i32.const 1)
(get_local $1)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(tee_local $3
(i32.load
(tee_local $1
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(call $_abort)
(block
(set_local $9
(get_local $3)
)
(set_local $19
(get_local $1)
)
)
)
(block
(i32.store
(i32.const 29648)
(i32.or
(get_local $3)
(get_local $1)
)
)
(set_local $9
(get_local $0)
)
(set_local $19
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(i32.store
(get_local $19)
(get_local $6)
)
(i32.store offset=12
(get_local $9)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
(get_local $9)
)
(i32.store offset=12
(get_local $6)
(get_local $0)
)
(br $do-once39)
)
)
(set_local $0
(i32.add
(i32.shl
(tee_local $1
(if (result i32)
(tee_local $0
(i32.shr_u
(get_local $5)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
(get_local $5)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
(get_local $5)
(i32.add
(tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
(tee_local $3
(i32.and
(i32.shr_u
(i32.add
(tee_local $1
(i32.shl
(get_local $0)
(tee_local $0
(i32.and
(i32.shr_u
(i32.add
(get_local $0)
(i32.const 1048320)
)
(i32.const 16)
)
(i32.const 8)
)
)
)
)
(i32.const 520192)
)
(i32.const 16)
)
(i32.const 4)
)
)
(get_local $0)
)
(tee_local $1
(i32.and
(i32.shr_u
(i32.add
(tee_local $0
(i32.shl
(get_local $1)
(get_local $3)
)
)
(i32.const 245760)
)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
(i32.shr_u
(i32.shl
(get_local $0)
(get_local $1)
)
(i32.const 15)
)
)
)
(i32.const 7)
)
)
(i32.const 1)
)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
)
(i32.const 0)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
(i32.store offset=28
(get_local $6)
(get_local $1)
)
(i32.store offset=20
(get_local $6)
(i32.const 0)
)
(i32.store
(get_local $12)
(i32.const 0)
)
(if
(i32.eqz
(i32.and
(tee_local $3
(i32.load
(i32.const 29652)
)
)
(tee_local $4
(i32.shl
(i32.const 1)
(get_local $1)
)
)
)
)
(block
(i32.store
(i32.const 29652)
(i32.or
(get_local $3)
(get_local $4)
)
)
(i32.store
(get_local $0)
(get_local $6)
)
(i32.store offset=24
(get_local $6)
(get_local $0)
)
(i32.store offset=12
(get_local $6)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
(get_local $6)
)
(br $do-once39)
)
)
(set_local $0
(i32.load
(get_local $0)
)
)
(set_local $3
(i32.sub
(i32.const 25)
(i32.shr_u
(get_local $1)
(i32.const 1)
)
)
)
(set_local $1
(i32.shl
(get_local $5)
(if (result i32)
(i32.eq
(get_local $1)
(i32.const 31)
)
(i32.const 0)
(get_local $3)
)
)
)
(block $__rjto$9
(block $__rjti$9
(loop $while-in71
(block $while-out70
(br_if $__rjti$9
(i32.eq
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
(get_local $5)
)
)
(set_local $3
(i32.shl
(get_local $1)
(i32.const 1)
)
)
(if
(tee_local $4
(i32.load
(tee_local $1
(i32.add
(i32.add
(get_local $0)
(i32.const 16)
)
(i32.shl
(i32.shr_u
(get_local $1)
(i32.const 31)
)
(i32.const 2)
)
)
)
)
)
(block
(set_local $1
(get_local $3)
)
(set_local $0
(get_local $4)
)
(br $while-in71)
)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $1)
)
(call $_abort)
(block
(i32.store
(get_local $1)
(get_local $6)
)
(i32.store offset=24
(get_local $6)
(get_local $0)
)
(i32.store offset=12
(get_local $6)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
(get_local $6)
)
(br $do-once39)
)
)
(br $__rjto$9)
)
(if
(i32.and
(i32.le_u
(tee_local $3
(i32.load
(i32.const 29664)
)
)
(tee_local $1
(i32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(i32.le_u
(get_local $3)
(get_local $0)
)
)
(block
(i32.store offset=12
(get_local $1)
(get_local $6)
)
(i32.store
(get_local $4)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
(get_local $1)
)
(i32.store offset=12
(get_local $6)
(get_local $0)
)
(i32.store offset=24
(get_local $6)
(i32.const 0)
)
)
(call $_abort)
)
)
)
)
)
(block
(if
(i32.or
(i32.eqz
(tee_local $3
(i32.load
(i32.const 29664)
)
)
)
(i32.lt_u
(get_local $0)
(get_local $3)
)
)
(i32.store
(i32.const 29664)
(get_local $0)
)
)
(i32.store
(i32.const 30096)
(get_local $0)
)
(i32.store
(i32.const 30100)
(get_local $1)
)
(i32.store
(i32.const 30108)
(i32.const 0)
)
(i32.store
(i32.const 29684)
(i32.load
(i32.const 30120)
)
)
(i32.store
(i32.const 29680)
(i32.const -1)
)
(i32.store
(i32.const 29700)
(i32.const 29688)
)
(i32.store
(i32.const 29696)
(i32.const 29688)
)
(i32.store
(i32.const 29708)
(i32.const 29696)
)
(i32.store
(i32.const 29704)
(i32.const 29696)
)
(i32.store
(i32.const 29716)
(i32.const 29704)
)
(i32.store
(i32.const 29712)
(i32.const 29704)
)
(i32.store
(i32.const 29724)
(i32.const 29712)
)
(i32.store
(i32.const 29720)
(i32.const 29712)
)
(i32.store
(i32.const 29732)
(i32.const 29720)
)
(i32.store
(i32.const 29728)
(i32.const 29720)
)
(i32.store
(i32.const 29740)
(i32.const 29728)
)
(i32.store
(i32.const 29736)
(i32.const 29728)
)
(i32.store
(i32.const 29748)
(i32.const 29736)
)
(i32.store
(i32.const 29744)
(i32.const 29736)
)
(i32.store
(i32.const 29756)
(i32.const 29744)
)
(i32.store
(i32.const 29752)
(i32.const 29744)
)
(i32.store
(i32.const 29764)
(i32.const 29752)
)
(i32.store
(i32.const 29760)
(i32.const 29752)
)
(i32.store
(i32.const 29772)
(i32.const 29760)
)
(i32.store
(i32.const 29768)
(i32.const 29760)
)
(i32.store
(i32.const 29780)
(i32.const 29768)
)
(i32.store
(i32.const 29776)
(i32.const 29768)
)
(i32.store
(i32.const 29788)
(i32.const 29776)
)
(i32.store
(i32.const 29784)
(i32.const 29776)
)
(i32.store
(i32.const 29796)
(i32.const 29784)
)
(i32.store
(i32.const 29792)
(i32.const 29784)
)
(i32.store
(i32.const 29804)
(i32.const 29792)
)
(i32.store
(i32.const 29800)
(i32.const 29792)
)
(i32.store
(i32.const 29812)
(i32.const 29800)
)
(i32.store
(i32.const 29808)
(i32.const 29800)
)
(i32.store
(i32.const 29820)
(i32.const 29808)
)
(i32.store
(i32.const 29816)
(i32.const 29808)
)
(i32.store
(i32.const 29828)
(i32.const 29816)
)
(i32.store
(i32.const 29824)
(i32.const 29816)
)
(i32.store
(i32.const 29836)
(i32.const 29824)
)
(i32.store
(i32.const 29832)
(i32.const 29824)
)
(i32.store
(i32.const 29844)
(i32.const 29832)
)
(i32.store
(i32.const 29840)
(i32.const 29832)
)
(i32.store
(i32.const 29852)
(i32.const 29840)
)
(i32.store
(i32.const 29848)
(i32.const 29840)
)
(i32.store
(i32.const 29860)
(i32.const 29848)
)
(i32.store
(i32.const 29856)
(i32.const 29848)
)
(i32.store
(i32.const 29868)
(i32.const 29856)
)
(i32.store
(i32.const 29864)
(i32.const 29856)
)
(i32.store
(i32.const 29876)
(i32.const 29864)
)
(i32.store
(i32.const 29872)
(i32.const 29864)
)
(i32.store
(i32.const 29884)
(i32.const 29872)
)
(i32.store
(i32.const 29880)
(i32.const 29872)
)
(i32.store
(i32.const 29892)
(i32.const 29880)
)
(i32.store
(i32.const 29888)
(i32.const 29880)
)
(i32.store
(i32.const 29900)
(i32.const 29888)
)
(i32.store
(i32.const 29896)
(i32.const 29888)
)
(i32.store
(i32.const 29908)
(i32.const 29896)
)
(i32.store
(i32.const 29904)
(i32.const 29896)
)
(i32.store
(i32.const 29916)
(i32.const 29904)
)
(i32.store
(i32.const 29912)
(i32.const 29904)
)
(i32.store
(i32.const 29924)
(i32.const 29912)
)
(i32.store
(i32.const 29920)
(i32.const 29912)
)
(i32.store
(i32.const 29932)
(i32.const 29920)
)
(i32.store
(i32.const 29928)
(i32.const 29920)
)
(i32.store
(i32.const 29940)
(i32.const 29928)
)
(i32.store
(i32.const 29936)
(i32.const 29928)
)
(i32.store
(i32.const 29948)
(i32.const 29936)
)
(i32.store
(i32.const 29944)
(i32.const 29936)
)
(set_local $3
(i32.add
(get_local $1)
(i32.const -40)
)
)
(set_local $1
(i32.and
(i32.sub
(i32.const 0)
(tee_local $4
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
(i32.const 7)
)
)
(i32.store
(i32.const 29672)
(tee_local $4
(i32.add
(get_local $0)
(if (result i32)
(i32.and
(get_local $4)
(i32.const 7)
)
(get_local $1)
(tee_local $1
(i32.const 0)
)
)
)
)
)
(i32.store
(i32.const 29660)
(tee_local $1
(i32.sub
(get_local $3)
(get_local $1)
)
)
)
(i32.store offset=4
(get_local $4)
(i32.or
(get_local $1)
(i32.const 1)
)
)
(i32.store offset=4
(i32.add
(get_local $0)
(get_local $3)
)
(i32.const 40)
)
(i32.store
(i32.const 29676)
(i32.load
(i32.const 30136)
)
)
)
)
)
(if
(i32.le_u
(tee_local $0
(i32.load
(i32.const 29660)
)
)
(get_local $2)
)
(block
(set_global $STACKTOP
(get_local $13)
)
(return
(i32.const 0)
)
)
)
(i32.store
(i32.const 29660)
(tee_local $1
(i32.sub
(get_local $0)
(get_local $2)
)
)
)
(i32.store
(i32.const 29672)
(tee_local $3
(i32.add
(tee_local $0
(i32.load
(i32.const 29672)
)
)
(get_local $2)
)
)
)
(i32.store offset=4
(get_local $3)
(i32.or
(get_local $1)
(i32.const 1)
)
)
(i32.store offset=4
(get_local $0)
(i32.or
(get_local $2)
(i32.const 3)
)
)
(set_global $STACKTOP
(get_local $13)
)
(i32.add
(get_local $0)
(i32.const 8)
)
)
(func $_free (; 222 ;) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(if
(i32.eqz
(get_local $0)
)
(return)
)
(if
(i32.lt_u
(tee_local $3
(i32.add
(get_local $0)
(i32.const -8)
)
)
(tee_local $12
(i32.load
(i32.const 29664)
)
)
)
(call $_abort)
)
(if
(i32.eq
(tee_local $11
(i32.and
(tee_local $0
(i32.load
(i32.add
(get_local $0)
(i32.const -4)
)
)
)
(i32.const 3)
)
)
(i32.const 1)
)
(call $_abort)
)
(set_local $7
(i32.add
(get_local $3)
(tee_local $5
(i32.and
(get_local $0)
(i32.const -8)
)
)
)
)
(block $label$break$L10
(if
(i32.and
(get_local $0)
(i32.const 1)
)
(block
(set_local $1
(get_local $5)
)
(set_local $4
(tee_local $2
(get_local $3)
)
)
)
(block
(set_local $9
(i32.load
(get_local $3)
)
)
(if
(i32.eqz
(get_local $11)
)
(return)
)
(if
(i32.lt_u
(tee_local $0
(i32.sub
(get_local $3)
(get_local $9)
)
)
(get_local $12)
)
(call $_abort)
)
(set_local $3
(i32.add
(get_local $9)
(get_local $5)
)
)
(if
(i32.eq
(i32.load
(i32.const 29668)
)
(get_local $0)
)
(block
(if
(i32.ne
(i32.and
(tee_local $1
(i32.load
(tee_local $2
(i32.add
(get_local $7)
(i32.const 4)
)
)
)
)
(i32.const 3)
)
(i32.const 3)
)
(block
(set_local $1
(get_local $3)
)
(set_local $4
(tee_local $2
(get_local $0)
)
)
(br $label$break$L10)
)
)
(i32.store
(i32.const 29656)
(get_local $3)
)
(i32.store
(get_local $2)
(i32.and
(get_local $1)
(i32.const -2)
)
)
(i32.store offset=4
(get_local $0)
(i32.or
(get_local $3)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $0)
(get_local $3)
)
(get_local $3)
)
(return)
)
)
(set_local $5
(i32.shr_u
(get_local $9)
(i32.const 3)
)
)
(if
(i32.lt_u
(get_local $9)
(i32.const 256)
)
(block
(set_local $1
(i32.load offset=12
(get_local $0)
)
)
(if
(i32.ne
(tee_local $4
(i32.load offset=8
(get_local $0)
)
)
(tee_local $2
(i32.add
(i32.shl
(get_local $5)
(i32.const 3)
)
(i32.const 29688)
)
)
)
(block
(if
(i32.gt_u
(get_local $12)
(get_local $4)
)
(call $_abort)
)
(if
(i32.ne
(i32.load offset=12
(get_local $4)
)
(get_local $0)
)
(call $_abort)
)
)
)
(if
(i32.eq
(get_local $1)
(get_local $4)
)
(block
(i32.store
(i32.const 29648)
(i32.and
(i32.load
(i32.const 29648)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $5)
)
(i32.const -1)
)
)
)
(set_local $1
(get_local $3)
)
(set_local $4
(tee_local $2
(get_local $0)
)
)
(br $label$break$L10)
)
)
(if
(i32.eq
(get_local $1)
(get_local $2)
)
(set_local $6
(i32.add
(get_local $1)
(i32.const 8)
)
)
(block
(if
(i32.gt_u
(get_local $12)
(get_local $1)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $2
(i32.add
(get_local $1)
(i32.const 8)
)
)
)
(get_local $0)
)
(set_local $6
(get_local $2)
)
(call $_abort)
)
)
)
(i32.store offset=12
(get_local $4)
(get_local $1)
)
(i32.store
(get_local $6)
(get_local $4)
)
(set_local $1
(get_local $3)
)
(set_local $4
(tee_local $2
(get_local $0)
)
)
(br $label$break$L10)
)
)
(set_local $13
(i32.load offset=24
(get_local $0)
)
)
(block $do-once
(if
(i32.eq
(tee_local $5
(i32.load offset=12
(get_local $0)
)
)
(get_local $0)
)
(block
(if
(tee_local $5
(i32.load
(tee_local $9
(i32.add
(tee_local $6
(i32.add
(get_local $0)
(i32.const 16)
)
)
(i32.const 4)
)
)
)
)
(set_local $6
(get_local $9)
)
(br_if $do-once
(i32.eqz
(tee_local $5
(i32.load
(get_local $6)
)
)
)
)
)
(loop $while-in
(if
(tee_local $11
(i32.load
(tee_local $9
(i32.add
(get_local $5)
(i32.const 20)
)
)
)
)
(block
(set_local $5
(get_local $11)
)
(set_local $6
(get_local $9)
)
(br $while-in)
)
)
(if
(tee_local $11
(i32.load
(tee_local $9
(i32.add
(get_local $5)
(i32.const 16)
)
)
)
)
(block
(set_local $5
(get_local $11)
)
(set_local $6
(get_local $9)
)
(br $while-in)
)
)
)
(if
(i32.gt_u
(get_local $12)
(get_local $6)
)
(call $_abort)
(block
(i32.store
(get_local $6)
(i32.const 0)
)
(set_local $8
(get_local $5)
)
)
)
)
(block
(if
(i32.gt_u
(get_local $12)
(tee_local $6
(i32.load offset=8
(get_local $0)
)
)
)
(call $_abort)
)
(if
(i32.ne
(i32.load
(tee_local $9
(i32.add
(get_local $6)
(i32.const 12)
)
)
)
(get_local $0)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $11
(i32.add
(get_local $5)
(i32.const 8)
)
)
)
(get_local $0)
)
(block
(i32.store
(get_local $9)
(get_local $5)
)
(i32.store
(get_local $11)
(get_local $6)
)
(set_local $8
(get_local $5)
)
)
(call $_abort)
)
)
)
)
(if
(get_local $13)
(block
(if
(i32.eq
(i32.load
(tee_local $6
(i32.add
(i32.shl
(tee_local $5
(i32.load offset=28
(get_local $0)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
(get_local $0)
)
(block
(i32.store
(get_local $6)
(get_local $8)
)
(if
(i32.eqz
(get_local $8)
)
(block
(i32.store
(i32.const 29652)
(i32.and
(i32.load
(i32.const 29652)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $5)
)
(i32.const -1)
)
)
)
(set_local $1
(get_local $3)
)
(set_local $4
(tee_local $2
(get_local $0)
)
)
(br $label$break$L10)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $13)
)
(call $_abort)
(block
(i32.store
(i32.add
(i32.add
(get_local $13)
(i32.const 16)
)
(i32.shl
(i32.ne
(i32.load offset=16
(get_local $13)
)
(get_local $0)
)
(i32.const 2)
)
)
(get_local $8)
)
(if
(i32.eqz
(get_local $8)
)
(block
(set_local $1
(get_local $3)
)
(set_local $4
(tee_local $2
(get_local $0)
)
)
(br $label$break$L10)
)
)
)
)
)
(if
(i32.gt_u
(tee_local $6
(i32.load
(i32.const 29664)
)
)
(get_local $8)
)
(call $_abort)
)
(i32.store offset=24
(get_local $8)
(get_local $13)
)
(if
(tee_local $5
(i32.load
(tee_local $9
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(if
(i32.gt_u
(get_local $6)
(get_local $5)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $8)
(get_local $5)
)
(i32.store offset=24
(get_local $5)
(get_local $8)
)
)
)
)
(if
(tee_local $5
(i32.load offset=4
(get_local $9)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $5)
)
(call $_abort)
(block
(i32.store offset=20
(get_local $8)
(get_local $5)
)
(i32.store offset=24
(get_local $5)
(get_local $8)
)
(set_local $1
(get_local $3)
)
(set_local $4
(tee_local $2
(get_local $0)
)
)
)
)
(block
(set_local $1
(get_local $3)
)
(set_local $4
(tee_local $2
(get_local $0)
)
)
)
)
)
(block
(set_local $1
(get_local $3)
)
(set_local $4
(tee_local $2
(get_local $0)
)
)
)
)
)
)
)
(if
(i32.ge_u
(get_local $4)
(get_local $7)
)
(call $_abort)
)
(if
(i32.eqz
(i32.and
(tee_local $0
(i32.load
(tee_local $3
(i32.add
(get_local $7)
(i32.const 4)
)
)
)
)
(i32.const 1)
)
)
(call $_abort)
)
(if
(i32.and
(get_local $0)
(i32.const 2)
)
(block
(i32.store
(get_local $3)
(i32.and
(get_local $0)
(i32.const -2)
)
)
(i32.store offset=4
(get_local $2)
(i32.or
(get_local $1)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $4)
(get_local $1)
)
(get_local $1)
)
)
(block
(if
(i32.eq
(i32.load
(i32.const 29672)
)
(get_local $7)
)
(block
(i32.store
(i32.const 29660)
(tee_local $0
(i32.add
(i32.load
(i32.const 29660)
)
(get_local $1)
)
)
)
(i32.store
(i32.const 29672)
(get_local $2)
)
(i32.store offset=4
(get_local $2)
(i32.or
(get_local $0)
(i32.const 1)
)
)
(if
(i32.ne
(get_local $2)
(i32.load
(i32.const 29668)
)
)
(return)
)
(i32.store
(i32.const 29668)
(i32.const 0)
)
(i32.store
(i32.const 29656)
(i32.const 0)
)
(return)
)
)
(if
(i32.eq
(i32.load
(i32.const 29668)
)
(get_local $7)
)
(block
(i32.store
(i32.const 29656)
(tee_local $0
(i32.add
(i32.load
(i32.const 29656)
)
(get_local $1)
)
)
)
(i32.store
(i32.const 29668)
(get_local $4)
)
(i32.store offset=4
(get_local $2)
(i32.or
(get_local $0)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $4)
(get_local $0)
)
(get_local $0)
)
(return)
)
)
(set_local $6
(i32.add
(i32.and
(get_local $0)
(i32.const -8)
)
(get_local $1)
)
)
(set_local $5
(i32.shr_u
(get_local $0)
(i32.const 3)
)
)
(block $label$break$L108
(if
(i32.lt_u
(get_local $0)
(i32.const 256)
)
(block
(set_local $1
(i32.load offset=12
(get_local $7)
)
)
(if
(i32.ne
(tee_local $3
(i32.load offset=8
(get_local $7)
)
)
(tee_local $0
(i32.add
(i32.shl
(get_local $5)
(i32.const 3)
)
(i32.const 29688)
)
)
)
(block
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $3)
)
(call $_abort)
)
(if
(i32.ne
(i32.load offset=12
(get_local $3)
)
(get_local $7)
)
(call $_abort)
)
)
)
(if
(i32.eq
(get_local $1)
(get_local $3)
)
(block
(i32.store
(i32.const 29648)
(i32.and
(i32.load
(i32.const 29648)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $5)
)
(i32.const -1)
)
)
)
(br $label$break$L108)
)
)
(if
(i32.eq
(get_local $1)
(get_local $0)
)
(set_local $15
(i32.add
(get_local $1)
(i32.const 8)
)
)
(block
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $1)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $0
(i32.add
(get_local $1)
(i32.const 8)
)
)
)
(get_local $7)
)
(set_local $15
(get_local $0)
)
(call $_abort)
)
)
)
(i32.store offset=12
(get_local $3)
(get_local $1)
)
(i32.store
(get_local $15)
(get_local $3)
)
)
(block
(set_local $8
(i32.load offset=24
(get_local $7)
)
)
(block $do-once6
(if
(i32.eq
(tee_local $0
(i32.load offset=12
(get_local $7)
)
)
(get_local $7)
)
(block
(if
(tee_local $0
(i32.load
(tee_local $3
(i32.add
(tee_local $1
(i32.add
(get_local $7)
(i32.const 16)
)
)
(i32.const 4)
)
)
)
)
(set_local $1
(get_local $3)
)
(br_if $do-once6
(i32.eqz
(tee_local $0
(i32.load
(get_local $1)
)
)
)
)
)
(loop $while-in9
(if
(tee_local $5
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
)
)
)
)
(block
(set_local $0
(get_local $5)
)
(set_local $1
(get_local $3)
)
(br $while-in9)
)
)
(if
(tee_local $5
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(block
(set_local $0
(get_local $5)
)
(set_local $1
(get_local $3)
)
(br $while-in9)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $1)
)
(call $_abort)
(block
(i32.store
(get_local $1)
(i32.const 0)
)
(set_local $10
(get_local $0)
)
)
)
)
(block
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(tee_local $1
(i32.load offset=8
(get_local $7)
)
)
)
(call $_abort)
)
(if
(i32.ne
(i32.load
(tee_local $3
(i32.add
(get_local $1)
(i32.const 12)
)
)
)
(get_local $7)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $5
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
(get_local $7)
)
(block
(i32.store
(get_local $3)
(get_local $0)
)
(i32.store
(get_local $5)
(get_local $1)
)
(set_local $10
(get_local $0)
)
)
(call $_abort)
)
)
)
)
(if
(get_local $8)
(block
(if
(i32.eq
(i32.load
(tee_local $1
(i32.add
(i32.shl
(tee_local $0
(i32.load offset=28
(get_local $7)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
(get_local $7)
)
(block
(i32.store
(get_local $1)
(get_local $10)
)
(if
(i32.eqz
(get_local $10)
)
(block
(i32.store
(i32.const 29652)
(i32.and
(i32.load
(i32.const 29652)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $0)
)
(i32.const -1)
)
)
)
(br $label$break$L108)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $8)
)
(call $_abort)
(block
(i32.store
(i32.add
(i32.add
(get_local $8)
(i32.const 16)
)
(i32.shl
(i32.ne
(i32.load offset=16
(get_local $8)
)
(get_local $7)
)
(i32.const 2)
)
)
(get_local $10)
)
(br_if $label$break$L108
(i32.eqz
(get_local $10)
)
)
)
)
)
(if
(i32.gt_u
(tee_local $1
(i32.load
(i32.const 29664)
)
)
(get_local $10)
)
(call $_abort)
)
(i32.store offset=24
(get_local $10)
(get_local $8)
)
(if
(tee_local $0
(i32.load
(tee_local $3
(i32.add
(get_local $7)
(i32.const 16)
)
)
)
)
(if
(i32.gt_u
(get_local $1)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $10)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $10)
)
)
)
)
(if
(tee_local $0
(i32.load offset=4
(get_local $3)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=20
(get_local $10)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $10)
)
)
)
)
)
)
)
)
)
(i32.store offset=4
(get_local $2)
(i32.or
(get_local $6)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $4)
(get_local $6)
)
(get_local $6)
)
(if
(i32.eq
(get_local $2)
(i32.load
(i32.const 29668)
)
)
(block
(i32.store
(i32.const 29656)
(get_local $6)
)
(return)
)
(set_local $1
(get_local $6)
)
)
)
)
(set_local $4
(i32.shr_u
(get_local $1)
(i32.const 3)
)
)
(if
(i32.lt_u
(get_local $1)
(i32.const 256)
)
(block
(set_local $0
(i32.add
(i32.shl
(get_local $4)
(i32.const 3)
)
(i32.const 29688)
)
)
(if
(i32.and
(tee_local $1
(i32.load
(i32.const 29648)
)
)
(tee_local $4
(i32.shl
(i32.const 1)
(get_local $4)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(tee_local $4
(i32.load
(tee_local $1
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(call $_abort)
(block
(set_local $14
(get_local $4)
)
(set_local $16
(get_local $1)
)
)
)
(block
(i32.store
(i32.const 29648)
(i32.or
(get_local $1)
(get_local $4)
)
)
(set_local $14
(get_local $0)
)
(set_local $16
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(i32.store
(get_local $16)
(get_local $2)
)
(i32.store offset=12
(get_local $14)
(get_local $2)
)
(i32.store offset=8
(get_local $2)
(get_local $14)
)
(i32.store offset=12
(get_local $2)
(get_local $0)
)
(return)
)
)
(set_local $0
(i32.add
(i32.shl
(tee_local $4
(if (result i32)
(tee_local $0
(i32.shr_u
(get_local $1)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
(get_local $1)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
(get_local $1)
(i32.add
(tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
(tee_local $3
(i32.and
(i32.shr_u
(i32.add
(tee_local $4
(i32.shl
(get_local $0)
(tee_local $0
(i32.and
(i32.shr_u
(i32.add
(get_local $0)
(i32.const 1048320)
)
(i32.const 16)
)
(i32.const 8)
)
)
)
)
(i32.const 520192)
)
(i32.const 16)
)
(i32.const 4)
)
)
(get_local $0)
)
(tee_local $4
(i32.and
(i32.shr_u
(i32.add
(tee_local $0
(i32.shl
(get_local $4)
(get_local $3)
)
)
(i32.const 245760)
)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
(i32.shr_u
(i32.shl
(get_local $0)
(get_local $4)
)
(i32.const 15)
)
)
)
(i32.const 7)
)
)
(i32.const 1)
)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
)
(i32.const 0)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
(i32.store offset=28
(get_local $2)
(get_local $4)
)
(i32.store offset=20
(get_local $2)
(i32.const 0)
)
(i32.store offset=16
(get_local $2)
(i32.const 0)
)
(block $do-once14
(if
(i32.and
(tee_local $3
(i32.load
(i32.const 29652)
)
)
(tee_local $5
(i32.shl
(i32.const 1)
(get_local $4)
)
)
)
(block
(set_local $0
(i32.load
(get_local $0)
)
)
(set_local $3
(i32.sub
(i32.const 25)
(i32.shr_u
(get_local $4)
(i32.const 1)
)
)
)
(set_local $4
(i32.shl
(get_local $1)
(if (result i32)
(i32.eq
(get_local $4)
(i32.const 31)
)
(i32.const 0)
(get_local $3)
)
)
)
(block $__rjto$1
(block $__rjti$1
(loop $while-in17
(block $while-out16
(br_if $__rjti$1
(i32.eq
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
(get_local $1)
)
)
(set_local $3
(i32.shl
(get_local $4)
(i32.const 1)
)
)
(if
(tee_local $5
(i32.load
(tee_local $4
(i32.add
(i32.add
(get_local $0)
(i32.const 16)
)
(i32.shl
(i32.shr_u
(get_local $4)
(i32.const 31)
)
(i32.const 2)
)
)
)
)
)
(block
(set_local $4
(get_local $3)
)
(set_local $0
(get_local $5)
)
(br $while-in17)
)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $4)
)
(call $_abort)
(block
(i32.store
(get_local $4)
(get_local $2)
)
(i32.store offset=24
(get_local $2)
(get_local $0)
)
(i32.store offset=12
(get_local $2)
(get_local $2)
)
(i32.store offset=8
(get_local $2)
(get_local $2)
)
(br $do-once14)
)
)
(br $__rjto$1)
)
(if
(i32.and
(i32.le_u
(tee_local $4
(i32.load
(i32.const 29664)
)
)
(tee_local $1
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(i32.le_u
(get_local $4)
(get_local $0)
)
)
(block
(i32.store offset=12
(get_local $1)
(get_local $2)
)
(i32.store
(get_local $3)
(get_local $2)
)
(i32.store offset=8
(get_local $2)
(get_local $1)
)
(i32.store offset=12
(get_local $2)
(get_local $0)
)
(i32.store offset=24
(get_local $2)
(i32.const 0)
)
)
(call $_abort)
)
)
)
(block
(i32.store
(i32.const 29652)
(i32.or
(get_local $3)
(get_local $5)
)
)
(i32.store
(get_local $0)
(get_local $2)
)
(i32.store offset=24
(get_local $2)
(get_local $0)
)
(i32.store offset=12
(get_local $2)
(get_local $2)
)
(i32.store offset=8
(get_local $2)
(get_local $2)
)
)
)
)
(i32.store
(i32.const 29680)
(tee_local $0
(i32.add
(i32.load
(i32.const 29680)
)
(i32.const -1)
)
)
)
(if
(get_local $0)
(return)
(set_local $0
(i32.const 30104)
)
)
(loop $while-in19
(set_local $0
(i32.add
(tee_local $2
(i32.load
(get_local $0)
)
)
(i32.const 8)
)
)
(br_if $while-in19
(get_local $2)
)
)
(i32.store
(i32.const 29680)
(i32.const -1)
)
)
(func $_dispose_chunk (; 223 ;) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(set_local $6
(i32.add
(get_local $0)
(get_local $1)
)
)
(block $label$break$L1
(if
(i32.and
(tee_local $7
(i32.load offset=4
(get_local $0)
)
)
(i32.const 1)
)
(block
(set_local $2
(get_local $0)
)
(set_local $3
(get_local $1)
)
)
(block
(set_local $5
(i32.load
(get_local $0)
)
)
(if
(i32.eqz
(i32.and
(get_local $7)
(i32.const 3)
)
)
(return)
)
(if
(i32.lt_u
(tee_local $0
(i32.sub
(get_local $0)
(get_local $5)
)
)
(tee_local $12
(i32.load
(i32.const 29664)
)
)
)
(call $_abort)
)
(set_local $1
(i32.add
(get_local $5)
(get_local $1)
)
)
(if
(i32.eq
(i32.load
(i32.const 29668)
)
(get_local $0)
)
(block
(if
(i32.ne
(i32.and
(tee_local $2
(i32.load
(tee_local $3
(i32.add
(get_local $6)
(i32.const 4)
)
)
)
)
(i32.const 3)
)
(i32.const 3)
)
(block
(set_local $2
(get_local $0)
)
(set_local $3
(get_local $1)
)
(br $label$break$L1)
)
)
(i32.store
(i32.const 29656)
(get_local $1)
)
(i32.store
(get_local $3)
(i32.and
(get_local $2)
(i32.const -2)
)
)
(i32.store offset=4
(get_local $0)
(i32.or
(get_local $1)
(i32.const 1)
)
)
(i32.store
(get_local $6)
(get_local $1)
)
(return)
)
)
(set_local $7
(i32.shr_u
(get_local $5)
(i32.const 3)
)
)
(if
(i32.lt_u
(get_local $5)
(i32.const 256)
)
(block
(set_local $2
(i32.load offset=12
(get_local $0)
)
)
(if
(i32.ne
(tee_local $5
(i32.load offset=8
(get_local $0)
)
)
(tee_local $3
(i32.add
(i32.shl
(get_local $7)
(i32.const 3)
)
(i32.const 29688)
)
)
)
(block
(if
(i32.gt_u
(get_local $12)
(get_local $5)
)
(call $_abort)
)
(if
(i32.ne
(i32.load offset=12
(get_local $5)
)
(get_local $0)
)
(call $_abort)
)
)
)
(if
(i32.eq
(get_local $2)
(get_local $5)
)
(block
(i32.store
(i32.const 29648)
(i32.and
(i32.load
(i32.const 29648)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $7)
)
(i32.const -1)
)
)
)
(set_local $2
(get_local $0)
)
(set_local $3
(get_local $1)
)
(br $label$break$L1)
)
)
(if
(i32.eq
(get_local $2)
(get_local $3)
)
(set_local $4
(i32.add
(get_local $2)
(i32.const 8)
)
)
(block
(if
(i32.gt_u
(get_local $12)
(get_local $2)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $3
(i32.add
(get_local $2)
(i32.const 8)
)
)
)
(get_local $0)
)
(set_local $4
(get_local $3)
)
(call $_abort)
)
)
)
(i32.store offset=12
(get_local $5)
(get_local $2)
)
(i32.store
(get_local $4)
(get_local $5)
)
(set_local $2
(get_local $0)
)
(set_local $3
(get_local $1)
)
(br $label$break$L1)
)
)
(set_local $10
(i32.load offset=24
(get_local $0)
)
)
(block $do-once
(if
(i32.eq
(tee_local $4
(i32.load offset=12
(get_local $0)
)
)
(get_local $0)
)
(block
(if
(tee_local $4
(i32.load
(tee_local $7
(i32.add
(tee_local $5
(i32.add
(get_local $0)
(i32.const 16)
)
)
(i32.const 4)
)
)
)
)
(set_local $5
(get_local $7)
)
(br_if $do-once
(i32.eqz
(tee_local $4
(i32.load
(get_local $5)
)
)
)
)
)
(loop $while-in
(if
(tee_local $11
(i32.load
(tee_local $7
(i32.add
(get_local $4)
(i32.const 20)
)
)
)
)
(block
(set_local $4
(get_local $11)
)
(set_local $5
(get_local $7)
)
(br $while-in)
)
)
(if
(tee_local $11
(i32.load
(tee_local $7
(i32.add
(get_local $4)
(i32.const 16)
)
)
)
)
(block
(set_local $4
(get_local $11)
)
(set_local $5
(get_local $7)
)
(br $while-in)
)
)
)
(if
(i32.gt_u
(get_local $12)
(get_local $5)
)
(call $_abort)
(block
(i32.store
(get_local $5)
(i32.const 0)
)
(set_local $8
(get_local $4)
)
)
)
)
(block
(if
(i32.gt_u
(get_local $12)
(tee_local $5
(i32.load offset=8
(get_local $0)
)
)
)
(call $_abort)
)
(if
(i32.ne
(i32.load
(tee_local $7
(i32.add
(get_local $5)
(i32.const 12)
)
)
)
(get_local $0)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $11
(i32.add
(get_local $4)
(i32.const 8)
)
)
)
(get_local $0)
)
(block
(i32.store
(get_local $7)
(get_local $4)
)
(i32.store
(get_local $11)
(get_local $5)
)
(set_local $8
(get_local $4)
)
)
(call $_abort)
)
)
)
)
(if
(get_local $10)
(block
(if
(i32.eq
(i32.load
(tee_local $5
(i32.add
(i32.shl
(tee_local $4
(i32.load offset=28
(get_local $0)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
(get_local $0)
)
(block
(i32.store
(get_local $5)
(get_local $8)
)
(if
(i32.eqz
(get_local $8)
)
(block
(i32.store
(i32.const 29652)
(i32.and
(i32.load
(i32.const 29652)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $4)
)
(i32.const -1)
)
)
)
(set_local $2
(get_local $0)
)
(set_local $3
(get_local $1)
)
(br $label$break$L1)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $10)
)
(call $_abort)
(block
(i32.store
(i32.add
(i32.add
(get_local $10)
(i32.const 16)
)
(i32.shl
(i32.ne
(i32.load offset=16
(get_local $10)
)
(get_local $0)
)
(i32.const 2)
)
)
(get_local $8)
)
(if
(i32.eqz
(get_local $8)
)
(block
(set_local $2
(get_local $0)
)
(set_local $3
(get_local $1)
)
(br $label$break$L1)
)
)
)
)
)
(if
(i32.gt_u
(tee_local $5
(i32.load
(i32.const 29664)
)
)
(get_local $8)
)
(call $_abort)
)
(i32.store offset=24
(get_local $8)
(get_local $10)
)
(if
(tee_local $4
(i32.load
(tee_local $7
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(if
(i32.gt_u
(get_local $5)
(get_local $4)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $8)
(get_local $4)
)
(i32.store offset=24
(get_local $4)
(get_local $8)
)
)
)
)
(if
(tee_local $4
(i32.load offset=4
(get_local $7)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $4)
)
(call $_abort)
(block
(i32.store offset=20
(get_local $8)
(get_local $4)
)
(i32.store offset=24
(get_local $4)
(get_local $8)
)
(set_local $2
(get_local $0)
)
(set_local $3
(get_local $1)
)
)
)
(block
(set_local $2
(get_local $0)
)
(set_local $3
(get_local $1)
)
)
)
)
(block
(set_local $2
(get_local $0)
)
(set_local $3
(get_local $1)
)
)
)
)
)
)
(if
(i32.lt_u
(get_local $6)
(tee_local $7
(i32.load
(i32.const 29664)
)
)
)
(call $_abort)
)
(if
(i32.and
(tee_local $0
(i32.load
(tee_local $1
(i32.add
(get_local $6)
(i32.const 4)
)
)
)
)
(i32.const 2)
)
(block
(i32.store
(get_local $1)
(i32.and
(get_local $0)
(i32.const -2)
)
)
(i32.store offset=4
(get_local $2)
(i32.or
(get_local $3)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $2)
(get_local $3)
)
(get_local $3)
)
)
(block
(if
(i32.eq
(i32.load
(i32.const 29672)
)
(get_local $6)
)
(block
(i32.store
(i32.const 29660)
(tee_local $0
(i32.add
(i32.load
(i32.const 29660)
)
(get_local $3)
)
)
)
(i32.store
(i32.const 29672)
(get_local $2)
)
(i32.store offset=4
(get_local $2)
(i32.or
(get_local $0)
(i32.const 1)
)
)
(if
(i32.ne
(get_local $2)
(i32.load
(i32.const 29668)
)
)
(return)
)
(i32.store
(i32.const 29668)
(i32.const 0)
)
(i32.store
(i32.const 29656)
(i32.const 0)
)
(return)
)
)
(if
(i32.eq
(i32.load
(i32.const 29668)
)
(get_local $6)
)
(block
(i32.store
(i32.const 29656)
(tee_local $0
(i32.add
(i32.load
(i32.const 29656)
)
(get_local $3)
)
)
)
(i32.store
(i32.const 29668)
(get_local $2)
)
(i32.store offset=4
(get_local $2)
(i32.or
(get_local $0)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $2)
(get_local $0)
)
(get_local $0)
)
(return)
)
)
(set_local $5
(i32.add
(i32.and
(get_local $0)
(i32.const -8)
)
(get_local $3)
)
)
(set_local $4
(i32.shr_u
(get_local $0)
(i32.const 3)
)
)
(block $label$break$L96
(if
(i32.lt_u
(get_local $0)
(i32.const 256)
)
(block
(set_local $1
(i32.load offset=12
(get_local $6)
)
)
(if
(i32.ne
(tee_local $3
(i32.load offset=8
(get_local $6)
)
)
(tee_local $0
(i32.add
(i32.shl
(get_local $4)
(i32.const 3)
)
(i32.const 29688)
)
)
)
(block
(if
(i32.gt_u
(get_local $7)
(get_local $3)
)
(call $_abort)
)
(if
(i32.ne
(i32.load offset=12
(get_local $3)
)
(get_local $6)
)
(call $_abort)
)
)
)
(if
(i32.eq
(get_local $1)
(get_local $3)
)
(block
(i32.store
(i32.const 29648)
(i32.and
(i32.load
(i32.const 29648)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $4)
)
(i32.const -1)
)
)
)
(br $label$break$L96)
)
)
(if
(i32.eq
(get_local $1)
(get_local $0)
)
(set_local $14
(i32.add
(get_local $1)
(i32.const 8)
)
)
(block
(if
(i32.gt_u
(get_local $7)
(get_local $1)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $0
(i32.add
(get_local $1)
(i32.const 8)
)
)
)
(get_local $6)
)
(set_local $14
(get_local $0)
)
(call $_abort)
)
)
)
(i32.store offset=12
(get_local $3)
(get_local $1)
)
(i32.store
(get_local $14)
(get_local $3)
)
)
(block
(set_local $8
(i32.load offset=24
(get_local $6)
)
)
(block $do-once6
(if
(i32.eq
(tee_local $0
(i32.load offset=12
(get_local $6)
)
)
(get_local $6)
)
(block
(if
(tee_local $0
(i32.load
(tee_local $3
(i32.add
(tee_local $1
(i32.add
(get_local $6)
(i32.const 16)
)
)
(i32.const 4)
)
)
)
)
(set_local $1
(get_local $3)
)
(br_if $do-once6
(i32.eqz
(tee_local $0
(i32.load
(get_local $1)
)
)
)
)
)
(loop $while-in9
(if
(tee_local $4
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 20)
)
)
)
)
(block
(set_local $0
(get_local $4)
)
(set_local $1
(get_local $3)
)
(br $while-in9)
)
)
(if
(tee_local $4
(i32.load
(tee_local $3
(i32.add
(get_local $0)
(i32.const 16)
)
)
)
)
(block
(set_local $0
(get_local $4)
)
(set_local $1
(get_local $3)
)
(br $while-in9)
)
)
)
(if
(i32.gt_u
(get_local $7)
(get_local $1)
)
(call $_abort)
(block
(i32.store
(get_local $1)
(i32.const 0)
)
(set_local $9
(get_local $0)
)
)
)
)
(block
(if
(i32.gt_u
(get_local $7)
(tee_local $1
(i32.load offset=8
(get_local $6)
)
)
)
(call $_abort)
)
(if
(i32.ne
(i32.load
(tee_local $3
(i32.add
(get_local $1)
(i32.const 12)
)
)
)
(get_local $6)
)
(call $_abort)
)
(if
(i32.eq
(i32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
(get_local $6)
)
(block
(i32.store
(get_local $3)
(get_local $0)
)
(i32.store
(get_local $4)
(get_local $1)
)
(set_local $9
(get_local $0)
)
)
(call $_abort)
)
)
)
)
(if
(get_local $8)
(block
(if
(i32.eq
(i32.load
(tee_local $1
(i32.add
(i32.shl
(tee_local $0
(i32.load offset=28
(get_local $6)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
)
(get_local $6)
)
(block
(i32.store
(get_local $1)
(get_local $9)
)
(if
(i32.eqz
(get_local $9)
)
(block
(i32.store
(i32.const 29652)
(i32.and
(i32.load
(i32.const 29652)
)
(i32.xor
(i32.shl
(i32.const 1)
(get_local $0)
)
(i32.const -1)
)
)
)
(br $label$break$L96)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $8)
)
(call $_abort)
(block
(i32.store
(i32.add
(i32.add
(get_local $8)
(i32.const 16)
)
(i32.shl
(i32.ne
(i32.load offset=16
(get_local $8)
)
(get_local $6)
)
(i32.const 2)
)
)
(get_local $9)
)
(br_if $label$break$L96
(i32.eqz
(get_local $9)
)
)
)
)
)
(if
(i32.gt_u
(tee_local $1
(i32.load
(i32.const 29664)
)
)
(get_local $9)
)
(call $_abort)
)
(i32.store offset=24
(get_local $9)
(get_local $8)
)
(if
(tee_local $0
(i32.load
(tee_local $3
(i32.add
(get_local $6)
(i32.const 16)
)
)
)
)
(if
(i32.gt_u
(get_local $1)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=16
(get_local $9)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $9)
)
)
)
)
(if
(tee_local $0
(i32.load offset=4
(get_local $3)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $0)
)
(call $_abort)
(block
(i32.store offset=20
(get_local $9)
(get_local $0)
)
(i32.store offset=24
(get_local $0)
(get_local $9)
)
)
)
)
)
)
)
)
)
(i32.store offset=4
(get_local $2)
(i32.or
(get_local $5)
(i32.const 1)
)
)
(i32.store
(i32.add
(get_local $2)
(get_local $5)
)
(get_local $5)
)
(if
(i32.eq
(get_local $2)
(i32.load
(i32.const 29668)
)
)
(block
(i32.store
(i32.const 29656)
(get_local $5)
)
(return)
)
(set_local $3
(get_local $5)
)
)
)
)
(set_local $1
(i32.shr_u
(get_local $3)
(i32.const 3)
)
)
(if
(i32.lt_u
(get_local $3)
(i32.const 256)
)
(block
(set_local $0
(i32.add
(i32.shl
(get_local $1)
(i32.const 3)
)
(i32.const 29688)
)
)
(if
(i32.and
(tee_local $3
(i32.load
(i32.const 29648)
)
)
(tee_local $1
(i32.shl
(i32.const 1)
(get_local $1)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(tee_local $3
(i32.load
(tee_local $1
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(call $_abort)
(block
(set_local $13
(get_local $3)
)
(set_local $15
(get_local $1)
)
)
)
(block
(i32.store
(i32.const 29648)
(i32.or
(get_local $3)
(get_local $1)
)
)
(set_local $13
(get_local $0)
)
(set_local $15
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
(i32.store
(get_local $15)
(get_local $2)
)
(i32.store offset=12
(get_local $13)
(get_local $2)
)
(i32.store offset=8
(get_local $2)
(get_local $13)
)
(i32.store offset=12
(get_local $2)
(get_local $0)
)
(return)
)
)
(set_local $0
(i32.add
(i32.shl
(tee_local $1
(if (result i32)
(tee_local $0
(i32.shr_u
(get_local $3)
(i32.const 8)
)
)
(if (result i32)
(i32.gt_u
(get_local $3)
(i32.const 16777215)
)
(i32.const 31)
(i32.or
(i32.and
(i32.shr_u
(get_local $3)
(i32.add
(tee_local $0
(i32.add
(i32.sub
(i32.const 14)
(i32.or
(i32.or
(tee_local $4
(i32.and
(i32.shr_u
(i32.add
(tee_local $1
(i32.shl
(get_local $0)
(tee_local $0
(i32.and
(i32.shr_u
(i32.add
(get_local $0)
(i32.const 1048320)
)
(i32.const 16)
)
(i32.const 8)
)
)
)
)
(i32.const 520192)
)
(i32.const 16)
)
(i32.const 4)
)
)
(get_local $0)
)
(tee_local $1
(i32.and
(i32.shr_u
(i32.add
(tee_local $0
(i32.shl
(get_local $1)
(get_local $4)
)
)
(i32.const 245760)
)
(i32.const 16)
)
(i32.const 2)
)
)
)
)
(i32.shr_u
(i32.shl
(get_local $0)
(get_local $1)
)
(i32.const 15)
)
)
)
(i32.const 7)
)
)
(i32.const 1)
)
(i32.shl
(get_local $0)
(i32.const 1)
)
)
)
(i32.const 0)
)
)
(i32.const 2)
)
(i32.const 29952)
)
)
(i32.store offset=28
(get_local $2)
(get_local $1)
)
(i32.store offset=20
(get_local $2)
(i32.const 0)
)
(i32.store offset=16
(get_local $2)
(i32.const 0)
)
(if
(i32.eqz
(i32.and
(tee_local $4
(i32.load
(i32.const 29652)
)
)
(tee_local $5
(i32.shl
(i32.const 1)
(get_local $1)
)
)
)
)
(block
(i32.store
(i32.const 29652)
(i32.or
(get_local $4)
(get_local $5)
)
)
(i32.store
(get_local $0)
(get_local $2)
)
(i32.store offset=24
(get_local $2)
(get_local $0)
)
(i32.store offset=12
(get_local $2)
(get_local $2)
)
(i32.store offset=8
(get_local $2)
(get_local $2)
)
(return)
)
)
(set_local $0
(i32.load
(get_local $0)
)
)
(set_local $4
(i32.sub
(i32.const 25)
(i32.shr_u
(get_local $1)
(i32.const 1)
)
)
)
(set_local $1
(i32.shl
(get_local $3)
(if (result i32)
(i32.eq
(get_local $1)
(i32.const 31)
)
(i32.const 0)
(get_local $4)
)
)
)
(block $__rjto$1
(block $__rjti$1
(loop $while-in15
(block $while-out14
(br_if $__rjti$1
(i32.eq
(i32.and
(i32.load offset=4
(get_local $0)
)
(i32.const -8)
)
(get_local $3)
)
)
(set_local $4
(i32.shl
(get_local $1)
(i32.const 1)
)
)
(if
(tee_local $5
(i32.load
(tee_local $1
(i32.add
(i32.add
(get_local $0)
(i32.const 16)
)
(i32.shl
(i32.shr_u
(get_local $1)
(i32.const 31)
)
(i32.const 2)
)
)
)
)
)
(block
(set_local $1
(get_local $4)
)
(set_local $0
(get_local $5)
)
(br $while-in15)
)
)
)
)
(if
(i32.gt_u
(i32.load
(i32.const 29664)
)
(get_local $1)
)
(call $_abort)
)
(i32.store
(get_local $1)
(get_local $2)
)
(i32.store offset=24
(get_local $2)
(get_local $0)
)
(i32.store offset=12
(get_local $2)
(get_local $2)
)
(i32.store offset=8
(get_local $2)
(get_local $2)
)
(return)
)
(if
(i32.eqz
(i32.and
(i32.le_u
(tee_local $3
(i32.load
(i32.const 29664)
)
)
(tee_local $1
(i32.load
(tee_local $4
(i32.add
(get_local $0)
(i32.const 8)
)
)
)
)
)
(i32.le_u
(get_local $3)
(get_local $0)
)
)
)
(call $_abort)
)
(i32.store offset=12
(get_local $1)
(get_local $2)
)
(i32.store
(get_local $4)
(get_local $2)
)
(i32.store offset=8
(get_local $2)
(get_local $1)
)
(i32.store offset=12
(get_local $2)
(get_local $0)
)
(i32.store offset=24
(get_local $2)
(i32.const 0)
)
)
)
(func $_scalbn (; 224 ;) (param $0 f64) (param $1 i32) (result f64)
(local $2 i32)
(local $3 i32)
(local $4 f64)
(if
(i32.gt_s
(get_local $1)
(i32.const 1023)
)
(block
(set_local $3
(i32.add
(get_local $1)
(i32.const -1023)
)
)
(set_local $2
(i32.gt_s
(get_local $1)
(i32.const 2046)
)
)
(set_local $0
(f64.mul
(tee_local $4
(f64.mul
(get_local $0)
(f64.const 8988465674311579538646525e283)
)
)
(f64.const 8988465674311579538646525e283)
)
)
(if
(i32.ge_s
(tee_local $1
(i32.add
(get_local $1)
(i32.const -2046)
)
)
(i32.const 1023)
)
(set_local $1
(i32.const 1023)
)
)
(if
(i32.eqz
(get_local $2)
)
(set_local $1
(get_local $3)
)
)
(if
(i32.eqz
(get_local $2)
)
(set_local $0
(get_local $4)
)
)
)
(if
(i32.lt_s
(get_local $1)
(i32.const -1022)
)
(block
(set_local $3
(i32.add
(get_local $1)
(i32.const 1022)
)
)
(set_local $2
(i32.lt_s
(get_local $1)
(i32.const -2044)
)
)
(set_local $0
(f64.mul
(tee_local $4
(f64.mul
(get_local $0)
(f64.const 2.2250738585072014e-308)
)
)
(f64.const 2.2250738585072014e-308)
)
)
(if
(i32.le_s
(tee_local $1
(i32.add
(get_local $1)
(i32.const 2044)
)
)
(i32.const -1022)
)
(set_local $1
(i32.const -1022)
)
)
(if
(i32.eqz
(get_local $2)
)
(set_local $1
(get_local $3)
)
)
(if
(i32.eqz
(get_local $2)
)
(set_local $0
(get_local $4)
)
)
)
)
)
(f64.mul
(get_local $0)
(f64.reinterpret/i64
(i64.shl
(i64.extend_u/i32
(i32.add
(get_local $1)
(i32.const 1023)
)
)
(i64.const 52)
)
)
)
)
(func $___sin (; 225 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64)
(local $3 f64)
(local $4 f64)
(local $5 f64)
(set_local $5
(f64.add
(f64.mul
(f64.mul
(tee_local $3
(f64.mul
(get_local $0)
(get_local $0)
)
)
(f64.mul
(get_local $3)
(get_local $3)
)
)
(f64.add
(f64.mul
(get_local $3)
(f64.const 1.58969099521155e-10)
)
(f64.const -2.5050760253406863e-08)
)
)
(f64.add
(f64.mul
(get_local $3)
(f64.add
(f64.mul
(get_local $3)
(f64.const 2.7557313707070068e-06)
)
(f64.const -1.984126982985795e-04)
)
)
(f64.const 0.00833333333332249)
)
)
)
(set_local $4
(f64.mul
(get_local $3)
(get_local $0)
)
)
(tee_local $0
(if (result f64)
(get_local $2)
(f64.sub
(get_local $0)
(f64.add
(f64.mul
(get_local $4)
(f64.const 0.16666666666666632)
)
(f64.sub
(f64.mul
(get_local $3)
(f64.sub
(f64.mul
(get_local $1)
(f64.const 0.5)
)
(f64.mul
(get_local $4)
(get_local $5)
)
)
)
(get_local $1)
)
)
)
(f64.add
(f64.mul
(get_local $4)
(f64.add
(f64.mul
(get_local $3)
(get_local $5)
)
(f64.const -0.16666666666666632)
)
)
(get_local $0)
)
)
)
)
(func $___cos (; 226 ;) (param $0 f64) (param $1 f64) (result f64)
(local $2 f64)
(local $3 f64)
(local $4 f64)
(local $5 f64)
(set_local $3
(f64.mul
(tee_local $2
(f64.mul
(get_local $0)
(get_local $0)
)
)
(get_local $2)
)
)
(f64.add
(tee_local $5
(f64.sub
(f64.const 1)
(tee_local $4
(f64.mul
(get_local $2)
(f64.const 0.5)
)
)
)
)
(f64.add
(f64.sub
(f64.sub
(f64.const 1)
(get_local $5)
)
(get_local $4)
)
(f64.sub
(f64.mul
(get_local $2)
(f64.add
(f64.mul
(get_local $2)
(f64.add
(f64.mul
(get_local $2)
(f64.add
(f64.mul
(get_local $2)
(f64.const 2.480158728947673e-05)
)
(f64.const -0.001388888888887411)
)
)
(f64.const 0.0416666666666666)
)
)
(f64.mul
(f64.mul
(get_local $3)
(get_local $3)
)
(f64.add
(f64.mul
(get_local $2)
(f64.sub
(f64.const 2.087572321298175e-09)
(f64.mul
(get_local $2)
(f64.const 1.1359647557788195e-11)
)
)
)
(f64.const -2.7557314351390663e-07)
)
)
)
)
(f64.mul
(get_local $0)
(get_local $1)
)
)
)
)
)
(func $___rem_pio2 (; 227 ;) (param $0 f64) (param $1 i32) (result i32)
(local $2 f64)
(local $3 i32)
(local $4 i32)
(local $5 f64)
(local $6 i32)
(local $7 f64)
(local $8 i32)
(local $9 i32)
(local $10 f64)
(local $11 i32)
(local $12 i64)
(set_local $6
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 48)
)
)
(set_local $8
(i32.add
(get_local $6)
(i32.const 16)
)
)
(set_local $9
(i32.wrap/i64
(i64.shr_u
(tee_local $12
(i64.reinterpret/f64
(get_local $0)
)
)
(i64.const 63)
)
)
)
(set_local $1
(block $__rjto$0 (result i32)
(block $__rjti$0
(br $__rjto$0
(if (result i32)
(i32.lt_u
(tee_local $4
(i32.and
(tee_local $3
(i32.wrap/i64
(i64.shr_u
(get_local $12)
(i64.const 32)
)
)
)
(i32.const 2147483647)
)
)
(i32.const 1074752123)
)
(block (result i32)
(br_if $__rjti$0
(i32.eq
(i32.and
(get_local $3)
(i32.const 1048575)
)
(i32.const 598523)
)
)
(set_local $3
(i32.ne
(get_local $9)
(i32.const 0)
)
)
(if (result i32)
(i32.lt_u
(get_local $4)
(i32.const 1073928573)
)
(if (result i32)
(get_local $3)
(block (result i32)
(f64.store
(get_local $1)
(tee_local $2
(f64.add
(tee_local $0
(f64.add
(get_local $0)
(f64.const 1.5707963267341256)
)
)
(f64.const 6.077100506506192e-11)
)
)
)
(f64.store offset=8
(get_local $1)
(f64.add
(f64.sub
(get_local $0)
(get_local $2)
)
(f64.const 6.077100506506192e-11)
)
)
(i32.const -1)
)
(block (result i32)
(f64.store
(get_local $1)
(tee_local $2
(f64.add
(tee_local $0
(f64.add
(get_local $0)
(f64.const -1.5707963267341256)
)
)
(f64.const -6.077100506506192e-11)
)
)
)
(f64.store offset=8
(get_local $1)
(f64.add
(f64.sub
(get_local $0)
(get_local $2)
)
(f64.const -6.077100506506192e-11)
)
)
(i32.const 1)
)
)
(if (result i32)
(get_local $3)
(block (result i32)
(f64.store
(get_local $1)
(tee_local $2
(f64.add
(tee_local $0
(f64.add
(get_local $0)
(f64.const 3.1415926534682512)
)
)
(f64.const 1.2154201013012384e-10)
)
)
)
(f64.store offset=8
(get_local $1)
(f64.add
(f64.sub
(get_local $0)
(get_local $2)
)
(f64.const 1.2154201013012384e-10)
)
)
(i32.const -2)
)
(block (result i32)
(f64.store
(get_local $1)
(tee_local $2
(f64.add
(tee_local $0
(f64.add
(get_local $0)
(f64.const -3.1415926534682512)
)
)
(f64.const -1.2154201013012384e-10)
)
)
)
(f64.store offset=8
(get_local $1)
(f64.add
(f64.sub
(get_local $0)
(get_local $2)
)
(f64.const -1.2154201013012384e-10)
)
)
(i32.const 2)
)
)
)
)
(block (result i32)
(if
(i32.lt_u
(get_local $4)
(i32.const 1075594812)
)
(if
(i32.lt_u
(get_local $4)
(i32.const 1075183037)
)
(block
(br_if $__rjti$0
(i32.eq
(get_local $4)
(i32.const 1074977148)
)
)
(if
(get_local $9)
(block
(f64.store
(get_local $1)
(tee_local $2
(f64.add
(tee_local $0
(f64.add
(get_local $0)
(f64.const 4.712388980202377)
)
)
(f64.const 1.8231301519518578e-10)
)
)
)
(f64.store offset=8
(get_local $1)
(f64.add
(f64.sub
(get_local $0)
(get_local $2)
)
(f64.const 1.8231301519518578e-10)
)
)
(br $__rjto$0
(i32.const -3)
)
)
(block
(f64.store
(get_local $1)
(tee_local $2
(f64.add
(tee_local $0
(f64.add
(get_local $0)
(f64.const -4.712388980202377)
)
)
(f64.const -1.8231301519518578e-10)
)
)
)
(f64.store offset=8
(get_local $1)
(f64.add
(f64.sub
(get_local $0)
(get_local $2)
)
(f64.const -1.8231301519518578e-10)
)
)
(br $__rjto$0
(i32.const 3)
)
)
)
)
(block
(br_if $__rjti$0
(i32.eq
(get_local $4)
(i32.const 1075388923)
)
)
(if
(get_local $9)
(block
(f64.store
(get_local $1)
(tee_local $2
(f64.add
(tee_local $0
(f64.add
(get_local $0)
(f64.const 6.2831853069365025)
)
)
(f64.const 2.430840202602477e-10)
)
)
)
(f64.store offset=8
(get_local $1)
(f64.add
(f64.sub
(get_local $0)
(get_local $2)
)
(f64.const 2.430840202602477e-10)
)
)
(br $__rjto$0
(i32.const -4)
)
)
(block
(f64.store
(get_local $1)
(tee_local $2
(f64.add
(tee_local $0
(f64.add
(get_local $0)
(f64.const -6.2831853069365025)
)
)
(f64.const -2.430840202602477e-10)
)
)
)
(f64.store offset=8
(get_local $1)
(f64.add
(f64.sub
(get_local $0)
(get_local $2)
)
(f64.const -2.430840202602477e-10)
)
)
(br $__rjto$0
(i32.const 4)
)
)
)
)
)
)
(br_if $__rjti$0
(i32.lt_u
(get_local $4)
(i32.const 1094263291)
)
)
(if
(i32.gt_u
(get_local $4)
(i32.const 2146435071)
)
(block
(f64.store offset=8
(get_local $1)
(tee_local $0
(f64.sub
(get_local $0)
(get_local $0)
)
)
)
(f64.store
(get_local $1)
(get_local $0)
)
(br $__rjto$0
(i32.const 0)
)
)
)
(set_local $0
(f64.reinterpret/i64
(i64.or
(i64.and
(get_local $12)
(i64.const 4503599627370495)
)
(i64.const 4710765210229538816)
)
)
)
(set_local $3
(i32.const 0)
)
(loop $while-in
(f64.store
(i32.add
(get_local $8)
(i32.shl
(get_local $3)
(i32.const 3)
)
)
(tee_local $2
(f64.convert_s/i32
(i32.trunc_s/f64
(get_local $0)
)
)
)
)
(set_local $0
(f64.mul
(f64.sub
(get_local $0)
(get_local $2)
)
(f64.const 16777216)
)
)
(br_if $while-in
(i32.ne
(tee_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(i32.const 2)
)
)
)
(f64.store offset=16
(get_local $8)
(get_local $0)
)
(if
(f64.eq
(get_local $0)
(f64.const 0)
)
(block
(set_local $3
(i32.const 1)
)
(loop $while-in1
(set_local $11
(i32.add
(get_local $3)
(i32.const -1)
)
)
(if
(f64.eq
(f64.load
(i32.add
(get_local $8)
(i32.shl
(get_local $3)
(i32.const 3)
)
)
)
(f64.const 0)
)
(block
(set_local $3
(get_local $11)
)
(br $while-in1)
)
)
)
)
(set_local $3
(i32.const 2)
)
)
(set_local $3
(call $___rem_pio2_large
(get_local $8)
(get_local $6)
(i32.add
(i32.shr_u
(get_local $4)
(i32.const 20)
)
(i32.const -1046)
)
(i32.add
(get_local $3)
(i32.const 1)
)
)
)
(set_local $0
(f64.load
(get_local $6)
)
)
(if (result i32)
(get_local $9)
(block (result i32)
(f64.store
(get_local $1)
(f64.neg
(get_local $0)
)
)
(f64.store offset=8
(get_local $1)
(f64.neg
(f64.load offset=8
(get_local $6)
)
)
)
(i32.sub
(i32.const 0)
(get_local $3)
)
)
(block (result i32)
(f64.store
(get_local $1)
(get_local $0)
)
(f64.store offset=8
(get_local $1)
(f64.load offset=8
(get_local $6)
)
)
(get_local $3)
)
)
)
)
)
)
(set_local $3
(i32.trunc_s/f64
(tee_local $5
(f64.add
(f64.add
(f64.mul
(get_local $0)
(f64.const 0.6366197723675814)
)
(f64.const 6755399441055744)
)
(f64.const -6755399441055744)
)
)
)
)
(f64.store
(get_local $1)
(tee_local $7
(f64.sub
(tee_local $2
(f64.sub
(get_local $0)
(f64.mul
(get_local $5)
(f64.const 1.5707963267341256)
)
)
)
(tee_local $0
(f64.mul
(get_local $5)
(f64.const 6.077100506506192e-11)
)
)
)
)
)
(if
(i32.gt_s
(i32.sub
(tee_local $11
(i32.shr_u
(get_local $4)
(i32.const 20)
)
)
(i32.and
(i32.wrap/i64
(i64.shr_u
(i64.reinterpret/f64
(get_local $7)
)
(i64.const 52)
)
)
(i32.const 2047)
)
)
(i32.const 16)
)
(block
(set_local $0
(f64.sub
(f64.mul
(get_local $5)
(f64.const 2.0222662487959506e-21)
)
(f64.sub
(f64.sub
(get_local $2)
(tee_local $2
(f64.sub
(get_local $2)
(tee_local $0
(f64.mul
(get_local $5)
(f64.const 6.077100506303966e-11)
)
)
)
)
)
(get_local $0)
)
)
)
(f64.store
(get_local $1)
(tee_local $7
(f64.sub
(get_local $2)
(get_local $0)
)
)
)
(set_local $10
(f64.sub
(f64.mul
(get_local $5)
(f64.const 8.4784276603689e-32)
)
(f64.sub
(f64.sub
(get_local $2)
(tee_local $5
(f64.sub
(get_local $2)
(tee_local $10
(f64.mul
(get_local $5)
(f64.const 2.0222662487111665e-21)
)
)
)
)
)
(get_local $10)
)
)
)
(if
(i32.gt_s
(i32.sub
(get_local $11)
(i32.and
(i32.wrap/i64
(i64.shr_u
(i64.reinterpret/f64
(get_local $7)
)
(i64.const 52)
)
)
(i32.const 2047)
)
)
(i32.const 49)
)
(block
(f64.store
(get_local $1)
(tee_local $7
(f64.sub
(get_local $5)
(get_local $10)
)
)
)
(set_local $0
(get_local $10)
)
(set_local $2
(get_local $5)
)
)
)
)
)
(f64.store offset=8
(get_local $1)
(f64.sub
(f64.sub
(get_local $2)
(get_local $7)
)
(get_local $0)
)
)
(get_local $3)
)
)
(set_global $STACKTOP
(get_local $6)
)
(get_local $1)
)
(func $___rem_pio2_large (; 228 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 f64)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 f64)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(set_local $12
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 560)
)
)
(set_local $14
(i32.add
(get_local $12)
(i32.const 320)
)
)
(set_local $8
(i32.add
(get_local $3)
(i32.const -1)
)
)
(if
(i32.le_s
(tee_local $15
(i32.div_s
(i32.add
(get_local $2)
(i32.const -3)
)
(i32.const 24)
)
)
(i32.const 0)
)
(set_local $15
(i32.const 0)
)
)
(if
(i32.ge_s
(get_local $3)
(i32.const -3)
)
(block
(set_local $9
(i32.add
(get_local $3)
(i32.const 3)
)
)
(set_local $5
(i32.sub
(get_local $15)
(get_local $8)
)
)
(loop $while-in
(f64.store
(i32.add
(get_local $14)
(i32.shl
(get_local $7)
(i32.const 3)
)
)
(tee_local $4
(if (result f64)
(i32.lt_s
(get_local $5)
(i32.const 0)
)
(f64.const 0)
(f64.convert_s/i32
(i32.load
(i32.add
(i32.shl
(get_local $5)
(i32.const 2)
)
(i32.const 20220)
)
)
)
)
)
)
(set_local $6
(i32.add
(get_local $7)
(i32.const 1)
)
)
(set_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(if
(i32.ne
(get_local $7)
(get_local $9)
)
(block
(set_local $7
(get_local $6)
)
(br $while-in)
)
)
)
)
)
(set_local $11
(i32.add
(get_local $12)
(i32.const 480)
)
)
(set_local $16
(i32.add
(get_local $12)
(i32.const 160)
)
)
(set_local $9
(i32.add
(i32.add
(get_local $2)
(i32.const -24)
)
(tee_local $22
(i32.mul
(get_local $15)
(i32.const -24)
)
)
)
)
(set_local $18
(i32.gt_s
(get_local $3)
(i32.const 0)
)
)
(set_local $5
(i32.const 0)
)
(loop $while-in1
(if
(get_local $18)
(block
(set_local $6
(i32.add
(get_local $5)
(get_local $8)
)
)
(set_local $4
(f64.const 0)
)
(set_local $7
(i32.const 0)
)
(loop $while-in3
(set_local $4
(f64.add
(get_local $4)
(f64.mul
(f64.load
(i32.add
(get_local $0)
(i32.shl
(get_local $7)
(i32.const 3)
)
)
)
(f64.load
(i32.add
(get_local $14)
(i32.shl
(i32.sub
(get_local $6)
(get_local $7)
)
(i32.const 3)
)
)
)
)
)
)
(br_if $while-in3
(i32.ne
(tee_local $7
(i32.add
(get_local $7)
(i32.const 1)
)
)
(get_local $3)
)
)
)
)
(set_local $4
(f64.const 0)
)
)
(f64.store
(i32.add
(get_local $12)
(i32.shl
(get_local $5)
(i32.const 3)
)
)
(get_local $4)
)
(br_if $while-in1
(i32.ne
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(i32.const 5)
)
)
)
(set_local $19
(i32.gt_s
(get_local $9)
(i32.const 0)
)
)
(set_local $20
(i32.sub
(i32.const 24)
(get_local $9)
)
)
(set_local $23
(i32.sub
(i32.const 23)
(get_local $9)
)
)
(set_local $24
(i32.eqz
(get_local $9)
)
)
(set_local $5
(i32.const 4)
)
(block $__rjto$4
(block $__rjti$4
(block $__rjti$3
(loop $label$continue$L17
(block $label$break$L17
(set_local $4
(f64.load
(i32.add
(get_local $12)
(i32.shl
(get_local $5)
(i32.const 3)
)
)
)
)
(if
(tee_local $10
(i32.gt_s
(get_local $5)
(i32.const 0)
)
)
(block
(set_local $7
(get_local $5)
)
(set_local $6
(i32.const 0)
)
(loop $while-in5
(i32.store
(i32.add
(get_local $11)
(i32.shl
(get_local $6)
(i32.const 2)
)
)
(i32.trunc_s/f64
(f64.sub
(get_local $4)
(f64.mul
(tee_local $4
(f64.convert_s/i32
(i32.trunc_s/f64
(f64.mul
(get_local $4)
(f64.const 5.9604644775390625e-08)
)
)
)
)
(f64.const 16777216)
)
)
)
)
(set_local $4
(f64.add
(f64.load
(i32.add
(get_local $12)
(i32.shl
(tee_local $8
(i32.add
(get_local $7)
(i32.const -1)
)
)
(i32.const 3)
)
)
)
(get_local $4)
)
)
(set_local $6
(i32.add
(get_local $6)
(i32.const 1)
)
)
(if
(i32.gt_s
(get_local $7)
(i32.const 1)
)
(block
(set_local $7
(get_local $8)
)
(br $while-in5)
)
)
)
)
)
(set_local $7
(i32.trunc_s/f64
(tee_local $4
(f64.sub
(tee_local $4
(call $_scalbn
(get_local $4)
(get_local $9)
)
)
(f64.mul
(f64.floor
(f64.mul
(get_local $4)
(f64.const 0.125)
)
)
(f64.const 8)
)
)
)
)
)
(set_local $4
(f64.sub
(get_local $4)
(f64.convert_s/i32
(get_local $7)
)
)
)
(block $__rjto$2
(block $__rjti$2
(block $__rjti$1
(if
(get_local $19)
(block
(set_local $6
(i32.shr_s
(tee_local $13
(i32.load
(tee_local $8
(i32.add
(get_local $11)
(i32.shl
(i32.add
(get_local $5)
(i32.const -1)
)
(i32.const 2)
)
)
)
)
)
(get_local $20)
)
)
(i32.store
(get_local $8)
(tee_local $8
(i32.sub
(get_local $13)
(i32.shl
(get_local $6)
(get_local $20)
)
)
)
)
(set_local $8
(i32.shr_s
(get_local $8)
(get_local $23)
)
)
(set_local $7
(i32.add
(get_local $6)
(get_local $7)
)
)
(br $__rjti$1)
)
(if
(get_local $24)
(block
(set_local $8
(i32.shr_s
(i32.load
(i32.add
(get_local $11)
(i32.shl
(i32.add
(get_local $5)
(i32.const -1)
)
(i32.const 2)
)
)
)
(i32.const 23)
)
)
(br $__rjti$1)
)
(if
(f64.ge
(get_local $4)
(f64.const 0.5)
)
(block
(set_local $8
(i32.const 2)
)
(set_local $6
(get_local $7)
)
(br $__rjti$2)
)
(set_local $8
(i32.const 0)
)
)
)
)
(br $__rjto$2)
)
(if
(i32.gt_s
(get_local $8)
(i32.const 0)
)
(block
(set_local $6
(get_local $7)
)
(br $__rjti$2)
)
)
(br $__rjto$2)
)
(if
(get_local $10)
(block
(set_local $7
(i32.const 0)
)
(set_local $10
(i32.const 0)
)
(loop $while-in7
(set_local $13
(i32.load
(tee_local $25
(i32.add
(get_local $11)
(i32.shl
(get_local $10)
(i32.const 2)
)
)
)
)
)
(block $__rjto$0
(block $__rjti$0
(if
(get_local $7)
(block
(set_local $21
(i32.const 16777215)
)
(br $__rjti$0)
)
(if
(get_local $13)
(block
(set_local $7
(i32.const 1)
)
(set_local $21
(i32.const 16777216)
)
(br $__rjti$0)
)
(set_local $7
(i32.const 0)
)
)
)
(br $__rjto$0)
)
(i32.store
(get_local $25)
(i32.sub
(get_local $21)
(get_local $13)
)
)
)
(br_if $while-in7
(i32.ne
(tee_local $10
(i32.add
(get_local $10)
(i32.const 1)
)
)
(get_local $5)
)
)
(set_local $10
(get_local $7)
)
)
)
(set_local $10
(i32.const 0)
)
)
(set_local $7
(i32.add
(get_local $6)
(i32.const 1)
)
)
(block $label$break$L42
(if
(get_local $19)
(block
(block $switch
(block $switch-default
(block $switch-case9
(block $switch-case
(br_table $switch-case $switch-case9 $switch-default
(i32.sub
(get_local $9)
(i32.const 1)
)
)
)
(set_local $6
(i32.const 8388607)
)
(br $switch)
)
(set_local $6
(i32.const 4194303)
)
(br $switch)
)
(br $label$break$L42)
)
(i32.store
(tee_local $13
(i32.add
(get_local $11)
(i32.shl
(i32.add
(get_local $5)
(i32.const -1)
)
(i32.const 2)
)
)
)
(i32.and
(i32.load
(get_local $13)
)
(get_local $6)
)
)
)
)
)
(if
(i32.eq
(get_local $8)
(i32.const 2)
)
(block
(set_local $4
(f64.sub
(f64.const 1)
(get_local $4)
)
)
(set_local $8
(if (result i32)
(get_local $10)
(block (result i32)
(set_local $4
(f64.sub
(get_local $4)
(call $_scalbn
(f64.const 1)
(get_local $9)
)
)
)
(i32.const 2)
)
(i32.const 2)
)
)
)
)
)
(br_if $__rjti$4
(f64.ne
(get_local $4)
(f64.const 0)
)
)
(if
(i32.gt_s
(get_local $5)
(i32.const 4)
)
(block
(set_local $10
(i32.const 0)
)
(set_local $6
(get_local $5)
)
(loop $while-in11
(set_local $10
(i32.or
(i32.load
(i32.add
(get_local $11)
(i32.shl
(tee_local $13
(i32.add
(get_local $6)
(i32.const -1)
)
)
(i32.const 2)
)
)
)
(get_local $10)
)
)
(if
(i32.gt_s
(get_local $6)
(i32.const 5)
)
(block
(set_local $6
(get_local $13)
)
(br $while-in11)
)
)
)
(if
(get_local $10)
(block
(set_local $0
(get_local $9)
)
(br $__rjti$3)
)
(set_local $6
(i32.const 1)
)
)
)
(set_local $6
(i32.const 1)
)
)
(loop $while-in13
(set_local $7
(i32.add
(get_local $6)
(i32.const 1)
)
)
(if
(i32.eqz
(i32.load
(i32.add
(get_local $11)
(i32.shl
(i32.sub
(i32.const 4)
(get_local $6)
)
(i32.const 2)
)
)
)
)
(block
(set_local $6
(get_local $7)
)
(br $while-in13)
)
)
)
(set_local $7
(i32.add
(get_local $6)
(get_local $5)
)
)
(if
(i32.le_s
(get_local $6)
(i32.const 0)
)
(block
(set_local $5
(get_local $7)
)
(br $label$continue$L17)
)
)
(loop $while-in15
(f64.store
(i32.add
(get_local $14)
(i32.shl
(tee_local $8
(i32.add
(get_local $5)
(get_local $3)
)
)
(i32.const 3)
)
)
(f64.convert_s/i32
(i32.load
(i32.add
(i32.shl
(i32.add
(tee_local $6
(i32.add
(get_local $5)
(i32.const 1)
)
)
(get_local $15)
)
(i32.const 2)
)
(i32.const 20220)
)
)
)
)
(if
(get_local $18)
(block
(set_local $4
(f64.const 0)
)
(set_local $5
(i32.const 0)
)
(loop $while-in17
(set_local $4
(f64.add
(get_local $4)
(f64.mul
(f64.load
(i32.add
(get_local $0)
(i32.shl
(get_local $5)
(i32.const 3)
)
)
)
(f64.load
(i32.add
(get_local $14)
(i32.shl
(i32.sub
(get_local $8)
(get_local $5)
)
(i32.const 3)
)
)
)
)
)
)
(br_if $while-in17
(i32.ne
(tee_local $5
(i32.add
(get_local $5)
(i32.const 1)
)
)
(get_local $3)
)
)
)
)
(set_local $4
(f64.const 0)
)
)
(f64.store
(i32.add
(get_local $12)
(i32.shl
(get_local $6)
(i32.const 3)
)
)
(get_local $4)
)
(if
(i32.lt_s
(get_local $6)
(get_local $7)
)
(block
(set_local $5
(get_local $6)
)
(br $while-in15)
)
(block
(set_local $5
(get_local $7)
)
(br $label$continue$L17)
)
)
)
)
)
)
(loop $while-in19
(set_local $0
(i32.add
(get_local $0)
(i32.const -24)
)
)
(br_if $while-in19
(i32.eqz
(i32.load
(i32.add
(get_local $11)
(i32.shl
(tee_local $5
(i32.add
(get_local $5)
(i32.const -1)
)
)
(i32.const 2)
)
)
)
)
)
(set_local $2
(get_local $0)
)
(set_local $0
(get_local $5)
)
)
(br $__rjto$4)
)
(i32.store
(i32.add
(get_local $11)
(i32.shl
(tee_local $0
(if (result i32)
(f64.ge
(tee_local $4
(call $_scalbn
(get_local $4)
(i32.sub
(i32.const 0)
(get_local $9)
)
)
)
(f64.const 16777216)
)
(block (result i32)
(i32.store
(i32.add
(get_local $11)
(i32.shl
(get_local $5)
(i32.const 2)
)
)
(i32.trunc_s/f64
(f64.sub
(get_local $4)
(f64.mul
(tee_local $4
(f64.convert_s/i32
(i32.trunc_s/f64
(f64.mul
(get_local $4)
(f64.const 5.9604644775390625e-08)
)
)
)
)
(f64.const 16777216)
)
)
)
)
(set_local $2
(i32.add
(get_local $22)
(get_local $2)
)
)
(i32.add
(get_local $5)
(i32.const 1)
)
)
(block (result i32)
(set_local $2
(get_local $9)
)
(get_local $5)
)
)
)
(i32.const 2)
)
)
(i32.trunc_s/f64
(get_local $4)
)
)
)
(if
(i32.gt_s
(get_local $0)
(i32.const -1)
)
(block
(set_local $4
(call $_scalbn
(f64.const 1)
(get_local $2)
)
)
(set_local $2
(get_local $0)
)
(loop $while-in21
(f64.store
(i32.add
(get_local $12)
(i32.shl
(get_local $2)
(i32.const 3)
)
)
(f64.mul
(get_local $4)
(f64.convert_s/i32
(i32.load
(i32.add
(get_local $11)
(i32.shl
(get_local $2)
(i32.const 2)
)
)
)
)
)
)
(set_local $4
(f64.mul
(get_local $4)
(f64.const 5.9604644775390625e-08)
)
)
(set_local $3
(i32.add
(get_local $2)
(i32.const -1)
)
)
(if
(i32.gt_s
(get_local $2)
(i32.const 0)
)
(block
(set_local $2
(get_local $3)
)
(br $while-in21)
)
(set_local $2
(get_local $0)
)
)
)
(loop $while-in23
(set_local $6
(i32.sub
(get_local $0)
(get_local $2)
)
)
(set_local $3
(i32.const 0)
)
(set_local $4
(f64.const 0)
)
(loop $while-in25
(set_local $4
(f64.add
(get_local $4)
(f64.mul
(f64.load
(i32.add
(i32.shl
(get_local $3)
(i32.const 3)
)
(i32.const 2432)
)
)
(f64.load
(i32.add
(get_local $12)
(i32.shl
(i32.add
(get_local $3)
(get_local $2)
)
(i32.const 3)
)
)
)
)
)
)
(set_local $5
(i32.add
(get_local $3)
(i32.const 1)
)
)
(if
(i32.eqz
(i32.or
(i32.gt_s
(get_local $3)
(i32.const 3)
)
(i32.ge_s
(get_local $3)
(get_local $6)
)
)
)
(block
(set_local $3
(get_local $5)
)
(br $while-in25)
)
)
)
(f64.store
(i32.add
(get_local $16)
(i32.shl
(get_local $6)
(i32.const 3)
)
)
(get_local $4)
)
(set_local $3
(i32.add
(get_local $2)
(i32.const -1)
)
)
(if
(i32.gt_s
(get_local $2)
(i32.const 0)
)
(block
(set_local $2
(get_local $3)
)
(br $while-in23)
)
(block
(set_local $4
(f64.const 0)
)
(set_local $2
(get_local $0)
)
)
)
)
(loop $while-in27
(set_local $4
(f64.add
(get_local $4)
(f64.load
(i32.add
(get_local $16)
(i32.shl
(get_local $2)
(i32.const 3)
)
)
)
)
)
(set_local $3
(i32.add
(get_local $2)
(i32.const -1)
)
)
(if
(i32.gt_s
(get_local $2)
(i32.const 0)
)
(block
(set_local $2
(get_local $3)
)
(br $while-in27)
)
)
)
)
(set_local $4
(f64.const 0)
)
)
(set_local $17
(f64.neg
(get_local $4)
)
)
(f64.store
(get_local $1)
(if (result f64)
(tee_local $5
(i32.eqz
(get_local $8)
)
)
(get_local $4)
(get_local $17)
)
)
(set_local $4
(f64.sub
(f64.load
(get_local $16)
)
(get_local $4)
)
)
(if
(i32.ge_s
(get_local $0)
(i32.const 1)
)
(block
(set_local $2
(i32.const 1)
)
(loop $while-in29
(set_local $4
(f64.add
(get_local $4)
(f64.load
(i32.add
(get_local $16)
(i32.shl
(get_local $2)
(i32.const 3)
)
)
)
)
)
(set_local $3
(i32.add
(get_local $2)
(i32.const 1)
)
)
(if
(i32.ne
(get_local $2)
(get_local $0)
)
(block
(set_local $2
(get_local $3)
)
(br $while-in29)
)
)
)
)
)
(set_local $17
(f64.neg
(get_local $4)
)
)
(f64.store offset=8
(get_local $1)
(if (result f64)
(get_local $5)
(get_local $4)
(get_local $17)
)
)
(set_global $STACKTOP
(get_local $12)
)
(i32.and
(get_local $7)
(i32.const 7)
)
)
(func $_cos (; 229 ;) (param $0 f64) (result f64)
(local $1 i32)
(local $2 i32)
(set_local $1
(get_global $STACKTOP)
)
(set_global $STACKTOP
(i32.add
(get_global $STACKTOP)
(i32.const 16)
)
)
(set_local $0
(block $label$break$L1 (result f64)
(if (result f64)
(i32.lt_u
(tee_local $2
(i32.and
(i32.wrap/i64
(i64.shr_u
(i64.reinterpret/f64
(get_local $0)
)
(i64.const 32)
)
)
(i32.const 2147483647)
)
)
(i32.const 1072243196)
)
(if (result f64)
(i32.lt_u
(get_local $2)
(i32.const 1044816030)
)
(f64.const 1)
(call $___cos
(get_local $0)
(f64.const 0)
)
)
(block (result f64)
(drop
(br_if $label$break$L1
(f64.sub
(get_local $0)
(get_local $0)
)
(i32.gt_u
(get_local $2)
(i32.const 2146435071)
)
)
)
(block $switch-default
(block $switch-case1
(block $switch-case0
(block $switch-case
(br_table $switch-case $switch-case0 $switch-case1 $switch-default
(i32.and
(call $___rem_pio2
(get_local $0)
(get_local $1)
)
(i32.const 3)
)
)
)
(br $label$break$L1
(call $___cos
(f64.load
(get_local $1)
)
(f64.load offset=8
(get_local $1)
)
)
)
)
(br $label$break$L1
(f64.neg
(call $___sin
(f64.load
(get_local $1)
)
(f64.load offset=8
(get_local $1)
)
(i32.const 1)
)
)
)
)
(br $label$break$L1
(f64.neg
(call $___cos
(f64.load
(get_local $1)
)
(f64.load offset=8
(get_local $1)
)
)
)
)
)
(call $___sin
(f64.load
(get_local $1)
)
(f64.load offset=8
(get_local $1)
)
(i32.const 1)
)
)
)
)
)
(set_global $STACKTOP
(get_local $1)
)
(get_local $0)
)
(func $_exp (; 230 ;) (param $0 f64) (result f64)
(local $1 i32)
(local $2 i32)
(local $3 i64)
(local $4 f64)
(local $5 f64)
(set_local $1
(i32.wrap/i64
(i64.shr_u
(tee_local $3
(i64.reinterpret/f64
(get_local $0)
)
)
(i64.const 63)
)
)
)
(block $__rjto$1
(set_local $1
(block $__rjti$1 (result i32)
(block $__rjti$0
(if
(i32.gt_u
(tee_local $2
(i32.and
(i32.wrap/i64
(i64.shr_u
(get_local $3)
(i64.const 32)
)
)
(i32.const 2147483647)
)
)
(i32.const 1082532650)
)
(block
(if
(i64.gt_u
(i64.and
(get_local $3)
(i64.const 9223372036854775807)
)
(i64.const 9218868437227405312)
)
(return
(get_local $0)
)
)
(if
(f64.gt
(get_local $0)
(f64.const 709.782712893384)
)
(return
(f64.mul
(get_local $0)
(f64.const 8988465674311579538646525e283)
)
)
(block
(br_if $__rjti$0
(i32.eqz
(i32.and
(f64.lt
(get_local $0)
(f64.const -708.3964185322641)
)
(f64.lt
(get_local $0)
(f64.const -745.1332191019411)
)
)
)
)
(return
(tee_local $0
(f64.const 0)
)
)
)
)
)
(block
(if
(i32.gt_u
(get_local $2)
(i32.const 1071001154)
)
(block
(br_if $__rjti$0
(i32.gt_u
(get_local $2)
(i32.const 1072734897)
)
)
(br $__rjti$1
(i32.sub
(i32.xor
(get_local $1)
(i32.const 1)
)
(get_local $1)
)
)
)
)
(if
(i32.gt_u
(get_local $2)
(i32.const 1043333120)
)
(block
(set_local $4
(get_local $0)
)
(set_local $1
(i32.const 0)
)
)
(return
(f64.add
(get_local $0)
(f64.const 1)
)
)
)
)
)
(br $__rjto$1)
)
(i32.trunc_s/f64
(f64.add
(f64.mul
(get_local $0)
(f64.const 1.4426950408889634)
)
(f64.load
(i32.add
(i32.shl
(get_local $1)
(i32.const 3)
)
(i32.const 2496)
)
)
)
)
)
)
(set_local $0
(f64.sub
(tee_local $4
(f64.sub
(get_local $0)
(f64.mul
(tee_local $0
(f64.convert_s/i32
(get_local $1)
)
)
(f64.const 0.6931471803691238)
)
)
)
(tee_local $5
(f64.mul
(get_local $0)
(f64.const 1.9082149292705877e-10)
)
)
)
)
)
(set_local $0
(f64.add
(f64.add
(get_local $4)
(f64.sub
(f64.div
(f64.mul
(get_local $0)
(tee_local $0
(f64.sub
(get_local $0)
(f64.mul
(tee_local $0
(f64.mul
(get_local $0)
(get_local $0)
)
)
(f64.add
(f64.mul
(get_local $0)
(f64.add
(f64.mul
(get_local $0)
(f64.add
(f64.mul
(get_local $0)
(f64.add
(f64.mul
(get_local $0)
(f64.const 4.1381367970572385e-08)
)
(f64.const -1.6533902205465252e-06)
)
)
(f64.const 6.613756321437934e-05)
)
)
(f64.const -2.7777777777015593e-03)
)
)
(f64.const 0.16666666666666602)
)
)
)
)
)
(f64.sub
(f64.const 2)
(get_local $0)
)
)
(get_local $5)
)
)
(f64.const 1)
)
)
(if
(i32.eqz
(get_local $1)
)
(return
(get_local $0)
)
)
(call $_scalbn
(get_local $0)
(get_local $1)
)
)
(func $runPostSets (; 231 ;)
(nop)
)
(func $_memcpy (; 232 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(if
(i32.ge_s
(get_local $2)
(i32.const 8192)
)
(return
(call $_emscripten_memcpy_big
(get_local $0)
(get_local $1)
(get_local $2)
)
)
)
(set_local $4
(get_local $0)
)
(set_local $3
(i32.add
(get_local $0)
(get_local $2)
)
)
(if
(i32.eq
(i32.and
(get_local $0)
(i32.const 3)
)
(i32.and
(get_local $1)
(i32.const 3)
)
)
(block
(loop $while-in
(if
(i32.and
(get_local $0)
(i32.const 3)
)
(block
(if
(i32.eqz
(get_local $2)
)
(return
(get_local $4)
)
)
(i32.store8
(get_local $0)
(i32.load8_s
(get_local $1)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(set_local $2
(i32.sub
(get_local $2)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $5
(i32.sub
(tee_local $2
(i32.and
(get_local $3)
(i32.const -4)
)
)
(i32.const 64)
)
)
(loop $while-in1
(if
(i32.le_s
(get_local $0)
(get_local $5)
)
(block
(i32.store
(get_local $0)
(i32.load
(get_local $1)
)
)
(i32.store offset=4
(get_local $0)
(i32.load offset=4
(get_local $1)
)
)
(i32.store offset=8
(get_local $0)
(i32.load offset=8
(get_local $1)
)
)
(i32.store offset=12
(get_local $0)
(i32.load offset=12
(get_local $1)
)
)
(i32.store offset=16
(get_local $0)
(i32.load offset=16
(get_local $1)
)
)
(i32.store offset=20
(get_local $0)
(i32.load offset=20
(get_local $1)
)
)
(i32.store offset=24
(get_local $0)
(i32.load offset=24
(get_local $1)
)
)
(i32.store offset=28
(get_local $0)
(i32.load offset=28
(get_local $1)
)
)
(i32.store offset=32
(get_local $0)
(i32.load offset=32
(get_local $1)
)
)
(i32.store offset=36
(get_local $0)
(i32.load offset=36
(get_local $1)
)
)
(i32.store offset=40
(get_local $0)
(i32.load offset=40
(get_local $1)
)
)
(i32.store offset=44
(get_local $0)
(i32.load offset=44
(get_local $1)
)
)
(i32.store offset=48
(get_local $0)
(i32.load offset=48
(get_local $1)
)
)
(i32.store offset=52
(get_local $0)
(i32.load offset=52
(get_local $1)
)
)
(i32.store offset=56
(get_local $0)
(i32.load offset=56
(get_local $1)
)
)
(i32.store offset=60
(get_local $0)
(i32.load offset=60
(get_local $1)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 64)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 64)
)
)
(br $while-in1)
)
)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $0)
(get_local $2)
)
(block
(i32.store
(get_local $0)
(i32.load
(get_local $1)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 4)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br $while-in3)
)
)
)
)
(block
(set_local $2
(i32.sub
(get_local $3)
(i32.const 4)
)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $0)
(get_local $2)
)
(block
(i32.store8
(get_local $0)
(i32.load8_s
(get_local $1)
)
)
(i32.store8 offset=1
(get_local $0)
(i32.load8_s offset=1
(get_local $1)
)
)
(i32.store8 offset=2
(get_local $0)
(i32.load8_s offset=2
(get_local $1)
)
)
(i32.store8 offset=3
(get_local $0)
(i32.load8_s offset=3
(get_local $1)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 4)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 4)
)
)
(br $while-in5)
)
)
)
)
)
(loop $while-in7
(if
(i32.lt_s
(get_local $0)
(get_local $3)
)
(block
(i32.store8
(get_local $0)
(i32.load8_s
(get_local $1)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(set_local $1
(i32.add
(get_local $1)
(i32.const 1)
)
)
(br $while-in7)
)
)
)
(get_local $4)
)
(func $_memmove (; 233 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.and
(i32.lt_s
(get_local $1)
(get_local $0)
)
(i32.lt_s
(get_local $0)
(i32.add
(get_local $1)
(get_local $2)
)
)
)
(block
(set_local $1
(i32.add
(get_local $1)
(get_local $2)
)
)
(set_local $0
(i32.add
(tee_local $3
(get_local $0)
)
(get_local $2)
)
)
(loop $while-in
(if
(i32.gt_s
(get_local $2)
(i32.const 0)
)
(block
(set_local $2
(i32.sub
(get_local $2)
(i32.const 1)
)
)
(i32.store8
(tee_local $0
(i32.sub
(get_local $0)
(i32.const 1)
)
)
(i32.load8_s
(tee_local $1
(i32.sub
(get_local $1)
(i32.const 1)
)
)
)
)
(br $while-in)
)
)
)
(set_local $0
(get_local $3)
)
)
(drop
(call $_memcpy
(get_local $0)
(get_local $1)
(get_local $2)
)
)
)
(get_local $0)
)
(func $_memset (; 234 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(set_local $4
(i32.add
(get_local $0)
(get_local $2)
)
)
(set_local $1
(i32.and
(get_local $1)
(i32.const 255)
)
)
(if
(i32.ge_s
(get_local $2)
(i32.const 67)
)
(block
(loop $while-in
(if
(i32.and
(get_local $0)
(i32.const 3)
)
(block
(i32.store8
(get_local $0)
(get_local $1)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in)
)
)
)
(set_local $6
(i32.sub
(tee_local $5
(i32.and
(get_local $4)
(i32.const -4)
)
)
(i32.const 64)
)
)
(set_local $3
(i32.or
(i32.or
(i32.or
(get_local $1)
(i32.shl
(get_local $1)
(i32.const 8)
)
)
(i32.shl
(get_local $1)
(i32.const 16)
)
)
(i32.shl
(get_local $1)
(i32.const 24)
)
)
)
(loop $while-in1
(if
(i32.le_s
(get_local $0)
(get_local $6)
)
(block
(i32.store
(get_local $0)
(get_local $3)
)
(i32.store offset=4
(get_local $0)
(get_local $3)
)
(i32.store offset=8
(get_local $0)
(get_local $3)
)
(i32.store offset=12
(get_local $0)
(get_local $3)
)
(i32.store offset=16
(get_local $0)
(get_local $3)
)
(i32.store offset=20
(get_local $0)
(get_local $3)
)
(i32.store offset=24
(get_local $0)
(get_local $3)
)
(i32.store offset=28
(get_local $0)
(get_local $3)
)
(i32.store offset=32
(get_local $0)
(get_local $3)
)
(i32.store offset=36
(get_local $0)
(get_local $3)
)
(i32.store offset=40
(get_local $0)
(get_local $3)
)
(i32.store offset=44
(get_local $0)
(get_local $3)
)
(i32.store offset=48
(get_local $0)
(get_local $3)
)
(i32.store offset=52
(get_local $0)
(get_local $3)
)
(i32.store offset=56
(get_local $0)
(get_local $3)
)
(i32.store offset=60
(get_local $0)
(get_local $3)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 64)
)
)
(br $while-in1)
)
)
)
(loop $while-in3
(if
(i32.lt_s
(get_local $0)
(get_local $5)
)
(block
(i32.store
(get_local $0)
(get_local $3)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 4)
)
)
(br $while-in3)
)
)
)
)
)
(loop $while-in5
(if
(i32.lt_s
(get_local $0)
(get_local $4)
)
(block
(i32.store8
(get_local $0)
(get_local $1)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 1)
)
)
(br $while-in5)
)
)
)
(i32.sub
(get_local $4)
(get_local $2)
)
)
(func $_sbrk (; 235 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(set_local $1
(i32.add
(tee_local $2
(i32.load
(get_global $DYNAMICTOP_PTR)
)
)
(tee_local $0
(i32.and
(i32.add
(get_local $0)
(i32.const 15)
)
(i32.const -16)
)
)
)
)
(if
(i32.or
(i32.and
(i32.gt_s
(get_local $0)
(i32.const 0)
)
(i32.lt_s
(get_local $1)
(get_local $2)
)
)
(i32.lt_s
(get_local $1)
(i32.const 0)
)
)
(block
(drop
(call $abortOnCannotGrowMemory)
)
(call $___setErrNo
(i32.const 12)
)
(return
(i32.const -1)
)
)
)
(i32.store
(get_global $DYNAMICTOP_PTR)
(get_local $1)
)
(set_local $0
(call $getTotalMemory)
)
(if
(i32.gt_s
(get_local $1)
(get_local $0)
)
(if
(i32.eqz
(call $enlargeMemory)
)
(block
(i32.store
(get_global $DYNAMICTOP_PTR)
(get_local $2)
)
(call $___setErrNo
(i32.const 12)
)
(return
(i32.const -1)
)
)
)
)
(get_local $2)
)
(func $dynCall_iiiiiii (; 236 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32)
(call_indirect (type $FUNCSIG$iiiiiii)
(get_local $1)
(get_local $2)
(get_local $3)
(get_local $4)
(get_local $5)
(get_local $6)
(i32.and
(get_local $0)
(i32.const 7)
)
)
)
(func $b0 (; 237 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
(call $abort
(i32.const 0)
)
(i32.const 0)
)
)