Skip to content

Instantly share code, notes, and snippets.

@paleozogt
Created December 10, 2012 18:14
Show Gist options
  • Save paleozogt/4252238 to your computer and use it in GitHub Desktop.
Save paleozogt/4252238 to your computer and use it in GitHub Desktop.
emscripten #741
$ EMCC_DEBUG=1 make speex_test
[ 93%] Built target speex
Linking CXX executable ../bin/speex_test.js
emcc invocation: /home/asimmons/Development/emscripten/emcc -O3 -DNDEBUG CMakeFiles/speex_test.dir/speex_test.cpp.o -o ../bin/speex_test.js -rdynamic ../lib/libspeex.a
(Emscripten: Running sanity checks)
Warning: Applying some potentially unsafe optimizations! (Use -O2 if this fails.)
emcc: compiling to bitcode
emcc: copying bitcode file: CMakeFiles/speex_test.dir/speex_test.cpp.o
emcc: copying library file: ../lib/libspeex.a
emcc: will generate JavaScript
emcc: considering including libcxx: we need |['_ZNKSt3__121__basic_string_commonILb1EE20__throw_out_of_rangeEv', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev', '_ZTISt9exception', '_ZNKSt9exception4whatEv', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc', '_ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv', '_ZNSt9exceptionD2Ev', '_ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcj', '_ZTVSt9exception']| and have |[]|
emcc: including libcxx
emcc: considering including libcxxabi: we need |['_ZTVN10__cxxabiv120__si_class_type_infoE']| and have |[]|
emcc: including libcxxabi
emcc: considering including dlmalloc: we need |['malloc', 'free', 'calloc', 'realloc', '_Znwj', '_Znaj', '_ZdaPv', '_ZdlPv', '_Znaj', '_Znwj']| and have |[]|
emcc: including dlmalloc
emcc: linking: ['/tmp/tmp0mcrqE/speex_test.cpp_0.o', '/tmp/tmp0mcrqE/libspeex_1.a', '/home/asimmons/.emscripten_cache/libcxx.bc', '/home/asimmons/.emscripten_cache/libcxxabi.bc', '/home/asimmons/.emscripten_cache/dlmalloc.bc']
emcc: saving intermediate processing steps to /tmp/emscripten_temp
emcc: LLVM -O3
emcc: step took 6.06 seconds
emcc: LLVM linktime: ['-strip-debug', '-std-link-opts']
emcc: step took 1.24 seconds
emcc: step took 0.17 seconds
emcc: LLVM => JS
emscript: ll=>js
emscript: scan took 0.0138530731201 seconds
emscript: split took 0.0726909637451 seconds
emscript: phase 1 took 1.01068615913 seconds
emscript: phase 2 working on 5 chunks using 2 cores (intended chunk size: 1.00 MB, meta: 0.00 MB, forwarded: 0.31 MB, total: 4.45 MB)
Warning: Arithmetic on 64-bit integers in mode 1 is rounded and flaky, like mode 0!
Warning: .ll contains floating-point values with more than 64 bits. Faking values for them. If they are used, this will almost certainly break horribly!
emscript: phase 2 took 8.58254599571 seconds
emscript: phase 2b took 0.00480604171753 seconds
emscript: phase 2c took 0.0281631946564 seconds
emscript: phase 3 took 0.360366106033 seconds
emcc: step took 10.22 seconds
emcc: running pre-closure post-opts
emcc: applying js optimization passes: ['eliminate', 'simplifyExpressionsPre', 'optimizeShiftsAggressive', 'eliminate']
splitting up js optimization into 3 chunks, using 2 cores (total: 2.11 MB)
emcc: step took 5.12 seconds
emcc: running closure
Traceback (most recent call last):
File "/home/asimmons/Development/emscripten/emcc", line 1159, in <module>
final = shared.Building.closure_compiler(final)
File "/home/asimmons/Development/emscripten/tools/shared.py", line 1030, in closure_compiler
raise Exception('closure compiler error: ' + cc_output + ' (rc: %d)' % process.returncode)
Exception: closure compiler error: /tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:6: WARNING - dangerous use of the global this object
this['Module'] = Module;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:8: WARNING - dangerous use of the global this object
this['Module'] = Module = {};
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:378: WARNING - dangerous use of the global this object
this.processCChar = function (code) {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:378: WARNING - dangerous use of this in static method Runtime.UTF8Processor
this.processCChar = function (code) {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:407: WARNING - dangerous use of the global this object
this.processJSString = function(string) {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:407: WARNING - dangerous use of this in static method Runtime.UTF8Processor
this.processJSString = function(string) {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:433: WARNING - dangerous use of the global this object
this.corrections++;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:433: WARNING - dangerous use of this in static method CorrectionsMonitor.note
this.corrections++;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:434: WARNING - dangerous use of the global this object
if (this.corrections >= this.MAX_ALLOWED) abort('\n\nToo many corrections!');
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:434: WARNING - dangerous use of this in static method CorrectionsMonitor.note
if (this.corrections >= this.MAX_ALLOWED) abort('\n\nToo many corrections!');
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:434: WARNING - dangerous use of the global this object
if (this.corrections >= this.MAX_ALLOWED) abort('\n\nToo many corrections!');
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:434: WARNING - dangerous use of this in static method CorrectionsMonitor.note
if (this.corrections >= this.MAX_ALLOWED) abort('\n\nToo many corrections!');
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:3625: WARNING - dangerous use of the global this object
this.length = length;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:3626: WARNING - dangerous use of the global this object
this.chunkSize = chunkSize;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:3627: WARNING - dangerous use of the global this object
this.chunks = []; // Loaded chunks. Index is the chunk number
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:5272: WARNING - unreachable code
return ret;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:5616: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:6940: WARNING - unreachable code
L408 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:7082: WARNING - unreachable code
L430 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:7493: WARNING - unreachable code
L515 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:12913: WARNING - unreachable code
L1654 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:12962: WARNING - unreachable code
L1665 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:15364: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:19070: WARNING - unreachable code
L2895 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:20012: WARNING - unreachable code
L3072 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:21996: WARNING - unreachable code
L3531 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:23547: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$9 >> 2], HEAP32[$9 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:23560: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$16$s2], HEAP32[$16$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24270: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$9 >> 2], HEAP32[$9 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24283: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$16$s2], HEAP32[$16$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24662: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$8 >> 2], HEAP32[$8 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24678: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$11$s2], HEAP32[$11$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24747: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$123 >> 2], HEAP32[$123 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24763: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$126$s2], HEAP32[$126$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24842: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$237 >> 2], HEAP32[$237 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24846: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$241$s2], HEAP32[$241$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24881: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$297 >> 2], HEAP32[$297 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24885: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$301$s2], HEAP32[$301$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24920: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$357 >> 2], HEAP32[$357 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24924: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$361$s2], HEAP32[$361$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24959: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$417 >> 2], HEAP32[$417 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24963: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$421$s2], HEAP32[$421$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:24999: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$477 >> 2], HEAP32[$477 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:25003: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$481$s2], HEAP32[$481$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:25038: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$537 >> 2], HEAP32[$537 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:25042: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$541$s2], HEAP32[$541$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:25077: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$597 >> 2], HEAP32[$597 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:25081: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$601$s2], HEAP32[$601$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:25116: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$657 >> 2], HEAP32[$657 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:25120: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$661$s2], HEAP32[$661$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:27332: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$31$s2], HEAP32[$31$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:27353: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$66$s2], HEAP32[$66$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:27602: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:28124: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$2$s2], HEAP32[$2$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:29735: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$2$s2], HEAP32[$2$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:29838: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:30014: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$31$s2], HEAP32[$31$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:30035: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$66$s2], HEAP32[$66$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:30648: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$2$s2], HEAP32[$2$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:31650: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$2$s2], HEAP32[$2$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:32067: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:32280: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$58 >> 2], HEAP32[$58 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:32325: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$19$s2], HEAP32[$19$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:32917: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$59 >> 2], HEAP32[$59 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:33041: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$58 >> 2], HEAP32[$58 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:33162: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$59 >> 2], HEAP32[$59 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:33223: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:33391: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$139 >> 2], HEAP32[$139 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:33807: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:33978: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$137 >> 2], HEAP32[$137 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:34113: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$58 >> 2], HEAP32[$58 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:34199: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$35$s2], HEAP32[$35$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:34265: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$19$s2], HEAP32[$19$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:34616: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$59 >> 2], HEAP32[$59 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:34740: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$58 >> 2], HEAP32[$58 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:35085: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$59 >> 2], HEAP32[$59 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:35146: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:35315: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$140 >> 2], HEAP32[$140 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:35701: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:35873: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$138 >> 2], HEAP32[$138 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:35987: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$35$s2], HEAP32[$35$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:36052: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$7$s2], HEAP32[$7$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:36243: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:36345: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:36412: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:36472: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:36532: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:36615: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$14$s2], HEAP32[$14$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:36678: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:36900: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:37054: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:37135: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:37241: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$7$s2], HEAP32[$7$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:37507: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:37574: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:37634: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:37694: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$4$s2], HEAP32[$4$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:37777: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$14$s2], HEAP32[$14$s2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:38835: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$8 >> 2], HEAP32[$8 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:39322: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:39404: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:39468: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:39543: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:39618: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:39825: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:40076: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:40192: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:40326: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:40451: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:40590: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:40776: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$8 >> 2], HEAP32[$8 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:40989: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$8 >> 2], HEAP32[$8 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:42840: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$8 >> 2], HEAP32[$8 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:43105: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$41 >> 2], HEAP32[$41 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:43972: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$8 >> 2], HEAP32[$8 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:44236: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$43 >> 2], HEAP32[$43 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:45279: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$8 >> 2], HEAP32[$8 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:45963: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7collateIcEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7collateIcEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46007: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7collateIwEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7collateIwEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46055: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_5ctypeIcEEPtbiEERT_T0_T1_T2_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_5ctypeIcEEPtbiEERT_T0_T1_T2_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46099: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_5ctypeIwEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_5ctypeIwEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46143: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIcc10_mbstate_tEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIcc10_mbstate_tEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46188: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIwc10_mbstate_tEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIwc10_mbstate_tEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46232: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDsc10_mbstate_tEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDsc10_mbstate_tEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46276: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDic10_mbstate_tEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDic10_mbstate_tEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46325: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8numpunctIcEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8numpunctIcEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46374: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8numpunctIwEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8numpunctIwEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46418: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46462: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46506: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46550: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46594: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46638: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46682: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46726: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46770: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46814: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46858: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46902: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46947: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:46992: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:47047: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:47102: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:47146: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8messagesIcEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8messagesIcEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:47190: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8messagesIwEEiEERT_T0_E3buf + 4 >> 2], HEAP32[__ZZNSt3__112_GLOBAL__N_14makeINS_8messagesIwEEiEERT_T0_E3buf + 4 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:47230: WARNING - Suspicious code. This code lacks side-effects. Is there a bug?
tempValue = HEAP32[$1359 >> 2], HEAP32[$1359 >> 2] = tempValue + 1, tempValue;
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:50132: WARNING - unreachable code
do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:51737: WARNING - unreachable code
L876 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:52100: WARNING - unreachable code
L966 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:52798: WARNING - unreachable code
L1169 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:53382: WARNING - unreachable code
L1330 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:53695: WARNING - unreachable code
L1424 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:54028: WARNING - unreachable code
L1541 : do {
^
/tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js:26564: ERROR - Shift amount out of bounds: NUMBER 32.0 26564 [source_file: /tmp/tmp0mcrqE/speex_test.bc.ll.o.js.jo.js]
var $$emscripten$temp$1 = Runtime.bitshift64(__ZZNSt3__117iostream_categoryEvE1s, 0, "shl", 32);
^
1 error(s), 153 warning(s)
(rc: 1)
make[3]: *** [bin/speex_test.js] Error 1
make[2]: *** [app/CMakeFiles/speex_test.dir/all] Error 2
make[1]: *** [app/CMakeFiles/speex_test.dir/rule] Error 2
make: *** [speex_test] Error 2
This file has been truncated, but you can view the full file.
; ModuleID = '/tmp/tmp0mcrqE/speex_test.bc'
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
target triple = "i386-pc-linux-gnu"
%struct.__sFILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (%struct._reent*, i8*, i8*, i32)*, i32 (%struct._reent*, i8*, i8*, i32)*, i32 (%struct._reent*, i8*, i32, i32)*, i32 (%struct._reent*, i8*)*, %struct.__sbuf, i8*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i32, %struct._reent*, i32, %struct._mbstate_t, i32 }
%struct.__sbuf = type { i8*, i32 }
%struct._reent = type { i32, %struct.__sFILE*, %struct.__sFILE*, %struct.__sFILE*, i32, [25 x i8], i32, i8*, i32, void (%struct._reent*)*, %struct._Bigint*, i32, %struct._Bigint*, %struct._Bigint**, i32, i8*, %union.anon.0, %struct._atexit*, %struct._atexit, void (i32)**, %struct._glue, [3 x %struct.__sFILE] }
%struct._Bigint = type { %struct._Bigint*, i32, i32, i32, i32, [1 x i32] }
%union.anon.0 = type { %struct.anon.1 }
%struct.anon.1 = type { [30 x i8*], [30 x i32] }
%struct._atexit = type { %struct._atexit*, i32, [32 x void ()*], %struct._on_exit_args }
%struct._on_exit_args = type { [32 x i8*], [32 x i8*], i32, i32 }
%struct._glue = type { %struct._glue*, i32, %struct.__sFILE* }
%struct._mbstate_t = type { i32, %union.anon }
%union.anon = type { i32 }
%struct.SpeexSubmode = type { i32, i32, i32, i32, void (float*, float*, i32, %struct.SpeexBits*)*, void (float*, i32, %struct.SpeexBits*)*, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)*, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)*, i8*, void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)*, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)*, i8*, float, i32 }
%struct.SpeexBits = type { i8*, i32, i32, i32, i32, i32, i32, i32, i8* }
%struct.split_cb_params = type { i32, i32, i8*, i32, i32 }
%struct.SpeexNBMode = type { i32, i32, i32, i32, i32, float, float, float, [16 x %struct.SpeexSubmode*], i32, [11 x i32] }
%struct.SpeexMode.58 = type { i8*, i32 (i8*, i32, i8*)*, i8*, i32, i32, {}*, void (i8*)*, i32 (i8*, i8*, %struct.SpeexBits*)*, {}*, void (i8*)*, i32 (i8*, %struct.SpeexBits*, i8*)*, i32 (i8*, i32, i8*)*, i32 (i8*, i32, i8*)* }
%struct.ltp_params = type { i8*, i32, i32 }
%struct.SpeexMode = type { i8*, i32 (i8*, i32, i8*)*, i8*, i32, i32, i8* (%struct.SpeexMode*)*, void (i8*)*, i32 (i8*, i8*, %struct.SpeexBits*)*, i8* (%struct.SpeexMode*)*, void (i8*)*, i32 (i8*, %struct.SpeexBits*, i8*)*, i32 (i8*, i32, i8*)*, i32 (i8*, i32, i8*)* }
%struct.SpeexSBMode = type { %struct.SpeexMode*, i32, i32, i32, float, float, float, float, [8 x %struct.SpeexSubmode*], i32, [11 x i32], [11 x i32], [11 x float]*, i32 }
%"class.std::__1::__stdinbuf" = type { %"class.std::__1::basic_streambuf", %struct.__sFILE*, %"class.std::__1::codecvt"*, %struct._mbstate_t, i32, i8 }
%"class.std::__1::basic_streambuf" = type { i32 (...)**, %"class.std::__1::locale", i8*, i8*, i8*, i8*, i8*, i8* }
%"class.std::__1::locale" = type { %"class.std::__1::locale::__imp"* }
%"class.std::__1::locale::__imp" = type { %"class.std::__1::locale::facet", %"class.std::__1::basic_string.11", %"class.std::__1::vector.161" }
%"class.std::__1::locale::facet" = type { %"class.std::__1::__shared_count" }
%"class.std::__1::__shared_count" = type { i32 (...)**, i32 }
%"class.std::__1::basic_string.11" = type { %"class.std::__1::__compressed_pair.12" }
%"class.std::__1::__compressed_pair.12" = type { %"class.std::__1::__libcpp_compressed_pair_imp.13" }
%"class.std::__1::__libcpp_compressed_pair_imp.13" = type { %"struct.std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep" }
%"struct.std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep" = type { %union.anon.16 }
%union.anon.16 = type { %"struct.std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__long" }
%"struct.std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__long" = type { i32, i32, i8* }
%"class.std::__1::vector.161" = type { %"class.std::__1::__vector_base.160" }
%"class.std::__1::__vector_base.160" = type { %"class.std::__1::locale::facet"**, %"class.std::__1::locale::facet"**, %"class.std::__1::__compressed_pair.9" }
%"class.std::__1::__compressed_pair.9" = type { %"class.std::__1::__libcpp_compressed_pair_imp.10" }
%"class.std::__1::__libcpp_compressed_pair_imp.10" = type { %"class.std::__1::locale::facet"**, %"class.std::__1::__sso_allocator" }
%"class.std::__1::__sso_allocator" = type { %"struct.std::__1::aligned_storage<112, 4>::type", i8, [3 x i8] }
%"struct.std::__1::aligned_storage<112, 4>::type" = type { [112 x i8] }
%"class.std::__1::codecvt" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::__stdoutbuf" = type { %"class.std::__1::basic_streambuf", %struct.__sFILE*, %"class.std::__1::codecvt"*, %struct._mbstate_t, i8 }
%"class.std::__1::__stdinbuf.2" = type { %"class.std::__1::basic_streambuf.3", %struct.__sFILE*, %"class.std::__1::codecvt.4"*, %struct._mbstate_t, i32, i8 }
%"class.std::__1::basic_streambuf.3" = type { i32 (...)**, %"class.std::__1::locale", i32*, i32*, i32*, i32*, i32*, i32* }
%"class.std::__1::codecvt.4" = type { %"class.std::__1::locale::facet", i8* }
%"class.std::__1::__stdoutbuf.5" = type { %"class.std::__1::basic_streambuf.3", %struct.__sFILE*, %"class.std::__1::codecvt.4"*, %struct._mbstate_t, i8 }
%"class.std::__1::basic_istream" = type { i32 (...)**, i32, %"class.std::__1::basic_ios" }
%"class.std::__1::basic_ios" = type { %"class.std::__1::ios_base", %"class.std::__1::basic_ostream"*, i8 }
%"class.std::__1::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, i8*, i8*, void (i32, %"class.std::__1::ios_base"*, i32)**, i32*, i32, i32, i32*, i32, i32, i8**, i32, i32 }
%"class.std::__1::basic_ostream" = type { i32 (...)**, %"class.std::__1::basic_ios" }
%"class.std::__1::basic_istream.6" = type { i32 (...)**, i32, %"class.std::__1::basic_ios.8" }
%"class.std::__1::basic_ios.8" = type { %"class.std::__1::ios_base", %"class.std::__1::basic_ostream.9"*, i32 }
%"class.std::__1::basic_ostream.9" = type { i32 (...)**, %"class.std::__1::basic_ios.8" }
%"class.std::__1::ios_base::Init" = type { i8 }
%"class.std::__1::__iostream_category" = type { %"class.std::__1::__do_message" }
%"class.std::__1::__do_message" = type { %"class.std::__1::error_category" }
%"class.std::__1::error_category" = type { i32 (...)** }
%"class.std::__1::locale::id" = type { %"struct.std::__1::once_flag", i32 }
%"struct.std::__1::once_flag" = type { i32 }
%"struct.std::__1::aligned_storage<4, 4>::type" = type { [4 x i8] }
%"class.std::__1::basic_string" = type { %"class.std::__1::__compressed_pair" }
%"class.std::__1::__compressed_pair" = type { %"class.std::__1::__libcpp_compressed_pair_imp" }
%"class.std::__1::__libcpp_compressed_pair_imp" = type { %"struct.std::__1::basic_string<unsigned int, std::__1::char_traits<unsigned int>, std::__1::allocator<unsigned int> >::__rep" }
%"struct.std::__1::basic_string<unsigned int, std::__1::char_traits<unsigned int>, std::__1::allocator<unsigned int> >::__rep" = type { %union.anon.210 }
%union.anon.210 = type { %"struct.std::__1::basic_string<unsigned int, std::__1::char_traits<unsigned int>, std::__1::allocator<unsigned int> >::__long" }
%"struct.std::__1::basic_string<unsigned int, std::__1::char_traits<unsigned int>, std::__1::allocator<unsigned int> >::__long" = type { i32, i32, i32* }
%"struct.std::__1::aligned_storage<148, 4>::type" = type { [148 x i8] }
%"struct.std::__1::aligned_storage<8, 4>::type" = type { [8 x i8] }
%"struct.std::__1::aligned_storage<12, 4>::type" = type { [12 x i8] }
%"struct.std::__1::aligned_storage<28, 4>::type" = type { [28 x i8] }
%"struct.std::__1::aligned_storage<24, 4>::type" = type { [24 x i8] }
%"struct.std::__1::aligned_storage<16, 4>::type" = type { [16 x i8] }
%struct.malloc_params = type { i32, i32, i32, i32, i32, i32 }
%struct.malloc_state = type { i32, i32, i32, i32, i8*, %struct.malloc_chunk*, %struct.malloc_chunk*, i32, i32, i32, [66 x %struct.malloc_chunk*], [32 x %struct.malloc_tree_chunk*], i32, i32, i32, %struct.malloc_segment, i8*, i32 }
%struct.malloc_chunk = type { i32, i32, %struct.malloc_chunk*, %struct.malloc_chunk* }
%struct.malloc_tree_chunk = type { i32, i32, %struct.malloc_tree_chunk*, %struct.malloc_tree_chunk*, [2 x %struct.malloc_tree_chunk*], %struct.malloc_tree_chunk*, i32 }
%struct.malloc_segment = type { i8*, i32, %struct.malloc_segment*, i32 }
%struct.SpeexPreprocessState_ = type { i32, i32, i32, i32, %struct.FilterBank*, i32, i32, i32, float, float, float, float, i32, i32, i32, %struct.SpeexEchoState_*, float, float*, float*, float*, float*, float*, float*, float*, float*, float*, float*, float*, float*, float*, float*, float*, i32*, float*, float*, float*, float*, float*, i32, float, float, float*, float, float, float, float, float, float, float, i32, i32, i32, i8* }
%struct.FilterBank = type { i32*, i32*, float*, float*, float*, i32, i32 }
%struct.SpeexEchoState_ = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, float, float, float, float, float*, float*, float*, float*, float*, float*, float*, float*, float*, float*, float*, float, float, float, float, float*, float*, float*, float*, float*, float*, float*, float*, float, float, float*, float*, i8*, float*, float*, float*, float, float, float*, i16*, i32, i32 }
%struct.ogg_stream_state = type { i8*, i32, i32, i32, i32*, i64*, i32, i32, i32, i32, [282 x i8], i32, i32, i32, i32, i32, i64, i64 }
%struct.SpeexMode.117 = type { i8*, i32 (i8*, i32, i8*)*, i8*, i32, i32, {}*, void (i8*)*, i32 (i8*, i8*, %struct.SpeexBits*)*, {}*, void (i8*)*, i32 (i8*, %struct.SpeexBits*, i8*)*, i32 (i8*, i32, i8*)*, i32 (i8*, i32, i8*)* }
%struct.kiss_fftr_state = type { %struct.kiss_fft_state*, %struct.kiss_fft_cpx*, %struct.kiss_fft_cpx* }
%struct.kiss_fft_state = type { i32, i32, [64 x i32], [1 x %struct.kiss_fft_cpx] }
%struct.kiss_fft_cpx = type { float, float }
%struct.ogg_packet = type { i8*, i32, i32, i32, i64, i64 }
%struct.VBRState = type { float, float, float, [5 x float], float, float, float, float, float, float, float, i32 }
%struct.DecState = type { %struct.SpeexMode.58*, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, i8*, float*, float*, float*, float*, float*, [2 x float], float*, float*, float, float, float, i32, float, [3 x float], i32, i32, i32, %struct.SpeexSubmode**, i32, i32, [16 x %struct.SpeexCallback], %struct.SpeexCallback, float, float, float, i32, i32, i32, i32 }
%struct.SpeexCallback = type { i32, i32 (%struct.SpeexBits*, i8*, i8*)*, i8*, i8*, i32 }
%struct.SBDecState = type { %struct.SpeexMode.117*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i8*, float*, float*, float*, float*, float*, float*, float*, float*, float*, float, i32, i32, %struct.SpeexSubmode**, i32 }
%"class.std::__1::__call_once_param" = type { %"class.std::__1::<anonymous namespace>::__fake_bind" }
%"class.std::__1::<anonymous namespace>::__fake_bind" = type { %"class.std::__1::locale::id"*, { i32, i32 } }
%"class.std::__1::ctype.11" = type { %"class.std::__1::locale::facet", i16*, i8 }
%"class.std::__1::ctype" = type { %"class.std::__1::locale::facet" }
%"class.std::logic_error" = type { %"class.std::exception", i8* }
%"class.std::exception" = type { i32 (...)** }
%"class.std::runtime_error" = type { %"class.std::exception", i8* }
%"class.std::length_error" = type { %"class.std::logic_error" }
%"class.std::__1::error_condition" = type { i32, %"class.std::__1::error_category"* }
%"class.std::__1::error_code" = type { i32, %"class.std::__1::error_category"* }
%"class.std::__1::system_error" = type { %"class.std::runtime_error", %"class.std::__1::error_code" }
%"struct.std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__short" = type { %union.anon.17, [11 x i8] }
%union.anon.17 = type { i8 }
%"class.std::__1::fpos" = type { %struct._mbstate_t, i64 }
%"class.std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry" = type { i8, %"class.std::__1::basic_ostream"* }
%"class.std::__1::basic_ostream<wchar_t, std::__1::char_traits<wchar_t> >::sentry" = type { i8, %"class.std::__1::basic_ostream.9"* }
%"class.std::__1::ios_base::failure" = type { %"class.std::__1::system_error" }
%"class.std::__1::collate" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::collate.1" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::num_get" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::istreambuf_iterator" = type { %"class.std::__1::basic_streambuf"* }
%"class.std::__1::ctype.173" = type { %"class.std::__1::locale::facet", i16*, i8 }
%"class.std::__1::numpunct" = type { %"class.std::__1::locale::facet", i8, i8, %"class.std::__1::basic_string.11" }
%"class.std::__1::istreambuf_iterator.13" = type { %"class.std::__1::basic_streambuf.15"* }
%"class.std::__1::basic_streambuf.15" = type { i32 (...)**, %"class.std::__1::locale", i32*, i32*, i32*, i32*, i32*, i32* }
%"class.std::__1::numpunct.17" = type { %"class.std::__1::locale::facet", i32, i32, %"class.std::__1::basic_string.11" }
%"class.std::__1::num_put" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::ostreambuf_iterator" = type { %"class.std::__1::basic_streambuf"* }
%"class.std::__1::ostreambuf_iterator.23" = type { %"class.std::__1::basic_streambuf.15"* }
%"class.std::__1::time_get" = type { %"class.std::__1::locale::facet", %"class.std::__1::__time_get_c_storage" }
%"class.std::__1::__time_get_c_storage" = type { i32 (...)** }
%struct.tm = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8* }
%"class.std::__1::time_get.28" = type { %"class.std::__1::locale::facet", %"class.std::__1::__time_get_c_storage.29" }
%"class.std::__1::__time_get_c_storage.29" = type { i32 (...)** }
%"class.std::__1::time_put" = type { %"class.std::__1::locale::facet", %"class.std::__1::__time_put" }
%"class.std::__1::__time_put" = type { i8* }
%"class.std::__1::time_put.32" = type { %"class.std::__1::locale::facet", %"class.std::__1::__time_put" }
%"class.std::__1::moneypunct" = type { %"class.std::__1::locale::facet" }
%"struct.std::__1::money_base::pattern" = type { [4 x i8] }
%"class.std::__1::moneypunct.34" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::moneypunct.35" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::moneypunct.36" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::money_get" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::unique_ptr.176" = type { %"class.std::__1::__compressed_pair.19" }
%"class.std::__1::__compressed_pair.19" = type { %"class.std::__1::__libcpp_compressed_pair_imp.20" }
%"class.std::__1::__libcpp_compressed_pair_imp.20" = type { i8*, void (i8*)* }
%"class.std::__1::money_get.43" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::unique_ptr.25.179" = type { %"class.std::__1::__compressed_pair.26.178" }
%"class.std::__1::__compressed_pair.26.178" = type { %"class.std::__1::__libcpp_compressed_pair_imp.27.177" }
%"class.std::__1::__libcpp_compressed_pair_imp.27.177" = type { i32*, void (i8*)* }
%"class.std::__1::money_put" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::money_put.46" = type { %"class.std::__1::locale::facet" }
%"class.std::__1::messages" = type { %"class.std::__1::locale::facet" }
%struct._nl_catd = type { i8*, i32 }
%"class.std::__1::messages.52" = type { %"class.std::__1::locale::facet" }
%"struct.std::__1::__narrow_to_utf8.53" = type { %"class.std::__1::codecvt" }
%"struct.std::__1::__widen_from_utf8.54" = type { %"class.std::__1::codecvt" }
%"class.std::__1::codecvt.60" = type { %"class.std::__1::locale::facet", i8* }
%"class.std::bad_cast" = type { %"class.std::exception" }
%"class.__cxxabiv1::__shim_type_info" = type { %"class.std::type_info" }
%"class.std::type_info" = type { i32 (...)**, i8* }
%"class.__cxxabiv1::__class_type_info" = type { %"class.__cxxabiv1::__shim_type_info" }
%"class.__cxxabiv1::__si_class_type_info" = type { %"class.__cxxabiv1::__class_type_info", %"class.__cxxabiv1::__class_type_info"* }
%"class.__cxxabiv1::__vmi_class_type_info" = type { %"class.__cxxabiv1::__class_type_info", i32, i32, [1 x %"struct.__cxxabiv1::__base_class_type_info"] }
%"struct.__cxxabiv1::__base_class_type_info" = type { %"class.__cxxabiv1::__class_type_info"*, i32 }
%"struct.__cxxabiv1::__dynamic_cast_info" = type { %"class.__cxxabiv1::__class_type_info"*, i8*, %"class.__cxxabiv1::__class_type_info"*, i32, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8 }
%"class.std::bad_alloc" = type { %"class.std::exception" }
@.str = private unnamed_addr constant [105 x i8] c"-encoding %s -quality %d -bitrate %d -vbr %d -vad %d -abr %d -complexity %d -rate %d -denoise %d -agc %d\00", align 1
@stderr = external global %struct.__sFILE*
@.str2 = private unnamed_addr constant [37 x i8] c"Real FFT optimization must be even.\0A\00", align 1
@.str47 = private unnamed_addr constant [30 x i8] c"Buffer too small to pack bits\00", align 1
@.str5 = private unnamed_addr constant [43 x i8] c"Could not resize input buffer: not packing\00", align 1
@.str6 = private unnamed_addr constant [37 x i8] c"Do not own input buffer: not packing\00", align 1
@.str7 = private unnamed_addr constant [13 x i8] c"warning: %s\0A\00", align 1
@.str8 = private unnamed_addr constant [18 x i8] c"notification: %s\0A\00", align 1
@.str211 = private unnamed_addr constant [43 x i8] c"Fatal (internal) error in %s, line %d: %s\0A\00", align 1
@_ZZ8highpassPKfPfiiS1_E5Pcoef = internal unnamed_addr constant [5 x [3 x float]] [[3 x float] [float 1.000000e+00, float 0xBFFE944680000000, float 0x3FED478420000000], [3 x float] [float 1.000000e+00, float 0xBFFED44BC0000000, float 0x3FEDC86060000000], [3 x float] [float 1.000000e+00, float 0xBFFEEF1FE0000000, float 0x3FEDEFDCA0000000], [3 x float] [float 1.000000e+00, float 0xBFFF8E6080000000, float 0x3FEF257000000000], [3 x float] [float 1.000000e+00, float 0xBFF5EB8520000000, float 0x3FD9893740000000]], align 4
@_ZZ8highpassPKfPfiiS1_E5Zcoef = internal unnamed_addr constant [5 x [3 x float]] [[3 x float] [float 0x3FEE9BF9C0000000, float 0xBFFE9C0440000000, float 0x3FEE9BF9C0000000], [3 x float] [float 0x3FEEDCDB40000000, float 0xBFFEDC52E0000000, float 0x3FEEDCDB40000000], [3 x float] [float 0x3FEEF38C60000000, float 0xBFFEF381E0000000, float 0x3FEEF38C60000000], [3 x float] [float 0x3FEF90FFA0000000, float 0xBFFF907740000000, float 0x3FEF90FFA0000000], [3 x float] [float 0x3FEC28F5C0000000, float 0xBFFC28F5C0000000, float 0x3FEC28F5C0000000]], align 4
@_ZL10shift_filt = internal unnamed_addr constant [3 x [7 x float]] [[7 x float] [float 0xBF8866E440000000, float 0x3FA80FBA80000000, float 0xBFC380F560000000, float 0x3FE3A6C5E0000000, float 0x3FE3A6C5E0000000, float 0xBFC380F560000000, float 0x3FA80FBA80000000], [7 x float] [float 0xBFA0A1F080000000, float 0x3FB6029360000000, float 0xBFCA2674E0000000, float 0x3FEED954E0000000, float 0x3FCAB4C800000000, float 0xBF9EEE2A20000000, float 0xBF7A11C440000000], [7 x float] [float 0xBF7A11C440000000, float 0xBF9EEE2A20000000, float 0x3FCAB4C800000000, float 0x3FEED954E0000000, float 0xBFCA2674E0000000, float 0x3FB6029360000000, float 0xBFA0A1F080000000]], align 4
@.str421 = private unnamed_addr constant [16 x i8] c"warning: %s %d\0A\00", align 1
@_ZL11nb_submode1 = internal constant %struct.SpeexSubmode { i32 0, i32 1, i32 0, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z13lsp_quant_lbrPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z15lsp_unquant_lbrPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* @_Z18forced_pitch_quantPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* @_Z20forced_pitch_unquantPfS_iifPKviPiS_P9SpeexBitsPciifi, i8* null, void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z20noise_codebook_quantPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z22noise_codebook_unquantPfPKviP9SpeexBitsPcPi, i8* null, float -1.000000e+00, i32 43 }, align 4
@_ZL16split_cb_nb_ulbr = internal constant %struct.split_cb_params { i32 20, i32 2, i8* getelementptr inbounds ([640 x i8]* @_ZL15exc_20_32_table, i32 0, i32 0), i32 5, i32 0 }, align 4
@_ZL11nb_submode8 = internal constant %struct.SpeexSubmode { i32 0, i32 1, i32 0, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z13lsp_quant_lbrPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z15lsp_unquant_lbrPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* @_Z18forced_pitch_quantPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* @_Z20forced_pitch_unquantPfS_iifPKviPiS_P9SpeexBitsPciifi, i8* null, void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL16split_cb_nb_ulbr to i8*), float 5.000000e-01, i32 79 }, align 4
@_ZL11nb_submode2 = internal constant %struct.SpeexSubmode { i32 0, i32 0, i32 0, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z13lsp_quant_lbrPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z15lsp_unquant_lbrPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* @_Z17pitch_search_3tapPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* @_Z18pitch_unquant_3tapPfS_iifPKviPiS_P9SpeexBitsPciifi, i8* bitcast (%struct.ltp_params* @_ZL15ltp_params_vlbr to i8*), void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL16split_cb_nb_vlbr to i8*), float 0x3FE3333340000000, i32 119 }, align 4
@_ZL11nb_submode3 = internal constant %struct.SpeexSubmode { i32 -1, i32 0, i32 1, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z13lsp_quant_lbrPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z15lsp_unquant_lbrPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* @_Z17pitch_search_3tapPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* @_Z18pitch_unquant_3tapPfS_iifPKviPiS_P9SpeexBitsPciifi, i8* bitcast (%struct.ltp_params* @_ZL14ltp_params_lbr to i8*), void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL15split_cb_nb_lbr to i8*), float 0x3FE19999A0000000, i32 160 }, align 4
@_ZL11nb_submode4 = internal constant %struct.SpeexSubmode { i32 -1, i32 0, i32 1, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z13lsp_quant_lbrPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z15lsp_unquant_lbrPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* @_Z17pitch_search_3tapPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* @_Z18pitch_unquant_3tapPfS_iifPKviPiS_P9SpeexBitsPciifi, i8* bitcast (%struct.ltp_params* @_ZL14ltp_params_med to i8*), void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL15split_cb_nb_med to i8*), float 0x3FDCCCCCC0000000, i32 220 }, align 4
@_ZL11nb_submode5 = internal constant %struct.SpeexSubmode { i32 -1, i32 0, i32 3, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z12lsp_quant_nbPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z14lsp_unquant_nbPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* @_Z17pitch_search_3tapPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* @_Z18pitch_unquant_3tapPfS_iifPKviPiS_P9SpeexBitsPciifi, i8* bitcast (%struct.ltp_params* @_ZL13ltp_params_nb to i8*), void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL11split_cb_nb to i8*), float 0x3FD3333340000000, i32 300 }, align 4
@_ZL11nb_submode6 = internal constant %struct.SpeexSubmode { i32 -1, i32 0, i32 3, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z12lsp_quant_nbPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z14lsp_unquant_nbPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* @_Z17pitch_search_3tapPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* @_Z18pitch_unquant_3tapPfS_iifPKviPiS_P9SpeexBitsPciifi, i8* bitcast (%struct.ltp_params* @_ZL13ltp_params_nb to i8*), void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL11split_cb_sb to i8*), float 0x3FC99999A0000000, i32 364 }, align 4
@_ZL11nb_submode7 = internal constant %struct.SpeexSubmode { i32 -1, i32 0, i32 3, i32 1, void (float*, float*, i32, %struct.SpeexBits*)* @_Z12lsp_quant_nbPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z14lsp_unquant_nbPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* @_Z17pitch_search_3tapPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* @_Z18pitch_unquant_3tapPfS_iifPKviPiS_P9SpeexBitsPciifi, i8* bitcast (%struct.ltp_params* @_ZL13ltp_params_nb to i8*), void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL11split_cb_nb to i8*), float 0x3FB99999A0000000, i32 492 }, align 4
@_ZL7nb_mode = internal constant %struct.SpeexNBMode { i32 160, i32 40, i32 10, i32 17, i32 144, float 0x3FECCCCCC0000000, float 0x3FE3333340000000, float 0x3F2A36E2E0000000, [16 x %struct.SpeexSubmode*] [%struct.SpeexSubmode* null, %struct.SpeexSubmode* @_ZL11nb_submode1, %struct.SpeexSubmode* @_ZL11nb_submode2, %struct.SpeexSubmode* @_ZL11nb_submode3, %struct.SpeexSubmode* @_ZL11nb_submode4, %struct.SpeexSubmode* @_ZL11nb_submode5, %struct.SpeexSubmode* @_ZL11nb_submode6, %struct.SpeexSubmode* @_ZL11nb_submode7, %struct.SpeexSubmode* @_ZL11nb_submode8, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null], i32 5, [11 x i32] [i32 1, i32 8, i32 2, i32 3, i32 3, i32 4, i32 4, i32 5, i32 5, i32 6, i32 7] }, align 4
@speex_nb_mode = internal constant { i8*, i32 (i8*, i32, i8*)*, i8*, i32, i32, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, i8*, %struct.SpeexBits*)*, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, %struct.SpeexBits*, i8*)*, i32 (i8*, i32, i8*)*, i32 (i8*, i32, i8*)* } { i8* bitcast (%struct.SpeexNBMode* @_ZL7nb_mode to i8*), i32 (i8*, i32, i8*)* @_Z13nb_mode_queryPKviPv, i8* getelementptr inbounds ([11 x i8]* @.str3166, i32 0, i32 0), i32 0, i32 4, i8* (%struct.SpeexMode.58*)* @_Z15nb_encoder_initPK9SpeexMode, void (i8*)* @_Z18nb_encoder_destroyPv, i32 (i8*, i8*, %struct.SpeexBits*)* @_Z9nb_encodePvS_P9SpeexBits, i8* (%struct.SpeexMode.58*)* @_Z15nb_decoder_initPK9SpeexMode, void (i8*)* @_Z18nb_decoder_destroyPv, i32 (i8*, %struct.SpeexBits*, i8*)* @_Z9nb_decodePvP9SpeexBitsS_, i32 (i8*, i32, i8*)* @_Z14nb_encoder_ctlPviS_, i32 (i8*, i32, i8*)* @_Z14nb_decoder_ctlPviS_ }, align 4
@_ZL13ltp_params_nb = internal constant %struct.ltp_params { i8* getelementptr inbounds ([512 x i8]* @_ZL12gain_cdbk_nb, i32 0, i32 0), i32 7, i32 7 }, align 4
@_ZL11split_cb_nb = internal constant %struct.split_cb_params { i32 5, i32 8, i8* getelementptr inbounds ([320 x i8]* @_ZL14exc_5_64_table, i32 0, i32 0), i32 6, i32 0 }, align 4
@_ZL14exc_5_64_table = internal constant [320 x i8] c"\01\05\F11\BE\D0\FC2\D4\07%\10\EE\19\E6\E6\F1\13\13\E5\D1\1C9\05\EF\E0\D7D\15\FE@8\08\F0\F3\E6\F7\F0\0B\06\D9\19\ED\16\E1\14\D37\D5\0A\F0/\D8(\EC\CD\03\EF\F2\F1\E85\EC\D2.\1B\BC \03\EE\FB\09\E1\10\F7\F6\FF\E90_/\19\D7\E0\FD\0F\E7\C9$)\E5\14\05\0D\0E\EA\05\02\E9\12.\F1\11\EE\DE\FB\F8\1B\C9I\10\02\FF\EF(\B2!\00\02\13\045\F0\F1\F0\E4\FD\F31\08\F9\E3\1B\F3 \14 \C3\10\0E),(\18\14\07\040\C4\B3\11\FA\D0A\F1 \E2\B9\F6\FD\FA\0A\FE\F9\E3\C8C\E2\07\FBV\FA\F6\00\05\E1<\22\DA\FD\18\0A\FE\1E\17\18\D7\0CF\D5\0F\EF\06\0D\10\F3\08\1E\F1\F8\05\17\DE\9E\FC\F3\0D\D0\E1F\0C\1F\19\18\E8\1A\F9!\F0\08\05\F5\F2\F8\BF\0D\0A\FE\F7\00\FD\BC\05#\07\00\E1\FF\EF\F7\F7\10\DB\EE\FFE\D0\E4\16\EB\F5\0517\17\AA\DC\10\02\0D?\CD\1E\F5\0D\18\EE\FA\0E\ED\01)\09\FB\1B\DC\D4\DE\DB\EB\E6\1F\D9\0F+\05\F8\1D\14\F8\EC\CC\E4\FF\0D\1A\DE\F6\F7\1B\F8\08\1B\BE\04\0C\EA1\0A\B3 \EE\03\DA\0C\FD\FF\02\02\00", align 1
@_ZL12gain_cdbk_nb = internal constant [512 x i8] c"\E0\E0\E0\00\E4\BD\FB!\D6\FA\E0\12\C7\F6\CA#\F0\1B\D7*\13\ED\D8$\D3\18\EB(\F8\F2\EE\1C\01\0E\C65\EE\A8\D9'\DA\15\EE%\ED\14\D5&\0A\11\D06\CC\C6\F3!\D4\FF\F5 \F4\F5\DE\16\0E\00\D2.\DB\DD\DE\05\E7,\E2+\06\FC\C11\E1+\D7+\E9\1E\D5)\D5\1A\F2,\DF\01\F3\1B\F3\12\DB%\D2\B7\D3\22\DC\18\E7\22\DC\F5\EC\13\E7\0C\EE!\DC\BB\C5\22\D3\06\08.\EA\F2\E8\12\FF\0D\D4,\D9\D0\E6\0F\E0\1F\DB\22\DF\0F\D2\1F\E8\1E\DC%\D7\1F\E9)\CE\16\FC2\EA\02\EB\1C\EF\1E\DE(\F9\C4\E4\1D\DA*\E4*\D4\F5\15+\F0\08\D4\22\D9\C9\D5\15\F5\DD\1A)\F7\00\DE\1D\F8y\AFq\07\F0\EA!\DB!\E1$\E5\F9\DC\11\DEF\C7A\DB\F5\D0\15\D8\11\FF,\DF\06\FA!\F7\00\EC\22\EBE\DF9\E3!\E1#\C9\0C\FF1\DF\1B\EA#\CE\DF\D1\11\CE63^\FF\FB\D4#\FC\16\D8-\D9\BE\E7\18\DF\01\E6\14\E8\E9\E7\0C\F5\15\D3,\E7\D3\ED\11\D5i\F0R\05\EB\01)\F0\0B\DF\1E\F3\9D\FC9\DB!\F1,\E7%\C16\DC\18\E1\1F\CB\C8\DA\1A\D7\FC\04%\DF\0D\E2\1814\A2r\FB\E2\F1\17\01&\D88\E9\0C\DC\1D\EF(\D13\DB\D7\D9\0B\CF\22\00:\EE\F9\FC\22\F0\11\E5#\1E\05\C2A\040\BCL\D5\0B\F5&\EE\13\F1)\E9\C2\D9\17\D6\0A\FE)\EB\F3\F3\19\F7\0D\D1*\E9\C2\E8\18\D4<\EB:\EE\FD\CC \EA\16\DC\22\B59\10Z\ED\03\0A-\E3\17\DA \FB\C2\CD&\CD(\EE5\D6\0D\E8 \DE\0E\EC\1E\C8\B5\E6%\E6 \0F;\E6\11\E3\1D\F9\1C\CC5\F4\E2\05\1E\FB\D0\FB#\02\02\D5(\15\10\10K\E7\D3\E0\0A\D5\12\F6*\09\00\FF4\FF\07\E2$\13\D0\FC0\E4\19\E3 \EA\00\E1\16\E0\11\F6$\C0\D7\C2$\CC\0F\10:\E2\EA\E0\06\F9\09\DA$", align 1
@_ZL11split_cb_sb = internal constant %struct.split_cb_params { i32 5, i32 8, i8* getelementptr inbounds ([1280 x i8]* @_ZL15exc_5_256_table, i32 0, i32 0), i32 8, i32 0 }, align 4
@_ZL15exc_5_256_table = internal constant [1280 x i8] c"\F8\DB\05\D5\05I='\0C\FD\C3\E0\02*\1E\FD\11\E5\09\22\14\FF\FB\02\17\F9\D2\1A5\D1\14\FE\DF\A7\CD\C0\1B\0B\0F\DE\FB\C8\19\F7\FF\E3\01(C\E9\F0\10!\13\07\0EU\16\F6\F6\F4\F9\FF4Y\1D\0B\EC\DB\D2\F1\11\E8\E4\18\02\01\00\17\9B\17\0E\FF\E9\EE\09\05\F3&\01\E4\E4\04\1B3\E6\22\D8#/6&\CA\E6\FA*\E7\0D\E2\DC\12)\FC\DF\17\E0\F9\FC3\FD\11\CC8\D1$\FE\EB$\0A\08\DF\1F\13\09\FB\D8\0A\F7\EB\13\12\B2\EE\FB\00\E6\DC\D1\CD\D4\12(\1B\FE\1D1\E6\02 \CA\1E\B76\03\FB$\165\0A\FF\AC\CB\E3\FB\03\D45\CD\04\16G\DD\FF!\FB\E5\F9$\11\E9\D9\10\F7\C9\F1\EC'\DD\06\D9\F2\120\C0\EF\F1\09'Q%\BC%/\EB\FA\98\0D\06\09\FE#\08\E9\12*-\15!\FB\CF\09\FA\D5\C8'\02\F0\E7W\01\FD\F7\11\E7\F5\F7\FF\0A\02\F2\F2\04\FF\F6\1C\E9(\E0\1A\F7\1A\04\E5\E9\03*\C4\011\FD\1B\0A\CC\D8\FE\12-\E9\11\D4\03\FD\11\D24\D8\D1\19K\1F\CF5\1E\E2\E0\DC&\FA\F1\F06\E5\D0\03&\E3\E0\EA\F2\FC\E9\F3 \D9\09\08\D3\F3\22\F01( \1F\1C\17\17 /;\BC\08>,\19\F2\E8\BF\F0$C\E7\DA\EB\04\DF\FE*\05\C1(\0B\1A\D6\E9\C3O\E1\17\EC\0A\E05\E7\DC\0A\E6\FB\03\00\B9\05\F6\DB\01\E8\15\CA\EF\01\E3\E7\F1\E5 D-\F0\DB\EE\FB\01\00\B3G\FA\03\ECG\BD\1D\DD\0A\E2\13\04\10\11\05\00\F2\13\02\1C\1A;\03\02\18'7\CE\D3\EE\EF!\DD\0E\FF\01\08W\DD\E3\00\E5\0D\F9\17\F3%\D82\DD\0E\13\F9\F216\FB\16\FE\E3\F8\E5&\0D\1B0\0C\D7\EB\F1\1C\07\F0\E8\ED\EC\0B\EC\09\02\0D\17\EC\0B\1B\E5G\BB\08\02\FA\16\0C\10\10\09\F0\F8\EF\01\19\01(\DB\DFB^5\04\EA\E7\D7\D6\19#\F0\F19\1F\E3\E0\15\10\C4-\0F\FF\079\E6\D1\E3\0B\08\0F\13\97\F86\1B\0A\EF\06\F4\FF\F6\04\00\17\F6\1F\0D\0B\0A\0C\C0\17\FD\F8\ED\104\18\D8\10\0A(\05\09\00\F3\F9\EB\F8\FA\F9\EB;\10\CB\12\C4\0B\D1\0E\EE\19\F3\E8\04\D9\10\E46\1A\BD\1E\1B\EC\CC\14\F47\0C\12\F0'\F2\FA\E68\A8\C9\0C\19\1A\DB\06K\00\DE\AF6\E2\01\F91\E9\F2\15\0A\C2\C6\C7\D1\DE\0F\FC\22\B2\1F\19\F5\072\F6*\C1\0E\DC\FC9795*\D6\FF\0F(%\0F\19\F5\06\01\1F\FE\FA\FF\F9\C0\22\1C\1E\FF\03\15\00\A8\F4\C8\19\E4(\08\E4\F2\09\0C\02\FA\EF\161\FA\E6\0E\1C\EC\04\F42#(\0D\DA\C6\E3\11\1E\16<\1A\CA\D9\F4:\E4\C1\0A\EB\F8\F4\1A\C2\06\F6\F5\EA\FA\F9\04\01\12\02\BA\0B\0E\04\0D\13\E8\DE\18C\113\EB\0D\176\E20\01\F3P\1A\F0\FE\0D\FC\06\E2\1D\E8I\C6\1E\E5\14\FE\EB)-\1E\E5\FD\FB\EE\EC\CF\FD\DD\0A*\ED\BD\CB\F5\09\0D\F1\DF\CD\E2\0F\07\19\E2\04\1C\EA\DE6\E3'\D2\14\10\22\FC/K\01\D4\C9\E8\07\FF\09\D62\F8\DC)D\00\FC\F6\E9\F1\CE@$\F7\E5\0C\19\DA\D1\DB \CF3\DC\02\FCE\E6\13\07-C.\0D\C1.\0F\D1\04\D7\0D\FA\05\EB%\1A\C9\F9!\FF\E4\0A\EF\C0\F2\00\DC\EF]\FD\F7\BE,\EB\03\F4&\FA\F3\F4\13\0D+\D5\F6\F4\06\FB\09\CF \FB\02\04\05\0F\F0\0A\EB\08\C2\F8@\08O\FF\BE\CF\EE\05(\FB\E2\D3\01\FA\15\E0]\EE\E2\EB \15\EE\16\08\05\D7\CAP\16\F6\F9\F8\E9\C0B8\F2\E2\D7\D2\F2\E3\DB\1B\F2*\FE\F7\E3\22\0E!\F2\16\04\0A\1A\1A\1C \17\B8\E0\03\00\F2#\D6\B2\E0\06\1D\EE\D3\FB\07\DF\D3\FD\EA\DE\08\F8\04\CD\E7\F7;\B2\15\FB\E7\D0B\F1\EF\E8\CF\F3\19\E9\C0\FA(\E8\ED\F59\DF\F8\01\0A\CC\CA\1C'1\22\F5\C3\D7\D5\0A\0F\F13\1E\0F\CD \DE\FE\DE\0E\12\10\01\01\FD\FD\01\01\EE\06\100\0C\FB\D6\07$0\07\EC\F6\07\0C\026'\DA%6\04\F5\F8\D2\F6\05\F6\DE.\F4\1D\DB'$\F5\188\11\0E\14\19\00\E7\E47\F9\FB\1B\03\09\E6\F8\06\E8\F6\E2\E1\DE\12\04\16\15(\FF\E3\DB\F8\EB\5C\E3\0B\FD\0BI\17\16\07\04\D4\F7\F5\15\F3\0B\09\B2\FF/r\F4\DB\ED\FB\F5\EA\13\0C\E2\07&-\EB\F8\F77\D38\EB\07\11.\C7\A9\FA\1B\1F\1F\07\C8\F4.\15\FB\F4$\03\03\EB+\13\0C\F9\09\F2\00\F7\DF\A5\07\1A\03\F5@S\E1\D2\19\02\09\05\02\02\FF\14\EF\0A\FB\E5\F8\14\08\ED\10\EB\F3\E1\05\05*\18\09\22\EC\1C\C3\16\0B\D9@\EC\FF\E2\F7\EC\18\E7\E8\E3\16\C4\06\FB)\F7\A9\0E\22\0F\C74E\0F\FD\9A:\10\03\06<\B5\E0\1A\07\C7\E5\E0\E8\EB\E3\F0>\D2\1F\1E\E5\F1\07\0F", align 1
@_ZL14ltp_params_med = internal constant %struct.ltp_params { i8* getelementptr inbounds ([128 x i8]* @_ZL13gain_cdbk_lbr, i32 0, i32 0), i32 5, i32 7 }, align 4
@_ZL15split_cb_nb_med = internal constant %struct.split_cb_params { i32 8, i32 5, i8* getelementptr inbounds ([1024 x i8]* @_ZL15exc_8_128_table, i32 0, i32 0), i32 7, i32 0 }, align 4
@_ZL15exc_8_128_table = internal constant [1024 x i8] c"\F2\09\0D\E0\02\F6\1F\F6\F8\F8\06\FC\FF\0A\C0\17\06\14\0D\06\08\EA\10\22\07*\CF\E4\05\1A\04\F1)\22) !\18\17\0E\08(\22\04\E8\D7\ED\F1\0D\F3!\CA\18\1B\D4!\1B\F1\F1\18\ED\0E\DC\0E\F7\18\F4\FC%\FB\10\DE\05\0A!\F1\CA\F0\0C\19\0C\01\02\00\03\FF\FC\FC\0B\02\C86\1B\EC\0D\FA\D2\D7\DF\F5\FB\07\0C\0E\F2\FB\08\14\06\03\04\F8\FB\D6\0B\08\F2\19\FE\02\0D\0B\EA'\F7\09\05\D3\F7\07\F7\0C\F9\22\EF\9A\07\02\D6\12#\F7\DE\0B\FB\FE\03\16.\CC\E7\F7\A2\08\0B\FB\FB\FB\04\F9\DD\F96\05\E0\03\18\F7\EA\08A%\FF\F4\E9\FA\F7\E47\DF\0E\FD\02\12\C4)\EF\08\F0\11\F5\00\F5\1D\E4%\09\CB!\F2\F7\07\E7\F9\F5\1A\E0\F8\18\EB\16\ED\13\F6\1D\F2\00\00\00\00\00\00\00\00\FB\CC\0A)\06\E2\FC\10 \16\E5\EA \FD\E4\FD\03\DD\06\11\17\15\08\02\04\D3\EF\0E\17\FC\E1\F5\FD\0E\01\13\F5\02=\F8\09\F4\07\F6\0C\FD\E8c\D0\172\DB\FB\E9\00\08\F2#\C0\FB.\E7\0D\FF\CF\ED\F1\09\222\19\0B\FA\F7\F0\EC\E0\DF\E0\E5\0A\F8\0C\F18\F2\E0!\03\F7\01A\F7\F7\F6\FE\FA\E9\09\11\03\E4\0D\E0\04\FE\F6\04\F0L\0C\CC\06\0D!\FA\04\F2\F7\FD\01\F1\F0\1C\01\F1\0B\10\09\04\EB\DB\D8\FA\16\0C\F1\E9\F2\EF\F0\F7\F6\F7\0D\D9)\05\F7\10\DA\19.\D1\041\F2\11\FE\06\12\05\FA\DF\EA,2\FE\01\03\FA\07\07\FD\EB&\EE\22\F2\D7<\F3\06\10\E8#\13\F3\DC\18\03\EF\F2\F6$,\D4\E3\FD\03\CA\F8\0C7\1A\04\FE\FB\02\F5\16\E9\02\16\01\E7\D9B\CF\15\F8\FE\0A\F2\C4\19\06\0A\1B\E7\10\05\FE\F7\1A\F3\EC:\FE\074\F7\02\05\FC\F1\17\FF\DA\17\08\1B\FA\00\E5\F9'\F6\F2\1A\0B\D3\F4\09\FB\22\04\DD\0A+\EA\F58\F9\14\01\0A\01\E6\09^\0B\E5\F2\F3\01\F5\00\0E\FB\FA\F6\FC\F1\F8\D7\15\FB\01\E4\F8\16\F7!\E9\FC\FC\F4'\04\F9\03\C4P\08\EF\02\FA\0C\FB\01\09\0F\1B\1F\1E\1B\17=/\1A\0A\FB\F8\F4\F3\05\EE\19\F1\FC\F1\F5\0C\FE\FE\F0\FE\FA\18\0C\0B\FC\09\01\F7\0E\D39\0C\14\DD\1A\0B\C0 \F6\F6*\FC\F7\F0 \18\07\0A4\F5\C7\1D\00\08\00\FA\11\EF\C8\D8\07\14\12\0C\FA\10\05\07\FF\09\01\0A\1D\0C\10\0D\FE\17\07\09\FD\FC\FB\12\C0\0D7\E7\09\F7\18\0E\E7\0F\F5\D8\E2%\01\ED\16\FB\E1\0D\FE\00\07\FC\10\BD\0CB\DC\18\F8\12\F1\E9\13\00\D3\F9\04\03\F3\0D#\05\0D!\0A\1B\17\00\F9\F5+\B6$\F4\02\05\F8\06\DF\0B\F0\F2\FB\F9\FD\11\DE\1B\F0\0B\F7\0F!\E1\08\F0\07\FA\F9?\C9\EF\0B\FF\14\D2\22\E2\06\09\13\1C\F7\05\E8\F8\E9\FE\1F\ED\F0\FB\F1\EE\00\1A\12%\FB\F1\FE\11\05\E5\15\DF,\0C\E5\F7\11\0B\19\EB\E1\F9\0D!\F8\E7\F9\07\F6\04\FA\F70\AE\E9\F8\06\0B\E9\03\FD1\E3\19\1F\04\0E\10\09\FC\EE\0A\E6\03\05\D4\F7\09\D1\C9\0F\09\1C\01\04\FD.\06\FA\DA\E3\E1\F1\FA\03\00\0E\FA\08\CA\CE!\FB\01\F2!\D0\1A\FC\FB\FD\FB\FD\FB\E4\EAM7\FF\02\0A\0A\F7\F2\BE\CF\0B\DC\FA\EC\0A\F6\10\0C\04\FF\F0-\D4\CE\1F\FE\19*\17\E0\EA\00\0B\14\D8\DD\D8\DC\E0\E6\EB\F34\EA\06\E8\EC\11\FB\F8$\E7\F5\15\E6\06\22\F8\07\14\FD\05\E7\F8\12\FB\F7\FC\01\F7\14\14'0\E8\09\05\BF\16\1D\04\03\D5\F5 \FA\09\13\E5\F6\D1\F2\18\0A\F9\DC\F9\FF\FC\FB\FB\105\19\E6\E3\FC\F4-\C6\DE!\FB\02\FF\1B\D0\1F\F1\16\FB\04\07\07\E7\FD\0B\EA\10\F4\08\FD\07\F5-\0E\B7\ED8\D2\18\EC\1C\F4\FE\FF\DC\FD\DF\13\FA\07\02\F1\05\E1\D3\08#\0D\14\00\F70\F3\D5\FD\F3\02\FBH\BC\E5\02\01\FE\F9\05$!\D8\F4\FC\FB\17\13", align 1
@_ZL13gain_cdbk_lbr = internal constant [128 x i8] c"\E0\E0\E0\00\E1\C6\F0\16\D7\E8\D5\0E\C8\EA\C9\1D\F3!\D7/\FC\D9\F7\1D\D7\0F\F4&\F8\F1\F4\1F\01\02\D4(\EA\BE\D6\1B\DA\1C\E9&\EB\0E\DB\1F\00\15\CE4\CB\B9\E5!\DB\FF\ED\19\ED\FB\E4\16\06A\D4J\DF\D0\DF\09\D89\F2:\EF\04\D3 \E1&\DF$\E9\1C\D8'\D5\1D\F4.\DE\0D\E9\1C\F0\0F\E5\22\F2\AE\F1+\E1\19\E0\1D\EB\05\FB&\D1\C1\CD!\D2\0C\03/\E4\EF\E3\0B\F6\0E\D8&", align 1
@_ZL14ltp_params_lbr = internal constant %struct.ltp_params { i8* getelementptr inbounds ([128 x i8]* @_ZL13gain_cdbk_lbr, i32 0, i32 0), i32 5, i32 7 }, align 4
@_ZL15split_cb_nb_lbr = internal constant %struct.split_cb_params { i32 10, i32 4, i8* getelementptr inbounds ([320 x i8]* @_ZL15exc_10_32_table, i32 0, i32 0), i32 5, i32 0 }, align 4
@_ZL15exc_10_32_table = internal constant [320 x i8] c"\07\11\11\1B\19\16\0C\04\FD\00\1C\DC'\E8\F1\03\F7\0F\FB\0A\1F\E4\0B\1F\EB\09\F5\F5\FE\F9\E7\0E\EA\1F\04\F2\13\F4\0E\FB\04\F9\04\FB\09\00\FE*\D1\F0\01\08\00\09\17\C7\00\1C\F5\06\E17\D3\03\FB\04\02\FE\04\F9\FD\06\FE\07\FD\0C\05\086\F6\08\F9\F8\E8\E7\E5\F2\FB\08\05,\17\05\F7\F5\F5\F3\F7\F4\F8\E3\F8\EA\06\F1\03\F4\FF\FB\FD\22\FF\1D\F0\11\FC\0C\02\01\04\FE\FC\02\FF\0B\FD\CC\1C\1E\F7\E0\19,\EC\E8\04\06\FF\00\00\00\00\00\00\00\00\00\00\00\00\E7\F6\16\1D\0D\F3\EA\F3\FC\00\FC\F0\0A\0F\DC\E8\1C\19\FF\FDB\DF\F5\F1\06\00\03\04\FE\05\18\EC\D1\1D\13\FE\FC\FF\00\FF\FE\03\01\08\F5\05\05\C7\1C\1C\00\F0\04\FC\0C\FA\FF\02\EC=\F7\18\EA\D6\1D\06\11\08\04\02\BF\0F\08\0A\05\06\05\03\02\FE\FD\05\F7\04\FB\17\0D\17\FD\C1\03\FB\FC\FA\00\FD\17\DC\D2\09\05\05\08\04\09\FB\01\FD\0A\01\FA\0A\F5\18\D1\1F\16\F4\0E\F6\06\0B\F9\F9\07\E13\F4\FA\07\06\EF\09\F5\EC4\ED\03\FA\FA\F8\FB\17\D7%\01\EB\0A\F2\08\07\05\F1\F1\17'\E6\DF\07\02\E0\E2\EB\F8\04\0C\11\0F\0E\0B", align 1
@_ZL15ltp_params_vlbr = internal constant %struct.ltp_params { i8* getelementptr inbounds ([128 x i8]* @_ZL13gain_cdbk_lbr, i32 0, i32 0), i32 5, i32 0 }, align 4
@_ZL16split_cb_nb_vlbr = internal constant %struct.split_cb_params { i32 10, i32 4, i8* getelementptr inbounds ([160 x i8]* @_ZL15exc_10_16_table, i32 0, i32 0), i32 4, i32 0 }, align 4
@_ZL15exc_10_16_table = internal constant [160 x i8] c"\16'\0E,\0B#\FE\17\FC\06.\E4\0D\E5\E9\0C\04\14\FB\09%\EE\E9\17\00\09\FA\EC\04\FF\EF\FB\FC\11\00\01\09\FE\01\02\02\F4\08\E7'\0F\09\10\C9\F5\09\0B\05\0A\FE\C4\08\0D\FA\0B\F0\1B\D1\F4\0B\01\10\F9\09\FD\E3\09\F2\19\ED\22$\0C(\F6\FD\E8\F2\DB\EB\DD\FE\DC\03\FAC\1C\06\EF\FD\F4\F0\F1\EF\F9\C5\DC\F3\01\07\01\02\0A\02\0B\0D\0A\08\FE\07\03\05\04\02\02\FD\F8\04\FB\06\07\D6\0F#\FE\D2&\1C\EC\F7\01\07\FD\00\FE\00\00\00\00\00\00\00\00\00\00\F1\E44 \05\FB\EF\EC\F6\FF", align 1
@_ZL15exc_20_32_table = internal constant [640 x i8] c"\0C \19.$!\09\0E\FD\06\01\F8\00\F6\FB\F9\F9\F9\FB\FB\1F\E5\18\E0\FC\0A\F5\15\FD\13\17\F7\16\18\F6\FF\F6\F3\F9\F5*\DF\1F\13\F8\00\F6\F0\01\EB\EF\0A\F8\0E\08\04\0B\FE\05\FE\DF\0B\F0!\0B\FC\09\FC\0B\02\06\FB\08\FB\0B\FC\FA\1A\DC\F0\00\04\FE\F8\0C\06\FF\22\D2\EA\09\09\15\09\05\BE\FB\1A\02\0A\0D\02\13\09\0C\AF\03\0D\0D\00\F2\16\DD\06\F9\FC\06\FA\0A\FA\E1&\DF\00\F6\F5\05\F4\0C\EF\05\00\FA\0D\F7\0A\08\19!\02\F4\08\FA\0A\FE\15\07\11+\05\0B\F9\F7\EC\DC\EC\E9\FC\FC\FD\1B\F7\F7\CF\D9\DA\F5\F7\06\05\17\19\05\03\03\04\01\02\FD\FFW'\11\EB\F7\ED\F7\F1\F3\F2\EF\F5\F6\F5\F8\FA\FF\FD\FD\FF\CA\DE\E5\F8\F5\FC\FB\00\00\04\08\06\09\07\09\07\06\05\05\050\0A\13\F6\0C\FF\09\FD\02\05\FD\02\FE\FE\00\FE\E6\06\09\F9\F0\F7\02\07\07\FB\D5\0B\16\F5\F7\22%\F1\F3\FA\01\FF\01\01\C084\F5\E5\05\04\03\01\02\01\03\FF\FC\FC\F6\F9\FC\FC\02\FF\F9\F9\F4\F6\F1\F7\FB\FB\F5\F0\F3\06\10\04\F3\F0\F6\FC\02\D1\F3\19/\13\F2\EC\F8\EF\00\FD\F3\01\06\EF\F2\0F\01\0A\06\E8\00\F6\13\BB\F8\0E1\11\FB!\E3\03\FC\00\02\F8\05\FA\02x\C8\F4\D1\17\F7\06\FB\01\02\FB\01\F6\04\FF\FF\04\FF\00\FD\1E\CC\BD\1E\16\0B\FF\FC\03\00\07\02\00\01\F6\FC\F8\F3\05\01\01\FF\05\0D\F7\FD\F6\C2\160\FC\FA\02\03\05\01\01\04\01\0D\03\EC\0A\F7\0D\FE\FC\09\EC,\FF\14\E0\BD\13\00\1C\0B\08\02\F5\0F\ED\CB\1F\02\22\0A\06\FC\C6\08\0A\0D\0E\01\0C\02\00\00\80%\F8,\F7\1A\FD\12\02\06\0B\FF\09\01\05\03\00\01\01\02\0C\03\FE\FD\07\19\09\12\FA\DB\03\F8\F0\03\F6\F9\11\DE\D4\0B\11\F1\FD\F0\FF\F3\0B\D2\BF\FE\08\0D\02\04\04\05\0F\05\09\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\F7\13\F4\0C\E4&\1D\FF\0C\02\05\17\F6\03\04\F1\15\FC\03\03\06\11\F7\FC\F8\EC\1A\05\F6\06\01\ED\12\F1\F4/\FA\FE\F9\F7\FF\EF\FE\FE\F2\1E\F2\02\F9\FC\FF\F4\0B\E7\10\FD\F4\0B\F9\07\EF\01\13\E4\1F\F9\F6\07\F6\03\0C\05\F0\06\18)\E3\CA\00\01\07\FF\05\FA\0D\0A\FC\F8\08\F7\E5\CB\DA\FF\0A\13\11\10\0C\0C\00\03\F9\FC\0D\0C\E1\F2\06\FB\03\05\11+2\19\0A\01\FA\FE", align 1
@speex_wb_mode = internal constant %struct.SpeexMode { i8* bitcast (%struct.SpeexSBMode* @_ZL10sb_wb_mode to i8*), i32 (i8*, i32, i8*)* @_Z13wb_mode_queryPKviPv, i8* getelementptr inbounds ([25 x i8]* @.str37, i32 0, i32 0), i32 1, i32 4, i8* (%struct.SpeexMode*)* bitcast (i8* (%struct.SpeexMode.117*)* @_Z15sb_encoder_initPK9SpeexMode to i8* (%struct.SpeexMode*)*), void (i8*)* @_Z18sb_encoder_destroyPv, i32 (i8*, i8*, %struct.SpeexBits*)* @_Z9sb_encodePvS_P9SpeexBits, i8* (%struct.SpeexMode*)* bitcast (i8* (%struct.SpeexMode.117*)* @_Z15sb_decoder_initPK9SpeexMode to i8* (%struct.SpeexMode*)*), void (i8*)* @_Z18sb_decoder_destroyPv, i32 (i8*, %struct.SpeexBits*, i8*)* @_Z9sb_decodePvP9SpeexBitsS_, i32 (i8*, i32, i8*)* @_Z14sb_encoder_ctlPviS_, i32 (i8*, i32, i8*)* @_Z14sb_decoder_ctlPviS_ }, align 4
@speex_uwb_mode = internal constant %struct.SpeexMode { i8* bitcast (%struct.SpeexSBMode* @_ZL11sb_uwb_mode to i8*), i32 (i8*, i32, i8*)* @_Z13wb_mode_queryPKviPv, i8* getelementptr inbounds ([31 x i8]* @.str239, i32 0, i32 0), i32 2, i32 4, i8* (%struct.SpeexMode*)* bitcast (i8* (%struct.SpeexMode.117*)* @_Z15sb_encoder_initPK9SpeexMode to i8* (%struct.SpeexMode*)*), void (i8*)* @_Z18sb_encoder_destroyPv, i32 (i8*, i8*, %struct.SpeexBits*)* @_Z9sb_encodePvS_P9SpeexBits, i8* (%struct.SpeexMode*)* bitcast (i8* (%struct.SpeexMode.117*)* @_Z15sb_decoder_initPK9SpeexMode to i8* (%struct.SpeexMode*)*), void (i8*)* @_Z18sb_decoder_destroyPv, i32 (i8*, %struct.SpeexBits*, i8*)* @_Z9sb_decodePvP9SpeexBitsS_, i32 (i8*, i32, i8*)* @_Z14sb_encoder_ctlPviS_, i32 (i8*, i32, i8*)* @_Z14sb_decoder_ctlPviS_ }, align 4
@_ZL11wb_submode1 = internal constant %struct.SpeexSubmode { i32 0, i32 0, i32 1, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z14lsp_quant_highPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z16lsp_unquant_highPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* null, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* null, i8* null, void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* null, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* null, i8* null, float -1.000000e+00, i32 36 }, align 4
@_ZL17split_cb_high_lbr = internal constant %struct.split_cb_params { i32 10, i32 4, i8* getelementptr inbounds ([320 x i8]* @_ZL19hexc_10_32_table_wb, i32 0, i32 0), i32 5, i32 0 }, align 4
@_ZL11wb_submode2 = internal constant %struct.SpeexSubmode { i32 0, i32 0, i32 1, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z14lsp_quant_highPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z16lsp_unquant_highPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* null, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* null, i8* null, void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL17split_cb_high_lbr to i8*), float -1.000000e+00, i32 112 }, align 4
@_ZL13split_cb_high = internal constant %struct.split_cb_params { i32 8, i32 5, i8* getelementptr inbounds ([1024 x i8]* @_ZL13hexc_table_wb, i32 0, i32 0), i32 7, i32 1 }, align 4
@_ZL11wb_submode3 = internal constant %struct.SpeexSubmode { i32 0, i32 0, i32 1, i32 0, void (float*, float*, i32, %struct.SpeexBits*)* @_Z14lsp_quant_highPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z16lsp_unquant_highPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* null, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* null, i8* null, void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL13split_cb_high to i8*), float -1.000000e+00, i32 192 }, align 4
@_ZL11wb_submode4 = internal constant %struct.SpeexSubmode { i32 0, i32 0, i32 1, i32 1, void (float*, float*, i32, %struct.SpeexBits*)* @_Z14lsp_quant_highPfS_iP9SpeexBits, void (float*, i32, %struct.SpeexBits*)* @_Z16lsp_unquant_highPfiP9SpeexBits, i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* null, void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* null, i8* null, void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii, void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi, i8* bitcast (%struct.split_cb_params* @_ZL13split_cb_high to i8*), float -1.000000e+00, i32 352 }, align 4
@_ZL10sb_wb_mode = internal constant %struct.SpeexSBMode { %struct.SpeexMode* bitcast ({ i8*, i32 (i8*, i32, i8*)*, i8*, i32, i32, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, i8*, %struct.SpeexBits*)*, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, %struct.SpeexBits*, i8*)*, i32 (i8*, i32, i8*)*, i32 (i8*, i32, i8*)* }* @speex_nb_mode to %struct.SpeexMode*), i32 160, i32 40, i32 8, float 0x3FECCCCCC0000000, float 0x3FE3333340000000, float 0x3F2A36E2E0000000, float 0x3FECCCCCC0000000, [8 x %struct.SpeexSubmode*] [%struct.SpeexSubmode* null, %struct.SpeexSubmode* @_ZL11wb_submode1, %struct.SpeexSubmode* @_ZL11wb_submode2, %struct.SpeexSubmode* @_ZL11wb_submode3, %struct.SpeexSubmode* @_ZL11wb_submode4, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null], i32 3, [11 x i32] [i32 1, i32 8, i32 2, i32 3, i32 4, i32 5, i32 5, i32 6, i32 6, i32 7, i32 7], [11 x i32] [i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 2, i32 2, i32 3, i32 3, i32 4], [11 x float]* getelementptr inbounds ([5 x [11 x float]]* @vbr_hb_thresh, i32 0, i32 0), i32 5 }, align 4
@.str37 = private unnamed_addr constant [25 x i8] c"wideband (sub-band CELP)\00", align 1
@_ZL11sb_uwb_mode = internal constant %struct.SpeexSBMode { %struct.SpeexMode* @speex_wb_mode, i32 320, i32 80, i32 8, float 0x3FECCCCCC0000000, float 0x3FE3333340000000, float 0x3F2A36E2E0000000, float 0x3FE6666660000000, [8 x %struct.SpeexSubmode*] [%struct.SpeexSubmode* null, %struct.SpeexSubmode* @_ZL11wb_submode1, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null, %struct.SpeexSubmode* null], i32 1, [11 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10], [11 x i32] [i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1], [11 x float]* getelementptr inbounds ([2 x [11 x float]]* @vbr_uhb_thresh, i32 0, i32 0), i32 2 }, align 4
@.str239 = private unnamed_addr constant [31 x i8] c"ultra-wideband (sub-band CELP)\00", align 1
@_ZL13hexc_table_wb = internal constant [1024 x i8] c"\E8\15\EC\05\FB\F9\0E\F6\02\E5\10\EC\00\E0\1A\13\08\F5\D7\1F\1C\E5\E0\22*\22\EF\16\F6\0D\E3\12\F4\E6\E8\0B\16\05\FB\FB6\BC\D59\E7\18\04\04\1A\F8\F4\EF6\1E\D3\01\0A\F1\12\D7\0BD\BD%\F0\E8\F0&\EA\06\E3\1EB\E5\05\07\F0\0D\02\F4\F9\FD\EC$\04\E4\09\03 0\1A'\03\00\07\EB\F3\05\AE\F9I\EC\22\F7\FB\01\FF\0A\FB\F6\FF\09\01\F7\0A\00\F2\0B\FF\FE\FF\0B\14`\AF\EA\F4\F7\C6\09\18\E2\1A\DD\1B\F4\0D\EE8\C5\0F\F9\17\F1\FF\06\E7\0E\EA\EC/\F5\10\02&\E9\ED\E2\F7(\F5\05\04\FA\08\1A\EB\F5\7F\04\01\06\F7\02\F9\FE\FD\07\FB\0A\ED\07\96[\FD\09\FC\15\F8\1A\B0\08\01\FE\F6\EF\EF\E5 G\06\E3\0B\E96\DA\1D\EA'W\E1\F4\EC\03\FE\FE\02\14\00\FF\DD\1B\09\FA\F4\03\F4\FA\0D\01\0E\EA\C5\F1\EF\E7\0D\F9\07\03\00\01\F9\06\FD=\DB\E9\E9\E3&\E1\1B\01\F8\02\E5\17\E6$\DE\05\18\E8\FA\07\03\C5N\C2,\F0\01\06\00\11\08-\00\92\06\0E\FE \B3\C8>\FD\03\F3\04\F0f\F1\DC\FF\09\8F\06\17\00\09\09\05\F8\FF\F2\05\F4y\CB\E5\F8\F7\16\F3\03\02\FD\01\FE\B9_&\ED\0F\F0\FBG\0A\02\E0\F3\FB\0F\FF\FE\F2\AB\1E\1D\06\03\02\00\00\00\00\00\00\00\00\02\BF\C8\F7\12\12\17\F2\FE\00\0C\E3\1A\F4\01\02\F4\C0Z\FA\04\01\05\FB\92\FD\E1\16\E3\09\00\08\D8\FB\15\FB\FB\0D\0A\EE(\01#\EC\1E\E4\0B\FA\13\07\0E\12\C0\09\FA\103D\08\10\0C\F8\00\F7\14\EA\19\07\FC\F3)\DD]\EE\CA\0B\FF\01\F7\04\BEB\E1\14\EA\19\E9\0B\0A\09\13\0F\0B\FB\E1\F6\E9\E4\FA\FA\FD\FC\05\03\E4\16\F5\D6\19\E7\F0)\22/\FA\02*\ED\EA\05\D9 \06\DD\16\11\E2\08\E6\F5\F5\03\F4!!\DB\15\FF\06\FC\03\00\FB\05\0C\F49\1B\C3\FD\14\EF\02\00\04\00\FE\DF\C6Q\E9'\F6\FB\02\06\F9\05\04\FD\FE\F3\E9\B8k\0F\FB\00\F9\FD\FA\05\FC\0F/\0C\E1\19\F0\08\16\E7\C2\C8\EE\0E\1C\0C\02\F5J\BE)\EC\F9\10\EC\10\F8\00\F0\04\ED\5C\0C\C5\F2\D91\E7\F0\17\E5\13\FD\DF\13U\E3\06\F9\F6\10\F9\F4\01\FA\02\04\FE@\0A\E7)\FE\E1\0F\00n2E#\1C\13\F6\02\D5\CF\C8\F1\F0\0A\03\0C\FF\F8\01\1A\F4\FF\07\F5\E5)\19\01\F5\EE\16\F9\FF\D1\F8\17\FD\EF\F9\12\83;\FB\03\12\01\02\03\1B\DDA\CB2\D2%\EB\E4\07\0E\DB\FB\FB\0C\05\F8N\ED\15\FA\F0\08\F9\05\02\07\02\0A\FA\0C\C4,\0B\DC\E0\1F\00\02\FE\02\01\FD\07\F6\11\EB\0A\06\FE\13\FE;\DA\AA&\08\D7\E2\D3\DF\07\0F\1C\1D\F9\18\D8\07\07\05\FE\09\18\E9\EE\06\E3\1E\02\1C1\F5\D2\0A+\F3\F7\FF\FD\F9\F9\EF\FAa\DF\EB\03\05\01\0C\D5\F8\1C\07\D5\F9\11\EC\13\FF\02\F3\096\22\09\E4\F5\F7\EFn\C5,\E6\00\03\F4\D1I\DE\D5&\DF\10\FB\D2\FC\FA\FE\E7\13\E3\1C\F3\05\0E\1B\D8\D5\04 \F3\FE\DD\FCp\D6\09\F4%\E4\11\0E\ED#\D9\17\03\F2\FF\C7\FB^\F7\03\D9\05\1E\F6\E0*\F3\F2\9F\C1\1E\F7\01\F9\0C\05\14\11\F7\DC\E2\19/\F7\F1\0C\EAb\F8\CE\0F\E5\15\F0\F5\02\0C\F6\0A\FD!$\A0\00\EF\1F\F7\09\03\EC\0D\F5\08\FC\0A\F6\09\01p\BA\E5\05\EB\02\C7\FD\E3\0A\13\EB\15\F6\BE\FD[\DD\1E\F4\00\F9;\E4\1A\02\0E\EE\01\01\0B\11\14\CA\C5\1B\04\1D \05\13\0C\FC\01\07\F6\05\FE\0A\00\17\FB\1C\98.\0B\10\03\1D\01\F8\F2\01\07\CEX\C2\1A\08\EF\F22\00 \F4\FD\E5\12\F8\FB\08\03\EC\F5%\F4\09!.\9B\FF\FC\01\06\FF\1C\D6\F1\10\05\FF\FE\C9U&\F7\FC\0B\FE\F7\FA\03\EC\F6\B3Y\18\FD\98\C7\E6\E1\EC\FA\F7\0E\14\E9.\F1\E1\1C\01\F1\FE\06\FE\1F-\B4\17\E7", align 1
@_ZL19hexc_10_32_table_wb = internal constant [320 x i8] c"\FD\FE\FF\00\FC\05#\D8\F7\0D\D4\05\E5\FF\F9\06\F5\07\F8\07\13\F2\0F\FC\09\F6\0A\F8\0A\F7\FF\01\00\00\02\05\EE\16\CB2\01\E92\DC\0F\03\F3\0E\F6\06\01\05\FD\04\FE\05\E0\19\05\FE\FF\FC\01\0B\E3\1A\FA\F1\1E\EE\00\0F\EF(\D7\03\09\FE\FE\03\FD\FF\FB\02\15\FA\F0\EB\17\02<\0F\10\F0\F7\0E\09\FF\07\F7\00\01\01\00\FF\FA\11\E46\D3\FF\01\FF\FA\FA\02\0B\1A\E3\FE.\EB\22\0C\E9 \E9\10\F6\03B\13\EC\18\07\0B\FD\00\FD\FF\CE\D2\02\EE\FD\04\FF\FE\03\FD\ED)\DC\09\0B\E8\15\F0\09\FD\E7\FD\0A\12\F7\FE\FB\FF\FB\06\FC\FD\02\E6\15\ED#\F1\07\F3\11\ED'\D50\E1\10\F7\07\FE\FB\03\FC\09\ED\1B\C9?\DD\0A\1A\D4\FE\09\04\01\FA\08\F7\05\F8\FF\FD\F0-\D6\05\0F\F0\0A\00\00\00\00\00\00\00\00\00\00\F0\18\C9/\DA\1B\ED\07\FD\01\10\1B\14\ED\12\05\F9\01\FB\02\FA\08\EA\00\FD\FD\08\FF\07\F8\01\FD\05\00\11\D0:\CC\1D\F9\FE\03\F6\06\E6:\E1\01\FA\03]\E3'\03\11\05\06\FF\FF\FF\1B\0D\0A\13\F9\DE\0C\0A\FC\09\B4\09\08\E4\FE\F5\02\FF\03\01\AD&\D9\04\F0\FA\FE\FB\05\FE", align 1
@_ZL13nb_lpc_window = internal constant [200 x float] [float 0x3FB47AE140000000, float 0x3FB4853C20000000, float 0x3FB4A42AE0000000, float 0x3FB4D7CF60000000, float 0x3FB52007E0000000, float 0x3FB57CC3A0000000, float 0x3FB5EE02A0000000, float 0x3FB673B420000000, float 0x3FB70DA5E0000000, float 0x3FB7BBD7C0000000, float 0x3FB87E1760000000, float 0x3FB9545420000000, float 0x3FBA3E5B80000000, float 0x3FBB3C0C20000000, float 0x3FBC4D3380000000, float 0x3FBD719F80000000, float 0x3FBEA92E60000000, float 0x3FBFF39D20000000, float 0x3FC0A85440000000, float 0x3FC1600F40000000, float 0x3FC220DDC0000000, float 0x3FC2EAA6E0000000, float 0x3FC3BD3800000000, float 0x3FC4986FC0000000, float 0x3FC57C2CA0000000, float 0x3FC6684480000000, float 0x3FC75C9600000000, float 0x3FC858E640000000, float 0x3FC95D13E0000000, float 0x3FCA68F4C0000000, float 0x3FCB7C4E20000000, float 0x3FCC96F660000000, float 0x3FCDB8BAC0000000, float 0x3FCEE16940000000, float 0x3FD00867A0000000, float 0x3FD0A35940000000, float 0x3FD1417000000000, float 0x3FD1E28EE0000000, float 0x3FD2869C60000000, float 0x3FD32D7B60000000, float 0x3FD3D70A40000000, float 0x3FD4832FC0000000, float 0x3FD531CA80000000, float 0x3FD5E2C120000000, float 0x3FD695EE20000000, float 0x3FD74B3800000000, float 0x3FD8027960000000, float 0x3FD8BB94A0000000, float 0x3FD9766840000000, float 0x3FDA32D6E0000000, float 0x3FDAF0BAE0000000, float 0x3FDBAFF6E0000000, float 0x3FDC706920000000, float 0x3FDD31EC00000000, float 0x3FDDF45E00000000, float 0x3FDEB7A1C0000000, float 0x3FDF7B9180000000, float 0x3FE02005C0000000, float 0x3FE0827520000000, float 0x3FE0E50A40000000, float 0x3FE147AE20000000, float 0x3FE1AA51E0000000, float 0x3FE20CE700000000, float 0x3FE26F5660000000, float 0x3FE2D19380000000, float 0x3FE3338B40000000, float 0x3FE3952D20000000, float 0x3FE3F66620000000, float 0x3FE45727A0000000, float 0x3FE4B760C0000000, float 0x3FE516FEC0000000, float 0x3FE575F0C0000000, float 0x3FE5D42800000000, float 0x3FE63191E0000000, float 0x3FE68E1F80000000, float 0x3FE6E9C020000000, float 0x3FE7446520000000, float 0x3FE79DFBA0000000, float 0x3FE7F676E0000000, float 0x3FE84DC440000000, float 0x3FE8A3D700000000, float 0x3FE8F89E80000000, float 0x3FE94C0E00000000, float 0x3FE99E14C0000000, float 0x3FE9EEA420000000, float 0x3FEA3DAF80000000, float 0x3FEA8B2860000000, float 0x3FEAD701E0000000, float 0x3FEB212D80000000, float 0x3FEB699EA0000000, float 0x3FEBB048A0000000, float 0x3FEBF51F00000000, float 0x3FEC381740000000, float 0x3FEC7922A0000000, float 0x3FECB836A0000000, float 0x3FECF54B00000000, float 0x3FED305100000000, float 0x3FED694040000000, float 0x3FEDA00E20000000, float 0x3FEDD4B280000000, float 0x3FEE0724C0000000, float 0x3FEE375860000000, float 0x3FEE654720000000, float 0x3FEE90E880000000, float 0x3FEEBA3660000000, float 0x3FEEE12840000000, float 0x3FEF05B5C0000000, float 0x3FEF27DAA0000000, float 0x3FEF4790C0000000, float 0x3FEF64D1A0000000, float 0x3FEF7F9940000000, float 0x3FEF97E140000000, float 0x3FEFADA760000000, float 0x3FEFC0E5A0000000, float 0x3FEFD19BE0000000, float 0x3FEFDFC3C0000000, float 0x3FEFEB5B20000000, float 0x3FEFF46240000000, float 0x3FEFFAD6C0000000, float 0x3FEFFEB4A0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF4DBE0000000, float 0x3FEFD37C20000000, float 0x3FEF9BF380000000, float 0x3FEF4E6E20000000, float 0x3FEEEB2280000000, float 0x3FEE725800000000, float 0x3FEDE466C0000000, float 0x3FED41B320000000, float 0x3FEC8AB2E0000000, float 0x3FEBBFEE20000000, float 0x3FEAE1F7E0000000, float 0x3FE9F17160000000, float 0x3FE8EF0F20000000, float 0x3FE7DB8DC0000000, float 0x3FE6B7BF20000000, float 0x3FE5847F60000000, float 0x3FE442BFA0000000, float 0x3FE2F37DA0000000, float 0x3FE197CE60000000, float 0x3FE030DB60000000, float 0x3FDD7FE8E0000000, float 0x3FDA8D1D80000000, float 0x3FD78CC9A0000000, float 0x3FD48340A0000000, float 0x3FD1768160000000, float 0x3FCCDF71E0000000, float 0x3FC6FEEF60000000, float 0x3FC1918A00000000, float 0x3FBA808C80000000], align 4
@_ZL13nb_lag_window = internal constant [11 x float] [float 1.000000e+00, float 0x3FEFE8BC20000000, float 0x3FEFA35940000000, float 0x3FEF311200000000, float 0x3FEE93C8A0000000, float 0x3FEDCE0760000000, float 0x3FECE32A00000000, float 0x3FEBD6E040000000, float 0x3FEAAD6CC0000000, float 0x3FE96B3BC0000000, float 0x3FE81522A0000000], align 4
@.str41 = private unnamed_addr constant [67 x i8] c"assertion failed: st->windowSize-st->frameSize == st->subframeSize\00", align 1
@.str142 = private unnamed_addr constant [81 x i8] c"/home/asimmons/Development/sre/branches/emscripten-bugreport/lib/speex/nb_celp.c\00", align 1
@.str243 = private unnamed_addr constant [37 x i8] c"assertion failed: SUBMODE(ltp_quant)\00", align 1
@_ZL26exc_gain_quant_scal3_bound = internal unnamed_addr constant [7 x float] [float 0x3FBCC22EE0000000, float 0x3FCE555C60000000, float 0x3FD7A2DFA0000000, float 0x3FDF7DD000000000, float 0x3FE46629A0000000, float 0x3FEA8622C0000000, float 0x3FF21FE220000000], align 4
@_ZL20exc_gain_quant_scal3 = internal unnamed_addr constant [8 x float] [float 0x3FAF4C6E60000000, float 0x3FC4EF1340000000, float 0x3FD3DDCE80000000, float 0x3FDB67F4E0000000, float 0x3FE1C9D380000000, float 0x3FE7027FA0000000, float 0x3FEE09C800000000, float 0x3FF53AE040000000], align 4
@_ZL26exc_gain_quant_scal1_bound = internal unnamed_addr constant [1 x float] [float 0x3FEC186980000000], align 4
@_ZL20exc_gain_quant_scal1 = internal unnamed_addr constant [2 x float] [float 0x3FE68CD200000000, float 0x3FF0D20080000000], align 4
@.str344 = private unnamed_addr constant [44 x i8] c"assertion failed: SUBMODE(innovation_quant)\00", align 1
@_ZL13wb_skip_table = internal unnamed_addr constant [8 x i32] [i32 0, i32 36, i32 112, i32 192, i32 352, i32 0, i32 0, i32 0], align 4
@.str546 = private unnamed_addr constant [62 x i8] c"More than two wideband layers found. The stream is corrupted.\00", align 1
@.str647 = private unnamed_addr constant [39 x i8] c"assertion failed: SUBMODE(ltp_unquant)\00", align 1
@.str748 = private unnamed_addr constant [46 x i8] c"assertion failed: SUBMODE(innovation_unquant)\00", align 1
@_ZL11attenuation = internal unnamed_addr constant [10 x float] [float 1.000000e+00, float 0x3FEEC08320000000, float 0x3FEB439580000000, float 0x3FE6560420000000, float 0x3FE0DD2F20000000, float 0x3FD78D4FE0000000, float 0x3FCE560420000000, float 0x3FC20C49C0000000, float 0x3FB3B645A0000000, float 0x3FA3F7CEE0000000], align 4
@cdbk_nb = internal constant [640 x i8] c"\1E\13&\22( .+:+\05\EE\E7\D8\DF\C9\CC\14\22\1C\EC\C1\9F\A4=5/15K\F2\CB\B3\B1\00\FD\FB\13\16\1A\F7\CB\C9BZHUDJ4\FC\D7\C6\E1\EE\E1\1B \1E\12\18\03\08\05\F4\FD\1A\1CJ?\FE\D9\BD\B3\96\B6;;IA,(GHRSbXY<\FA\E1\D1\D0\F3\D9\F7\07\02O\FF\D9\C4\EFWQA2-\13\EB\BD\A5\A9\D7\CE\07\12'J\0A\E1\E4'\18\0D\17\058-\1D\0A\FB\F3\F5\DD\EE\F8\F6\F8\E7\B9\B3\EB\02\102?WW\05\E0\D8\CD\BC\00\0C\066\22\05\F4 4D@E;A-\0E\F0\E1\D8\BF\BD)1/%\F5\CC\B5\AC\FC90**!\F5\CD\BC\FA\0D\00\08\F8\1A \E9\CB\00$8Laioa\FF\E4\D9\D8\D5\CA\D4\D8\EE#\10\EC\ED\E4\D6\1D/&J-\03\E3\D0\C2\B0\98\DF8;;\0A\11.HTeu{{j\F9\DF\CF\CD\BA\BD\E5\E1FC\F0\C2\AB\ECRGVPUJ\ED\C6\B5\D3\E3\DF\EE\E7-9\F4\D6\FB\0C\1C$4@QR\0D\F7\E5\E4\16\03\02\16\1A\06\FA\D4\CD\02\0F\0A0+1\22\ED\C2\AC\A7\9A\E8\08\11=D'\18\17\13\10\FB\0C\0F\1B\0F\F8\D4\CF\C4\EE\E0\E446>\F8\D0\B3\BABeS?=%\F4\CE\B5\C0!\11\0D\19\0FM\01\D6\E3H@.1\1F=,\F8\D1\CA\D2\E2\13\14\FF\F0\00\10\F4\EE\F7\E6\E5\F6\EA5-\F6\D1\B5\AE\97\93\08\191M2Aru|vs`Z=\F7\D3\C1\C4\B5\C7\08\0B\14\1D\00\DD\CF\D5(/#(7&\E8\B4\99\90\E5\03\17\224K\08\E3\D5\0C?&#\1D\18\08\19\0B\01\F1\EE\D5\F9%(\15\EC\C8\ED\ED\FC\FE\0B\1D3?\FE\D4\C2\B5\A7\1E93J32.D@A4?7A+\12\F7\E6\DD\C9\BB\03\06\08\11\F1\C3\AA\9F\01V]JNC\FF\DA\BE\D00'\1D\19\11\FF\0D\0D\1D'23ERab\FE\DC\D2\E5\F0\E2\F3\FC\F9\FC\19\FB\F5\FA\E7\EB!\0C\1F\1D\F8\DA\CC\C1\BC\A7\DF\FF\0AJ\FE\F1;[iieWT>\F9\DF\CE\DD\CA\D1\19\11RQ\F3\C8\AD\15:\1F*\19HA\E8\BE\A5\C8\09\FE\15\0AEK\02\E8\0B\16\19\1C&\220!\07\E3\E6\11\0F\FF\0E\00\FE\00\FA\D7\BD\06\FE\F7\13\02UJ\EA\BD\AC\B9\CE\03\0B\F7\02>", align 1
@cdbk_nb_low1 = internal unnamed_addr constant [320 x i8] c"\DE\CC\F1-\02\17\154\18\DF\F7\FF\09\D4\D7\F3\EF,\16\EF\FA\FC\FF\16&\1A\10\022\1B\DD\DE\F7\D7\06\00\F0\DE3\08\F2\E1\CF\0F\DF-1!\F5\DB\C2\CA-\0B\FB\B8\0B\FF\F4\F5\18\1B\F5\D5.+!\F4\F7\FF\01\FC\E9\C7\B9\0B\08\10\11\F8\EC\E1\D750\F0\03A\E8\F8\E9\E0\DB\E0\CF\F6\EF\06&\05\F7\EF\D2\084\03\06-('\F9\FA\DE\B6\1F\08\01\F0+D\F5\ED\E1\04\06\00\FA\EF\F0\DA\F0\E2\02\09\D9\F0\FF+\F60\03\03\F0\E1\FD>D+\0D\03\F6\08\14\C8\0C\0C\FE\EE\16\F1\D8\DC\01\07)\00\01.\FA\C2\FC\F4\FE\F5\AD\F3\FE[!\F6\00\04\F5\F0O %\0E\093\EB\E4\C8\DE\00\15\09\E6\0B\1C\D6\CA\E9\FE\F1\1F\1E\08\D9\BE\D9\DC\1F\E4\D8\D2#(\16\18!0\17\DE\0E( \11\1B\FD\19\1A\F3\C3\EF\0B\04\1F<\FA\E6\D7\C0\0D\10\E66\1F\F5\E9\F7\F5\DE\B9\EB\DE\DD72\1D\EA\E5\CE\DA9!*90\1A\0B\00\CF\E1\1A\FC\F2\05N%\11\00\CF\F4\E9\1A\0E\02\02\D5\EF\F4\0A\F8\FC\08\12\0C\FA\14\F4\FA\F3\E7\22\0F(1\07\08\0D\14\14\ED\EA\FE\F8\023\CD", align 1
@cdbk_nb_low2 = internal unnamed_addr constant [320 x i8] c"\FA5\EB\E8\04\1A\11\FC\DB\19\11\DC\F3\1F\03\FA\1B\0F\F6\1F\1C\1A\F6\F6\D8\10\F9\0F\0D)\F7\00\FC2\FA\F9\0E&\16\00\D0\02\01\F3\ED \FD\C4\0B\EF\FF\E8\DE\FF#\FB\E5\1C,\0D\19\0F*\F5\0F3#\DC\14\08\FC\F4\E3\13\D11\F1\FC\10\E3\D9\0E\E2\04\19\F7\FB\CD\F2\FD\D8\E0&\05\F7\F8\FC\FF\EAG\FD\0E\1A\EE\EA\18\D7\E7\E8\06\17\13\F6'\E6\E5A-\02\F9\E6\F8\16\F4\10\0F\10\DD\FB!\EB\F8\00\17!\22\06\15$\06\F9\EA\08\DB\F2\1F&\0B\FC\FD\D9\E0\F8 \E9\FA\F4\10\14\E4\FC\17\0D\CC\FF\16\06\DF\D8\FA\04\C2\0D\05\E6#'\0B\029\F5\09\EC\E4\DF4\FB\FA\FE\16\F2\F0\D0#\01\C6\14\0D!\FF\B68\EE\EA\E1\0C\06\F2\04\FE\F7\D1\0A\FD\1D\EF\FB=\0E/\F4\02H\D9\EF\5C@\CB\CD\F1\E2\DA\D7\E3\E4\1B\09$\09\DD\D6Q\EB\14\19\F0\FB\EF\DD\15\0F\E40\02\FE\09\ED\1D\D8\1E\EE\EE\12\F0\C7\0F\EC\F4\F1\DB\F1!\D9\15\EA\F3#\0B\0D\DA\C1\1D\17\E5 \12\03\E6*!\C0\BE\EF\108\02$\03\1F\15\D7\D9\08\C7\0E%\FE\13\DC\ED\E9\E3\F0\01\FD\F8\F6\1F@\BF", align 1
@cdbk_nb_high1 = internal unnamed_addr constant [320 x i8] c"\E6\F8\1D\15\04\13\D9!\F9\DC860(\1D\FC\E8\D6\BE\D5\C4\13\FE%)\F6\DB\C4\C0\12\EAMI(\19\04\13\ED\BE\FE\0B\05\15\0E\1A\E7\AA\FC\12\01\1A\DB\0A%\FF\18\F4\C5\F5\14\FA\22\F0\F0*\13\E4\CD5 \04\0A>\15\F4\DE\1B\04\D0\D0\CE\CF\1F\F9\EB\D6\E7\FC\D5\EA;\02\1B\0C\F7\FA\F0\F8\E0\C6\F0\E3\FB)\17\E2\DF\D2\F3\F6\DA44\01\EF\F7\0A\1A\E7\FA!\EC57\19\E0\FB\D6\17\15B\05\E4\14\09K\1D\F9\D6\D9\0F\03\E9\15\06\0B\01\E3\0E?\0A6\1A\E8\CD\CF\07\E9\CD\0F\BE\01<\19\0A\00\E2\FC\F1\11\13;(\04\FB!\06\EA\C6\BA\FB\17\FA<,\E3\F0\D1\E34\ED2\1C\10#\1F$\00\EB\06\15\1B\16*\07\BE\D8\F8\07\13.\00\FC<$-\F9\E3\FA\E0\D9\02\06\F7!\14\CD\DE\12\FA\13\06\0B\05\ED\E3\FE*\F5\D3\EB\C99%\02\F2\BD\F0\E5\DAE0\13\02\EF\14\EC\F0\DE\EF\E7\C3\0AI-\10\D8\C0\EF\E3\EA8\11\D9\08\F5\08\E7\EE\F3\ED\0869$\EF\E6\FC\06\EB(*\FC\14\1F5\0A\DE\CB\1F\EF#\00\0F\FA\EC\C1\B7\16\19\1D\11\08\E3\D9\BB\12\0F\F1\FB", align 1
@cdbk_nb_high2 = internal unnamed_addr constant [320 x i8] c"\0B/\10\F7\D2\E0\1A\C0\22\FB&\F9/\14\02\B7\9D\FD\D3\14F\CC\0F\FA\F9\AE\1F\15/3'\FD\09\00\D7\F9\F1\CA\02\00\1B\E1\09\D3\EA\DA\E8\E8\08\DF\17\052\DC\EF\EE\CD\FE\0D\13+\0C\F1\F4=&&\07\0D\00\06\FF\03>\09\1B\16\DF&\DD\F7\1E\D5\F7\E0\FF\04\FC\01\FB\F5\F8&\1F\0B\F6\D6\EB\DB\01+\0F\F3\DD\ED\EE\0F\17\E6;\01\EB5\08\D7\CE\F2\E4\04\15\19\E4\D8\05\D8\D7\043\DF\F8\F8\01\11\C4\0C\19\D7\11\22+\13-\07\DB\18\F18\FE#\F60\04\D1\FE\05\FB\CA\05\FD\DF\F6\1E\FE\D4\E8\DA\09\F7*\04\06\C8,\F0\09\D8\E6\12\EC\0A\1C\D7\EB\FC\0D\EE \E2\FD%\0F\16\1C2\D8\03\E3\C0\073\ED\F5\11\E5\D8\C0\18\F4\F9\E5\03%0\FF\02\F7\DA\DE.\01\1B\FA\13\F3\1A\0A\22\14\19(2\FA\F9\1E\09\E8\00\E9G\C3\16:\DE\FC\02\CF\DF\19\1E\F8\FA\F0M\02&\F8\DD\FA\E28N\1F!\EC\0D\D9\14\16\04\15\F8\04\FA\0A\AD\D7\09\E7\D5\0F\F9\F4\DE\D9\DB\DF\13\1E\10\DF*\E7\19\BC,\F1\F5\FC\172\0E\04\D9\D5\14\E2<\09\EC\07\10\13\DF%\1D\10\DD\07&\E5", align 1
@_ZL13high_lsp_cdbk = internal constant [512 x i8] c"'\0C\F2\EC\E3\C3\BD\B4\E0\B9\BDDM.\22\05\F3\D0\D2\B8\AF\AC\C4\C6\D8\E4R]D-\1D\03\ED\D1\E4\D5\DD\E2\F8\F3\D9\A5\A5\85\A0\0A\0A\FA\EE\C9\C4\A5\C8\DC\E5\F0\D0\B5(\1C\F6\E4#\09%\13\01\EC\E1\D7\EE\E7\DD\BC\B0-\1B\FF/\0D\00\E3\DD\C7\CE\B1\B7\DA\ED\05#\0E\F6\E9\10\F8\05\E8\D8\C2\E9\E5\EA\F0\EE\D2\B8\B3+\15!\01\B0\BA\BA\C0\C8\CC\D9\DF\E1\DA\ED\ED\F1 !\FE\07\F1\F1\E8\E9\DF\D7\C8\E8\C7\05Y@)\1B\05\F7\D1\C4\9F\9F\84\EC\F7\D4\B7\1F\1D\FC@0\07\DD\C7\00\FD\E6\D1\FD\FA\D8\B4\B1\D0\0CQ7\0A\09\E8\D5\B7\C7\BB\10\05\E4\CB\12\1D\14\00\FC\F5\06\F3\17\07\EF\DD\DB\DB\E2\BC\C1\06\18\F7\F2\03\15\F3\E5\C7\CF\B0\E8\D7\FB\F0\FB\01-\19\0C\F9\03\F1\FA\F0\F1\F8\06\F3\D6\AF\B0\A9\0E\01\F6\FD\D5\BB\D2\E8\E4\E3$\06\D5\C8\F4\0C6O+\096\16\02\08\F4\D5\D2\CC\DA\BB\A7\FBK&!\05\F3\CB\C2\A9\A7\8F\9D\C9\DE\DB>7!\10\15\FE\EF\D2\E3\DA\DA\D0\D9\D6\DC\B5\B8\A8\D0\E2\15\02\F1\C7\C0\9E\AC\B4\19\01\D2\B0\F4\12\F9\03\22\06&\1F\17\04\FF\14\0E\F1\D5\B2\A5\E8\0E\FD6\10\00\E5\E4\D4\C8\AD\A4\A7\FD\228)$\16\14\F8\F9\DD\D6\C2\CF\03\0C\F6\CE\A9\A0\BE\5CF&\09\BA\B9\C2\D6\D9\D5\F5\F9\CE\B1\C6\CE\E1 \1F\FA\FC\E7\07\EF\DA\BA\C6\E5\D5\AD\E4;$\14\1F\02\E5\B9\B0\93\9E\B5\DF\E0\E1\FE!\0F\FA+!\FB\00\EA\F6\E5\DE\CF\F5\EC\D7\A5\9C\87\D99)\0A\ED\CE\DA\C5\C4\BA\EE\EC\F8\E1\F8\F1\01\F2\E6\E7!\15 \11\01\ED\ED\E6\C6\AF\DD\EA-\1E\0B\F5\03\E6\D0\A9\BD\AD\C6\03\FF\E6\EC,\0A\19'\05\F7\DD\E5\DA\07\0A\04\F7\D6\AB\9A\814,\1C\0A\D1\C3\D8\D9\EF\FF\F6\DF\D6\B6\D0\15\FCF4\0A", align 1
@_ZL14high_lsp_cdbk2 = internal constant [512 x i8] c"\DC\C2\06\F7\F6\F2\C8\17\01\E6\17\D0\EF\0C\08\F9\17\1D\DC\E4\FA\E3\EF\FB(\17\0A\0A\D2\F3$\06\04\E2\E3> \E0\FF\16\F2\01\FC\EA\D3\026\04\E2\C7\C5\F4\1B\FD\E1\08\F7\05\0A\F2 B\13\09\02\E7\DB\17\F1\12\DA\E1\05\F7\EB\0F\00\16>\1E\0F\F4\F2\D2M\15!\03\22\1D\ED2\02\0B\09\DA\F4\DB>\01\F16 \06\02\E8\14#\EB\02\13\18\F37\04\09'\ED\1E\FF\EBI6!\08\12\03\0F\06\ED\D1\06\FD\D0\CE\01\1A\14\08\E9\CEA\F2\C9\EF\E1\DB\E45\FF\EF\CB\019\0B\F8\E7\E2\DB@\05\CC\D3\0F\17\1F\0F\0E\E7\18!\FE\D4\C8\EE\06\EB\D5\04\F4\11\DB\14\F6\22\0F\02\0F7\15\F5\E1\FA.\19\10\F7\E7\F8\C2\1C\11\14\E0\E3\1A\1E\19\ED\02\F0\EF\1A\CD\022*\13\BE\17\1D\FE\03\13\ED\DB \0F\06\1E\DE\0D\0B\FB(\1F\0A\D6\04\F7\1A\F7\BA\11\FE\E9\14\EA\C93\E8\E1\16\EA\0F\F3\03\F6\E4\F08\04\C1\0B\EE\F1\EE\DA\DD\10\F9\22\FF\EB\CF\D1\09\DB\07\08E7\14\06\DF\D3\F6\F7\06\F7\0CG\0F\FD\D6\F9\E8 \DD\FE\D6\EF\FB\00\FE\DF\CA\0D\F4\DE/\17\137\07\F8J\1F\0E\10\E9\E6\13\0C\EE\CF\E4\E1\EC\02\F2\EC\D1N(\0D\E9\F5\15\FA\12\01/\05&# .\16\08\0D\10\F2\123\13('\0B\E6\FF\EF/\02\CB\F1\1F\EA&\15\F1\F0\05\DF5\0F\DAV\0B\FD\E81\0D\FC\F5\EE\1C\14\F4\E5\E6#\E7\DD\FD\EC\C3\1E\0A\C9\F4\EA\CC\CA\F2\13\E0\F4-\0F\F8\D0\F7\0B\E0\08\F0\DE\F33\12&\FE\E0\EF\16\FE\EE\E4\BA;\1B\E4\ED\F6\EC\F7\F7\F8\EB\15\F8#\FE-\FD\F7\0C\00\1E\07\D9+\1B\DA\A5\1E\1A\13\C9\FC?\0E\EF\0D\09\0D\02\07\04\06=H\FF\EF\1D\FF\EA\EF\08\E4\DB?,)\03\02\0E\09\FAK\F8\F9\F4\F1\F4\0D\09\FC\1E\EA\BF\0F\00\D3\04\FC\01\05\16\0B\17", align 1
@_ZL13sb_lpc_window = internal constant [200 x float] [float 0x3FB47AE140000000, float 0x3FB4853C20000000, float 0x3FB4A42AE0000000, float 0x3FB4D7CF60000000, float 0x3FB52007E0000000, float 0x3FB57CC3A0000000, float 0x3FB5EE02A0000000, float 0x3FB673B420000000, float 0x3FB70DA5E0000000, float 0x3FB7BBD7C0000000, float 0x3FB87E1760000000, float 0x3FB9545420000000, float 0x3FBA3E5B80000000, float 0x3FBB3C0C20000000, float 0x3FBC4D3380000000, float 0x3FBD719F80000000, float 0x3FBEA92E60000000, float 0x3FBFF39D20000000, float 0x3FC0A85440000000, float 0x3FC1600F40000000, float 0x3FC220DDC0000000, float 0x3FC2EAA6E0000000, float 0x3FC3BD3800000000, float 0x3FC4986FC0000000, float 0x3FC57C2CA0000000, float 0x3FC6684480000000, float 0x3FC75C9600000000, float 0x3FC858E640000000, float 0x3FC95D13E0000000, float 0x3FCA68F4C0000000, float 0x3FCB7C4E20000000, float 0x3FCC96F660000000, float 0x3FCDB8BAC0000000, float 0x3FCEE16940000000, float 0x3FD00867A0000000, float 0x3FD0A35940000000, float 0x3FD1417000000000, float 0x3FD1E28EE0000000, float 0x3FD2869C60000000, float 0x3FD32D7B60000000, float 0x3FD3D70A40000000, float 0x3FD4832FC0000000, float 0x3FD531CA80000000, float 0x3FD5E2C120000000, float 0x3FD695EE20000000, float 0x3FD74B3800000000, float 0x3FD8027960000000, float 0x3FD8BB94A0000000, float 0x3FD9766840000000, float 0x3FDA32D6E0000000, float 0x3FDAF0BAE0000000, float 0x3FDBAFF6E0000000, float 0x3FDC706920000000, float 0x3FDD31EC00000000, float 0x3FDDF45E00000000, float 0x3FDEB7A1C0000000, float 0x3FDF7B9180000000, float 0x3FE02005C0000000, float 0x3FE0827520000000, float 0x3FE0E50A40000000, float 0x3FE147AE20000000, float 0x3FE1AA51E0000000, float 0x3FE20CE700000000, float 0x3FE26F5660000000, float 0x3FE2D19380000000, float 0x3FE3338B40000000, float 0x3FE3952D20000000, float 0x3FE3F66620000000, float 0x3FE45727A0000000, float 0x3FE4B760C0000000, float 0x3FE516FEC0000000, float 0x3FE575F0C0000000, float 0x3FE5D42800000000, float 0x3FE63191E0000000, float 0x3FE68E1F80000000, float 0x3FE6E9C020000000, float 0x3FE7446520000000, float 0x3FE79DFBA0000000, float 0x3FE7F676E0000000, float 0x3FE84DC440000000, float 0x3FE8A3D700000000, float 0x3FE8F89E80000000, float 0x3FE94C0E00000000, float 0x3FE99E14C0000000, float 0x3FE9EEA420000000, float 0x3FEA3DAF80000000, float 0x3FEA8B2860000000, float 0x3FEAD701E0000000, float 0x3FEB212D80000000, float 0x3FEB699EA0000000, float 0x3FEBB048A0000000, float 0x3FEBF51F00000000, float 0x3FEC381740000000, float 0x3FEC7922A0000000, float 0x3FECB836A0000000, float 0x3FECF54B00000000, float 0x3FED305100000000, float 0x3FED694040000000, float 0x3FEDA00E20000000, float 0x3FEDD4B280000000, float 0x3FEE0724C0000000, float 0x3FEE375860000000, float 0x3FEE654720000000, float 0x3FEE90E880000000, float 0x3FEEBA3660000000, float 0x3FEEE12840000000, float 0x3FEF05B5C0000000, float 0x3FEF27DAA0000000, float 0x3FEF4790C0000000, float 0x3FEF64D1A0000000, float 0x3FEF7F9940000000, float 0x3FEF97E140000000, float 0x3FEFADA760000000, float 0x3FEFC0E5A0000000, float 0x3FEFD19BE0000000, float 0x3FEFDFC3C0000000, float 0x3FEFEB5B20000000, float 0x3FEFF46240000000, float 0x3FEFFAD6C0000000, float 0x3FEFFEB4A0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF4DBE0000000, float 0x3FEFD37C20000000, float 0x3FEF9BF380000000, float 0x3FEF4E6E20000000, float 0x3FEEEB2280000000, float 0x3FEE725800000000, float 0x3FEDE466C0000000, float 0x3FED41B320000000, float 0x3FEC8AB2E0000000, float 0x3FEBBFEE20000000, float 0x3FEAE1F7E0000000, float 0x3FE9F17160000000, float 0x3FE8EF0F20000000, float 0x3FE7DB8DC0000000, float 0x3FE6B7BF20000000, float 0x3FE5847F60000000, float 0x3FE442BFA0000000, float 0x3FE2F37DA0000000, float 0x3FE197CE60000000, float 0x3FE030DB60000000, float 0x3FDD7FE8E0000000, float 0x3FDA8D1D80000000, float 0x3FD78CC9A0000000, float 0x3FD48340A0000000, float 0x3FD1768160000000, float 0x3FCCDF71E0000000, float 0x3FC6FEEF60000000, float 0x3FC1918A00000000, float 0x3FBA808C80000000], align 4
@_ZL13sb_lag_window = internal constant [11 x float] [float 1.000000e+00, float 0x3FEFE8BC20000000, float 0x3FEFA35940000000, float 0x3FEF311200000000, float 0x3FEE93C8A0000000, float 0x3FEDCE0760000000, float 0x3FECE32A00000000, float 0x3FEBD6E040000000, float 0x3FEAAD6CC0000000, float 0x3FE96B3BC0000000, float 0x3FE81522A0000000], align 4
@_ZL2h0 = internal unnamed_addr constant [64 x float] [float 0x3F02DAB920000000, float 0xBF1D73C820000000, float 0xBF1CF4C200000000, float 0x3F32494EE0000000, float 0x3F2E204740000000, float 0xBF438235E0000000, float 0xBF390EFD00000000, float 0x3F52A63560000000, float 0x3F41652020000000, float 0xBF604550A0000000, float 0xBF44759D80000000, float 0x3F6A822040000000, float 0x3F42D1B600000000, float 0xBF746F8000000000, float 0xBF30F08500000000, float 0x3F7E2D09E0000000, float 0xBF3FD64340000000, float 0xBF8584A2E0000000, float 0x3F5F0B01A0000000, float 0x3F8DE37020000000, float 0xBF71AB3700000000, float 0xBF946C1BC0000000, float 0x3F80F91180000000, float 0x3F9BCFF9A0000000, float 0xBF8E6BC220000000, float 0xBFA346D340000000, float 0x3F9B14EC20000000, float 0x3FAC61A460000000, float 0xBFAA16C1C0000000, float 0xBFB908D400000000, float 0x3FC1B1BA20000000, float 0x3FDD723F40000000, float 0x3FDD723F40000000, float 0x3FC1B1BA20000000, float 0xBFB908D400000000, float 0xBFAA16C1C0000000, float 0x3FAC61A460000000, float 0x3F9B14EC20000000, float 0xBFA346D340000000, float 0xBF8E6BC220000000, float 0x3F9BCFF9A0000000, float 0x3F80F91180000000, float 0xBF946C1BC0000000, float 0xBF71AB3700000000, float 0x3F8DE37020000000, float 0x3F5F0B01A0000000, float 0xBF8584A2E0000000, float 0xBF3FD64340000000, float 0x3F7E2D09E0000000, float 0xBF30F08500000000, float 0xBF746F8000000000, float 0x3F42D1B600000000, float 0x3F6A822040000000, float 0xBF44759D80000000, float 0xBF604550A0000000, float 0x3F41652020000000, float 0x3F52A63560000000, float 0xBF390EFD00000000, float 0xBF438235E0000000, float 0x3F2E204740000000, float 0x3F32494EE0000000, float 0xBF1CF4C200000000, float 0xBF1D73C820000000, float 0x3F02DAB920000000], align 4
@_ZL16fold_quant_bound = internal unnamed_addr constant [32 x float] [float 0x3FD384CAE0000000, float 0x3FD61E2580000000, float 0x3FD9102360000000, float 0x3FDC666660000000, float 0x3FE0172F00000000, float 0x3FE23BB840000000, float 0x3FE4A92A40000000, float 0x3FE7696E60000000, float 0x3FEA8769E0000000, float 0x3FEE0FBA80000000, float 0x3FF1083120000000, float 0x3FF34CC260000000, float 0x3FF5DE9E20000000, float 0x3FF8C80C80000000, float 0x3FFC14B9C0000000, float 0x3FFFD1EB80000000, float 0x4002074540000000, float 0x40046DC5E0000000, float 0x4007261D00000000, float 0x400A3B2AA0000000, float 0x400DB94860000000, float 0x4010D73960000000, float 0x4013154220000000, float 0x40159FB940000000, float 0x401880C9E0000000, float 0x401BC40100000000, float 0x401F766D00000000, float 0x4021D36E20000000, float 0x4024330AA0000000, float 0x4026E38F00000000, float 0x4029EFBFC0000000, float 0x402D63D320000000], align 4
@_ZL14gc_quant_bound = internal unnamed_addr constant [16 x float] [float 0x3FEF5A7080000000, float 0x3FF48A9BC0000000, float 0x3FFAEA6A00000000, float 0x4001A25320000000, float 0x40071B37C0000000, float 0x400E46D1E0000000, float 0x4013D60420000000, float 0x4019FDD1A0000000, float 0x4021074FC0000000, float 0x4026501640000000, float 0x402D3CA6C0000000, float 0x403327A3A0000000, float 0x40391954C0000000, float 0x4040719D40000000, float 0x40458BEFA0000000, float 0x404C3BA200000000], align 4
@.str89 = private unnamed_addr constant [51 x i8] c"Invalid mode encountered. The stream is corrupted.\00", align 1
@.str190 = private unnamed_addr constant [25 x i8] c"Unknown nb_ctl request: \00", align 1
@.str109 = private unnamed_addr constant [32 x i8] c"Unknown nb_mode_query request: \00", align 1
@.str3112 = private unnamed_addr constant [32 x i8] c"Unknown wb_mode_query request: \00", align 1
@.str2139 = private unnamed_addr constant [36 x i8] c"This mode is meant to be used alone\00", align 1
@vbr_nb_thresh = internal unnamed_addr constant [9 x [11 x float]] [[11 x float] [float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00], [11 x float] [float 4.000000e+00, float 2.500000e+00, float 2.000000e+00, float 0x3FF3333340000000, float 5.000000e-01, float 0.000000e+00, float -5.000000e-01, float 0xBFE6666660000000, float 0xBFE99999A0000000, float 0xBFECCCCCC0000000, float -1.000000e+00], [11 x float] [float 1.000000e+01, float 6.500000e+00, float 0x4014CCCCC0000000, float 4.500000e+00, float 0x400F333340000000, float 3.500000e+00, float 3.000000e+00, float 2.500000e+00, float 0x4002666660000000, float 0x3FFCCCCCC0000000, float 1.000000e+00], [11 x float] [float 1.100000e+01, float 0x40219999A0000000, float 7.500000e+00, float 6.500000e+00, float 5.000000e+00, float 0x400F333340000000, float 0x400F333340000000, float 0x400F333340000000, float 3.500000e+00, float 3.000000e+00, float 1.000000e+00], [11 x float] [float 1.100000e+01, float 1.100000e+01, float 0x4023CCCCC0000000, float 8.500000e+00, float 7.000000e+00, float 6.000000e+00, float 4.500000e+00, float 4.000000e+00, float 4.000000e+00, float 4.000000e+00, float 2.000000e+00], [11 x float] [float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 9.500000e+00, float 8.500000e+00, float 8.000000e+00, float 7.000000e+00, float 6.000000e+00, float 5.000000e+00, float 3.000000e+00], [11 x float] [float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 9.500000e+00, float 8.500000e+00, float 7.000000e+00, float 6.000000e+00, float 5.000000e+00], [11 x float] [float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 0x40239999A0000000, float 9.500000e+00, float 7.500000e+00], [11 x float] [float 7.000000e+00, float 4.500000e+00, float 0x400D9999A0000000, float 3.000000e+00, float 2.500000e+00, float 2.000000e+00, float 0x3FFCCCCCC0000000, float 1.500000e+00, float 1.000000e+00, float 0.000000e+00, float 0.000000e+00]], align 4
@vbr_hb_thresh = internal constant [5 x [11 x float]] [[11 x float] [float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00], [11 x float] [float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00], [11 x float] [float 1.100000e+01, float 1.100000e+01, float 9.500000e+00, float 8.500000e+00, float 7.500000e+00, float 6.000000e+00, float 5.000000e+00, float 0x400F333340000000, float 3.000000e+00, float 2.000000e+00, float 1.000000e+00], [11 x float] [float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 9.500000e+00, float 0x4021666660000000, float 0x401F333340000000, float 7.000000e+00, float 6.500000e+00, float 4.000000e+00], [11 x float] [float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 1.100000e+01, float 0x40239999A0000000, float 7.500000e+00, float 5.500000e+00]], align 4
@vbr_uhb_thresh = internal constant [2 x [11 x float]] [[11 x float] [float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00], [11 x float] [float 0x400F333340000000, float 2.500000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float -1.000000e+00]], align 4
@.str163 = private unnamed_addr constant [23 x i8] c"Encoded with Speex 1.1\00", align 1
@.str1164 = private unnamed_addr constant [2 x i8] c" \00", align 1
@.str2165 = private unnamed_addr constant [10 x i8] c"-encoding\00", align 1
@.str3166 = private unnamed_addr constant [11 x i8] c"narrowband\00", align 1
@.str4167 = private unnamed_addr constant [9 x i8] c"wideband\00", align 1
@.str5168 = private unnamed_addr constant [15 x i8] c"ultra-wideband\00", align 1
@.str6169 = private unnamed_addr constant [22 x i8] c"Unknown encoding type\00", align 1
@.str7170 = private unnamed_addr constant [9 x i8] c"-quality\00", align 1
@.str8171 = private unnamed_addr constant [9 x i8] c"-bitrate\00", align 1
@.str9172 = private unnamed_addr constant [5 x i8] c"-vbr\00", align 1
@.str10173 = private unnamed_addr constant [5 x i8] c"-abr\00", align 1
@.str11174 = private unnamed_addr constant [9 x i8] c"-denoise\00", align 1
@.str12 = private unnamed_addr constant [5 x i8] c"-agc\00", align 1
@.str13175 = private unnamed_addr constant [12 x i8] c"-complexity\00", align 1
@.str14 = private unnamed_addr constant [5 x i8] c"-vad\00", align 1
@.str15176 = private unnamed_addr constant [5 x i8] c"-dtx\00", align 1
@.str16177 = private unnamed_addr constant [6 x i8] c"-rate\00", align 1
@.str17178 = private unnamed_addr constant [8 x i8] c"-stereo\00", align 1
@.str18 = private unnamed_addr constant [8 x i8] c"-endian\00", align 1
@.str19 = private unnamed_addr constant [3 x i8] c"le\00", align 1
@.str20 = private unnamed_addr constant [3 x i8] c"be\00", align 1
@.str21 = private unnamed_addr constant [32 x i8] c"Unknown endian (le or be) [%s]\0A\00", align 1
@.str22 = private unnamed_addr constant [6 x i8] c"-bits\00", align 1
@.str23 = private unnamed_addr constant [2 x i8] c"8\00", align 1
@.str24 = private unnamed_addr constant [3 x i8] c"16\00", align 1
@.str25 = private unnamed_addr constant [23 x i8] c"Unknown bit size [%s]\0A\00", align 1
@.str26179 = private unnamed_addr constant [9 x i8] c"-nframes\00", align 1
@.str27180 = private unnamed_addr constant [28 x i8] c"sampling rate out of range\0A\00", align 1
@stdout = external global %struct.__sFILE*
@__dso_handle = external global i8
@_ZNSt3__1L5__cinE = internal global %"class.std::__1::__stdinbuf" zeroinitializer, align 4
@stdin = external global %struct.__sFILE*
@_ZNSt3__1L6__coutE = internal global %"class.std::__1::__stdoutbuf" zeroinitializer, align 4
@_ZNSt3__1L6__cerrE = internal global %"class.std::__1::__stdoutbuf" zeroinitializer, align 4
@_ZNSt3__1L6__wcinE = internal global %"class.std::__1::__stdinbuf.2" zeroinitializer, align 4
@_ZNSt3__1L7__wcoutE = internal global %"class.std::__1::__stdoutbuf.5" zeroinitializer, align 4
@_ZNSt3__1L7__wcerrE = internal global %"class.std::__1::__stdoutbuf.5" zeroinitializer, align 4
@_ZNSt3__13cinE = internal global %"class.std::__1::basic_istream" zeroinitializer, align 4
@_ZNSt3__14coutE = internal global %"class.std::__1::basic_ostream" zeroinitializer, align 4
@_ZNSt3__14cerrE = internal global %"class.std::__1::basic_ostream" zeroinitializer, align 4
@_ZNSt3__14clogE = internal global %"class.std::__1::basic_ostream" zeroinitializer, align 4
@_ZNSt3__14wcinE = internal global %"class.std::__1::basic_istream.6" zeroinitializer, align 4
@_ZNSt3__15wcoutE = internal global %"class.std::__1::basic_ostream.9" zeroinitializer, align 4
@_ZNSt3__15wcerrE = internal global %"class.std::__1::basic_ostream.9" zeroinitializer, align 4
@_ZNSt3__15wclogE = internal global %"class.std::__1::basic_ostream.9" zeroinitializer, align 4
@_ZNSt3__119__start_std_streamsE = internal global %"class.std::__1::ios_base::Init" zeroinitializer, align 1
@_ZTVNSt3__111__stdoutbufIwEE = internal hidden unnamed_addr constant [16 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__111__stdoutbufIwEE to i8*), i8* bitcast (void (%"class.std::__1::__stdoutbuf.5"*)* @_ZNSt3__111__stdoutbufIwED1Ev to i8*), i8* bitcast (void (%"class.std::__1::__stdoutbuf.5"*)* @_ZNSt3__111__stdoutbufIwED0Ev to i8*), i8* bitcast (void (%"class.std::__1::__stdoutbuf.5"*, %"class.std::__1::locale"*)* @_ZNSt3__111__stdoutbufIwE5imbueERKNS_6localeE to i8*), i8* bitcast (%"class.std::__1::basic_streambuf.3"* (%"class.std::__1::basic_streambuf.3"*, i32*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6setbufEPwi to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf.3"*, i64, i32, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf.3"*, %"class.std::__1::fpos"*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI10_mbstate_tEEj to i8*), i8* bitcast (i32 (%"class.std::__1::__stdoutbuf.5"*)* @_ZNSt3__111__stdoutbufIwE4syncEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9showmanycEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwi to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9underflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5uflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwi to i8*), i8* bitcast (i32 (%"class.std::__1::__stdoutbuf.5"*, i32)* @_ZNSt3__111__stdoutbufIwE8overflowEj to i8*)]
@_ZTSNSt3__111__stdoutbufIwEE = internal hidden constant [25 x i8] c"NSt3__111__stdoutbufIwEE\00"
@_ZTINSt3__111__stdoutbufIwEE = internal hidden unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__111__stdoutbufIwEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTINSt3__115basic_streambufIwNS_11char_traitsIwEEEE to i8*) }
@_ZTVNSt3__110__stdinbufIwEE = internal hidden unnamed_addr constant [16 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__110__stdinbufIwEE to i8*), i8* bitcast (void (%"class.std::__1::__stdinbuf.2"*)* @_ZNSt3__110__stdinbufIwED1Ev to i8*), i8* bitcast (void (%"class.std::__1::__stdinbuf.2"*)* @_ZNSt3__110__stdinbufIwED0Ev to i8*), i8* bitcast (void (%"class.std::__1::__stdinbuf.2"*, %"class.std::__1::locale"*)* @_ZNSt3__110__stdinbufIwE5imbueERKNS_6localeE to i8*), i8* bitcast (%"class.std::__1::basic_streambuf.3"* (%"class.std::__1::basic_streambuf.3"*, i32*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6setbufEPwi to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf.3"*, i64, i32, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf.3"*, %"class.std::__1::fpos"*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI10_mbstate_tEEj to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE4syncEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9showmanycEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwi to i8*), i8* bitcast (i32 (%"class.std::__1::__stdinbuf.2"*)* @_ZNSt3__110__stdinbufIwE9underflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::__stdinbuf.2"*)* @_ZNSt3__110__stdinbufIwE5uflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::__stdinbuf.2"*, i32)* @_ZNSt3__110__stdinbufIwE9pbackfailEj to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwi to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE8overflowEj to i8*)]
@_ZTSNSt3__110__stdinbufIwEE = internal hidden constant [24 x i8] c"NSt3__110__stdinbufIwEE\00"
@_ZTINSt3__110__stdinbufIwEE = internal hidden unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([24 x i8]* @_ZTSNSt3__110__stdinbufIwEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTINSt3__115basic_streambufIwNS_11char_traitsIwEEEE to i8*) }
@.str9223 = private unnamed_addr constant [38 x i8] c"unsupported locale for standard input\00", align 1
@_ZTVNSt3__111__stdoutbufIcEE = internal hidden unnamed_addr constant [16 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__111__stdoutbufIcEE to i8*), i8* bitcast (void (%"class.std::__1::__stdoutbuf"*)* @_ZNSt3__111__stdoutbufIcED1Ev to i8*), i8* bitcast (void (%"class.std::__1::__stdoutbuf"*)* @_ZNSt3__111__stdoutbufIcED0Ev to i8*), i8* bitcast (void (%"class.std::__1::__stdoutbuf"*, %"class.std::__1::locale"*)* @_ZNSt3__111__stdoutbufIcE5imbueERKNS_6localeE to i8*), i8* bitcast (%"class.std::__1::basic_streambuf"* (%"class.std::__1::basic_streambuf"*, i8*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6setbufEPci to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf"*, i64, i32, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf"*, %"class.std::__1::fpos"*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI10_mbstate_tEEj to i8*), i8* bitcast (i32 (%"class.std::__1::__stdoutbuf"*)* @_ZNSt3__111__stdoutbufIcE4syncEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9showmanycEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i8*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPci to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9underflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5uflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i8*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKci to i8*), i8* bitcast (i32 (%"class.std::__1::__stdoutbuf"*, i32)* @_ZNSt3__111__stdoutbufIcE8overflowEi to i8*)]
@_ZTSNSt3__111__stdoutbufIcEE = internal hidden constant [25 x i8] c"NSt3__111__stdoutbufIcEE\00"
@_ZTINSt3__111__stdoutbufIcEE = internal hidden unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__111__stdoutbufIcEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTINSt3__115basic_streambufIcNS_11char_traitsIcEEEE to i8*) }
@_ZTVNSt3__110__stdinbufIcEE = internal hidden unnamed_addr constant [16 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__110__stdinbufIcEE to i8*), i8* bitcast (void (%"class.std::__1::__stdinbuf"*)* @_ZNSt3__110__stdinbufIcED1Ev to i8*), i8* bitcast (void (%"class.std::__1::__stdinbuf"*)* @_ZNSt3__110__stdinbufIcED0Ev to i8*), i8* bitcast (void (%"class.std::__1::__stdinbuf"*, %"class.std::__1::locale"*)* @_ZNSt3__110__stdinbufIcE5imbueERKNS_6localeE to i8*), i8* bitcast (%"class.std::__1::basic_streambuf"* (%"class.std::__1::basic_streambuf"*, i8*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6setbufEPci to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf"*, i64, i32, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf"*, %"class.std::__1::fpos"*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI10_mbstate_tEEj to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4syncEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9showmanycEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i8*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPci to i8*), i8* bitcast (i32 (%"class.std::__1::__stdinbuf"*)* @_ZNSt3__110__stdinbufIcE9underflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::__stdinbuf"*)* @_ZNSt3__110__stdinbufIcE5uflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::__stdinbuf"*, i32)* @_ZNSt3__110__stdinbufIcE9pbackfailEi to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i8*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKci to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE8overflowEi to i8*)]
@_ZTSNSt3__110__stdinbufIcEE = internal hidden constant [24 x i8] c"NSt3__110__stdinbufIcEE\00"
@_ZTINSt3__110__stdinbufIcEE = internal hidden unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([24 x i8]* @_ZTSNSt3__110__stdinbufIcEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTINSt3__115basic_streambufIcNS_11char_traitsIcEEEE to i8*) }
@llvm.global_ctors = appending global [2 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_a }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_a285 }]
@_ZTSNSt3__114__shared_countE = internal constant [25 x i8] c"NSt3__114__shared_countE\00"
@_ZTINSt3__114__shared_countE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__114__shared_countE, i32 0, i32 0) }
@_ZTVSt11logic_error = internal unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTISt11logic_error to i8*), i8* bitcast (void (%"class.std::logic_error"*)* @_ZNSt11logic_errorD2Ev to i8*), i8* bitcast (void (%"class.std::logic_error"*)* @_ZNSt11logic_errorD0Ev to i8*), i8* bitcast (i8* (%"class.std::logic_error"*)* @_ZNKSt11logic_error4whatEv to i8*)]
@_ZTVSt13runtime_error = internal unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTISt13runtime_error to i8*), i8* bitcast (void (%"class.std::runtime_error"*)* @_ZNSt13runtime_errorD2Ev to i8*), i8* bitcast (void (%"class.std::runtime_error"*)* @_ZNSt13runtime_errorD0Ev to i8*), i8* bitcast (i8* (%"class.std::runtime_error"*)* @_ZNKSt13runtime_error4whatEv to i8*)]
@_ZTSSt11logic_error = internal constant [16 x i8] c"St11logic_error\00"
@_ZTISt11logic_error = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([16 x i8]* @_ZTSSt11logic_error, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTISt9exception to i8*) }
@_ZTVSt12length_error = internal unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTISt12length_error to i8*), i8* bitcast (void (%"class.std::logic_error"*)* @_ZNSt11logic_errorD2Ev to i8*), i8* bitcast (void (%"class.std::length_error"*)* @_ZNSt12length_errorD0Ev to i8*), i8* bitcast (i8* (%"class.std::logic_error"*)* @_ZNKSt11logic_error4whatEv to i8*)]
@_ZTSSt12length_error = internal constant [17 x i8] c"St12length_error\00"
@_ZTISt12length_error = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([17 x i8]* @_ZTSSt12length_error, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTISt11logic_error to i8*) }
@_ZTSSt13runtime_error = internal constant [18 x i8] c"St13runtime_error\00"
@_ZTISt13runtime_error = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([18 x i8]* @_ZTSSt13runtime_error, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTISt9exception to i8*) }
@.str234 = private unnamed_addr constant [3 x i8] c": \00", align 1
@_ZTVNSt3__112system_errorE = internal unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__112system_errorE to i8*), i8* bitcast (void (%"class.std::__1::system_error"*)* @_ZNSt3__112system_errorD2Ev to i8*), i8* bitcast (void (%"class.std::__1::system_error"*)* @_ZNSt3__112system_errorD0Ev to i8*), i8* bitcast (i8* (%"class.std::runtime_error"*)* @_ZNKSt13runtime_error4whatEv to i8*)]
@_ZTSNSt3__112system_errorE = internal constant [23 x i8] c"NSt3__112system_errorE\00"
@_ZTINSt3__112system_errorE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([23 x i8]* @_ZTSNSt3__112system_errorE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTISt13runtime_error to i8*) }
@_ZTSNSt3__114error_categoryE = internal constant [25 x i8] c"NSt3__114error_categoryE\00"
@_ZTINSt3__114error_categoryE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__114error_categoryE, i32 0, i32 0) }
@_ZTSNSt3__112__do_messageE = internal hidden constant [23 x i8] c"NSt3__112__do_messageE\00"
@_ZTINSt3__112__do_messageE = internal hidden unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([23 x i8]* @_ZTSNSt3__112__do_messageE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTINSt3__114error_categoryE to i8*) }
@_ZNSt3__1L3mutE = internal global i32 -1, align 4
@_ZNSt3__1L2cvE = internal global i32 -1, align 4
@.str80 = private unnamed_addr constant [13 x i8] c"basic_string\00", align 1
@_ZL19__terminate_handler = internal global void ()* null, align 4
@_ZTSSt9exception = internal constant [13 x i8] c"St9exception\00"
@_ZTISt9exception = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([13 x i8]* @_ZTSSt9exception, i32 0, i32 0) }
@_ZTVNSt3__115basic_streambufIcNS_11char_traitsIcEEEE = internal unnamed_addr constant [16 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__115basic_streambufIcNS_11char_traitsIcEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_streambuf"*, %"class.std::__1::locale"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE to i8*), i8* bitcast (%"class.std::__1::basic_streambuf"* (%"class.std::__1::basic_streambuf"*, i8*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6setbufEPci to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf"*, i64, i32, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf"*, %"class.std::__1::fpos"*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI10_mbstate_tEEj to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4syncEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9showmanycEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i8*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPci to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9underflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5uflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i8*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKci to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf"*, i32)* @_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE8overflowEi to i8*)]
@_ZTVNSt3__115basic_streambufIwNS_11char_traitsIwEEEE = internal unnamed_addr constant [16 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__115basic_streambufIwNS_11char_traitsIwEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_streambuf.3"*, %"class.std::__1::locale"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE to i8*), i8* bitcast (%"class.std::__1::basic_streambuf.3"* (%"class.std::__1::basic_streambuf.3"*, i32*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6setbufEPwi to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf.3"*, i64, i32, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj to i8*), i8* bitcast (void (%"class.std::__1::fpos"*, %"class.std::__1::basic_streambuf.3"*, %"class.std::__1::fpos"*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI10_mbstate_tEEj to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE4syncEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9showmanycEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwi to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9underflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5uflowEv to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwi to i8*), i8* bitcast (i32 (%"class.std::__1::basic_streambuf.3"*, i32)* @_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE8overflowEj to i8*)]
@_ZTVNSt3__113basic_istreamIcNS_11char_traitsIcEEEE = internal unnamed_addr constant [10 x i8*] [i8* inttoptr (i32 8 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__113basic_istreamIcNS_11char_traitsIcEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_istream"*)* @_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_istream"*)* @_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev to i8*), i8* inttoptr (i32 -8 to i8*), i8* inttoptr (i32 -8 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__113basic_istreamIcNS_11char_traitsIcEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_istream"*)* @_ZTv0_n12_NSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_istream"*)* @_ZTv0_n12_NSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev to i8*)]
@_ZTVNSt3__113basic_istreamIwNS_11char_traitsIwEEEE = internal unnamed_addr constant [10 x i8*] [i8* inttoptr (i32 8 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__113basic_istreamIwNS_11char_traitsIwEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_istream.6"*)* @_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_istream.6"*)* @_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED0Ev to i8*), i8* inttoptr (i32 -8 to i8*), i8* inttoptr (i32 -8 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__113basic_istreamIwNS_11char_traitsIwEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_istream.6"*)* @_ZTv0_n12_NSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_istream.6"*)* @_ZTv0_n12_NSt3__113basic_istreamIwNS_11char_traitsIwEEED0Ev to i8*)]
@_ZTVNSt3__113basic_ostreamIcNS_11char_traitsIcEEEE = internal unnamed_addr constant [10 x i8*] [i8* inttoptr (i32 4 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__113basic_ostreamIcNS_11char_traitsIcEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_ostream"*)* @_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_ostream"*)* @_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev to i8*), i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__113basic_ostreamIcNS_11char_traitsIcEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_ostream"*)* @_ZTv0_n12_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_ostream"*)* @_ZTv0_n12_NSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev to i8*)]
@_ZTVNSt3__113basic_ostreamIwNS_11char_traitsIwEEEE = internal unnamed_addr constant [10 x i8*] [i8* inttoptr (i32 4 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__113basic_ostreamIwNS_11char_traitsIwEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_ostream.9"*)* @_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_ostream.9"*)* @_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED0Ev to i8*), i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__113basic_ostreamIwNS_11char_traitsIwEEEE to i8*), i8* bitcast (void (%"class.std::__1::basic_ostream.9"*)* @_ZTv0_n12_NSt3__113basic_ostreamIwNS_11char_traitsIwEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::basic_ostream.9"*)* @_ZTv0_n12_NSt3__113basic_ostreamIwNS_11char_traitsIwEEED0Ev to i8*)]
@.str154 = private unnamed_addr constant [9 x i8] c"iostream\00", align 1
@.str1155 = private unnamed_addr constant [36 x i8] c"unspecified iostream_category error\00", align 1
@_ZZNSt3__117iostream_categoryEvE1s = internal global %"class.std::__1::__iostream_category" zeroinitializer, align 4
@_ZGVZNSt3__117iostream_categoryEvE1s = internal global i64 0
@_ZTVNSt3__18ios_base7failureE = internal unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__18ios_base7failureE to i8*), i8* bitcast (void (%"class.std::__1::ios_base::failure"*)* @_ZNSt3__18ios_base7failureD2Ev to i8*), i8* bitcast (void (%"class.std::__1::ios_base::failure"*)* @_ZNSt3__18ios_base7failureD0Ev to i8*), i8* bitcast (i8* (%"class.std::runtime_error"*)* @_ZNKSt13runtime_error4whatEv to i8*)]
@_ZTVNSt3__18ios_baseE = internal unnamed_addr constant [4 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__18ios_baseE to i8*), i8* bitcast (void (%"class.std::__1::ios_base"*)* @_ZNSt3__18ios_baseD2Ev to i8*), i8* bitcast (void (%"class.std::__1::ios_base"*)* @_ZNSt3__18ios_baseD0Ev to i8*)]
@.str2158 = private unnamed_addr constant [16 x i8] c"ios_base::clear\00", align 1
@_ZTSNSt3__18ios_base7failureE = internal constant [26 x i8] c"NSt3__18ios_base7failureE\00"
@_ZTINSt3__18ios_base7failureE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([26 x i8]* @_ZTSNSt3__18ios_base7failureE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__112system_errorE to i8*) }
@_ZTSNSt3__18ios_baseE = internal constant [18 x i8] c"NSt3__18ios_baseE\00"
@_ZTINSt3__18ios_baseE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([18 x i8]* @_ZTSNSt3__18ios_baseE, i32 0, i32 0) }
@_ZTSNSt3__19basic_iosIcNS_11char_traitsIcEEEE = internal constant [42 x i8] c"NSt3__19basic_iosIcNS_11char_traitsIcEEEE\00"
@_ZTINSt3__19basic_iosIcNS_11char_traitsIcEEEE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([42 x i8]* @_ZTSNSt3__19basic_iosIcNS_11char_traitsIcEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTINSt3__18ios_baseE to i8*) }
@_ZTSNSt3__19basic_iosIwNS_11char_traitsIwEEEE = internal constant [42 x i8] c"NSt3__19basic_iosIwNS_11char_traitsIwEEEE\00"
@_ZTINSt3__19basic_iosIwNS_11char_traitsIwEEEE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([42 x i8]* @_ZTSNSt3__19basic_iosIwNS_11char_traitsIwEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTINSt3__18ios_baseE to i8*) }
@_ZTSNSt3__115basic_streambufIcNS_11char_traitsIcEEEE = internal constant [49 x i8] c"NSt3__115basic_streambufIcNS_11char_traitsIcEEEE\00"
@_ZTINSt3__115basic_streambufIcNS_11char_traitsIcEEEE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([49 x i8]* @_ZTSNSt3__115basic_streambufIcNS_11char_traitsIcEEEE, i32 0, i32 0) }
@_ZTSNSt3__115basic_streambufIwNS_11char_traitsIwEEEE = internal constant [49 x i8] c"NSt3__115basic_streambufIwNS_11char_traitsIwEEEE\00"
@_ZTINSt3__115basic_streambufIwNS_11char_traitsIwEEEE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([49 x i8]* @_ZTSNSt3__115basic_streambufIwNS_11char_traitsIwEEEE, i32 0, i32 0) }
@_ZTSNSt3__113basic_istreamIcNS_11char_traitsIcEEEE = internal constant [47 x i8] c"NSt3__113basic_istreamIcNS_11char_traitsIcEEEE\00"
@_ZTINSt3__113basic_istreamIcNS_11char_traitsIcEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([47 x i8]* @_ZTSNSt3__113basic_istreamIcNS_11char_traitsIcEEEE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__19basic_iosIcNS_11char_traitsIcEEEE to i8*), i32 -3069 }
@_ZTSNSt3__113basic_istreamIwNS_11char_traitsIwEEEE = internal constant [47 x i8] c"NSt3__113basic_istreamIwNS_11char_traitsIwEEEE\00"
@_ZTINSt3__113basic_istreamIwNS_11char_traitsIwEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([47 x i8]* @_ZTSNSt3__113basic_istreamIwNS_11char_traitsIwEEEE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__19basic_iosIwNS_11char_traitsIwEEEE to i8*), i32 -3069 }
@_ZTSNSt3__113basic_ostreamIcNS_11char_traitsIcEEEE = internal constant [47 x i8] c"NSt3__113basic_ostreamIcNS_11char_traitsIcEEEE\00"
@_ZTINSt3__113basic_ostreamIcNS_11char_traitsIcEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([47 x i8]* @_ZTSNSt3__113basic_ostreamIcNS_11char_traitsIcEEEE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__19basic_iosIcNS_11char_traitsIcEEEE to i8*), i32 -3069 }
@_ZTSNSt3__113basic_ostreamIwNS_11char_traitsIwEEEE = internal constant [47 x i8] c"NSt3__113basic_ostreamIwNS_11char_traitsIwEEEE\00"
@_ZTINSt3__113basic_ostreamIwNS_11char_traitsIwEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([47 x i8]* @_ZTSNSt3__113basic_ostreamIwNS_11char_traitsIwEEEE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__19basic_iosIwNS_11char_traitsIwEEEE to i8*), i32 -3069 }
@_ZTVNSt3__119__iostream_categoryE = internal hidden unnamed_addr constant [9 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__119__iostream_categoryE to i8*), i8* bitcast (void (%"class.std::__1::__iostream_category"*)* @_ZNSt3__119__iostream_categoryD1Ev to i8*), i8* bitcast (void (%"class.std::__1::__iostream_category"*)* @_ZNSt3__119__iostream_categoryD0Ev to i8*), i8* bitcast (i8* (%"class.std::__1::__iostream_category"*)* @_ZNKSt3__119__iostream_category4nameEv to i8*), i8* bitcast (void (%"class.std::__1::error_condition"*, %"class.std::__1::error_category"*, i32)* @_ZNKSt3__114error_category23default_error_conditionEi to i8*), i8* bitcast (i1 (%"class.std::__1::error_category"*, i32, %"class.std::__1::error_condition"*)* @_ZNKSt3__114error_category10equivalentEiRKNS_15error_conditionE to i8*), i8* bitcast (i1 (%"class.std::__1::error_category"*, %"class.std::__1::error_code"*, i32)* @_ZNKSt3__114error_category10equivalentERKNS_10error_codeEi to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::__iostream_category"*, i32)* @_ZNKSt3__119__iostream_category7messageEi to i8*)]
@_ZTSNSt3__119__iostream_categoryE = internal hidden constant [30 x i8] c"NSt3__119__iostream_categoryE\00"
@_ZTINSt3__119__iostream_categoryE = internal hidden unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([30 x i8]* @_ZTSNSt3__119__iostream_categoryE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__112__do_messageE to i8*) }
@_ZTVNSt3__17collateIcEE = internal unnamed_addr constant [8 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__17collateIcEE to i8*), i8* bitcast (void (%"class.std::__1::collate"*)* @_ZNSt3__17collateIcED1Ev to i8*), i8* bitcast (void (%"class.std::__1::collate"*)* @_ZNSt3__17collateIcED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::collate"*, i8*, i8*, i8*, i8*)* @_ZNKSt3__17collateIcE10do_compareEPKcS3_S3_S3_ to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::collate"*, i8*, i8*)* @_ZNKSt3__17collateIcE12do_transformEPKcS3_ to i8*), i8* bitcast (i32 (%"class.std::__1::collate"*, i8*, i8*)* @_ZNKSt3__17collateIcE7do_hashEPKcS3_ to i8*)]
@_ZNSt3__17collateIcE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__17collateIcE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__17collateIwEE = internal unnamed_addr constant [8 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__17collateIwEE to i8*), i8* bitcast (void (%"class.std::__1::collate.1"*)* @_ZNSt3__17collateIwED1Ev to i8*), i8* bitcast (void (%"class.std::__1::collate.1"*)* @_ZNSt3__17collateIwED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::collate.1"*, i32*, i32*, i32*, i32*)* @_ZNKSt3__17collateIwE10do_compareEPKwS3_S3_S3_ to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::collate.1"*, i32*, i32*)* @_ZNKSt3__17collateIwE12do_transformEPKwS3_ to i8*), i8* bitcast (i32 (%"class.std::__1::collate.1"*, i32*, i32*)* @_ZNKSt3__17collateIwE7do_hashEPKwS3_ to i8*)]
@_ZNSt3__17collateIwE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__17collateIwE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant [16 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::num_get"*)* @_ZNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::num_get"*)* @_ZNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, i8*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRb to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, i32*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRl to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, i64*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRx to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, i16*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRt to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, i32*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_ to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, i32*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, i64*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRy to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, float*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRf to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, double*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRd to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, x86_fp80*)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRe to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, i8**)* @_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv to i8*)]
@_ZNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal unnamed_addr global i64 0
@_ZNSt3__114__num_get_base5__srcE = internal constant [33 x i8] c"0123456789abcdefABCDEFxX+-pPiInN\00", align 1
@.str237 = private unnamed_addr constant [3 x i8] c"%p\00", align 1
@_ZTVNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant [16 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::num_get"*)* @_ZNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::num_get"*)* @_ZNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, i8*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRb to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, i32*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRl to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, i64*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRx to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, i16*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRt to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, i32*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_ to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, i32*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, i64*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRy to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, float*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRf to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, double*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRd to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, x86_fp80*)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRe to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::num_get"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, i8**)* @_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv to i8*)]
@_ZNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant [13 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::num_put"*)* @_ZNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::num_put"*)* @_ZNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::ios_base"*, i8, i1)* @_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcb to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::ios_base"*, i8, i32)* @_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcl to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::ios_base"*, i8, i64)* @_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::ios_base"*, i8, i32)* @_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcm to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::ios_base"*, i8, i64)* @_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::ios_base"*, i8, double)* @_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcd to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::ios_base"*, i8, x86_fp80)* @_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::ios_base"*, i8, i8*)* @_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPKv to i8*)]
@_ZNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant [13 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::num_put"*)* @_ZNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::num_put"*)* @_ZNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::ios_base"*, i32, i1)* @_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwb to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::ios_base"*, i32, i32)* @_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwl to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::ios_base"*, i32, i64)* @_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::ios_base"*, i32, i32)* @_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwm to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::ios_base"*, i32, i64)* @_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::ios_base"*, i32, double)* @_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwd to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::ios_base"*, i32, x86_fp80)* @_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::num_put"*, %"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::ios_base"*, i32, i8*)* @_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKv to i8*)]
@_ZNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal unnamed_addr global i64 0
@_ZZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwmE5__fmt = private unnamed_addr constant [6 x i8] c"%\00\00\00\00\00", align 1
@_ZZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKvE5__fmt = private unnamed_addr constant [6 x i8] c"%p\00\00\00\00", align 1
@_ZTVNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant [21 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::time_get"*)* @_ZNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::time_get"*)* @_ZNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::time_get"*)* @_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::time_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::time_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::time_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::time_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::time_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::time_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*, i8, i8)* @_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc to i8*), i8* inttoptr (i32 -8 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE to i8*), i8* bitcast (%"class.std::__1::basic_string.11"* (%"class.std::__1::__time_get_c_storage"*)* @_ZNKSt3__120__time_get_c_storageIcE7__weeksEv to i8*), i8* bitcast (%"class.std::__1::basic_string.11"* (%"class.std::__1::__time_get_c_storage"*)* @_ZNKSt3__120__time_get_c_storageIcE8__monthsEv to i8*), i8* bitcast (%"class.std::__1::basic_string.11"* (%"class.std::__1::__time_get_c_storage"*)* @_ZNKSt3__120__time_get_c_storageIcE7__am_pmEv to i8*), i8* bitcast (%"class.std::__1::basic_string.11"* (%"class.std::__1::__time_get_c_storage"*)* @_ZNKSt3__120__time_get_c_storageIcE3__cEv to i8*), i8* bitcast (%"class.std::__1::basic_string.11"* (%"class.std::__1::__time_get_c_storage"*)* @_ZNKSt3__120__time_get_c_storageIcE3__rEv to i8*), i8* bitcast (%"class.std::__1::basic_string.11"* (%"class.std::__1::__time_get_c_storage"*)* @_ZNKSt3__120__time_get_c_storageIcE3__xEv to i8*), i8* bitcast (%"class.std::__1::basic_string.11"* (%"class.std::__1::__time_get_c_storage"*)* @_ZNKSt3__120__time_get_c_storageIcE3__XEv to i8*)]
@_ZNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal unnamed_addr global i64 0
@_ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tmE5__fmt = internal constant [8 x i8] c"%H:%M:%S", align 1
@_ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt = internal constant [8 x i8] c"%m/%d/%y", align 1
@_ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt11 = internal constant [8 x i8] c"%Y-%m-%d", align 1
@_ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt12 = internal constant [11 x i8] c"%I:%M:%S %p", align 1
@_ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt13 = internal constant [5 x i8] c"%H:%M", align 1
@_ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt14 = internal constant [8 x i8] c"%H:%M:%S", align 1
@_ZTVNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant [21 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::time_get.28"*)* @_ZNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::time_get.28"*)* @_ZNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::time_get.28"*)* @_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::time_get.28"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::time_get.28"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::time_get.28"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::time_get.28"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::time_get.28"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*)* @_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::time_get.28"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::ios_base"*, i32*, %struct.tm*, i8, i8)* @_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc to i8*), i8* inttoptr (i32 -8 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE to i8*), i8* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::__time_get_c_storage.29"*)* @_ZNKSt3__120__time_get_c_storageIwE7__weeksEv to i8*), i8* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::__time_get_c_storage.29"*)* @_ZNKSt3__120__time_get_c_storageIwE8__monthsEv to i8*), i8* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::__time_get_c_storage.29"*)* @_ZNKSt3__120__time_get_c_storageIwE7__am_pmEv to i8*), i8* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::__time_get_c_storage.29"*)* @_ZNKSt3__120__time_get_c_storageIwE3__cEv to i8*), i8* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::__time_get_c_storage.29"*)* @_ZNKSt3__120__time_get_c_storageIwE3__rEv to i8*), i8* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::__time_get_c_storage.29"*)* @_ZNKSt3__120__time_get_c_storageIwE3__xEv to i8*), i8* bitcast (%"class.std::__1::basic_string"* (%"class.std::__1::__time_get_c_storage.29"*)* @_ZNKSt3__120__time_get_c_storageIwE3__XEv to i8*)]
@_ZNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal unnamed_addr global i64 0
@_ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tmE5__fmt = internal constant [8 x i32] [i32 37, i32 72, i32 58, i32 37, i32 77, i32 58, i32 37, i32 83], align 4
@_ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt = internal constant [8 x i32] [i32 37, i32 109, i32 47, i32 37, i32 100, i32 47, i32 37, i32 121], align 4
@_ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt16 = internal constant [8 x i32] [i32 37, i32 89, i32 45, i32 37, i32 109, i32 45, i32 37, i32 100], align 4
@_ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt17 = internal constant [11 x i32] [i32 37, i32 73, i32 58, i32 37, i32 77, i32 58, i32 37, i32 83, i32 32, i32 37, i32 112], align 4
@_ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt18 = internal constant [5 x i32] [i32 37, i32 72, i32 58, i32 37, i32 77], align 4
@_ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE5__fmt19 = internal constant [8 x i32] [i32 37, i32 72, i32 58, i32 37, i32 77, i32 58, i32 37, i32 83], align 4
@_ZTVNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant [6 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::time_put"*)* @_ZNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::time_put"*)* @_ZNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::time_put"*, %"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::ios_base"*, i8, %struct.tm*, i8, i8)* @_ZNKSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPK2tmcc to i8*)]
@_ZNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant [6 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::time_put.32"*)* @_ZNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::time_put.32"*)* @_ZNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::time_put.32"*, %"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::ios_base"*, i32, %struct.tm*, i8, i8)* @_ZNKSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPK2tmcc to i8*)]
@_ZNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__110moneypunctIcLb0EEE = internal unnamed_addr constant [14 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__110moneypunctIcLb0EEE to i8*), i8* bitcast (void (%"class.std::__1::moneypunct"*)* @_ZNSt3__110moneypunctIcLb0EED1Ev to i8*), i8* bitcast (void (%"class.std::__1::moneypunct"*)* @_ZNSt3__110moneypunctIcLb0EED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i8 (%"class.std::__1::moneypunct"*)* @_ZNKSt3__110moneypunctIcLb0EE16do_decimal_pointEv to i8*), i8* bitcast (i8 (%"class.std::__1::moneypunct"*)* @_ZNKSt3__110moneypunctIcLb0EE16do_thousands_sepEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct"*)* @_ZNKSt3__110moneypunctIcLb0EE11do_groupingEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct"*)* @_ZNKSt3__110moneypunctIcLb0EE14do_curr_symbolEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct"*)* @_ZNKSt3__110moneypunctIcLb0EE16do_positive_signEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct"*)* @_ZNKSt3__110moneypunctIcLb0EE16do_negative_signEv to i8*), i8* bitcast (i32 (%"class.std::__1::moneypunct"*)* @_ZNKSt3__110moneypunctIcLb0EE14do_frac_digitsEv to i8*), i8* bitcast (void (%"struct.std::__1::money_base::pattern"*, %"class.std::__1::moneypunct"*)* @_ZNKSt3__110moneypunctIcLb0EE13do_pos_formatEv to i8*), i8* bitcast (void (%"struct.std::__1::money_base::pattern"*, %"class.std::__1::moneypunct"*)* @_ZNKSt3__110moneypunctIcLb0EE13do_neg_formatEv to i8*)]
@_ZNSt3__110moneypunctIcLb0EE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__110moneypunctIcLb0EE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__110moneypunctIcLb1EEE = internal unnamed_addr constant [14 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__110moneypunctIcLb1EEE to i8*), i8* bitcast (void (%"class.std::__1::moneypunct.34"*)* @_ZNSt3__110moneypunctIcLb1EED1Ev to i8*), i8* bitcast (void (%"class.std::__1::moneypunct.34"*)* @_ZNSt3__110moneypunctIcLb1EED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i8 (%"class.std::__1::moneypunct.34"*)* @_ZNKSt3__110moneypunctIcLb1EE16do_decimal_pointEv to i8*), i8* bitcast (i8 (%"class.std::__1::moneypunct.34"*)* @_ZNKSt3__110moneypunctIcLb1EE16do_thousands_sepEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct.34"*)* @_ZNKSt3__110moneypunctIcLb1EE11do_groupingEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct.34"*)* @_ZNKSt3__110moneypunctIcLb1EE14do_curr_symbolEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct.34"*)* @_ZNKSt3__110moneypunctIcLb1EE16do_positive_signEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct.34"*)* @_ZNKSt3__110moneypunctIcLb1EE16do_negative_signEv to i8*), i8* bitcast (i32 (%"class.std::__1::moneypunct.34"*)* @_ZNKSt3__110moneypunctIcLb1EE14do_frac_digitsEv to i8*), i8* bitcast (void (%"struct.std::__1::money_base::pattern"*, %"class.std::__1::moneypunct.34"*)* @_ZNKSt3__110moneypunctIcLb1EE13do_pos_formatEv to i8*), i8* bitcast (void (%"struct.std::__1::money_base::pattern"*, %"class.std::__1::moneypunct.34"*)* @_ZNKSt3__110moneypunctIcLb1EE13do_neg_formatEv to i8*)]
@_ZNSt3__110moneypunctIcLb1EE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__110moneypunctIcLb1EE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__110moneypunctIwLb0EEE = internal unnamed_addr constant [14 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__110moneypunctIwLb0EEE to i8*), i8* bitcast (void (%"class.std::__1::moneypunct.35"*)* @_ZNSt3__110moneypunctIwLb0EED1Ev to i8*), i8* bitcast (void (%"class.std::__1::moneypunct.35"*)* @_ZNSt3__110moneypunctIwLb0EED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::moneypunct.35"*)* @_ZNKSt3__110moneypunctIwLb0EE16do_decimal_pointEv to i8*), i8* bitcast (i32 (%"class.std::__1::moneypunct.35"*)* @_ZNKSt3__110moneypunctIwLb0EE16do_thousands_sepEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct.35"*)* @_ZNKSt3__110moneypunctIwLb0EE11do_groupingEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::moneypunct.35"*)* @_ZNKSt3__110moneypunctIwLb0EE14do_curr_symbolEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::moneypunct.35"*)* @_ZNKSt3__110moneypunctIwLb0EE16do_positive_signEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::moneypunct.35"*)* @_ZNKSt3__110moneypunctIwLb0EE16do_negative_signEv to i8*), i8* bitcast (i32 (%"class.std::__1::moneypunct.35"*)* @_ZNKSt3__110moneypunctIwLb0EE14do_frac_digitsEv to i8*), i8* bitcast (void (%"struct.std::__1::money_base::pattern"*, %"class.std::__1::moneypunct.35"*)* @_ZNKSt3__110moneypunctIwLb0EE13do_pos_formatEv to i8*), i8* bitcast (void (%"struct.std::__1::money_base::pattern"*, %"class.std::__1::moneypunct.35"*)* @_ZNKSt3__110moneypunctIwLb0EE13do_neg_formatEv to i8*)]
@_ZNSt3__110moneypunctIwLb0EE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__110moneypunctIwLb0EE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__110moneypunctIwLb1EEE = internal unnamed_addr constant [14 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__110moneypunctIwLb1EEE to i8*), i8* bitcast (void (%"class.std::__1::moneypunct.36"*)* @_ZNSt3__110moneypunctIwLb1EED1Ev to i8*), i8* bitcast (void (%"class.std::__1::moneypunct.36"*)* @_ZNSt3__110moneypunctIwLb1EED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::moneypunct.36"*)* @_ZNKSt3__110moneypunctIwLb1EE16do_decimal_pointEv to i8*), i8* bitcast (i32 (%"class.std::__1::moneypunct.36"*)* @_ZNKSt3__110moneypunctIwLb1EE16do_thousands_sepEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::moneypunct.36"*)* @_ZNKSt3__110moneypunctIwLb1EE11do_groupingEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::moneypunct.36"*)* @_ZNKSt3__110moneypunctIwLb1EE14do_curr_symbolEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::moneypunct.36"*)* @_ZNKSt3__110moneypunctIwLb1EE16do_positive_signEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::moneypunct.36"*)* @_ZNKSt3__110moneypunctIwLb1EE16do_negative_signEv to i8*), i8* bitcast (i32 (%"class.std::__1::moneypunct.36"*)* @_ZNKSt3__110moneypunctIwLb1EE14do_frac_digitsEv to i8*), i8* bitcast (void (%"struct.std::__1::money_base::pattern"*, %"class.std::__1::moneypunct.36"*)* @_ZNKSt3__110moneypunctIwLb1EE13do_pos_formatEv to i8*), i8* bitcast (void (%"struct.std::__1::money_base::pattern"*, %"class.std::__1::moneypunct.36"*)* @_ZNKSt3__110moneypunctIwLb1EE13do_neg_formatEv to i8*)]
@_ZNSt3__110moneypunctIwLb1EE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__110moneypunctIwLb1EE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant [7 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::money_get"*)* @_ZNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::money_get"*)* @_ZNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::money_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, i1, %"class.std::__1::ios_base"*, i32*, x86_fp80*)* @_ZNKSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator"*, %"class.std::__1::money_get"*, %"class.std::__1::istreambuf_iterator"*, %"class.std::__1::istreambuf_iterator"*, i1, %"class.std::__1::ios_base"*, i32*, %"class.std::__1::basic_string.11"*)* @_ZNKSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE to i8*)]
@_ZNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal unnamed_addr global i64 0
@_ZZNKSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjReE5__src = internal constant [11 x i8] c"0123456789\00", align 1
@.str27248 = private unnamed_addr constant [4 x i8] c"%Lf\00", align 1
@.str28249 = private unnamed_addr constant [16 x i8] c"money_get error\00", align 1
@_ZTVNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant [7 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::money_get.43"*)* @_ZNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::money_get.43"*)* @_ZNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::money_get.43"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, i1, %"class.std::__1::ios_base"*, i32*, x86_fp80*)* @_ZNKSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe to i8*), i8* bitcast (void (%"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::money_get.43"*, %"class.std::__1::istreambuf_iterator.13"*, %"class.std::__1::istreambuf_iterator.13"*, i1, %"class.std::__1::ios_base"*, i32*, %"class.std::__1::basic_string"*)* @_ZNKSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE to i8*)]
@_ZNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal unnamed_addr global i64 0
@_ZZNKSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjReE5__src = internal constant [11 x i8] c"0123456789\00", align 1
@_ZTVNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant [7 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::money_put"*)* @_ZNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::money_put"*)* @_ZNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::money_put"*, %"class.std::__1::ostreambuf_iterator"*, i1, %"class.std::__1::ios_base"*, i8, x86_fp80)* @_ZNKSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator"*, %"class.std::__1::money_put"*, %"class.std::__1::ostreambuf_iterator"*, i1, %"class.std::__1::ios_base"*, i8, %"class.std::__1::basic_string.11"*)* @_ZNKSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE to i8*)]
@_ZNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE = internal unnamed_addr global i64 0
@.str31250 = private unnamed_addr constant [6 x i8] c"%.0Lf\00", align 1
@_ZTVNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant [7 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE to i8*), i8* bitcast (void (%"class.std::__1::money_put.46"*)* @_ZNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED1Ev to i8*), i8* bitcast (void (%"class.std::__1::money_put.46"*)* @_ZNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::money_put.46"*, %"class.std::__1::ostreambuf_iterator.23"*, i1, %"class.std::__1::ios_base"*, i32, x86_fp80)* @_ZNKSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe to i8*), i8* bitcast (void (%"class.std::__1::ostreambuf_iterator.23"*, %"class.std::__1::money_put.46"*, %"class.std::__1::ostreambuf_iterator.23"*, i1, %"class.std::__1::ios_base"*, i32, %"class.std::__1::basic_string"*)* @_ZNKSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE to i8*)]
@_ZNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__18messagesIcEE = internal unnamed_addr constant [8 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__18messagesIcEE to i8*), i8* bitcast (void (%"class.std::__1::messages"*)* @_ZNSt3__18messagesIcED1Ev to i8*), i8* bitcast (void (%"class.std::__1::messages"*)* @_ZNSt3__18messagesIcED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::messages"*, %"class.std::__1::basic_string.11"*, %"class.std::__1::locale"*)* @_ZNKSt3__18messagesIcE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::messages"*, i32, i32, i32, %"class.std::__1::basic_string.11"*)* @_ZNKSt3__18messagesIcE6do_getEiiiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE to i8*), i8* bitcast (void (%"class.std::__1::messages"*, i32)* @_ZNKSt3__18messagesIcE8do_closeEi to i8*)]
@_ZNSt3__18messagesIcE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__18messagesIcE2idE = internal unnamed_addr global i64 0
@_ZTVNSt3__18messagesIwEE = internal unnamed_addr constant [8 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__18messagesIwEE to i8*), i8* bitcast (void (%"class.std::__1::messages.52"*)* @_ZNSt3__18messagesIwED1Ev to i8*), i8* bitcast (void (%"class.std::__1::messages.52"*)* @_ZNSt3__18messagesIwED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::messages.52"*, %"class.std::__1::basic_string.11"*, %"class.std::__1::locale"*)* @_ZNKSt3__18messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::messages.52"*, i32, i32, i32, %"class.std::__1::basic_string"*)* @_ZNKSt3__18messagesIwE6do_getEiiiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE to i8*), i8* bitcast (void (%"class.std::__1::messages.52"*, i32)* @_ZNKSt3__18messagesIwE8do_closeEi to i8*)]
@_ZNSt3__18messagesIwE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZGVNSt3__18messagesIwE2idE = internal unnamed_addr global i64 0
@.str35252 = private unnamed_addr constant [7 x i8] c"vector\00", align 1
@_ZZNSt3__16__clocEvE6result = internal unnamed_addr global i8* null, align 4
@_ZGVZNSt3__16__clocEvE6result = internal global i64 0
@_ZTVNSt3__16locale5__impE = internal hidden unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5__impE to i8*), i8* bitcast (void (%"class.std::__1::locale::__imp"*)* @_ZNSt3__16locale5__impD2Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::__imp"*)* @_ZNSt3__16locale5__impD0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*)]
@_ZZNSt3__16locale5__imp12make_classicEvE3buf = internal unnamed_addr global %"struct.std::__1::aligned_storage<4, 4>::type" zeroinitializer, align 4
@_ZGVZNSt3__16locale7classicEvE1c = internal global i64 0
@_ZZNSt3__16locale5__imp11make_globalEvE3buf = internal global %"struct.std::__1::aligned_storage<4, 4>::type" zeroinitializer, align 4
@_ZZNSt3__16locale8__globalEvE1g = internal unnamed_addr global %"class.std::__1::locale"* null, align 4
@_ZGVZNSt3__16locale8__globalEvE1g = internal global i64 0
@_ZNSt3__16locale2id9__next_idE = internal global i32 0, align 4
@_ZNSt3__15ctypeIwE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZNSt3__15ctypeIcE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZTVNSt3__15ctypeIcEE = internal unnamed_addr constant [13 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__15ctypeIcEE to i8*), i8* bitcast (void (%"class.std::__1::ctype.173"*)* @_ZNSt3__15ctypeIcED2Ev to i8*), i8* bitcast (void (%"class.std::__1::ctype.173"*)* @_ZNSt3__15ctypeIcED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i8 (%"class.std::__1::ctype.173"*, i8)* @_ZNKSt3__15ctypeIcE10do_toupperEc to i8*), i8* bitcast (i8* (%"class.std::__1::ctype.173"*, i8*, i8*)* @_ZNKSt3__15ctypeIcE10do_toupperEPcPKc to i8*), i8* bitcast (i8 (%"class.std::__1::ctype.173"*, i8)* @_ZNKSt3__15ctypeIcE10do_tolowerEc to i8*), i8* bitcast (i8* (%"class.std::__1::ctype.173"*, i8*, i8*)* @_ZNKSt3__15ctypeIcE10do_tolowerEPcPKc to i8*), i8* bitcast (i8 (%"class.std::__1::ctype.173"*, i8)* @_ZNKSt3__15ctypeIcE8do_widenEc to i8*), i8* bitcast (i8* (%"class.std::__1::ctype.173"*, i8*, i8*, i8*)* @_ZNKSt3__15ctypeIcE8do_widenEPKcS3_Pc to i8*), i8* bitcast (i8 (%"class.std::__1::ctype.173"*, i8, i8)* @_ZNKSt3__15ctypeIcE9do_narrowEcc to i8*), i8* bitcast (i8* (%"class.std::__1::ctype.173"*, i8*, i8*, i8, i8*)* @_ZNKSt3__15ctypeIcE9do_narrowEPKcS3_cPc to i8*)]
@_ZNSt3__17codecvtIcc10_mbstate_tE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZNSt3__17codecvtIwc10_mbstate_tE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZTVNSt3__17codecvtIwc10_mbstate_tEE = internal unnamed_addr constant [12 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17codecvtIwc10_mbstate_tEE to i8*), i8* bitcast (void (%"class.std::__1::codecvt.60"*)* @_ZNSt3__17codecvtIwc10_mbstate_tED2Ev to i8*), i8* bitcast (void (%"class.std::__1::codecvt.60"*)* @_ZNSt3__17codecvtIwc10_mbstate_tED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt.60"*, %struct._mbstate_t*, i32*, i32*, i32**, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIwc10_mbstate_tE6do_outERS1_PKwS5_RS5_PcS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt.60"*, %struct._mbstate_t*, i8*, i8*, i8**, i32*, i32*, i32**)* @_ZNKSt3__17codecvtIwc10_mbstate_tE5do_inERS1_PKcS5_RS5_PwS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt.60"*, %struct._mbstate_t*, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIwc10_mbstate_tE10do_unshiftERS1_PcS4_RS4_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt.60"*)* @_ZNKSt3__17codecvtIwc10_mbstate_tE11do_encodingEv to i8*), i8* bitcast (i1 (%"class.std::__1::codecvt.60"*)* @_ZNKSt3__17codecvtIwc10_mbstate_tE16do_always_noconvEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt.60"*, %struct._mbstate_t*, i8*, i8*, i32)* @_ZNKSt3__17codecvtIwc10_mbstate_tE9do_lengthERS1_PKcS5_j to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt.60"*)* @_ZNKSt3__17codecvtIwc10_mbstate_tE13do_max_lengthEv to i8*)]
@_ZNSt3__17codecvtIDsc10_mbstate_tE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZNSt3__17codecvtIDic10_mbstate_tE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZNSt3__18numpunctIcE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZNSt3__18numpunctIwE2idE = internal global %"class.std::__1::locale::id" zeroinitializer, align 4
@_ZTVNSt3__18numpunctIcEE = internal unnamed_addr constant [10 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__18numpunctIcEE to i8*), i8* bitcast (void (%"class.std::__1::numpunct"*)* @_ZNSt3__18numpunctIcED2Ev to i8*), i8* bitcast (void (%"class.std::__1::numpunct"*)* @_ZNSt3__18numpunctIcED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i8 (%"class.std::__1::numpunct"*)* @_ZNKSt3__18numpunctIcE16do_decimal_pointEv to i8*), i8* bitcast (i8 (%"class.std::__1::numpunct"*)* @_ZNKSt3__18numpunctIcE16do_thousands_sepEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::numpunct"*)* @_ZNKSt3__18numpunctIcE11do_groupingEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::numpunct"*)* @_ZNKSt3__18numpunctIcE11do_truenameEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::numpunct"*)* @_ZNKSt3__18numpunctIcE12do_falsenameEv to i8*)]
@_ZTVNSt3__18numpunctIwEE = internal unnamed_addr constant [10 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__18numpunctIwEE to i8*), i8* bitcast (void (%"class.std::__1::numpunct.17"*)* @_ZNSt3__18numpunctIwED2Ev to i8*), i8* bitcast (void (%"class.std::__1::numpunct.17"*)* @_ZNSt3__18numpunctIwED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::numpunct.17"*)* @_ZNKSt3__18numpunctIwE16do_decimal_pointEv to i8*), i8* bitcast (i32 (%"class.std::__1::numpunct.17"*)* @_ZNKSt3__18numpunctIwE16do_thousands_sepEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string.11"*, %"class.std::__1::numpunct.17"*)* @_ZNKSt3__18numpunctIwE11do_groupingEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::numpunct.17"*)* @_ZNKSt3__18numpunctIwE11do_truenameEv to i8*), i8* bitcast (void (%"class.std::__1::basic_string"*, %"class.std::__1::numpunct.17"*)* @_ZNKSt3__18numpunctIwE12do_falsenameEv to i8*)]
@.str53 = private unnamed_addr constant [5 x i32] [i32 116, i32 114, i32 117, i32 101, i32 0], align 4
@.str54260 = private unnamed_addr constant [6 x i8] c"false\00", align 1
@.str55 = private unnamed_addr constant [6 x i32] [i32 102, i32 97, i32 108, i32 115, i32 101, i32 0], align 4
@_ZZNKSt3__120__time_get_c_storageIcE7__weeksEvE5weeks = internal unnamed_addr global %"class.std::__1::basic_string.11"* null, align 4
@_ZGVZNKSt3__120__time_get_c_storageIcE7__weeksEvE5weeks = internal global i64 0
@_ZZNKSt3__120__time_get_c_storageIwE7__weeksEvE5weeks = internal unnamed_addr global %"class.std::__1::basic_string"* null, align 4
@_ZGVZNKSt3__120__time_get_c_storageIwE7__weeksEvE5weeks = internal global i64 0
@_ZZNKSt3__120__time_get_c_storageIcE8__monthsEvE6months = internal unnamed_addr global %"class.std::__1::basic_string.11"* null, align 4
@_ZGVZNKSt3__120__time_get_c_storageIcE8__monthsEvE6months = internal global i64 0
@_ZZNKSt3__120__time_get_c_storageIwE8__monthsEvE6months = internal unnamed_addr global %"class.std::__1::basic_string"* null, align 4
@_ZGVZNKSt3__120__time_get_c_storageIwE8__monthsEvE6months = internal global i64 0
@_ZZNKSt3__120__time_get_c_storageIcE7__am_pmEvE5am_pm = internal unnamed_addr global %"class.std::__1::basic_string.11"* null, align 4
@_ZGVZNKSt3__120__time_get_c_storageIcE7__am_pmEvE5am_pm = internal global i64 0
@_ZZNKSt3__120__time_get_c_storageIwE7__am_pmEvE5am_pm = internal unnamed_addr global %"class.std::__1::basic_string"* null, align 4
@_ZGVZNKSt3__120__time_get_c_storageIwE7__am_pmEvE5am_pm = internal global i64 0
@_ZZNKSt3__120__time_get_c_storageIcE3__xEvE1s = internal global %"class.std::__1::basic_string.11" zeroinitializer, align 4
@_ZGVZNKSt3__120__time_get_c_storageIcE3__xEvE1s = internal global i64 0
@_ZZNKSt3__120__time_get_c_storageIwE3__xEvE1s = internal global %"class.std::__1::basic_string" zeroinitializer, align 4
@_ZGVZNKSt3__120__time_get_c_storageIwE3__xEvE1s = internal global i64 0
@.str58 = private unnamed_addr constant [9 x i32] [i32 37, i32 109, i32 47, i32 37, i32 100, i32 47, i32 37, i32 121, i32 0], align 4
@_ZZNKSt3__120__time_get_c_storageIcE3__XEvE1s = internal global %"class.std::__1::basic_string.11" zeroinitializer, align 4
@_ZGVZNKSt3__120__time_get_c_storageIcE3__XEvE1s = internal global i64 0
@_ZZNKSt3__120__time_get_c_storageIwE3__XEvE1s = internal global %"class.std::__1::basic_string" zeroinitializer, align 4
@_ZGVZNKSt3__120__time_get_c_storageIwE3__XEvE1s = internal global i64 0
@.str60 = private unnamed_addr constant [9 x i32] [i32 37, i32 72, i32 58, i32 37, i32 77, i32 58, i32 37, i32 83, i32 0], align 4
@_ZZNKSt3__120__time_get_c_storageIcE3__cEvE1s = internal global %"class.std::__1::basic_string.11" zeroinitializer, align 4
@_ZGVZNKSt3__120__time_get_c_storageIcE3__cEvE1s = internal global i64 0
@.str61 = private unnamed_addr constant [21 x i8] c"%a %b %d %H:%M:%S %Y\00", align 1
@_ZZNKSt3__120__time_get_c_storageIwE3__cEvE1s = internal global %"class.std::__1::basic_string" zeroinitializer, align 4
@_ZGVZNKSt3__120__time_get_c_storageIwE3__cEvE1s = internal global i64 0
@.str62 = private unnamed_addr constant [21 x i32] [i32 37, i32 97, i32 32, i32 37, i32 98, i32 32, i32 37, i32 100, i32 32, i32 37, i32 72, i32 58, i32 37, i32 77, i32 58, i32 37, i32 83, i32 32, i32 37, i32 89, i32 0], align 4
@_ZZNKSt3__120__time_get_c_storageIcE3__rEvE1s = internal global %"class.std::__1::basic_string.11" zeroinitializer, align 4
@_ZGVZNKSt3__120__time_get_c_storageIcE3__rEvE1s = internal global i64 0
@.str63261 = private unnamed_addr constant [12 x i8] c"%I:%M:%S %p\00", align 1
@_ZZNKSt3__120__time_get_c_storageIwE3__rEvE1s = internal global %"class.std::__1::basic_string" zeroinitializer, align 4
@_ZGVZNKSt3__120__time_get_c_storageIwE3__rEvE1s = internal global i64 0
@.str64 = private unnamed_addr constant [12 x i32] [i32 37, i32 73, i32 58, i32 37, i32 77, i32 58, i32 37, i32 83, i32 32, i32 37, i32 112, i32 0], align 4
@.str66262 = private unnamed_addr constant [21 x i8] c"locale not supported\00", align 1
@_ZTVNSt3__16locale5facetE = internal unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facetD2Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facetD0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*)]
@_ZTSNSt3__16locale5facetE = internal constant [22 x i8] c"NSt3__16locale5facetE\00"
@_ZTINSt3__16locale5facetE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([22 x i8]* @_ZTSNSt3__16locale5facetE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTINSt3__114__shared_countE to i8*) }
@_ZTVNSt3__15ctypeIwEE = internal unnamed_addr constant [17 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__15ctypeIwEE to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facetD2Ev to i8*), i8* bitcast (void (%"class.std::__1::ctype"*)* @_ZNSt3__15ctypeIwED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i1 (%"class.std::__1::ctype"*, i16, i32)* @_ZNKSt3__15ctypeIwE5do_isEtw to i8*), i8* bitcast (i32* (%"class.std::__1::ctype"*, i32*, i32*, i16*)* @_ZNKSt3__15ctypeIwE5do_isEPKwS3_Pt to i8*), i8* bitcast (i32* (%"class.std::__1::ctype"*, i16, i32*, i32*)* @_ZNKSt3__15ctypeIwE10do_scan_isEtPKwS3_ to i8*), i8* bitcast (i32* (%"class.std::__1::ctype"*, i16, i32*, i32*)* @_ZNKSt3__15ctypeIwE11do_scan_notEtPKwS3_ to i8*), i8* bitcast (i32 (%"class.std::__1::ctype"*, i32)* @_ZNKSt3__15ctypeIwE10do_toupperEw to i8*), i8* bitcast (i32* (%"class.std::__1::ctype"*, i32*, i32*)* @_ZNKSt3__15ctypeIwE10do_toupperEPwPKw to i8*), i8* bitcast (i32 (%"class.std::__1::ctype"*, i32)* @_ZNKSt3__15ctypeIwE10do_tolowerEw to i8*), i8* bitcast (i32* (%"class.std::__1::ctype"*, i32*, i32*)* @_ZNKSt3__15ctypeIwE10do_tolowerEPwPKw to i8*), i8* bitcast (i32 (%"class.std::__1::ctype"*, i8)* @_ZNKSt3__15ctypeIwE8do_widenEc to i8*), i8* bitcast (i8* (%"class.std::__1::ctype"*, i8*, i8*, i32*)* @_ZNKSt3__15ctypeIwE8do_widenEPKcS3_Pw to i8*), i8* bitcast (i8 (%"class.std::__1::ctype"*, i32, i8)* @_ZNKSt3__15ctypeIwE9do_narrowEwc to i8*), i8* bitcast (i32* (%"class.std::__1::ctype"*, i32*, i32*, i8, i8*)* @_ZNKSt3__15ctypeIwE9do_narrowEPKwS3_cPc to i8*)]
@_ZTSNSt3__15ctypeIwEE = internal constant [18 x i8] c"NSt3__15ctypeIwEE\00"
@_ZTSNSt3__110ctype_baseE = internal constant [21 x i8] c"NSt3__110ctype_baseE\00"
@_ZTINSt3__110ctype_baseE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([21 x i8]* @_ZTSNSt3__110ctype_baseE, i32 0, i32 0) }
@_ZTINSt3__15ctypeIwEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([18 x i8]* @_ZTSNSt3__15ctypeIwEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__110ctype_baseE to i8*), i32 2 }
@_ZTSNSt3__15ctypeIcEE = internal constant [18 x i8] c"NSt3__15ctypeIcEE\00"
@_ZTINSt3__15ctypeIcEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([18 x i8]* @_ZTSNSt3__15ctypeIcEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__110ctype_baseE to i8*), i32 2 }
@_ZTVNSt3__17codecvtIcc10_mbstate_tEE = internal unnamed_addr constant [12 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17codecvtIcc10_mbstate_tEE to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facetD2Ev to i8*), i8* bitcast (void (%"class.std::__1::codecvt"*)* @_ZNSt3__17codecvtIcc10_mbstate_tED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIcc10_mbstate_tE6do_outERS1_PKcS5_RS5_PcS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIcc10_mbstate_tE5do_inERS1_PKcS5_RS5_PcS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIcc10_mbstate_tE10do_unshiftERS1_PcS4_RS4_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIcc10_mbstate_tE11do_encodingEv to i8*), i8* bitcast (i1 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIcc10_mbstate_tE16do_always_noconvEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i32)* @_ZNKSt3__17codecvtIcc10_mbstate_tE9do_lengthERS1_PKcS5_j to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIcc10_mbstate_tE13do_max_lengthEv to i8*)]
@_ZTSNSt3__17codecvtIcc10_mbstate_tEE = internal constant [33 x i8] c"NSt3__17codecvtIcc10_mbstate_tEE\00"
@_ZTSNSt3__112codecvt_baseE = internal constant [23 x i8] c"NSt3__112codecvt_baseE\00"
@_ZTINSt3__112codecvt_baseE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([23 x i8]* @_ZTSNSt3__112codecvt_baseE, i32 0, i32 0) }
@_ZTINSt3__17codecvtIcc10_mbstate_tEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([33 x i8]* @_ZTSNSt3__17codecvtIcc10_mbstate_tEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__112codecvt_baseE to i8*), i32 2 }
@_ZTSNSt3__17codecvtIwc10_mbstate_tEE = internal constant [33 x i8] c"NSt3__17codecvtIwc10_mbstate_tEE\00"
@_ZTINSt3__17codecvtIwc10_mbstate_tEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([33 x i8]* @_ZTSNSt3__17codecvtIwc10_mbstate_tEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__112codecvt_baseE to i8*), i32 2 }
@_ZTVNSt3__17codecvtIDsc10_mbstate_tEE = internal unnamed_addr constant [12 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17codecvtIDsc10_mbstate_tEE to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facetD2Ev to i8*), i8* bitcast (void (%"class.std::__1::codecvt"*)* @_ZNSt3__17codecvtIDsc10_mbstate_tED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i16*, i16*, i16**, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIDsc10_mbstate_tE6do_outERS1_PKDsS5_RS5_PcS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**, i16*, i16*, i16**)* @_ZNKSt3__17codecvtIDsc10_mbstate_tE5do_inERS1_PKcS5_RS5_PDsS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIDsc10_mbstate_tE10do_unshiftERS1_PcS4_RS4_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDsc10_mbstate_tE11do_encodingEv to i8*), i8* bitcast (i1 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDsc10_mbstate_tE16do_always_noconvEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i32)* @_ZNKSt3__17codecvtIDsc10_mbstate_tE9do_lengthERS1_PKcS5_j to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDsc10_mbstate_tE13do_max_lengthEv to i8*)]
@_ZTSNSt3__17codecvtIDsc10_mbstate_tEE = internal constant [34 x i8] c"NSt3__17codecvtIDsc10_mbstate_tEE\00"
@_ZTINSt3__17codecvtIDsc10_mbstate_tEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([34 x i8]* @_ZTSNSt3__17codecvtIDsc10_mbstate_tEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__112codecvt_baseE to i8*), i32 2 }
@_ZTVNSt3__17codecvtIDic10_mbstate_tEE = internal unnamed_addr constant [12 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17codecvtIDic10_mbstate_tEE to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facetD2Ev to i8*), i8* bitcast (void (%"class.std::__1::codecvt"*)* @_ZNSt3__17codecvtIDic10_mbstate_tED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i32*, i32*, i32**, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIDic10_mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**, i32*, i32*, i32**)* @_ZNKSt3__17codecvtIDic10_mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIDic10_mbstate_tE10do_unshiftERS1_PcS4_RS4_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDic10_mbstate_tE11do_encodingEv to i8*), i8* bitcast (i1 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDic10_mbstate_tE16do_always_noconvEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i32)* @_ZNKSt3__17codecvtIDic10_mbstate_tE9do_lengthERS1_PKcS5_j to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDic10_mbstate_tE13do_max_lengthEv to i8*)]
@_ZTSNSt3__17codecvtIDic10_mbstate_tEE = internal constant [34 x i8] c"NSt3__17codecvtIDic10_mbstate_tEE\00"
@_ZTINSt3__17codecvtIDic10_mbstate_tEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([34 x i8]* @_ZTSNSt3__17codecvtIDic10_mbstate_tEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__112codecvt_baseE to i8*), i32 2 }
@_ZTVNSt3__116__narrow_to_utf8ILj32EEE = internal unnamed_addr constant [12 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__116__narrow_to_utf8ILj32EEE to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facetD2Ev to i8*), i8* bitcast (void (%"struct.std::__1::__narrow_to_utf8.53"*)* @_ZNSt3__116__narrow_to_utf8ILj32EED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i32*, i32*, i32**, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIDic10_mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**, i32*, i32*, i32**)* @_ZNKSt3__17codecvtIDic10_mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIDic10_mbstate_tE10do_unshiftERS1_PcS4_RS4_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDic10_mbstate_tE11do_encodingEv to i8*), i8* bitcast (i1 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDic10_mbstate_tE16do_always_noconvEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i32)* @_ZNKSt3__17codecvtIDic10_mbstate_tE9do_lengthERS1_PKcS5_j to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDic10_mbstate_tE13do_max_lengthEv to i8*)]
@_ZTSNSt3__116__narrow_to_utf8ILj32EEE = internal constant [34 x i8] c"NSt3__116__narrow_to_utf8ILj32EEE\00"
@_ZTINSt3__116__narrow_to_utf8ILj32EEE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([34 x i8]* @_ZTSNSt3__116__narrow_to_utf8ILj32EEE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17codecvtIDic10_mbstate_tEE to i8*) }
@_ZTVNSt3__117__widen_from_utf8ILj32EEE = internal unnamed_addr constant [12 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__117__widen_from_utf8ILj32EEE to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facetD2Ev to i8*), i8* bitcast (void (%"struct.std::__1::__widen_from_utf8.54"*)* @_ZNSt3__117__widen_from_utf8ILj32EED0Ev to i8*), i8* bitcast (void (%"class.std::__1::locale::facet"*)* @_ZNSt3__16locale5facet16__on_zero_sharedEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i32*, i32*, i32**, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIDic10_mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**, i32*, i32*, i32**)* @_ZNKSt3__17codecvtIDic10_mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i8**)* @_ZNKSt3__17codecvtIDic10_mbstate_tE10do_unshiftERS1_PcS4_RS4_ to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDic10_mbstate_tE11do_encodingEv to i8*), i8* bitcast (i1 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDic10_mbstate_tE16do_always_noconvEv to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*, %struct._mbstate_t*, i8*, i8*, i32)* @_ZNKSt3__17codecvtIDic10_mbstate_tE9do_lengthERS1_PKcS5_j to i8*), i8* bitcast (i32 (%"class.std::__1::codecvt"*)* @_ZNKSt3__17codecvtIDic10_mbstate_tE13do_max_lengthEv to i8*)]
@_ZTSNSt3__117__widen_from_utf8ILj32EEE = internal constant [35 x i8] c"NSt3__117__widen_from_utf8ILj32EEE\00"
@_ZTINSt3__117__widen_from_utf8ILj32EEE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([35 x i8]* @_ZTSNSt3__117__widen_from_utf8ILj32EEE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTINSt3__17codecvtIDic10_mbstate_tEE to i8*) }
@_ZTSNSt3__18numpunctIcEE = internal constant [21 x i8] c"NSt3__18numpunctIcEE\00"
@_ZTINSt3__18numpunctIcEE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([21 x i8]* @_ZTSNSt3__18numpunctIcEE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*) }
@_ZTSNSt3__18numpunctIwEE = internal constant [21 x i8] c"NSt3__18numpunctIwEE\00"
@_ZTINSt3__18numpunctIwEE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([21 x i8]* @_ZTSNSt3__18numpunctIwEE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*) }
@_ZTSNSt3__16locale5__impE = internal hidden constant [22 x i8] c"NSt3__16locale5__impE\00"
@_ZTINSt3__16locale5__impE = internal hidden unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([22 x i8]* @_ZTSNSt3__16locale5__impE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*) }
@_ZTSNSt3__17collateIcEE = internal constant [20 x i8] c"NSt3__17collateIcEE\00"
@_ZTINSt3__17collateIcEE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([20 x i8]* @_ZTSNSt3__17collateIcEE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*) }
@_ZTSNSt3__17collateIwEE = internal constant [20 x i8] c"NSt3__17collateIwEE\00"
@_ZTINSt3__17collateIwEE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([20 x i8]* @_ZTSNSt3__17collateIwEE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*) }
@_ZTSNSt3__110moneypunctIcLb0EEE = internal constant [28 x i8] c"NSt3__110moneypunctIcLb0EEE\00"
@_ZTSNSt3__110money_baseE = internal constant [21 x i8] c"NSt3__110money_baseE\00"
@_ZTINSt3__110money_baseE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([21 x i8]* @_ZTSNSt3__110money_baseE, i32 0, i32 0) }
@_ZTINSt3__110moneypunctIcLb0EEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([28 x i8]* @_ZTSNSt3__110moneypunctIcLb0EEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__110money_baseE to i8*), i32 2 }
@_ZTSNSt3__110moneypunctIcLb1EEE = internal constant [28 x i8] c"NSt3__110moneypunctIcLb1EEE\00"
@_ZTINSt3__110moneypunctIcLb1EEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([28 x i8]* @_ZTSNSt3__110moneypunctIcLb1EEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__110money_baseE to i8*), i32 2 }
@_ZTSNSt3__110moneypunctIwLb0EEE = internal constant [28 x i8] c"NSt3__110moneypunctIwLb0EEE\00"
@_ZTINSt3__110moneypunctIwLb0EEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([28 x i8]* @_ZTSNSt3__110moneypunctIwLb0EEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__110money_baseE to i8*), i32 2 }
@_ZTSNSt3__110moneypunctIwLb1EEE = internal constant [28 x i8] c"NSt3__110moneypunctIwLb1EEE\00"
@_ZTINSt3__110moneypunctIwLb1EEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([28 x i8]* @_ZTSNSt3__110moneypunctIwLb1EEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__110money_baseE to i8*), i32 2 }
@_ZTSNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal constant [69 x i8] c"NSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE\00"
@_ZTSNSt3__19time_baseE = internal constant [19 x i8] c"NSt3__19time_baseE\00"
@_ZTINSt3__19time_baseE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([19 x i8]* @_ZTSNSt3__19time_baseE, i32 0, i32 0) }
@_ZTSNSt3__120__time_get_c_storageIcEE = internal constant [34 x i8] c"NSt3__120__time_get_c_storageIcEE\00"
@_ZTINSt3__120__time_get_c_storageIcEE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([34 x i8]* @_ZTSNSt3__120__time_get_c_storageIcEE, i32 0, i32 0) }
@_ZTINSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([69 x i8]* @_ZTSNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE, i32 0, i32 0), i32 0, i32 3, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__19time_baseE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__120__time_get_c_storageIcEE to i8*), i32 2048 }
@_ZTSNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal constant [69 x i8] c"NSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE\00"
@_ZTSNSt3__120__time_get_c_storageIwEE = internal constant [34 x i8] c"NSt3__120__time_get_c_storageIwEE\00"
@_ZTINSt3__120__time_get_c_storageIwEE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([34 x i8]* @_ZTSNSt3__120__time_get_c_storageIwEE, i32 0, i32 0) }
@_ZTINSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([69 x i8]* @_ZTSNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE, i32 0, i32 0), i32 0, i32 3, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__19time_baseE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__120__time_get_c_storageIwEE to i8*), i32 2048 }
@_ZTSNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal constant [69 x i8] c"NSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE\00"
@_ZTSNSt3__110__time_putE = internal constant [21 x i8] c"NSt3__110__time_putE\00"
@_ZTINSt3__110__time_putE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([21 x i8]* @_ZTSNSt3__110__time_putE, i32 0, i32 0) }
@_ZTINSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([69 x i8]* @_ZTSNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__110__time_putE to i8*), i32 2048 }
@_ZTSNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal constant [69 x i8] c"NSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE\00"
@_ZTINSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([69 x i8]* @_ZTSNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__110__time_putE to i8*), i32 2048 }
@_ZTSNSt3__18messagesIcEE = internal constant [21 x i8] c"NSt3__18messagesIcEE\00"
@_ZTSNSt3__113messages_baseE = internal constant [24 x i8] c"NSt3__113messages_baseE\00"
@_ZTINSt3__113messages_baseE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([24 x i8]* @_ZTSNSt3__113messages_baseE, i32 0, i32 0) }
@_ZTINSt3__18messagesIcEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([21 x i8]* @_ZTSNSt3__18messagesIcEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__113messages_baseE to i8*), i32 2 }
@_ZTSNSt3__18messagesIwEE = internal constant [21 x i8] c"NSt3__18messagesIwEE\00"
@_ZTINSt3__18messagesIwEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([21 x i8]* @_ZTSNSt3__18messagesIwEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__113messages_baseE to i8*), i32 2 }
@_ZTSNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal constant [68 x i8] c"NSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE\00"
@_ZTSNSt3__19__num_getIcEE = internal constant [22 x i8] c"NSt3__19__num_getIcEE\00"
@_ZTSNSt3__114__num_get_baseE = internal constant [25 x i8] c"NSt3__114__num_get_baseE\00"
@_ZTINSt3__114__num_get_baseE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__114__num_get_baseE, i32 0, i32 0) }
@_ZTINSt3__19__num_getIcEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([22 x i8]* @_ZTSNSt3__19__num_getIcEE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__114__num_get_baseE to i8*), i32 0 }
@_ZTINSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([68 x i8]* @_ZTSNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__19__num_getIcEE to i8*), i32 0 }
@_ZTSNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal constant [68 x i8] c"NSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE\00"
@_ZTSNSt3__19__num_getIwEE = internal constant [22 x i8] c"NSt3__19__num_getIwEE\00"
@_ZTINSt3__19__num_getIwEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([22 x i8]* @_ZTSNSt3__19__num_getIwEE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__114__num_get_baseE to i8*), i32 0 }
@_ZTINSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([68 x i8]* @_ZTSNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__19__num_getIwEE to i8*), i32 0 }
@_ZTSNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal constant [68 x i8] c"NSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE\00"
@_ZTSNSt3__19__num_putIcEE = internal constant [22 x i8] c"NSt3__19__num_putIcEE\00"
@_ZTSNSt3__114__num_put_baseE = internal constant [25 x i8] c"NSt3__114__num_put_baseE\00"
@_ZTINSt3__114__num_put_baseE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__114__num_put_baseE, i32 0, i32 0) }
@_ZTINSt3__19__num_putIcEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([22 x i8]* @_ZTSNSt3__19__num_putIcEE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__114__num_put_baseE to i8*), i32 0 }
@_ZTINSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([68 x i8]* @_ZTSNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__19__num_putIcEE to i8*), i32 0 }
@_ZTSNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal constant [68 x i8] c"NSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE\00"
@_ZTSNSt3__19__num_putIwEE = internal constant [22 x i8] c"NSt3__19__num_putIwEE\00"
@_ZTINSt3__19__num_putIwEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([22 x i8]* @_ZTSNSt3__19__num_putIwEE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__114__num_put_baseE to i8*), i32 0 }
@_ZTINSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([68 x i8]* @_ZTSNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTINSt3__19__num_putIwEE to i8*), i32 0 }
@_ZTSNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal constant [70 x i8] c"NSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE\00"
@_ZTSNSt3__111__money_getIcEE = internal constant [25 x i8] c"NSt3__111__money_getIcEE\00"
@_ZTINSt3__111__money_getIcEE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__111__money_getIcEE, i32 0, i32 0) }
@_ZTINSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([70 x i8]* @_ZTSNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__111__money_getIcEE to i8*), i32 0 }
@_ZTSNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal constant [70 x i8] c"NSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE\00"
@_ZTSNSt3__111__money_getIwEE = internal constant [25 x i8] c"NSt3__111__money_getIwEE\00"
@_ZTINSt3__111__money_getIwEE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__111__money_getIwEE, i32 0, i32 0) }
@_ZTINSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([70 x i8]* @_ZTSNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__111__money_getIwEE to i8*), i32 0 }
@_ZTSNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal constant [70 x i8] c"NSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE\00"
@_ZTSNSt3__111__money_putIcEE = internal constant [25 x i8] c"NSt3__111__money_putIcEE\00"
@_ZTINSt3__111__money_putIcEE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__111__money_putIcEE, i32 0, i32 0) }
@_ZTINSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([70 x i8]* @_ZTSNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__111__money_putIcEE to i8*), i32 0 }
@_ZTSNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal constant [70 x i8] c"NSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE\00"
@_ZTSNSt3__111__money_putIwEE = internal constant [25 x i8] c"NSt3__111__money_putIwEE\00"
@_ZTINSt3__111__money_putIwEE = internal unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv117__class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([25 x i8]* @_ZTSNSt3__111__money_putIwEE, i32 0, i32 0) }
@_ZTINSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE = internal unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([70 x i8]* @_ZTSNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTINSt3__16locale5facetE to i8*), i32 2, i8* bitcast ({ i8*, i8* }* @_ZTINSt3__111__money_putIwEE to i8*), i32 0 }
@_ZZNSt3__112_GLOBAL__N_14makeINS_6locale5__impEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<148, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_8messagesIwEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_8messagesIcEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<12, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<12, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<12, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<12, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_8numpunctIwEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<28, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_8numpunctIcEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<24, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDic10_mbstate_tEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDsc10_mbstate_tEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIwc10_mbstate_tEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<12, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIcc10_mbstate_tEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_5ctypeIwEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_5ctypeIcEEPtbiEERT_T0_T1_T2_E3buf = internal global %"struct.std::__1::aligned_storage<16, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7collateIwEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__112_GLOBAL__N_14makeINS_7collateIcEEiEERT_T0_E3buf = internal global %"struct.std::__1::aligned_storage<8, 4>::type" zeroinitializer, align 4
@_ZZNSt3__1L11init_wam_pmEvE5am_pm = internal global [24 x %"class.std::__1::basic_string"] zeroinitializer, align 4
@_ZGVZNSt3__1L11init_wam_pmEvE5am_pm = internal global i64 0
@.str78 = private unnamed_addr constant [3 x i32] [i32 65, i32 77, i32 0], align 4
@.str79 = private unnamed_addr constant [3 x i32] [i32 80, i32 77, i32 0], align 4
@_ZZNSt3__1L10init_am_pmEvE5am_pm = internal global [24 x %"class.std::__1::basic_string.11"] zeroinitializer, align 4
@_ZGVZNSt3__1L10init_am_pmEvE5am_pm = internal global i64 0
@.str81 = private unnamed_addr constant [3 x i8] c"AM\00", align 1
@.str82 = private unnamed_addr constant [3 x i8] c"PM\00", align 1
@_ZZNSt3__1L12init_wmonthsEvE6months = internal global [24 x %"class.std::__1::basic_string"] zeroinitializer, align 4
@_ZGVZNSt3__1L12init_wmonthsEvE6months = internal global i64 0
@.str84 = private unnamed_addr constant [8 x i32] [i32 74, i32 97, i32 110, i32 117, i32 97, i32 114, i32 121, i32 0], align 4
@.str85 = private unnamed_addr constant [9 x i32] [i32 70, i32 101, i32 98, i32 114, i32 117, i32 97, i32 114, i32 121, i32 0], align 4
@.str86 = private unnamed_addr constant [6 x i32] [i32 77, i32 97, i32 114, i32 99, i32 104, i32 0], align 4
@.str87 = private unnamed_addr constant [6 x i32] [i32 65, i32 112, i32 114, i32 105, i32 108, i32 0], align 4
@.str89257 = private unnamed_addr constant [5 x i32] [i32 74, i32 117, i32 110, i32 101, i32 0], align 4
@.str90 = private unnamed_addr constant [5 x i32] [i32 74, i32 117, i32 108, i32 121, i32 0], align 4
@.str91 = private unnamed_addr constant [7 x i32] [i32 65, i32 117, i32 103, i32 117, i32 115, i32 116, i32 0], align 4
@.str92 = private unnamed_addr constant [10 x i32] [i32 83, i32 101, i32 112, i32 116, i32 101, i32 109, i32 98, i32 101, i32 114, i32 0], align 4
@.str93 = private unnamed_addr constant [8 x i32] [i32 79, i32 99, i32 116, i32 111, i32 98, i32 101, i32 114, i32 0], align 4
@.str94 = private unnamed_addr constant [9 x i32] [i32 78, i32 111, i32 118, i32 101, i32 109, i32 98, i32 101, i32 114, i32 0], align 4
@.str95 = private unnamed_addr constant [9 x i32] [i32 68, i32 101, i32 99, i32 101, i32 109, i32 98, i32 101, i32 114, i32 0], align 4
@.str96 = private unnamed_addr constant [4 x i32] [i32 74, i32 97, i32 110, i32 0], align 4
@.str97 = private unnamed_addr constant [4 x i32] [i32 70, i32 101, i32 98, i32 0], align 4
@.str98 = private unnamed_addr constant [4 x i32] [i32 77, i32 97, i32 114, i32 0], align 4
@.str99 = private unnamed_addr constant [4 x i32] [i32 65, i32 112, i32 114, i32 0], align 4
@.str100 = private unnamed_addr constant [4 x i32] [i32 77, i32 97, i32 121, i32 0], align 4
@.str101 = private unnamed_addr constant [4 x i32] [i32 74, i32 117, i32 110, i32 0], align 4
@.str102 = private unnamed_addr constant [4 x i32] [i32 74, i32 117, i32 108, i32 0], align 4
@.str103 = private unnamed_addr constant [4 x i32] [i32 65, i32 117, i32 103, i32 0], align 4
@.str104 = private unnamed_addr constant [4 x i32] [i32 83, i32 101, i32 112, i32 0], align 4
@.str105 = private unnamed_addr constant [4 x i32] [i32 79, i32 99, i32 116, i32 0], align 4
@.str106 = private unnamed_addr constant [4 x i32] [i32 78, i32 111, i32 118, i32 0], align 4
@.str107 = private unnamed_addr constant [4 x i32] [i32 68, i32 101, i32 99, i32 0], align 4
@_ZZNSt3__1L11init_monthsEvE6months = internal global [24 x %"class.std::__1::basic_string.11"] zeroinitializer, align 4
@_ZGVZNSt3__1L11init_monthsEvE6months = internal global i64 0
@.str109258 = private unnamed_addr constant [8 x i8] c"January\00", align 1
@.str110259 = private unnamed_addr constant [9 x i8] c"February\00", align 1
@.str111 = private unnamed_addr constant [6 x i8] c"March\00", align 1
@.str112263 = private unnamed_addr constant [6 x i8] c"April\00", align 1
@.str113 = private unnamed_addr constant [4 x i8] c"May\00", align 1
@.str114 = private unnamed_addr constant [5 x i8] c"June\00", align 1
@.str115 = private unnamed_addr constant [5 x i8] c"July\00", align 1
@.str116 = private unnamed_addr constant [7 x i8] c"August\00", align 1
@.str117 = private unnamed_addr constant [10 x i8] c"September\00", align 1
@.str118260 = private unnamed_addr constant [8 x i8] c"October\00", align 1
@.str119 = private unnamed_addr constant [9 x i8] c"November\00", align 1
@.str120 = private unnamed_addr constant [9 x i8] c"December\00", align 1
@.str121264 = private unnamed_addr constant [4 x i8] c"Jan\00", align 1
@.str122265 = private unnamed_addr constant [4 x i8] c"Feb\00", align 1
@.str123 = private unnamed_addr constant [4 x i8] c"Mar\00", align 1
@.str124 = private unnamed_addr constant [4 x i8] c"Apr\00", align 1
@.str125 = private unnamed_addr constant [4 x i8] c"Jun\00", align 1
@.str126 = private unnamed_addr constant [4 x i8] c"Jul\00", align 1
@.str127 = private unnamed_addr constant [4 x i8] c"Aug\00", align 1
@.str128261 = private unnamed_addr constant [4 x i8] c"Sep\00", align 1
@.str129 = private unnamed_addr constant [4 x i8] c"Oct\00", align 1
@.str130 = private unnamed_addr constant [4 x i8] c"Nov\00", align 1
@.str131 = private unnamed_addr constant [4 x i8] c"Dec\00", align 1
@_ZZNSt3__1L11init_wweeksEvE5weeks = internal global [14 x %"class.std::__1::basic_string"] zeroinitializer, align 4
@_ZGVZNSt3__1L11init_wweeksEvE5weeks = internal global i64 0
@.str133266 = private unnamed_addr constant [7 x i32] [i32 83, i32 117, i32 110, i32 100, i32 97, i32 121, i32 0], align 4
@.str134 = private unnamed_addr constant [7 x i32] [i32 77, i32 111, i32 110, i32 100, i32 97, i32 121, i32 0], align 4
@.str135 = private unnamed_addr constant [8 x i32] [i32 84, i32 117, i32 101, i32 115, i32 100, i32 97, i32 121, i32 0], align 4
@.str136 = private unnamed_addr constant [10 x i32] [i32 87, i32 101, i32 100, i32 110, i32 101, i32 115, i32 100, i32 97, i32 121, i32 0], align 4
@.str137262 = private unnamed_addr constant [9 x i32] [i32 84, i32 104, i32 117, i32 114, i32 115, i32 100, i32 97, i32 121, i32 0], align 4
@.str138263 = private unnamed_addr constant [7 x i32] [i32 70, i32 114, i32 105, i32 100, i32 97, i32 121, i32 0], align 4
@.str139 = private unnamed_addr constant [9 x i32] [i32 83, i32 97, i32 116, i32 117, i32 114, i32 100, i32 97, i32 121, i32 0], align 4
@.str140 = private unnamed_addr constant [4 x i32] [i32 83, i32 117, i32 110, i32 0], align 4
@.str141 = private unnamed_addr constant [4 x i32] [i32 77, i32 111, i32 110, i32 0], align 4
@.str142264 = private unnamed_addr constant [4 x i32] [i32 84, i32 117, i32 101, i32 0], align 4
@.str143 = private unnamed_addr constant [4 x i32] [i32 87, i32 101, i32 100, i32 0], align 4
@.str144 = private unnamed_addr constant [4 x i32] [i32 84, i32 104, i32 117, i32 0], align 4
@.str145 = private unnamed_addr constant [4 x i32] [i32 70, i32 114, i32 105, i32 0], align 4
@.str146 = private unnamed_addr constant [4 x i32] [i32 83, i32 97, i32 116, i32 0], align 4
@_ZZNSt3__1L10init_weeksEvE5weeks = internal global [14 x %"class.std::__1::basic_string.11"] zeroinitializer, align 4
@_ZGVZNSt3__1L10init_weeksEvE5weeks = internal global i64 0
@.str148 = private unnamed_addr constant [7 x i8] c"Sunday\00", align 1
@.str149 = private unnamed_addr constant [7 x i8] c"Monday\00", align 1
@.str150 = private unnamed_addr constant [8 x i8] c"Tuesday\00", align 1
@.str151 = private unnamed_addr constant [10 x i8] c"Wednesday\00", align 1
@.str152 = private unnamed_addr constant [9 x i8] c"Thursday\00", align 1
@.str153 = private unnamed_addr constant [7 x i8] c"Friday\00", align 1
@.str154267 = private unnamed_addr constant [9 x i8] c"Saturday\00", align 1
@.str155268 = private unnamed_addr constant [4 x i8] c"Sun\00", align 1
@.str156 = private unnamed_addr constant [4 x i8] c"Mon\00", align 1
@.str157 = private unnamed_addr constant [4 x i8] c"Tue\00", align 1
@.str158 = private unnamed_addr constant [4 x i8] c"Wed\00", align 1
@.str159 = private unnamed_addr constant [4 x i8] c"Thu\00", align 1
@.str160 = private unnamed_addr constant [4 x i8] c"Fri\00", align 1
@.str161 = private unnamed_addr constant [4 x i8] c"Sat\00", align 1
@.str17309 = private unnamed_addr constant [2 x i8] c"C\00", align 1
@_ZTVSt8bad_cast = internal unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTISt8bad_cast to i8*), i8* bitcast (void (%"class.std::bad_cast"*)* @_ZNSt8bad_castD2Ev to i8*), i8* bitcast (void (%"class.std::bad_cast"*)* @_ZNSt8bad_castD0Ev to i8*), i8* bitcast (i8* (%"class.std::bad_cast"*)* @_ZNKSt8bad_cast4whatEv to i8*)]
@.str419 = private unnamed_addr constant [14 x i8] c"std::bad_cast\00", align 1
@_ZTSSt8bad_cast = internal constant [12 x i8] c"St8bad_cast\00"
@_ZTISt8bad_cast = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([12 x i8]* @_ZTSSt8bad_cast, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTISt9exception to i8*) }
@_ZTSN10__cxxabiv116__shim_type_infoE = internal hidden constant [33 x i8] c"N10__cxxabiv116__shim_type_infoE\00"
@_ZTISt9type_info = external constant i8*
@_ZTIN10__cxxabiv116__shim_type_infoE = internal hidden unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([33 x i8]* @_ZTSN10__cxxabiv116__shim_type_infoE, i32 0, i32 0), i8* bitcast (i8** @_ZTISt9type_info to i8*) }
@_ZTSN10__cxxabiv117__class_type_infoE = internal constant [34 x i8] c"N10__cxxabiv117__class_type_infoE\00"
@_ZTIN10__cxxabiv117__class_type_infoE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([34 x i8]* @_ZTSN10__cxxabiv117__class_type_infoE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN10__cxxabiv116__shim_type_infoE to i8*) }
@_ZTVN10__cxxabiv117__class_type_infoE = internal unnamed_addr constant [8 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN10__cxxabiv117__class_type_infoE to i8*), i8* bitcast (void (%"class.__cxxabiv1::__shim_type_info"*)* @_ZN10__cxxabiv116__shim_type_infoD2Ev to i8*), i8* bitcast (void (%"class.__cxxabiv1::__class_type_info"*)* @_ZN10__cxxabiv117__class_type_infoD0Ev to i8*), i8* bitcast (i1 (%"class.__cxxabiv1::__class_type_info"*, %"class.__cxxabiv1::__shim_type_info"*, i8**)* @_ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv to i8*), i8* bitcast (void (%"class.__cxxabiv1::__class_type_info"*, %"struct.__cxxabiv1::__dynamic_cast_info"*, i8*, i8*, i32)* @_ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i to i8*), i8* bitcast (void (%"class.__cxxabiv1::__class_type_info"*, %"struct.__cxxabiv1::__dynamic_cast_info"*, i8*, i32)* @_ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi to i8*), i8* bitcast (void (%"class.__cxxabiv1::__class_type_info"*, %"struct.__cxxabiv1::__dynamic_cast_info"*, i8*, i32)* @_ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi to i8*)]
@_ZTVN10__cxxabiv120__si_class_type_infoE = internal unnamed_addr constant [8 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN10__cxxabiv120__si_class_type_infoE to i8*), i8* bitcast (void (%"class.__cxxabiv1::__shim_type_info"*)* @_ZN10__cxxabiv116__shim_type_infoD2Ev to i8*), i8* bitcast (void (%"class.__cxxabiv1::__si_class_type_info"*)* @_ZN10__cxxabiv120__si_class_type_infoD0Ev to i8*), i8* bitcast (i1 (%"class.__cxxabiv1::__class_type_info"*, %"class.__cxxabiv1::__shim_type_info"*, i8**)* @_ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv to i8*), i8* bitcast (void (%"class.__cxxabiv1::__si_class_type_info"*, %"struct.__cxxabiv1::__dynamic_cast_info"*, i8*, i8*, i32)* @_ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i to i8*), i8* bitcast (void (%"class.__cxxabiv1::__si_class_type_info"*, %"struct.__cxxabiv1::__dynamic_cast_info"*, i8*, i32)* @_ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi to i8*), i8* bitcast (void (%"class.__cxxabiv1::__si_class_type_info"*, %"struct.__cxxabiv1::__dynamic_cast_info"*, i8*, i32)* @_ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi to i8*)]
@_ZTSN10__cxxabiv120__si_class_type_infoE = internal constant [37 x i8] c"N10__cxxabiv120__si_class_type_infoE\00"
@_ZTIN10__cxxabiv120__si_class_type_infoE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([37 x i8]* @_ZTSN10__cxxabiv120__si_class_type_infoE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN10__cxxabiv117__class_type_infoE to i8*) }
@_ZTVN10__cxxabiv121__vmi_class_type_infoE = internal unnamed_addr constant [8 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN10__cxxabiv121__vmi_class_type_infoE to i8*), i8* bitcast (void (%"class.__cxxabiv1::__shim_type_info"*)* @_ZN10__cxxabiv116__shim_type_infoD2Ev to i8*), i8* bitcast (void (%"class.__cxxabiv1::__vmi_class_type_info"*)* @_ZN10__cxxabiv121__vmi_class_type_infoD0Ev to i8*), i8* bitcast (i1 (%"class.__cxxabiv1::__class_type_info"*, %"class.__cxxabiv1::__shim_type_info"*, i8**)* @_ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv to i8*), i8* bitcast (void (%"class.__cxxabiv1::__vmi_class_type_info"*, %"struct.__cxxabiv1::__dynamic_cast_info"*, i8*, i8*, i32)* @_ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i to i8*), i8* bitcast (void (%"class.__cxxabiv1::__vmi_class_type_info"*, %"struct.__cxxabiv1::__dynamic_cast_info"*, i8*, i32)* @_ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi to i8*), i8* bitcast (void (%"class.__cxxabiv1::__vmi_class_type_info"*, %"struct.__cxxabiv1::__dynamic_cast_info"*, i8*, i32)* @_ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi to i8*)]
@_ZTSN10__cxxabiv121__vmi_class_type_infoE = internal constant [38 x i8] c"N10__cxxabiv121__vmi_class_type_infoE\00"
@_ZTIN10__cxxabiv121__vmi_class_type_infoE = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([38 x i8]* @_ZTSN10__cxxabiv121__vmi_class_type_infoE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN10__cxxabiv117__class_type_infoE to i8*) }
@_ZL7mparams = internal global %struct.malloc_params zeroinitializer, align 4
@_ZL4_gm_ = internal global %struct.malloc_state zeroinitializer, align 4
@_ZL13__new_handler = internal global void ()* null, align 4
@_ZTVSt9bad_alloc = internal unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTISt9bad_alloc to i8*), i8* bitcast (void (%"class.std::bad_alloc"*)* @_ZNSt9bad_allocD2Ev to i8*), i8* bitcast (void (%"class.std::bad_alloc"*)* @_ZNSt9bad_allocD0Ev to i8*), i8* bitcast (i8* (%"class.std::bad_alloc"*)* @_ZNKSt9bad_alloc4whatEv to i8*)]
@.str3296 = private unnamed_addr constant [15 x i8] c"std::bad_alloc\00", align 1
@_ZTSSt9bad_alloc = internal constant [13 x i8] c"St9bad_alloc\00"
@_ZTISt9bad_alloc = internal unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 0, i32 2) to i8*), i8* getelementptr inbounds ([13 x i8]* @_ZTSSt9bad_alloc, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTISt9exception to i8*) }
define i32 @main() {
%tparams.i.i = alloca [500 x i8], align 1
%tokptr.i.i = alloca i8*, align 4
%tmp.i = alloca i32, align 4
%seed.i = alloca i32, align 4
%speex_encoding_parameters = alloca [1024 x i8], align 1
%1 = getelementptr inbounds [1024 x i8]* %speex_encoding_parameters, i32 0, i32 0
%2 = call i32 (i8*, i8*, ...)* @sprintf(i8* %1, i8* getelementptr inbounds ([105 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str4167, i32 0, i32 0), i32 5, i32 0, i32 0, i32 0, i32 0, i32 1, i32 16000, i32 0, i32 0)
%3 = bitcast i32* %tmp.i to i8*
call void @llvm.lifetime.start(i64 -1, i8* %3)
%4 = bitcast i32* %seed.i to i8*
call void @llvm.lifetime.start(i64 -1, i8* %4)
%5 = call fastcc i8* @malloc(i32 6944) nounwind
%6 = getelementptr inbounds i8* %5, i32 4
%7 = getelementptr inbounds i8* %5, i32 32
%8 = bitcast i8* %7 to %struct.SpeexMode**
store %struct.SpeexMode* null, %struct.SpeexMode** %8, align 4
%9 = getelementptr inbounds i8* %5, i32 6076
%10 = bitcast i8* %9 to i32*
store i32 0, i32* %10, align 4
%11 = getelementptr inbounds i8* %5, i32 6084
%12 = bitcast i8* %11 to i32*
call void @llvm.memset.p0i8.i64(i8* %6, i8 0, i64 24, i32 4, i1 false) nounwind
store i32 1, i32* %12, align 4
%13 = getelementptr inbounds i8* %5, i32 6088
%14 = bitcast i8* %13 to i32*
store i32 16, i32* %14, align 4
%15 = getelementptr inbounds i8* %5, i32 6092
%16 = bitcast i8* %15 to i32*
store i32 -1, i32* %16, align 4
%17 = getelementptr inbounds i8* %5, i32 6096
%18 = bitcast i8* %17 to float*
store float -1.000000e+00, float* %18, align 4
%19 = getelementptr inbounds i8* %5, i32 6100
%20 = bitcast i8* %19 to i32*
store i32 1, i32* %20, align 4
%21 = getelementptr inbounds i8* %5, i32 6512
%22 = bitcast i8* %21 to i32*
store i32 -1, i32* %22, align 4
%23 = getelementptr inbounds i8* %5, i32 6596
%24 = bitcast i8* %23 to i32*
store i32 1, i32* %24, align 4
%25 = getelementptr inbounds i8* %5, i32 6600
%26 = bitcast i8* %25 to i32*
store i32 3, i32* %26, align 4
%27 = getelementptr inbounds i8* %5, i32 6712
%28 = getelementptr inbounds i8* %5, i32 6940
%29 = bitcast i8* %28 to %struct.SpeexPreprocessState_**
store %struct.SpeexPreprocessState_* null, %struct.SpeexPreprocessState_** %29, align 4
%30 = getelementptr inbounds i8* %5, i32 6604
call void @llvm.memset.p0i8.i64(i8* %27, i8 0, i64 24, i32 4, i1 false) nounwind
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %30, i8* getelementptr inbounds ([23 x i8]* @.str163, i32 0, i32 0), i32 23, i32 1, i1 false) nounwind
%31 = getelementptr inbounds [500 x i8]* %tparams.i.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 -1, i8* %31) nounwind
%32 = bitcast i8** %tokptr.i.i to i8*
call void @llvm.lifetime.start(i64 -1, i8* %32) nounwind
%33 = call i8* @strcpy(i8* %31, i8* %1) nounwind
%34 = call i8* @strtok_r(i8* %31, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%35 = icmp eq i8* %34, null
br i1 %35, label %._crit_edge.i.i, label %.lr.ph.i.i
.lr.ph.i.i: ; preds = %0
%36 = getelementptr inbounds i8* %5, i32 6936
%37 = bitcast i8* %36 to i32*
%38 = getelementptr inbounds i8* %5, i32 6736
%39 = getelementptr inbounds i8* %5, i32 6716
%40 = bitcast i8* %39 to i32*
%41 = bitcast i8* %6 to i32*
%42 = getelementptr inbounds i8* %5, i32 8
%43 = bitcast i8* %42 to i32*
%44 = getelementptr inbounds i8* %5, i32 20
%45 = bitcast i8* %44 to i32*
%46 = getelementptr inbounds i8* %5, i32 24
%47 = bitcast i8* %46 to i32*
%48 = getelementptr inbounds i8* %5, i32 12
%49 = bitcast i8* %48 to i32*
%50 = getelementptr inbounds i8* %5, i32 16
%51 = bitcast i8* %50 to i32*
br label %52
; <label>:52 ; preds = %177, %.lr.ph.i.i
%tmpstr.01.i.i = phi i8* [ %34, %.lr.ph.i.i ], [ %178, %177 ]
%53 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([10 x i8]* @.str2165, i32 0, i32 0)) nounwind
%54 = icmp eq i32 %53, 0
br i1 %54, label %55, label %69
; <label>:55 ; preds = %52
%56 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%57 = call i32 @strcmp(i8* %56, i8* getelementptr inbounds ([11 x i8]* @.str3166, i32 0, i32 0)) nounwind
%58 = icmp eq i32 %57, 0
br i1 %58, label %59, label %60
; <label>:59 ; preds = %55
store %struct.SpeexMode* bitcast ({ i8*, i32 (i8*, i32, i8*)*, i8*, i32, i32, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, i8*, %struct.SpeexBits*)*, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, %struct.SpeexBits*, i8*)*, i32 (i8*, i32, i8*)*, i32 (i8*, i32, i8*)* }* @speex_nb_mode to %struct.SpeexMode*), %struct.SpeexMode** %8, align 4
br label %177
; <label>:60 ; preds = %55
%61 = call i32 @strcmp(i8* %56, i8* getelementptr inbounds ([9 x i8]* @.str4167, i32 0, i32 0)) nounwind
%62 = icmp eq i32 %61, 0
br i1 %62, label %63, label %64
; <label>:63 ; preds = %60
store %struct.SpeexMode* @speex_wb_mode, %struct.SpeexMode** %8, align 4
br label %177
; <label>:64 ; preds = %60
%65 = call i32 @strcmp(i8* %56, i8* getelementptr inbounds ([15 x i8]* @.str5168, i32 0, i32 0)) nounwind
%66 = icmp eq i32 %65, 0
br i1 %66, label %67, label %68
; <label>:67 ; preds = %64
store %struct.SpeexMode* @speex_uwb_mode, %struct.SpeexMode** %8, align 4
br label %177
; <label>:68 ; preds = %64
store i32 1, i32* %37, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %38, i8* getelementptr inbounds ([22 x i8]* @.str6169, i32 0, i32 0), i32 22, i32 1, i1 false) nounwind
br label %177
; <label>:69 ; preds = %52
%70 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([9 x i8]* @.str7170, i32 0, i32 0)) nounwind
%71 = icmp eq i32 %70, 0
br i1 %71, label %72, label %77
; <label>:72 ; preds = %69
%73 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%74 = call i32 @atoi(i8* %73) nounwind
store i32 %74, i32* %16, align 4
%75 = call double @atof(i8* %73) nounwind
%76 = fptrunc double %75 to float
store float %76, float* %18, align 4
br label %177
; <label>:77 ; preds = %69
%78 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([9 x i8]* @.str8171, i32 0, i32 0)) nounwind
%79 = icmp eq i32 %78, 0
br i1 %79, label %80, label %83
; <label>:80 ; preds = %77
%81 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%82 = call i32 @atoi(i8* %81) nounwind
store i32 %82, i32* %40, align 4
br label %177
; <label>:83 ; preds = %77
%84 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([5 x i8]* @.str9172, i32 0, i32 0)) nounwind
%85 = icmp eq i32 %84, 0
br i1 %85, label %86, label %89
; <label>:86 ; preds = %83
%87 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%88 = call i32 @atoi(i8* %87) nounwind
store i32 %88, i32* %41, align 4
br label %177
; <label>:89 ; preds = %83
%90 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([5 x i8]* @.str10173, i32 0, i32 0)) nounwind
%91 = icmp eq i32 %90, 0
br i1 %91, label %92, label %95
; <label>:92 ; preds = %89
%93 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%94 = call i32 @atoi(i8* %93) nounwind
store i32 %94, i32* %43, align 4
br label %177
; <label>:95 ; preds = %89
%96 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([9 x i8]* @.str11174, i32 0, i32 0)) nounwind
%97 = icmp eq i32 %96, 0
br i1 %97, label %98, label %101
; <label>:98 ; preds = %95
%99 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%100 = call i32 @atoi(i8* %99) nounwind
store i32 %100, i32* %45, align 4
br label %177
; <label>:101 ; preds = %95
%102 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([5 x i8]* @.str12, i32 0, i32 0)) nounwind
%103 = icmp eq i32 %102, 0
br i1 %103, label %104, label %107
; <label>:104 ; preds = %101
%105 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%106 = call i32 @atoi(i8* %105) nounwind
store i32 %106, i32* %47, align 4
br label %177
; <label>:107 ; preds = %101
%108 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([12 x i8]* @.str13175, i32 0, i32 0)) nounwind
%109 = icmp eq i32 %108, 0
br i1 %109, label %110, label %113
; <label>:110 ; preds = %107
%111 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%112 = call i32 @atoi(i8* %111) nounwind
store i32 %112, i32* %26, align 4
br label %177
; <label>:113 ; preds = %107
%114 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([5 x i8]* @.str14, i32 0, i32 0)) nounwind
%115 = icmp eq i32 %114, 0
br i1 %115, label %116, label %119
; <label>:116 ; preds = %113
%117 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%118 = call i32 @atoi(i8* %117) nounwind
store i32 %118, i32* %49, align 4
br label %177
; <label>:119 ; preds = %113
%120 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([5 x i8]* @.str15176, i32 0, i32 0)) nounwind
%121 = icmp eq i32 %120, 0
br i1 %121, label %122, label %125
; <label>:122 ; preds = %119
%123 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%124 = call i32 @atoi(i8* %123) nounwind
store i32 %124, i32* %51, align 4
br label %177
; <label>:125 ; preds = %119
%126 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([6 x i8]* @.str16177, i32 0, i32 0)) nounwind
%127 = icmp eq i32 %126, 0
br i1 %127, label %128, label %131
; <label>:128 ; preds = %125
%129 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%130 = call i32 @atoi(i8* %129) nounwind
store i32 %130, i32* %10, align 4
br label %177
; <label>:131 ; preds = %125
%132 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([8 x i8]* @.str17178, i32 0, i32 0)) nounwind
%133 = icmp eq i32 %132, 0
br i1 %133, label %134, label %140
; <label>:134 ; preds = %131
%135 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%136 = call i32 @atoi(i8* %135) nounwind
%137 = icmp eq i32 %136, 1
br i1 %137, label %138, label %139
; <label>:138 ; preds = %134
store i32 2, i32* %12, align 4
br label %177
; <label>:139 ; preds = %134
store i32 1, i32* %12, align 4
br label %177
; <label>:140 ; preds = %131
%141 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([8 x i8]* @.str18, i32 0, i32 0)) nounwind
%142 = icmp eq i32 %141, 0
br i1 %142, label %143, label %154
; <label>:143 ; preds = %140
%144 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%145 = call i32 @strcmp(i8* %144, i8* getelementptr inbounds ([3 x i8]* @.str19, i32 0, i32 0)) nounwind
%146 = icmp eq i32 %145, 0
br i1 %146, label %147, label %148
; <label>:147 ; preds = %143
store i32 0, i32* %20, align 4
br label %177
; <label>:148 ; preds = %143
%149 = call i32 @strcmp(i8* %144, i8* getelementptr inbounds ([3 x i8]* @.str20, i32 0, i32 0)) nounwind
%150 = icmp eq i32 %149, 0
br i1 %150, label %151, label %152
; <label>:151 ; preds = %148
store i32 1, i32* %20, align 4
br label %177
; <label>:152 ; preds = %148
%153 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([32 x i8]* @.str21, i32 0, i32 0), i8* %144) nounwind
br label %177
; <label>:154 ; preds = %140
%155 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([6 x i8]* @.str22, i32 0, i32 0)) nounwind
%156 = icmp eq i32 %155, 0
br i1 %156, label %157, label %168
; <label>:157 ; preds = %154
%158 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%159 = call i32 @strcmp(i8* %158, i8* getelementptr inbounds ([2 x i8]* @.str23, i32 0, i32 0)) nounwind
%160 = icmp eq i32 %159, 0
br i1 %160, label %161, label %162
; <label>:161 ; preds = %157
store i32 8, i32* %14, align 4
br label %177
; <label>:162 ; preds = %157
%163 = call i32 @strcmp(i8* %158, i8* getelementptr inbounds ([3 x i8]* @.str24, i32 0, i32 0)) nounwind
%164 = icmp eq i32 %163, 0
br i1 %164, label %165, label %166
; <label>:165 ; preds = %162
store i32 16, i32* %14, align 4
br label %177
; <label>:166 ; preds = %162
%167 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([23 x i8]* @.str25, i32 0, i32 0), i8* %158) nounwind
br label %177
; <label>:168 ; preds = %154
%169 = call i32 @strcmp(i8* %tmpstr.01.i.i, i8* getelementptr inbounds ([9 x i8]* @.str26179, i32 0, i32 0)) nounwind
%170 = icmp eq i32 %169, 0
br i1 %170, label %171, label %177
; <label>:171 ; preds = %168
%172 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%173 = call i32 @atoi(i8* %172) nounwind
%174 = icmp slt i32 %173, 1
%..i.i = select i1 %174, i32 1, i32 %173
store i32 %..i.i, i32* %24, align 4
%175 = icmp sgt i32 %..i.i, 10
br i1 %175, label %176, label %177
; <label>:176 ; preds = %171
store i32 10, i32* %24, align 4
br label %177
; <label>:177 ; preds = %176, %171, %168, %166, %165, %161, %152, %151, %147, %139, %138, %128, %122, %116, %110, %104, %98, %92, %86, %80, %72, %68, %67, %63, %59
%178 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%179 = icmp eq i8* %178, null
br i1 %179, label %._crit_edge.i.i, label %52
._crit_edge.i.i: ; preds = %177, %0
%180 = load %struct.SpeexMode** %8, align 4
%181 = icmp eq %struct.SpeexMode* %180, null
%182 = load i32* %10, align 4
%183 = icmp eq i32 %182, 0
br i1 %181, label %184, label %.thread.i.i
; <label>:184 ; preds = %._crit_edge.i.i
br i1 %183, label %.thread.thread.i.i, label %185
.thread.thread.i.i: ; preds = %184
store %struct.SpeexMode* bitcast ({ i8*, i32 (i8*, i32, i8*)*, i8*, i32, i32, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, i8*, %struct.SpeexBits*)*, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, %struct.SpeexBits*, i8*)*, i32 (i8*, i32, i8*)*, i32 (i8*, i32, i8*)* }* @speex_nb_mode to %struct.SpeexMode*), %struct.SpeexMode** %8, align 4
store i32 8000, i32* %10, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
; <label>:185 ; preds = %184
%.off.i.i = add i32 %182, -6000
%186 = icmp ugt i32 %.off.i.i, 42000
br i1 %186, label %187, label %191
; <label>:187 ; preds = %185
%188 = getelementptr inbounds i8* %5, i32 6936
%189 = bitcast i8* %188 to i32*
store i32 1, i32* %189, align 4
%190 = getelementptr inbounds i8* %5, i32 6736
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %190, i8* getelementptr inbounds ([28 x i8]* @.str27180, i32 0, i32 0), i32 28, i32 1, i1 false) nounwind
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
; <label>:191 ; preds = %185
%192 = icmp sgt i32 %182, 25000
br i1 %192, label %193, label %194
; <label>:193 ; preds = %191
store %struct.SpeexMode* @speex_uwb_mode, %struct.SpeexMode** %8, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
; <label>:194 ; preds = %191
%195 = icmp sgt i32 %182, 12500
br i1 %195, label %196, label %197
; <label>:196 ; preds = %194
store %struct.SpeexMode* @speex_wb_mode, %struct.SpeexMode** %8, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
; <label>:197 ; preds = %194
%198 = icmp sgt i32 %182, 5999
br i1 %198, label %199, label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
; <label>:199 ; preds = %197
store %struct.SpeexMode* bitcast ({ i8*, i32 (i8*, i32, i8*)*, i8*, i32, i32, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, i8*, %struct.SpeexBits*)*, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, %struct.SpeexBits*, i8*)*, i32 (i8*, i32, i8*)*, i32 (i8*, i32, i8*)* }* @speex_nb_mode to %struct.SpeexMode*), %struct.SpeexMode** %8, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
.thread.i.i: ; preds = %._crit_edge.i.i
br i1 %183, label %200, label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
; <label>:200 ; preds = %.thread.i.i
%201 = icmp eq %struct.SpeexMode* %180, bitcast ({ i8*, i32 (i8*, i32, i8*)*, i8*, i32, i32, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, i8*, %struct.SpeexBits*)*, i8* (%struct.SpeexMode.58*)*, void (i8*)*, i32 (i8*, %struct.SpeexBits*, i8*)*, i32 (i8*, i32, i8*)*, i32 (i8*, i32, i8*)* }* @speex_nb_mode to %struct.SpeexMode*)
br i1 %201, label %202, label %203
; <label>:202 ; preds = %200
store i32 8000, i32* %10, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
; <label>:203 ; preds = %200
%204 = icmp eq %struct.SpeexMode* %180, @speex_wb_mode
br i1 %204, label %205, label %206
; <label>:205 ; preds = %203
store i32 16000, i32* %10, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
; <label>:206 ; preds = %203
%207 = icmp eq %struct.SpeexMode* %180, @speex_uwb_mode
br i1 %207, label %208, label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
; <label>:208 ; preds = %206
store i32 32000, i32* %10, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i: ; preds = %208, %206, %205, %202, %.thread.i.i, %199, %197, %196, %193, %187, %.thread.thread.i.i
call void @llvm.lifetime.end(i64 -1, i8* %31) nounwind
call void @llvm.lifetime.end(i64 -1, i8* %32) nounwind
%209 = call i32 @strlen(i8* %30) nounwind
%210 = add nsw i32 %209, 4
%211 = add nsw i32 %209, 8
%212 = call fastcc i8* @malloc(i32 %211) nounwind
%213 = lshr i32 %209, 24
%214 = trunc i32 %213 to i8
%215 = getelementptr inbounds i8* %212, i32 3
store i8 %214, i8* %215, align 1
%216 = lshr i32 %209, 16
%217 = trunc i32 %216 to i8
%218 = getelementptr inbounds i8* %212, i32 2
store i8 %217, i8* %218, align 1
%219 = lshr i32 %209, 8
%220 = trunc i32 %219 to i8
%221 = getelementptr inbounds i8* %212, i32 1
store i8 %220, i8* %221, align 1
%222 = trunc i32 %209 to i8
store i8 %222, i8* %212, align 1
%223 = getelementptr inbounds i8* %212, i32 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %223, i8* %30, i32 %209, i32 1, i1 false) nounwind
%224 = add nsw i32 %209, 7
%225 = getelementptr inbounds i8* %212, i32 %224
store i8 0, i8* %225, align 1
%226 = add nsw i32 %209, 6
%227 = getelementptr inbounds i8* %212, i32 %226
store i8 0, i8* %227, align 1
%228 = add nsw i32 %209, 5
%229 = getelementptr inbounds i8* %212, i32 %228
store i8 0, i8* %229, align 1
%230 = getelementptr inbounds i8* %212, i32 %210
store i8 0, i8* %230, align 1
%231 = getelementptr inbounds i8* %5, i32 6708
%232 = bitcast i8* %231 to i32*
store i32 %211, i32* %232, align 4
%233 = getelementptr inbounds i8* %5, i32 6704
%234 = bitcast i8* %233 to i8**
store i8* %212, i8** %234, align 4
%235 = call i32 @time(i32* null)
store i32 %235, i32* %seed.i, align 4
call void @srand(i32 %235)
%236 = getelementptr inbounds i8* %5, i32 6104
%237 = bitcast i8* %236 to %struct.ogg_stream_state*
%238 = call i32 @rand_r(i32* %seed.i)
%239 = icmp eq i8* %236, null
br i1 %239, label %ogg_stream_init.exit.i, label %240
; <label>:240 ; preds = %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
call void @llvm.memset.p0i8.i32(i8* %236, i8 0, i32 360, i32 4, i1 false) nounwind
%241 = getelementptr inbounds i8* %5, i32 6108
%242 = bitcast i8* %241 to i32*
store i32 16384, i32* %242, align 4
%243 = call fastcc i8* @malloc(i32 16384) nounwind
%244 = bitcast i8* %236 to i8**
store i8* %243, i8** %244, align 4
%245 = getelementptr inbounds i8* %5, i32 6128
%246 = bitcast i8* %245 to i32*
store i32 1024, i32* %246, align 4
%247 = call fastcc i8* @malloc(i32 4096) nounwind
%248 = bitcast i8* %247 to i32*
%249 = getelementptr inbounds i8* %5, i32 6120
%250 = bitcast i8* %249 to i32**
store i32* %248, i32** %250, align 4
%251 = load i32* %246, align 4
%252 = shl i32 %251, 3
%253 = call fastcc i8* @malloc(i32 %252) nounwind
%254 = bitcast i8* %253 to i64*
%255 = getelementptr inbounds i8* %5, i32 6124
%256 = bitcast i8* %255 to i64**
store i64* %254, i64** %256, align 4
%257 = getelementptr inbounds i8* %5, i32 6440
%258 = bitcast i8* %257 to i32*
store i32 %238, i32* %258, align 4
br label %ogg_stream_init.exit.i
ogg_stream_init.exit.i: ; preds = %240, %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
%259 = getelementptr inbounds i8* %5, i32 6516
%260 = load i32* %10, align 4
%261 = load %struct.SpeexMode** %8, align 4
store i8 83, i8* %259, align 1
%262 = getelementptr inbounds i8* %5, i32 6517
store i8 112, i8* %262, align 1
%263 = getelementptr inbounds i8* %5, i32 6518
store i8 101, i8* %263, align 1
%264 = getelementptr inbounds i8* %5, i32 6519
store i8 101, i8* %264, align 1
%265 = getelementptr inbounds i8* %5, i32 6520
store i8 120, i8* %265, align 1
%266 = getelementptr inbounds i8* %5, i32 6521
store i8 32, i8* %266, align 1
%267 = getelementptr inbounds i8* %5, i32 6522
store i8 32, i8* %267, align 1
%268 = getelementptr inbounds i8* %5, i32 6523
store i8 32, i8* %268, align 1
%269 = getelementptr inbounds i8* %5, i32 6524
store i8 115, i8* %269, align 1
%270 = getelementptr inbounds i8* %5, i32 6525
store i8 112, i8* %270, align 1
%271 = getelementptr inbounds i8* %5, i32 6526
store i8 101, i8* %271, align 1
%272 = getelementptr inbounds i8* %5, i32 6527
store i8 101, i8* %272, align 1
%273 = getelementptr inbounds i8* %5, i32 6528
store i8 120, i8* %273, align 1
%274 = getelementptr inbounds i8* %5, i32 6529
store i8 45, i8* %274, align 1
%275 = getelementptr inbounds i8* %5, i32 6530
store i8 49, i8* %275, align 1
%276 = getelementptr inbounds i8* %5, i32 6531
store i8 46, i8* %276, align 1
%277 = getelementptr inbounds i8* %5, i32 6532
store i8 50, i8* %277, align 1
%278 = getelementptr inbounds i8* %5, i32 6533
store i8 98, i8* %278, align 1
%279 = getelementptr inbounds i8* %5, i32 6534
store i8 101, i8* %279, align 1
%280 = getelementptr inbounds i8* %5, i32 6535
store i8 116, i8* %280, align 1
%281 = getelementptr inbounds i8* %5, i32 6536
store i8 97, i8* %281, align 1
%282 = getelementptr inbounds i8* %5, i32 6537
store i8 51, i8* %282, align 1
%283 = getelementptr i8* %5, i32 6538
call void @llvm.memset.p0i8.i32(i8* %283, i8 0, i32 6, i32 1, i1 false)
%284 = getelementptr inbounds i8* %5, i32 6544
%285 = bitcast i8* %284 to i32*
store i32 1, i32* %285, align 4
%286 = getelementptr inbounds i8* %5, i32 6548
%287 = bitcast i8* %286 to i32*
store i32 80, i32* %287, align 4
%288 = getelementptr inbounds i8* %5, i32 6552
%289 = bitcast i8* %288 to i32*
store i32 %260, i32* %289, align 4
%290 = getelementptr inbounds %struct.SpeexMode* %261, i32 0, i32 3
%291 = load i32* %290, align 4
%292 = getelementptr inbounds i8* %5, i32 6556
%293 = bitcast i8* %292 to i32*
store i32 %291, i32* %293, align 4
%294 = getelementptr inbounds %struct.SpeexMode* %261, i32 0, i32 4
%295 = load i32* %294, align 4
%296 = getelementptr inbounds i8* %5, i32 6560
%297 = bitcast i8* %296 to i32*
store i32 %295, i32* %297, align 4
%298 = load i32* %290, align 4
%299 = icmp slt i32 %298, 0
br i1 %299, label %300, label %speex_init_header.exit.i
; <label>:300 ; preds = %ogg_stream_init.exit.i
%301 = load %struct.__sFILE** @stderr, align 4
%302 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %301, i8* getelementptr inbounds ([13 x i8]* @.str7, i32 0, i32 0), i8* getelementptr inbounds ([36 x i8]* @.str2139, i32 0, i32 0)) nounwind
br label %speex_init_header.exit.i
speex_init_header.exit.i: ; preds = %300, %ogg_stream_init.exit.i
%303 = getelementptr inbounds i8* %5, i32 6564
%304 = bitcast i8* %303 to i32*
store i32 1, i32* %304, align 4
%305 = getelementptr inbounds i8* %5, i32 6568
%306 = bitcast i8* %305 to i32*
store i32 -1, i32* %306, align 4
%307 = getelementptr inbounds i8* %5, i32 6572
%308 = getelementptr inbounds %struct.SpeexMode* %261, i32 0, i32 1
%309 = load i32 (i8*, i32, i8*)** %308, align 4
%310 = getelementptr inbounds %struct.SpeexMode* %261, i32 0, i32 0
%311 = load i8** %310, align 4
%312 = call i32 %309(i8* %311, i32 0, i8* %307)
%313 = getelementptr inbounds i8* %5, i32 6576
call void @llvm.memset.p0i8.i64(i8* %313, i8 0, i64 20, i32 4, i1 false)
%314 = load i32* %24, align 4
%315 = getelementptr inbounds i8* %5, i32 6580
%316 = bitcast i8* %315 to i32*
store i32 %314, i32* %316, align 4
%317 = bitcast i8* %6 to i32*
%318 = load i32* %317, align 4
%319 = bitcast i8* %313 to i32*
store i32 %318, i32* %319, align 4
%320 = load i32* %12, align 4
store i32 %320, i32* %304, align 4
%321 = load %struct.SpeexMode** %8, align 4
%322 = bitcast %struct.SpeexMode* %321 to %struct.SpeexMode.117*
%323 = getelementptr inbounds %struct.SpeexMode* %321, i32 0, i32 5
%324 = load i8* (%struct.SpeexMode*)** %323, align 4
%325 = bitcast i8* (%struct.SpeexMode*)* %324 to i8* (%struct.SpeexMode.117*)*
%326 = call i8* %325(%struct.SpeexMode.117* %322)
%327 = getelementptr inbounds i8* %5, i32 36
%328 = bitcast i8* %327 to i8**
store i8* %326, i8** %328, align 4
%329 = getelementptr inbounds i8* %5, i32 24
%330 = bitcast i8* %329 to i32*
%331 = load i32* %330, align 4
%332 = icmp eq i32 %331, 0
%333 = getelementptr inbounds i8* %5, i32 20
%334 = bitcast i8* %333 to i32*
br i1 %332, label %335, label %speex_preprocess_ctl.exit.i
; <label>:335 ; preds = %speex_init_header.exit.i
%336 = load i32* %334, align 4
%337 = icmp eq i32 %336, 0
br i1 %337, label %985, label %speex_preprocess_ctl.exit.i
speex_preprocess_ctl.exit.i: ; preds = %335, %speex_init_header.exit.i
%338 = bitcast i8* %5 to i32*
%339 = load i32* %338, align 4
%340 = load i32* %10, align 4
%341 = call fastcc i8* @malloc(i32 212) nounwind
%342 = icmp eq i8* %341, null
br i1 %342, label %_Z11speex_alloci.exit.i1.i, label %343
; <label>:343 ; preds = %speex_preprocess_ctl.exit.i
%344 = getelementptr inbounds i8* %341, i32 -4
%345 = bitcast i8* %344 to i32*
%346 = load i32* %345, align 4
%347 = and i32 %346, 3
%348 = icmp eq i32 %347, 0
br i1 %348, label %_Z11speex_alloci.exit.i1.i, label %349
; <label>:349 ; preds = %343
call void @llvm.memset.p0i8.i32(i8* %341, i8 0, i32 212, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit.i1.i
_Z11speex_alloci.exit.i1.i: ; preds = %349, %343, %speex_preprocess_ctl.exit.i
%350 = bitcast i8* %341 to %struct.SpeexPreprocessState_*
%351 = bitcast i8* %341 to i32*
store i32 %339, i32* %351, align 4
%352 = getelementptr inbounds i8* %341, i32 4
%353 = bitcast i8* %352 to i32*
store i32 %339, i32* %353, align 4
%354 = shl nsw i32 %339, 1
%355 = getelementptr inbounds i8* %341, i32 8
%356 = bitcast i8* %355 to i32*
store i32 %340, i32* %356, align 4
%357 = getelementptr inbounds i8* %341, i32 20
%358 = bitcast i8* %357 to i32*
store i32 1, i32* %358, align 4
%359 = getelementptr inbounds i8* %341, i32 24
%360 = getelementptr inbounds i8* %341, i32 48
%361 = bitcast i8* %360 to i32*
call void @llvm.memset.p0i8.i64(i8* %359, i8 0, i64 16, i32 4, i1 false)
store i32 -15, i32* %361, align 4
%362 = getelementptr inbounds i8* %341, i32 52
%363 = bitcast i8* %362 to i32*
store i32 -40, i32* %363, align 4
%364 = getelementptr inbounds i8* %341, i32 56
%365 = bitcast i8* %364 to i32*
store i32 -15, i32* %365, align 4
%366 = getelementptr inbounds i8* %341, i32 40
%367 = bitcast i8* %366 to float*
store float 0x3FD6666660000000, float* %367, align 4
%368 = getelementptr inbounds i8* %341, i32 44
%369 = bitcast i8* %368 to float*
store float 0x3FC99999A0000000, float* %369, align 4
%370 = getelementptr inbounds i8* %341, i32 60
%371 = bitcast i8* %370 to %struct.SpeexEchoState_**
store %struct.SpeexEchoState_* null, %struct.SpeexEchoState_** %371, align 4
%372 = getelementptr inbounds i8* %341, i32 12
%373 = bitcast i8* %372 to i32*
store i32 24, i32* %373, align 4
%374 = sitofp i32 %340 to float
%375 = sitofp i32 %339 to float
%376 = fmul float %375, 2.000000e+00
%377 = fdiv float %374, %376
%378 = fmul float %374, 5.000000e-01
%379 = fmul float %378, 0x3F483F91E0000000
%380 = fpext float %379 to double
%381 = call double @atan(double %380)
%382 = fmul double %381, 0x402A333340000000
%383 = fmul float %378, %378
%384 = fmul float %383, 0x3E53DD3DC0000000
%385 = fpext float %384 to double
%386 = call double @atan(double %385)
%387 = fmul double %386, 0x4001EB8520000000
%388 = fadd double %382, %387
%389 = fmul float %378, 0x3F1A36E2E0000000
%390 = fpext float %389 to double
%391 = fadd double %388, %390
%392 = fptrunc double %391 to float
%393 = fdiv float %392, 2.300000e+01
%394 = call fastcc i8* @malloc(i32 28) nounwind
%395 = icmp eq i8* %394, null
br i1 %395, label %_Z11speex_alloci.exit.i.i.i, label %396
; <label>:396 ; preds = %_Z11speex_alloci.exit.i1.i
%397 = getelementptr inbounds i8* %394, i32 -4
%398 = bitcast i8* %397 to i32*
%399 = load i32* %398, align 4
%400 = and i32 %399, 3
%401 = icmp eq i32 %400, 0
br i1 %401, label %_Z11speex_alloci.exit.i.i.i, label %402
; <label>:402 ; preds = %396
call void @llvm.memset.p0i8.i32(i8* %394, i8 0, i32 28, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit.i.i.i
_Z11speex_alloci.exit.i.i.i: ; preds = %402, %396, %_Z11speex_alloci.exit.i1.i
%403 = bitcast i8* %394 to %struct.FilterBank*
%404 = getelementptr inbounds i8* %394, i32 20
%405 = bitcast i8* %404 to i32*
store i32 24, i32* %405, align 4
%406 = getelementptr inbounds i8* %394, i32 24
%407 = bitcast i8* %406 to i32*
store i32 %339, i32* %407, align 4
%408 = shl i32 %339, 2
%409 = call fastcc i8* @malloc(i32 %408) nounwind
%410 = icmp eq i8* %409, null
br i1 %410, label %_Z11speex_alloci.exit1.i.i.i, label %411
; <label>:411 ; preds = %_Z11speex_alloci.exit.i.i.i
%412 = getelementptr inbounds i8* %409, i32 -4
%413 = bitcast i8* %412 to i32*
%414 = load i32* %413, align 4
%415 = and i32 %414, 3
%416 = icmp eq i32 %415, 0
br i1 %416, label %_Z11speex_alloci.exit1.i.i.i, label %417
; <label>:417 ; preds = %411
call void @llvm.memset.p0i8.i32(i8* %409, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit1.i.i.i
_Z11speex_alloci.exit1.i.i.i: ; preds = %417, %411, %_Z11speex_alloci.exit.i.i.i
%418 = bitcast i8* %409 to i32*
%419 = bitcast i8* %394 to i32**
store i32* %418, i32** %419, align 4
%420 = call fastcc i8* @malloc(i32 %408) nounwind
%421 = icmp eq i8* %420, null
br i1 %421, label %_Z11speex_alloci.exit2.i.i.i, label %422
; <label>:422 ; preds = %_Z11speex_alloci.exit1.i.i.i
%423 = getelementptr inbounds i8* %420, i32 -4
%424 = bitcast i8* %423 to i32*
%425 = load i32* %424, align 4
%426 = and i32 %425, 3
%427 = icmp eq i32 %426, 0
br i1 %427, label %_Z11speex_alloci.exit2.i.i.i, label %428
; <label>:428 ; preds = %422
call void @llvm.memset.p0i8.i32(i8* %420, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit2.i.i.i
_Z11speex_alloci.exit2.i.i.i: ; preds = %428, %422, %_Z11speex_alloci.exit1.i.i.i
%429 = bitcast i8* %420 to i32*
%430 = getelementptr inbounds i8* %394, i32 4
%431 = bitcast i8* %430 to i32**
store i32* %429, i32** %431, align 4
%432 = call fastcc i8* @malloc(i32 %408) nounwind
%433 = icmp eq i8* %432, null
br i1 %433, label %_Z11speex_alloci.exit3.i.i.i, label %434
; <label>:434 ; preds = %_Z11speex_alloci.exit2.i.i.i
%435 = getelementptr inbounds i8* %432, i32 -4
%436 = bitcast i8* %435 to i32*
%437 = load i32* %436, align 4
%438 = and i32 %437, 3
%439 = icmp eq i32 %438, 0
br i1 %439, label %_Z11speex_alloci.exit3.i.i.i, label %440
; <label>:440 ; preds = %434
call void @llvm.memset.p0i8.i32(i8* %432, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit3.i.i.i
_Z11speex_alloci.exit3.i.i.i: ; preds = %440, %434, %_Z11speex_alloci.exit2.i.i.i
%441 = bitcast i8* %432 to float*
%442 = getelementptr inbounds i8* %394, i32 8
%443 = bitcast i8* %442 to float**
store float* %441, float** %443, align 4
%444 = call fastcc i8* @malloc(i32 %408) nounwind
%445 = icmp eq i8* %444, null
br i1 %445, label %_Z11speex_alloci.exit4.i.i.i, label %446
; <label>:446 ; preds = %_Z11speex_alloci.exit3.i.i.i
%447 = getelementptr inbounds i8* %444, i32 -4
%448 = bitcast i8* %447 to i32*
%449 = load i32* %448, align 4
%450 = and i32 %449, 3
%451 = icmp eq i32 %450, 0
br i1 %451, label %_Z11speex_alloci.exit4.i.i.i, label %452
; <label>:452 ; preds = %446
call void @llvm.memset.p0i8.i32(i8* %444, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit4.i.i.i
_Z11speex_alloci.exit4.i.i.i: ; preds = %452, %446, %_Z11speex_alloci.exit3.i.i.i
%453 = bitcast i8* %444 to float*
%454 = getelementptr inbounds i8* %394, i32 12
%455 = bitcast i8* %454 to float**
store float* %453, float** %455, align 4
%456 = call fastcc i8* @malloc(i32 96) nounwind
%457 = icmp eq i8* %456, null
br i1 %457, label %_Z11speex_alloci.exit5.i.i.i, label %458
; <label>:458 ; preds = %_Z11speex_alloci.exit4.i.i.i
%459 = getelementptr inbounds i8* %456, i32 -4
%460 = bitcast i8* %459 to i32*
%461 = load i32* %460, align 4
%462 = and i32 %461, 3
%463 = icmp eq i32 %462, 0
br i1 %463, label %_Z11speex_alloci.exit5.i.i.i, label %464
; <label>:464 ; preds = %458
call void @llvm.memset.p0i8.i32(i8* %456, i8 0, i32 96, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit5.i.i.i
_Z11speex_alloci.exit5.i.i.i: ; preds = %464, %458, %_Z11speex_alloci.exit4.i.i.i
%465 = bitcast i8* %456 to float*
%466 = getelementptr inbounds i8* %394, i32 16
%467 = bitcast i8* %466 to float**
store float* %465, float** %467, align 4
br label %468
; <label>:468 ; preds = %499, %_Z11speex_alloci.exit5.i.i.i
%i.0.i.i.i = phi i32 [ 0, %_Z11speex_alloci.exit5.i.i.i ], [ %510, %499 ]
%469 = icmp slt i32 %i.0.i.i.i, %339
br i1 %469, label %472, label %.preheader10.i.i.i
.preheader10.i.i.i: ; preds = %472, %468
%470 = load i32* %405, align 4
%471 = icmp sgt i32 %470, 0
br i1 %471, label %.lr.ph12.i.i.i, label %.preheader7.i.i.i
; <label>:472 ; preds = %468
%473 = sitofp i32 %i.0.i.i.i to float
%474 = fmul float %473, %377
%475 = fmul float %474, 0x3F483F91E0000000
%476 = fpext float %475 to double
%477 = call double @atan(double %476)
%478 = fmul double %477, 0x402A333340000000
%479 = fmul float %474, %474
%480 = fmul float %479, 0x3E53DD3DC0000000
%481 = fpext float %480 to double
%482 = call double @atan(double %481)
%483 = fmul double %482, 0x4001EB8520000000
%484 = fadd double %478, %483
%485 = fmul float %474, 0x3F1A36E2E0000000
%486 = fpext float %485 to double
%487 = fadd double %484, %486
%488 = fptrunc double %487 to float
%489 = fcmp ogt float %488, %392
br i1 %489, label %.preheader10.i.i.i, label %490
; <label>:490 ; preds = %472
%491 = fdiv float %488, %393
%floorf.i.i.i = call float @floorf(float %491)
%492 = fptosi float %floorf.i.i.i to i32
%493 = icmp sgt i32 %492, 22
br i1 %493, label %499, label %494
; <label>:494 ; preds = %490
%495 = sitofp i32 %492 to float
%496 = fmul float %495, %393
%497 = fsub float %488, %496
%498 = fdiv float %497, %393
br label %499
; <label>:499 ; preds = %494, %490
%id1.0.i.i.i = phi i32 [ %492, %494 ], [ 22, %490 ]
%val.0.i.i.i = phi float [ %498, %494 ], [ 1.000000e+00, %490 ]
%500 = add nsw i32 %id1.0.i.i.i, 1
%501 = load i32** %419, align 4
%502 = getelementptr inbounds i32* %501, i32 %i.0.i.i.i
store i32 %id1.0.i.i.i, i32* %502, align 4
%503 = fsub float 1.000000e+00, %val.0.i.i.i
%504 = load float** %443, align 4
%505 = getelementptr inbounds float* %504, i32 %i.0.i.i.i
store float %503, float* %505, align 4
%506 = load i32** %431, align 4
%507 = getelementptr inbounds i32* %506, i32 %i.0.i.i.i
store i32 %500, i32* %507, align 4
%508 = load float** %455, align 4
%509 = getelementptr inbounds float* %508, i32 %i.0.i.i.i
store float %val.0.i.i.i, float* %509, align 4
%510 = add nsw i32 %i.0.i.i.i, 1
br label %468
.preheader7.i.i.i: ; preds = %.lr.ph12.i.i.i, %.preheader10.i.i.i
%511 = phi i32 [ %470, %.preheader10.i.i.i ], [ %517, %.lr.ph12.i.i.i ]
%512 = load i32* %407, align 4
%513 = icmp sgt i32 %512, 0
br i1 %513, label %.lr.ph9.i.i.i, label %.preheader.i.i.i
.lr.ph12.i.i.i: ; preds = %.lr.ph12.i.i.i, %.preheader10.i.i.i
%i.111.i.i.i = phi i32 [ 0, %.preheader10.i.i.i ], [ %516, %.lr.ph12.i.i.i ]
%514 = load float** %467, align 4
%515 = getelementptr inbounds float* %514, i32 %i.111.i.i.i
store float 0.000000e+00, float* %515, align 4
%516 = add nsw i32 %i.111.i.i.i, 1
%517 = load i32* %405, align 4
%518 = icmp slt i32 %516, %517
br i1 %518, label %.lr.ph12.i.i.i, label %.preheader7.i.i.i
..preheader_crit_edge.i.i.i: ; preds = %.lr.ph9.i.i.i
%.pre.i.i.i = load i32* %405, align 4
br label %.preheader.i.i.i
.preheader.i.i.i: ; preds = %..preheader_crit_edge.i.i.i, %.preheader7.i.i.i
%519 = phi i32 [ %.pre.i.i.i, %..preheader_crit_edge.i.i.i ], [ %511, %.preheader7.i.i.i ]
%520 = icmp sgt i32 %519, 0
br i1 %520, label %.lr.ph.i1.i.i, label %_Z14filterbank_newifii.exit.i.i
.lr.ph9.i.i.i: ; preds = %.lr.ph9.i.i.i, %.preheader7.i.i.i
%i.28.i.i.i = phi i32 [ 0, %.preheader7.i.i.i ], [ %541, %.lr.ph9.i.i.i ]
%521 = load i32** %419, align 4
%522 = getelementptr inbounds i32* %521, i32 %i.28.i.i.i
%523 = load i32* %522, align 4
%524 = load float** %443, align 4
%525 = getelementptr inbounds float* %524, i32 %i.28.i.i.i
%526 = load float* %525, align 4
%527 = load float** %467, align 4
%528 = getelementptr inbounds float* %527, i32 %523
%529 = load float* %528, align 4
%530 = fadd float %529, %526
store float %530, float* %528, align 4
%531 = load i32** %431, align 4
%532 = getelementptr inbounds i32* %531, i32 %i.28.i.i.i
%533 = load i32* %532, align 4
%534 = load float** %455, align 4
%535 = getelementptr inbounds float* %534, i32 %i.28.i.i.i
%536 = load float* %535, align 4
%537 = load float** %467, align 4
%538 = getelementptr inbounds float* %537, i32 %533
%539 = load float* %538, align 4
%540 = fadd float %539, %536
store float %540, float* %538, align 4
%541 = add nsw i32 %i.28.i.i.i, 1
%542 = load i32* %407, align 4
%543 = icmp slt i32 %541, %542
br i1 %543, label %.lr.ph9.i.i.i, label %..preheader_crit_edge.i.i.i
.lr.ph.i1.i.i: ; preds = %.lr.ph.i1.i.i, %.preheader.i.i.i
%i.36.i.i.i = phi i32 [ 0, %.preheader.i.i.i ], [ %548, %.lr.ph.i1.i.i ]
%544 = load float** %467, align 4
%545 = getelementptr inbounds float* %544, i32 %i.36.i.i.i
%546 = load float* %545, align 4
%547 = fdiv float 1.000000e+00, %546
store float %547, float* %545, align 4
%548 = add nsw i32 %i.36.i.i.i, 1
%549 = load i32* %405, align 4
%550 = icmp slt i32 %548, %549
br i1 %550, label %.lr.ph.i1.i.i, label %_Z14filterbank_newifii.exit.i.i
_Z14filterbank_newifii.exit.i.i: ; preds = %.lr.ph.i1.i.i, %.preheader.i.i.i
%551 = getelementptr inbounds i8* %341, i32 16
%552 = bitcast i8* %551 to %struct.FilterBank**
store %struct.FilterBank* %403, %struct.FilterBank** %552, align 4
%553 = shl i32 %339, 3
%554 = call fastcc i8* @malloc(i32 %553) nounwind
%555 = icmp eq i8* %554, null
br i1 %555, label %_Z11speex_alloci.exit1.i.i, label %556
; <label>:556 ; preds = %_Z14filterbank_newifii.exit.i.i
%557 = getelementptr inbounds i8* %554, i32 -4
%558 = bitcast i8* %557 to i32*
%559 = load i32* %558, align 4
%560 = and i32 %559, 3
%561 = icmp eq i32 %560, 0
br i1 %561, label %_Z11speex_alloci.exit1.i.i, label %562
; <label>:562 ; preds = %556
call void @llvm.memset.p0i8.i32(i8* %554, i8 0, i32 %553, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit1.i.i
_Z11speex_alloci.exit1.i.i: ; preds = %562, %556, %_Z14filterbank_newifii.exit.i.i
%563 = bitcast i8* %554 to float*
%564 = getelementptr inbounds i8* %341, i32 68
%565 = bitcast i8* %564 to float**
store float* %563, float** %565, align 4
%566 = call fastcc i8* @malloc(i32 %553) nounwind
%567 = icmp eq i8* %566, null
br i1 %567, label %_Z11speex_alloci.exit2.i.i, label %568
; <label>:568 ; preds = %_Z11speex_alloci.exit1.i.i
%569 = getelementptr inbounds i8* %566, i32 -4
%570 = bitcast i8* %569 to i32*
%571 = load i32* %570, align 4
%572 = and i32 %571, 3
%573 = icmp eq i32 %572, 0
br i1 %573, label %_Z11speex_alloci.exit2.i.i, label %574
; <label>:574 ; preds = %568
call void @llvm.memset.p0i8.i32(i8* %566, i8 0, i32 %553, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit2.i.i
_Z11speex_alloci.exit2.i.i: ; preds = %574, %568, %_Z11speex_alloci.exit1.i.i
%575 = bitcast i8* %566 to float*
%576 = getelementptr inbounds i8* %341, i32 88
%577 = bitcast i8* %576 to float**
store float* %575, float** %577, align 4
%578 = call fastcc i8* @malloc(i32 %553) nounwind
%579 = icmp eq i8* %578, null
br i1 %579, label %_Z11speex_alloci.exit3.i.i, label %580
; <label>:580 ; preds = %_Z11speex_alloci.exit2.i.i
%581 = getelementptr inbounds i8* %578, i32 -4
%582 = bitcast i8* %581 to i32*
%583 = load i32* %582, align 4
%584 = and i32 %583, 3
%585 = icmp eq i32 %584, 0
br i1 %585, label %_Z11speex_alloci.exit3.i.i, label %586
; <label>:586 ; preds = %580
call void @llvm.memset.p0i8.i32(i8* %578, i8 0, i32 %553, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit3.i.i
_Z11speex_alloci.exit3.i.i: ; preds = %586, %580, %_Z11speex_alloci.exit2.i.i
%587 = bitcast i8* %578 to float*
%588 = getelementptr inbounds i8* %341, i32 72
%589 = bitcast i8* %588 to float**
store float* %587, float** %589, align 4
%590 = add nsw i32 %339, 24
%591 = shl i32 %590, 2
%592 = call fastcc i8* @malloc(i32 %591) nounwind
%593 = icmp eq i8* %592, null
br i1 %593, label %_Z11speex_alloci.exit4.i.i, label %594
; <label>:594 ; preds = %_Z11speex_alloci.exit3.i.i
%595 = getelementptr inbounds i8* %592, i32 -4
%596 = bitcast i8* %595 to i32*
%597 = load i32* %596, align 4
%598 = and i32 %597, 3
%599 = icmp eq i32 %598, 0
br i1 %599, label %_Z11speex_alloci.exit4.i.i, label %600
; <label>:600 ; preds = %594
call void @llvm.memset.p0i8.i32(i8* %592, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit4.i.i
_Z11speex_alloci.exit4.i.i: ; preds = %600, %594, %_Z11speex_alloci.exit3.i.i
%601 = bitcast i8* %592 to float*
%602 = getelementptr inbounds i8* %341, i32 76
%603 = bitcast i8* %602 to float**
store float* %601, float** %603, align 4
%604 = call fastcc i8* @malloc(i32 %591) nounwind
%605 = icmp eq i8* %604, null
br i1 %605, label %_Z11speex_alloci.exit5.i.i, label %606
; <label>:606 ; preds = %_Z11speex_alloci.exit4.i.i
%607 = getelementptr inbounds i8* %604, i32 -4
%608 = bitcast i8* %607 to i32*
%609 = load i32* %608, align 4
%610 = and i32 %609, 3
%611 = icmp eq i32 %610, 0
br i1 %611, label %_Z11speex_alloci.exit5.i.i, label %612
; <label>:612 ; preds = %606
call void @llvm.memset.p0i8.i32(i8* %604, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit5.i.i
_Z11speex_alloci.exit5.i.i: ; preds = %612, %606, %_Z11speex_alloci.exit4.i.i
%613 = bitcast i8* %604 to float*
%614 = getelementptr inbounds i8* %341, i32 92
%615 = bitcast i8* %614 to float**
store float* %613, float** %615, align 4
%616 = call fastcc i8* @malloc(i32 %591) nounwind
%617 = icmp eq i8* %616, null
br i1 %617, label %_Z11speex_alloci.exit6.i.i, label %618
; <label>:618 ; preds = %_Z11speex_alloci.exit5.i.i
%619 = getelementptr inbounds i8* %616, i32 -4
%620 = bitcast i8* %619 to i32*
%621 = load i32* %620, align 4
%622 = and i32 %621, 3
%623 = icmp eq i32 %622, 0
br i1 %623, label %_Z11speex_alloci.exit6.i.i, label %624
; <label>:624 ; preds = %618
call void @llvm.memset.p0i8.i32(i8* %616, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit6.i.i
_Z11speex_alloci.exit6.i.i: ; preds = %624, %618, %_Z11speex_alloci.exit5.i.i
%625 = bitcast i8* %616 to float*
%626 = getelementptr inbounds i8* %341, i32 136
%627 = bitcast i8* %626 to float**
store float* %625, float** %627, align 4
%628 = call fastcc i8* @malloc(i32 %591) nounwind
%629 = icmp eq i8* %628, null
br i1 %629, label %_Z11speex_alloci.exit7.i.i, label %630
; <label>:630 ; preds = %_Z11speex_alloci.exit6.i.i
%631 = getelementptr inbounds i8* %628, i32 -4
%632 = bitcast i8* %631 to i32*
%633 = load i32* %632, align 4
%634 = and i32 %633, 3
%635 = icmp eq i32 %634, 0
br i1 %635, label %_Z11speex_alloci.exit7.i.i, label %636
; <label>:636 ; preds = %630
call void @llvm.memset.p0i8.i32(i8* %628, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit7.i.i
_Z11speex_alloci.exit7.i.i: ; preds = %636, %630, %_Z11speex_alloci.exit6.i.i
%637 = bitcast i8* %628 to float*
%638 = getelementptr inbounds i8* %341, i32 140
%639 = bitcast i8* %638 to float**
store float* %637, float** %639, align 4
%640 = call fastcc i8* @malloc(i32 %591) nounwind
%641 = icmp eq i8* %640, null
br i1 %641, label %_Z11speex_alloci.exit8.i.i, label %642
; <label>:642 ; preds = %_Z11speex_alloci.exit7.i.i
%643 = getelementptr inbounds i8* %640, i32 -4
%644 = bitcast i8* %643 to i32*
%645 = load i32* %644, align 4
%646 = and i32 %645, 3
%647 = icmp eq i32 %646, 0
br i1 %647, label %_Z11speex_alloci.exit8.i.i, label %648
; <label>:648 ; preds = %642
call void @llvm.memset.p0i8.i32(i8* %640, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit8.i.i
_Z11speex_alloci.exit8.i.i: ; preds = %648, %642, %_Z11speex_alloci.exit7.i.i
%649 = bitcast i8* %640 to float*
%650 = getelementptr inbounds i8* %341, i32 96
%651 = bitcast i8* %650 to float**
store float* %649, float** %651, align 4
%652 = call fastcc i8* @malloc(i32 %591) nounwind
%653 = icmp eq i8* %652, null
br i1 %653, label %_Z11speex_alloci.exit9.i.i, label %654
; <label>:654 ; preds = %_Z11speex_alloci.exit8.i.i
%655 = getelementptr inbounds i8* %652, i32 -4
%656 = bitcast i8* %655 to i32*
%657 = load i32* %656, align 4
%658 = and i32 %657, 3
%659 = icmp eq i32 %658, 0
br i1 %659, label %_Z11speex_alloci.exit9.i.i, label %660
; <label>:660 ; preds = %654
call void @llvm.memset.p0i8.i32(i8* %652, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit9.i.i
_Z11speex_alloci.exit9.i.i: ; preds = %660, %654, %_Z11speex_alloci.exit8.i.i
%661 = bitcast i8* %652 to float*
%662 = getelementptr inbounds i8* %341, i32 100
%663 = bitcast i8* %662 to float**
store float* %661, float** %663, align 4
%664 = call fastcc i8* @malloc(i32 %591) nounwind
%665 = icmp eq i8* %664, null
br i1 %665, label %_Z11speex_alloci.exit10.i.i, label %666
; <label>:666 ; preds = %_Z11speex_alloci.exit9.i.i
%667 = getelementptr inbounds i8* %664, i32 -4
%668 = bitcast i8* %667 to i32*
%669 = load i32* %668, align 4
%670 = and i32 %669, 3
%671 = icmp eq i32 %670, 0
br i1 %671, label %_Z11speex_alloci.exit10.i.i, label %672
; <label>:672 ; preds = %666
call void @llvm.memset.p0i8.i32(i8* %664, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit10.i.i
_Z11speex_alloci.exit10.i.i: ; preds = %672, %666, %_Z11speex_alloci.exit9.i.i
%673 = bitcast i8* %664 to float*
%674 = getelementptr inbounds i8* %341, i32 108
%675 = bitcast i8* %674 to float**
store float* %673, float** %675, align 4
%676 = call fastcc i8* @malloc(i32 %591) nounwind
%677 = icmp eq i8* %676, null
br i1 %677, label %_Z11speex_alloci.exit11.i.i, label %678
; <label>:678 ; preds = %_Z11speex_alloci.exit10.i.i
%679 = getelementptr inbounds i8* %676, i32 -4
%680 = bitcast i8* %679 to i32*
%681 = load i32* %680, align 4
%682 = and i32 %681, 3
%683 = icmp eq i32 %682, 0
br i1 %683, label %_Z11speex_alloci.exit11.i.i, label %684
; <label>:684 ; preds = %678
call void @llvm.memset.p0i8.i32(i8* %676, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit11.i.i
_Z11speex_alloci.exit11.i.i: ; preds = %684, %678, %_Z11speex_alloci.exit10.i.i
%685 = bitcast i8* %676 to float*
%686 = getelementptr inbounds i8* %341, i32 112
%687 = bitcast i8* %686 to float**
store float* %685, float** %687, align 4
%688 = call fastcc i8* @malloc(i32 %591) nounwind
%689 = icmp eq i8* %688, null
br i1 %689, label %_Z11speex_alloci.exit12.i.i, label %690
; <label>:690 ; preds = %_Z11speex_alloci.exit11.i.i
%691 = getelementptr inbounds i8* %688, i32 -4
%692 = bitcast i8* %691 to i32*
%693 = load i32* %692, align 4
%694 = and i32 %693, 3
%695 = icmp eq i32 %694, 0
br i1 %695, label %_Z11speex_alloci.exit12.i.i, label %696
; <label>:696 ; preds = %690
call void @llvm.memset.p0i8.i32(i8* %688, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit12.i.i
_Z11speex_alloci.exit12.i.i: ; preds = %696, %690, %_Z11speex_alloci.exit11.i.i
%697 = bitcast i8* %688 to float*
%698 = getelementptr inbounds i8* %341, i32 104
%699 = bitcast i8* %698 to float**
store float* %697, float** %699, align 4
%700 = call fastcc i8* @malloc(i32 %591) nounwind
%701 = icmp eq i8* %700, null
br i1 %701, label %_Z11speex_alloci.exit13.i.i, label %702
; <label>:702 ; preds = %_Z11speex_alloci.exit12.i.i
%703 = getelementptr inbounds i8* %700, i32 -4
%704 = bitcast i8* %703 to i32*
%705 = load i32* %704, align 4
%706 = and i32 %705, 3
%707 = icmp eq i32 %706, 0
br i1 %707, label %_Z11speex_alloci.exit13.i.i, label %708
; <label>:708 ; preds = %702
call void @llvm.memset.p0i8.i32(i8* %700, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit13.i.i
_Z11speex_alloci.exit13.i.i: ; preds = %708, %702, %_Z11speex_alloci.exit12.i.i
%709 = bitcast i8* %700 to float*
%710 = getelementptr inbounds i8* %341, i32 80
%711 = bitcast i8* %710 to float**
store float* %709, float** %711, align 4
%712 = call fastcc i8* @malloc(i32 %591) nounwind
%713 = icmp eq i8* %712, null
br i1 %713, label %_Z11speex_alloci.exit14.i.i, label %714
; <label>:714 ; preds = %_Z11speex_alloci.exit13.i.i
%715 = getelementptr inbounds i8* %712, i32 -4
%716 = bitcast i8* %715 to i32*
%717 = load i32* %716, align 4
%718 = and i32 %717, 3
%719 = icmp eq i32 %718, 0
br i1 %719, label %_Z11speex_alloci.exit14.i.i, label %720
; <label>:720 ; preds = %714
call void @llvm.memset.p0i8.i32(i8* %712, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit14.i.i
_Z11speex_alloci.exit14.i.i: ; preds = %720, %714, %_Z11speex_alloci.exit13.i.i
%721 = bitcast i8* %712 to float*
%722 = getelementptr inbounds i8* %341, i32 84
%723 = bitcast i8* %722 to float**
store float* %721, float** %723, align 4
%724 = call fastcc i8* @malloc(i32 %591) nounwind
%725 = icmp eq i8* %724, null
br i1 %725, label %_Z11speex_alloci.exit15.i.i, label %726
; <label>:726 ; preds = %_Z11speex_alloci.exit14.i.i
%727 = getelementptr inbounds i8* %724, i32 -4
%728 = bitcast i8* %727 to i32*
%729 = load i32* %728, align 4
%730 = and i32 %729, 3
%731 = icmp eq i32 %730, 0
br i1 %731, label %_Z11speex_alloci.exit15.i.i, label %732
; <label>:732 ; preds = %726
call void @llvm.memset.p0i8.i32(i8* %724, i8 0, i32 %591, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit15.i.i
_Z11speex_alloci.exit15.i.i: ; preds = %732, %726, %_Z11speex_alloci.exit14.i.i
%733 = bitcast i8* %724 to float*
%734 = getelementptr inbounds i8* %341, i32 132
%735 = bitcast i8* %734 to float**
store float* %733, float** %735, align 4
%736 = call fastcc i8* @malloc(i32 %408) nounwind
%737 = icmp eq i8* %736, null
br i1 %737, label %_Z11speex_alloci.exit16.i.i, label %738
; <label>:738 ; preds = %_Z11speex_alloci.exit15.i.i
%739 = getelementptr inbounds i8* %736, i32 -4
%740 = bitcast i8* %739 to i32*
%741 = load i32* %740, align 4
%742 = and i32 %741, 3
%743 = icmp eq i32 %742, 0
br i1 %743, label %_Z11speex_alloci.exit16.i.i, label %744
; <label>:744 ; preds = %738
call void @llvm.memset.p0i8.i32(i8* %736, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit16.i.i
_Z11speex_alloci.exit16.i.i: ; preds = %744, %738, %_Z11speex_alloci.exit15.i.i
%745 = bitcast i8* %736 to float*
%746 = getelementptr inbounds i8* %341, i32 116
%747 = bitcast i8* %746 to float**
store float* %745, float** %747, align 4
%748 = call fastcc i8* @malloc(i32 %408) nounwind
%749 = icmp eq i8* %748, null
br i1 %749, label %_Z11speex_alloci.exit17.i.i, label %750
; <label>:750 ; preds = %_Z11speex_alloci.exit16.i.i
%751 = getelementptr inbounds i8* %748, i32 -4
%752 = bitcast i8* %751 to i32*
%753 = load i32* %752, align 4
%754 = and i32 %753, 3
%755 = icmp eq i32 %754, 0
br i1 %755, label %_Z11speex_alloci.exit17.i.i, label %756
; <label>:756 ; preds = %750
call void @llvm.memset.p0i8.i32(i8* %748, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit17.i.i
_Z11speex_alloci.exit17.i.i: ; preds = %756, %750, %_Z11speex_alloci.exit16.i.i
%757 = bitcast i8* %748 to float*
%758 = getelementptr inbounds i8* %341, i32 120
%759 = bitcast i8* %758 to float**
store float* %757, float** %759, align 4
%760 = call fastcc i8* @malloc(i32 %408) nounwind
%761 = icmp eq i8* %760, null
br i1 %761, label %_Z11speex_alloci.exit18.i.i, label %762
; <label>:762 ; preds = %_Z11speex_alloci.exit17.i.i
%763 = getelementptr inbounds i8* %760, i32 -4
%764 = bitcast i8* %763 to i32*
%765 = load i32* %764, align 4
%766 = and i32 %765, 3
%767 = icmp eq i32 %766, 0
br i1 %767, label %_Z11speex_alloci.exit18.i.i, label %768
; <label>:768 ; preds = %762
call void @llvm.memset.p0i8.i32(i8* %760, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit18.i.i
_Z11speex_alloci.exit18.i.i: ; preds = %768, %762, %_Z11speex_alloci.exit17.i.i
%769 = bitcast i8* %760 to float*
%770 = getelementptr inbounds i8* %341, i32 124
%771 = bitcast i8* %770 to float**
store float* %769, float** %771, align 4
%772 = call fastcc i8* @malloc(i32 %408) nounwind
%773 = icmp eq i8* %772, null
br i1 %773, label %_Z11speex_alloci.exit19.i.i, label %774
; <label>:774 ; preds = %_Z11speex_alloci.exit18.i.i
%775 = getelementptr inbounds i8* %772, i32 -4
%776 = bitcast i8* %775 to i32*
%777 = load i32* %776, align 4
%778 = and i32 %777, 3
%779 = icmp eq i32 %778, 0
br i1 %779, label %_Z11speex_alloci.exit19.i.i, label %780
; <label>:780 ; preds = %774
call void @llvm.memset.p0i8.i32(i8* %772, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit19.i.i
_Z11speex_alloci.exit19.i.i: ; preds = %780, %774, %_Z11speex_alloci.exit18.i.i
%781 = bitcast i8* %772 to i32*
%782 = getelementptr inbounds i8* %341, i32 128
%783 = bitcast i8* %782 to i32**
store i32* %781, i32** %783, align 4
%784 = call fastcc i8* @malloc(i32 %408) nounwind
%785 = icmp eq i8* %784, null
br i1 %785, label %_Z11speex_alloci.exit20.i.i, label %786
; <label>:786 ; preds = %_Z11speex_alloci.exit19.i.i
%787 = getelementptr inbounds i8* %784, i32 -4
%788 = bitcast i8* %787 to i32*
%789 = load i32* %788, align 4
%790 = and i32 %789, 3
%791 = icmp eq i32 %790, 0
br i1 %791, label %_Z11speex_alloci.exit20.i.i, label %792
; <label>:792 ; preds = %786
call void @llvm.memset.p0i8.i32(i8* %784, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit20.i.i
_Z11speex_alloci.exit20.i.i: ; preds = %792, %786, %_Z11speex_alloci.exit19.i.i
%793 = bitcast i8* %784 to float*
%794 = getelementptr inbounds i8* %341, i32 144
%795 = bitcast i8* %794 to float**
store float* %793, float** %795, align 4
%796 = call fastcc i8* @malloc(i32 %408) nounwind
%797 = icmp eq i8* %796, null
br i1 %797, label %_Z11speex_alloci.exit21.i.i, label %798
; <label>:798 ; preds = %_Z11speex_alloci.exit20.i.i
%799 = getelementptr inbounds i8* %796, i32 -4
%800 = bitcast i8* %799 to i32*
%801 = load i32* %800, align 4
%802 = and i32 %801, 3
%803 = icmp eq i32 %802, 0
br i1 %803, label %_Z11speex_alloci.exit21.i.i, label %804
; <label>:804 ; preds = %798
call void @llvm.memset.p0i8.i32(i8* %796, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit21.i.i
_Z11speex_alloci.exit21.i.i: ; preds = %804, %798, %_Z11speex_alloci.exit20.i.i
%805 = bitcast i8* %796 to float*
%806 = getelementptr inbounds i8* %341, i32 148
%807 = bitcast i8* %806 to float**
store float* %805, float** %807, align 4
%808 = load float** %577, align 4
%809 = icmp sgt i32 %354, 0
br i1 %809, label %.lr.ph.i.i.i, label %_ZL11conj_windowPfi.exit.preheader.i.i
.lr.ph.i.i.i: ; preds = %_Z11speex_alloci.exit21.i.i
%810 = sitofp i32 %354 to float
br label %811
; <label>:811 ; preds = %838, %.lr.ph.i.i.i
%i.01.i.i.i = phi i32 [ 0, %.lr.ph.i.i.i ], [ %841, %838 ]
%812 = sitofp i32 %i.01.i.i.i to float
%813 = fmul float %812, 4.000000e+00
%814 = fdiv float %813, %810
%815 = fcmp olt float %814, 1.000000e+00
br i1 %815, label %827, label %816
; <label>:816 ; preds = %811
%817 = fcmp olt float %814, 2.000000e+00
br i1 %817, label %818, label %820
; <label>:818 ; preds = %816
%819 = fsub float 2.000000e+00, %814
br label %827
; <label>:820 ; preds = %816
%821 = fcmp olt float %814, 3.000000e+00
br i1 %821, label %822, label %824
; <label>:822 ; preds = %820
%823 = fadd float %814, -2.000000e+00
br label %827
; <label>:824 ; preds = %820
%825 = fsub float 2.000000e+00, %814
%826 = fadd float %825, 2.000000e+00
br label %827
; <label>:827 ; preds = %824, %822, %818, %811
%x.0.i.i.i = phi float [ %814, %811 ], [ %819, %818 ], [ %823, %822 ], [ %826, %824 ]
%inv.0.i.i.i = phi i1 [ false, %811 ], [ true, %818 ], [ true, %822 ], [ false, %824 ]
%828 = fmul float %x.0.i.i.i, 0x3FF459B700000000
%829 = fpext float %828 to double
%830 = fmul double %829, 0x3FF921FB54442D18
%831 = call double @cos(double %830) nounwind readnone
%832 = fmul double %831, 5.000000e-01
%833 = fsub double 5.000000e-01, %832
%834 = fmul double %833, %833
%835 = fptrunc double %834 to float
br i1 %inv.0.i.i.i, label %836, label %838
; <label>:836 ; preds = %827
%837 = fsub float 1.000000e+00, %835
br label %838
; <label>:838 ; preds = %836, %827
%tmp.0.i.i.i = phi float [ %837, %836 ], [ %835, %827 ]
%839 = call float @sqrtf(float %tmp.0.i.i.i) nounwind readnone
%840 = getelementptr inbounds float* %808, i32 %i.01.i.i.i
store float %839, float* %840, align 4
%841 = add nsw i32 %i.01.i.i.i, 1
%exitcond.i.i.i = icmp eq i32 %841, %354
br i1 %exitcond.i.i.i, label %_ZL11conj_windowPfi.exit.preheader.i.i, label %811
_ZL11conj_windowPfi.exit.preheader.i.i: ; preds = %838, %_Z11speex_alloci.exit21.i.i
%842 = load i32* %353, align 4
%843 = shl nsw i32 %842, 1
%844 = icmp slt i32 %354, %843
br i1 %844, label %_ZL11conj_windowPfi.exit.i.i, label %.preheader30.i.i
_ZL11conj_windowPfi.exit.i.i: ; preds = %_ZL11conj_windowPfi.exit.i.i, %_ZL11conj_windowPfi.exit.preheader.i.i
%i.037.i.i = phi i32 [ %354, %_ZL11conj_windowPfi.exit.preheader.i.i ], [ %847, %_ZL11conj_windowPfi.exit.i.i ]
%845 = load float** %577, align 4
%846 = getelementptr inbounds float* %845, i32 %i.037.i.i
store float 1.000000e+00, float* %846, align 4
%847 = add nsw i32 %i.037.i.i, 1
%848 = load i32* %353, align 4
%849 = shl nsw i32 %848, 1
%850 = icmp slt i32 %847, %849
br i1 %850, label %_ZL11conj_windowPfi.exit.i.i, label %.preheader30.i.i
.preheader30.i.i: ; preds = %_ZL11conj_windowPfi.exit.i.i, %_ZL11conj_windowPfi.exit.preheader.i.i
%851 = icmp sgt i32 %590, 0
br i1 %851, label %.lr.ph32.i.i, label %.preheader27.i.i
.preheader27.i.i: ; preds = %.lr.ph32.i.i, %.preheader30.i.i
%852 = icmp sgt i32 %339, 0
br i1 %852, label %.lr.ph29.i.i, label %._crit_edge26.i.i
.lr.ph32.i.i: ; preds = %.lr.ph32.i.i, %.preheader30.i.i
%i.231.i.i = phi i32 [ %865, %.lr.ph32.i.i ], [ 0, %.preheader30.i.i ]
%853 = load float** %615, align 4
%854 = getelementptr inbounds float* %853, i32 %i.231.i.i
store float 1.000000e+00, float* %854, align 4
%855 = load float** %651, align 4
%856 = getelementptr inbounds float* %855, i32 %i.231.i.i
store float 0.000000e+00, float* %856, align 4
%857 = load float** %663, align 4
%858 = getelementptr inbounds float* %857, i32 %i.231.i.i
store float 1.000000e+00, float* %858, align 4
%859 = load float** %699, align 4
%860 = getelementptr inbounds float* %859, i32 %i.231.i.i
store float 1.000000e+00, float* %860, align 4
%861 = load float** %687, align 4
%862 = getelementptr inbounds float* %861, i32 %i.231.i.i
store float 1.000000e+00, float* %862, align 4
%863 = load float** %675, align 4
%864 = getelementptr inbounds float* %863, i32 %i.231.i.i
store float 1.000000e+00, float* %864, align 4
%865 = add nsw i32 %i.231.i.i, 1
%exitcond41.i.i = icmp eq i32 %865, %590
br i1 %exitcond41.i.i, label %.preheader27.i.i, label %.lr.ph32.i.i
.lr.ph29.i.i: ; preds = %.lr.ph29.i.i, %.preheader27.i.i
%i.328.i.i = phi i32 [ %868, %.lr.ph29.i.i ], [ 0, %.preheader27.i.i ]
%866 = load i32** %783, align 4
%867 = getelementptr inbounds i32* %866, i32 %i.328.i.i
store i32 1, i32* %867, align 4
%868 = add nsw i32 %i.328.i.i, 1
%exitcond40.i.i = icmp eq i32 %868, %339
br i1 %exitcond40.i.i, label %.lr.ph25.i.i, label %.lr.ph29.i.i
.lr.ph25.i.i: ; preds = %.lr.ph25.i.i, %.lr.ph29.i.i
%i.424.i.i = phi i32 [ %873, %.lr.ph25.i.i ], [ 0, %.lr.ph29.i.i ]
%869 = load float** %795, align 4
%870 = getelementptr inbounds float* %869, i32 %i.424.i.i
store float 0.000000e+00, float* %870, align 4
%871 = load float** %807, align 4
%872 = getelementptr inbounds float* %871, i32 %i.424.i.i
store float 0.000000e+00, float* %872, align 4
%873 = add nsw i32 %i.424.i.i, 1
%exitcond39.i.i = icmp eq i32 %873, %339
br i1 %exitcond39.i.i, label %._crit_edge26.i.i, label %.lr.ph25.i.i
._crit_edge26.i.i: ; preds = %.lr.ph25.i.i, %.preheader27.i.i
%874 = getelementptr inbounds i8* %341, i32 152
%875 = bitcast i8* %874 to i32*
store i32 0, i32* %875, align 4
%876 = getelementptr inbounds i8* %341, i32 156
%877 = bitcast i8* %876 to float*
store float 8.000000e+03, float* %877, align 4
%878 = call fastcc i8* @malloc(i32 %408) nounwind
%879 = icmp eq i8* %878, null
br i1 %879, label %_Z11speex_alloci.exit22.i.i, label %880
; <label>:880 ; preds = %._crit_edge26.i.i
%881 = getelementptr inbounds i8* %878, i32 -4
%882 = bitcast i8* %881 to i32*
%883 = load i32* %882, align 4
%884 = and i32 %883, 3
%885 = icmp eq i32 %884, 0
br i1 %885, label %_Z11speex_alloci.exit22.i.i, label %886
; <label>:886 ; preds = %880
call void @llvm.memset.p0i8.i32(i8* %878, i8 0, i32 %408, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit22.i.i
_Z11speex_alloci.exit22.i.i: ; preds = %886, %880, %._crit_edge26.i.i
%887 = bitcast i8* %878 to float*
%888 = getelementptr inbounds i8* %341, i32 164
%889 = bitcast i8* %888 to float**
store float* %887, float** %889, align 4
br i1 %852, label %.lr.ph.i2.i, label %._crit_edge.i4.i
.lr.ph.i2.i: ; preds = %_Z11speex_alloci.exit22.i.i
%890 = sitofp i32 %340 to double
%891 = fpext float %375 to double
br label %892
; <label>:892 ; preds = %919, %.lr.ph.i2.i
%i.523.i.i = phi i32 [ 0, %.lr.ph.i2.i ], [ %924, %919 ]
%893 = sitofp i32 %i.523.i.i to float
%894 = fpext float %893 to double
%895 = fmul double %894, 5.000000e-01
%896 = fmul double %895, %890
%897 = fdiv double %896, %891
%898 = fptrunc double %897 to float
%899 = fmul float %898, 0x3FD6666660000000
%900 = fdiv float %899, 1.600000e+04
%901 = fsub float 0x3FD6666660000000, %900
%902 = fpext float %901 to double
%903 = fadd float %898, -3.800000e+03
%904 = fmul float %903, -5.000000e-01
%905 = fmul float %904, %903
%906 = fdiv float %905, 9.000000e+05
%907 = fpext float %906 to double
%908 = call double @exp(double %907)
%909 = fmul double %908, 0x3FE75C2900000000
%910 = fadd double %902, %909
%911 = fptrunc double %910 to float
%912 = load float** %889, align 4
%913 = getelementptr inbounds float* %912, i32 %i.523.i.i
store float %911, float* %913, align 4
%914 = load float** %889, align 4
%915 = getelementptr inbounds float* %914, i32 %i.523.i.i
%916 = load float* %915, align 4
%917 = fcmp olt float %916, 0x3F847AE140000000
br i1 %917, label %918, label %919
; <label>:918 ; preds = %892
store float 0x3F847AE140000000, float* %915, align 4
%.pre.i3.i = load float** %889, align 4
%.phi.trans.insert.i.i = getelementptr inbounds float* %.pre.i3.i, i32 %i.523.i.i
%.pre42.i.i = load float* %.phi.trans.insert.i.i, align 4
br label %919
; <label>:919 ; preds = %918, %892
%920 = phi float [ %.pre42.i.i, %918 ], [ %916, %892 ]
%921 = phi float* [ %.pre.i3.i, %918 ], [ %914, %892 ]
%922 = getelementptr inbounds float* %921, i32 %i.523.i.i
%923 = fmul float %920, %920
store float %923, float* %922, align 4
%924 = add nsw i32 %i.523.i.i, 1
%exitcond.i.i = icmp eq i32 %924, %339
br i1 %exitcond.i.i, label %._crit_edge.i4.i, label %892
._crit_edge.i4.i: ; preds = %919, %_Z11speex_alloci.exit22.i.i
%925 = getelementptr inbounds i8* %341, i32 168
%926 = bitcast i8* %925 to float*
store float 0x3CD203AFA0000000, float* %926, align 4
%927 = getelementptr inbounds i8* %341, i32 172
%928 = bitcast i8* %927 to float*
store float 1.000000e+00, float* %928, align 4
%929 = getelementptr inbounds i8* %341, i32 176
%930 = bitcast i8* %929 to float*
store float 3.000000e+01, float* %930, align 4
%931 = load i32* %351, align 4
%932 = sitofp i32 %931 to double
%933 = fmul double %932, 0x3FF61ADEA8000000
%934 = load i32* %356, align 4
%935 = sitofp i32 %934 to double
%936 = fdiv double %933, %935
%937 = call double @exp(double %936)
%938 = fptrunc double %937 to float
%939 = getelementptr inbounds i8* %341, i32 180
%940 = bitcast i8* %939 to float*
store float %938, float* %940, align 4
%941 = load i32* %351, align 4
%942 = sitofp i32 %941 to double
%943 = fmul double %942, 0xC0126BB98C000000
%944 = load i32* %356, align 4
%945 = sitofp i32 %944 to double
%946 = fdiv double %943, %945
%947 = call double @exp(double %946)
%948 = fptrunc double %947 to float
%949 = getelementptr inbounds i8* %341, i32 184
%950 = bitcast i8* %949 to float*
store float %948, float* %950, align 4
%951 = getelementptr inbounds i8* %341, i32 188
%952 = bitcast i8* %951 to float*
store float 1.000000e+00, float* %952, align 4
%953 = getelementptr inbounds i8* %341, i32 192
%954 = bitcast i8* %953 to float*
store float 1.000000e+00, float* %954, align 4
%955 = getelementptr inbounds i8* %341, i32 200
%956 = bitcast i8* %955 to i32*
store i32 0, i32* %956, align 4
%957 = call fastcc i8* @malloc(i32 12) nounwind
%958 = icmp eq i8* %957, null
br i1 %958, label %speex_preprocess_state_init.exit.i, label %959
; <label>:959 ; preds = %._crit_edge.i4.i
%960 = getelementptr inbounds i8* %957, i32 -4
%961 = bitcast i8* %960 to i32*
%962 = load i32* %961, align 4
%963 = and i32 %962, 3
%964 = icmp eq i32 %963, 0
br i1 %964, label %speex_preprocess_state_init.exit.i, label %965
; <label>:965 ; preds = %959
call void @llvm.memset.p0i8.i32(i8* %957, i8 0, i32 12, i32 1, i1 false) nounwind
br label %speex_preprocess_state_init.exit.i
speex_preprocess_state_init.exit.i: ; preds = %965, %959, %._crit_edge.i4.i
%966 = call fastcc %struct.kiss_fftr_state* @kiss_fftr_alloc(i32 %354, i32 0)
%967 = bitcast i8* %957 to %struct.kiss_fftr_state**
store %struct.kiss_fftr_state* %966, %struct.kiss_fftr_state** %967, align 4
%968 = call fastcc %struct.kiss_fftr_state* @kiss_fftr_alloc(i32 %354, i32 1)
%969 = getelementptr inbounds i8* %957, i32 4
%970 = bitcast i8* %969 to %struct.kiss_fftr_state**
store %struct.kiss_fftr_state* %968, %struct.kiss_fftr_state** %970, align 4
%971 = getelementptr inbounds i8* %957, i32 8
%972 = bitcast i8* %971 to i32*
store i32 %354, i32* %972, align 4
%973 = getelementptr inbounds i8* %341, i32 208
%974 = bitcast i8* %973 to i8**
store i8* %957, i8** %974, align 4
%975 = getelementptr inbounds i8* %341, i32 196
%976 = bitcast i8* %975 to i32*
store i32 0, i32* %976, align 4
%977 = getelementptr inbounds i8* %341, i32 204
%978 = bitcast i8* %977 to i32*
store i32 0, i32* %978, align 4
store %struct.SpeexPreprocessState_* %350, %struct.SpeexPreprocessState_** %29, align 4
%979 = load i32* %334, align 4
store i32 %979, i32* %358, align 4
%980 = load %struct.SpeexPreprocessState_** %29, align 4
%981 = load i32* %330, align 4
%982 = getelementptr inbounds %struct.SpeexPreprocessState_* %980, i32 0, i32 38
store i32 %981, i32* %982, align 4
%983 = load %struct.SpeexPreprocessState_** %29, align 4
%984 = getelementptr inbounds %struct.SpeexPreprocessState_* %983, i32 0, i32 39
store float 2.000000e+04, float* %984, align 4
br label %985
; <label>:985 ; preds = %speex_preprocess_state_init.exit.i, %335
%986 = call fastcc i8* @malloc(i32 80) nounwind
%987 = icmp eq i8* %986, null
br i1 %987, label %speex_header_to_packet.exit.i, label %988
; <label>:988 ; preds = %985
%989 = getelementptr inbounds i8* %986, i32 -4
%990 = bitcast i8* %989 to i32*
%991 = load i32* %990, align 4
%992 = and i32 %991, 3
%993 = icmp eq i32 %992, 0
br i1 %993, label %speex_header_to_packet.exit.i, label %994
; <label>:994 ; preds = %988
call void @llvm.memset.p0i8.i32(i8* %986, i8 0, i32 80, i32 1, i1 false) nounwind
br label %speex_header_to_packet.exit.i
speex_header_to_packet.exit.i: ; preds = %994, %988, %985
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %986, i8* %259, i32 80, i32 4, i1 false) nounwind
%995 = getelementptr inbounds i8* %5, i32 6480
%996 = bitcast i8* %995 to %struct.ogg_packet*
%997 = bitcast i8* %995 to i8**
store i8* %986, i8** %997, align 4
%998 = getelementptr inbounds i8* %5, i32 6484
%999 = bitcast i8* %998 to i32*
store i32 80, i32* %999, align 4
%1000 = getelementptr inbounds i8* %5, i32 6488
%1001 = bitcast i8* %1000 to i32*
store i32 1, i32* %1001, align 4
%1002 = getelementptr inbounds i8* %5, i32 6492
%1003 = getelementptr inbounds i8* %5, i32 6504
%1004 = bitcast i8* %1003 to i64*
call void @llvm.memset.p0i8.i64(i8* %1002, i8 0, i64 20, i32 4, i1 false)
call fastcc void @ogg_stream_packetin(%struct.ogg_stream_state* %237, %struct.ogg_packet* %996)
%1005 = load i8** %997, align 4
call void @free(i8* %1005) nounwind
%1006 = load i8** %234, align 4
store i8* %1006, i8** %997, align 4
%1007 = load i32* %232, align 4
store i32 %1007, i32* %999, align 4
call void @llvm.memset.p0i8.i64(i8* %1000, i8 0, i64 16, i32 4, i1 false)
store i64 1, i64* %1004, align 4
call fastcc void @ogg_stream_packetin(%struct.ogg_stream_state* %237, %struct.ogg_packet* %996)
%1008 = load i8** %234, align 4
call void @free(i8* %1008) nounwind
%1009 = load i8** %328, align 4
%1010 = bitcast i8* %1009 to %struct.SpeexMode.117**
%1011 = load %struct.SpeexMode.117** %1010, align 4
%1012 = getelementptr inbounds %struct.SpeexMode.117* %1011, i32 0, i32 11
%1013 = load i32 (i8*, i32, i8*)** %1012, align 4
%1014 = call i32 %1013(i8* %1009, i32 3, i8* %5)
%1015 = load i8** %328, align 4
%1016 = bitcast i8* %1015 to %struct.SpeexMode.117**
%1017 = load %struct.SpeexMode.117** %1016, align 4
%1018 = getelementptr inbounds %struct.SpeexMode.117* %1017, i32 0, i32 11
%1019 = load i32 (i8*, i32, i8*)** %1018, align 4
%1020 = call i32 %1019(i8* %1015, i32 16, i8* %25)
%1021 = load i8** %328, align 4
%1022 = bitcast i8* %1021 to %struct.SpeexMode.117**
%1023 = load %struct.SpeexMode.117** %1022, align 4
%1024 = getelementptr inbounds %struct.SpeexMode.117* %1023, i32 0, i32 11
%1025 = load i32 (i8*, i32, i8*)** %1024, align 4
%1026 = call i32 %1025(i8* %1021, i32 24, i8* %9)
%1027 = load i32* %16, align 4
%1028 = icmp sgt i32 %1027, -1
br i1 %1028, label %1029, label %1041
; <label>:1029 ; preds = %speex_header_to_packet.exit.i
%1030 = load i32* %317, align 4
%1031 = icmp eq i32 %1030, 0
%1032 = load i8** %328, align 4
%1033 = bitcast i8* %1032 to %struct.SpeexMode.117**
%1034 = load %struct.SpeexMode.117** %1033, align 4
%1035 = getelementptr inbounds %struct.SpeexMode.117* %1034, i32 0, i32 11
%1036 = load i32 (i8*, i32, i8*)** %1035, align 4
br i1 %1031, label %1039, label %1037
; <label>:1037 ; preds = %1029
%1038 = call i32 %1036(i8* %1032, i32 14, i8* %17)
br label %1041
; <label>:1039 ; preds = %1029
%1040 = call i32 %1036(i8* %1032, i32 4, i8* %15)
br label %1041
; <label>:1041 ; preds = %1039, %1037, %speex_header_to_packet.exit.i
%1042 = getelementptr inbounds i8* %5, i32 6716
%1043 = bitcast i8* %1042 to i32*
%1044 = load i32* %1043, align 4
%1045 = icmp eq i32 %1044, 0
br i1 %1045, label %1053, label %1046
; <label>:1046 ; preds = %1041
%1047 = load i8** %328, align 4
%1048 = bitcast i8* %1047 to %struct.SpeexMode.117**
%1049 = load %struct.SpeexMode.117** %1048, align 4
%1050 = getelementptr inbounds %struct.SpeexMode.117* %1049, i32 0, i32 11
%1051 = load i32 (i8*, i32, i8*)** %1050, align 4
%1052 = call i32 %1051(i8* %1047, i32 18, i8* %1042)
br label %1053
; <label>:1053 ; preds = %1046, %1041
%1054 = load i32* %317, align 4
%1055 = icmp eq i32 %1054, 0
br i1 %1055, label %1063, label %1056
; <label>:1056 ; preds = %1053
store i32 1, i32* %tmp.i, align 4
%1057 = load i8** %328, align 4
%1058 = bitcast i8* %1057 to %struct.SpeexMode.117**
%1059 = load %struct.SpeexMode.117** %1058, align 4
%1060 = getelementptr inbounds %struct.SpeexMode.117* %1059, i32 0, i32 11
%1061 = load i32 (i8*, i32, i8*)** %1060, align 4
%1062 = call i32 %1061(i8* %1057, i32 12, i8* %3)
br label %1075
; <label>:1063 ; preds = %1053
%1064 = getelementptr inbounds i8* %5, i32 12
%1065 = bitcast i8* %1064 to i32*
%1066 = load i32* %1065, align 4
%1067 = icmp eq i32 %1066, 0
br i1 %1067, label %1075, label %1068
; <label>:1068 ; preds = %1063
store i32 1, i32* %tmp.i, align 4
%1069 = load i8** %328, align 4
%1070 = bitcast i8* %1069 to %struct.SpeexMode.117**
%1071 = load %struct.SpeexMode.117** %1070, align 4
%1072 = getelementptr inbounds %struct.SpeexMode.117* %1071, i32 0, i32 11
%1073 = load i32 (i8*, i32, i8*)** %1072, align 4
%1074 = call i32 %1073(i8* %1069, i32 30, i8* %3)
br label %1075
; <label>:1075 ; preds = %1068, %1063, %1056
%1076 = getelementptr inbounds i8* %5, i32 16
%1077 = bitcast i8* %1076 to i32*
%1078 = load i32* %1077, align 4
%1079 = icmp eq i32 %1078, 0
br i1 %1079, label %1087, label %1080
; <label>:1080 ; preds = %1075
%1081 = load i8** %328, align 4
%1082 = bitcast i8* %1081 to %struct.SpeexMode.117**
%1083 = load %struct.SpeexMode.117** %1082, align 4
%1084 = getelementptr inbounds %struct.SpeexMode.117* %1083, i32 0, i32 11
%1085 = load i32 (i8*, i32, i8*)** %1084, align 4
%1086 = call i32 %1085(i8* %1081, i32 34, i8* %3)
br label %1087
; <label>:1087 ; preds = %1080, %1075
%1088 = getelementptr inbounds i8* %5, i32 8
%1089 = bitcast i8* %1088 to i32*
%1090 = load i32* %1089, align 4
%1091 = icmp eq i32 %1090, 0
br i1 %1091, label %1099, label %1092
; <label>:1092 ; preds = %1087
%1093 = load i8** %328, align 4
%1094 = bitcast i8* %1093 to %struct.SpeexMode.117**
%1095 = load %struct.SpeexMode.117** %1094, align 4
%1096 = getelementptr inbounds %struct.SpeexMode.117* %1095, i32 0, i32 11
%1097 = load i32 (i8*, i32, i8*)** %1096, align 4
%1098 = call i32 %1097(i8* %1093, i32 32, i8* %1088)
br label %1099
; <label>:1099 ; preds = %1092, %1087
%1100 = getelementptr inbounds i8* %5, i32 40
%1101 = call fastcc i8* @malloc(i32 2000) nounwind
%1102 = icmp eq i8* %1101, null
br i1 %1102, label %_Z11speex_alloci.exit.i.i, label %1103
; <label>:1103 ; preds = %1099
%1104 = getelementptr inbounds i8* %1101, i32 -4
%1105 = bitcast i8* %1104 to i32*
%1106 = load i32* %1105, align 4
%1107 = and i32 %1106, 3
%1108 = icmp eq i32 %1107, 0
br i1 %1108, label %1111, label %1109
; <label>:1109 ; preds = %1103
call void @llvm.memset.p0i8.i32(i8* %1101, i8 0, i32 2000, i32 1, i1 false) nounwind
br label %1111
_Z11speex_alloci.exit.i.i: ; preds = %1099
%1110 = bitcast i8* %1100 to i8**
store i8* null, i8** %1110, align 4
br label %_Z14raw2speex_initP15speex_econfig_sPc.exit
; <label>:1111 ; preds = %1109, %1103
%1112 = bitcast i8* %1100 to i8**
store i8* %1101, i8** %1112, align 4
%1113 = getelementptr inbounds i8* %5, i32 64
%1114 = bitcast i8* %1113 to i32*
store i32 2000, i32* %1114, align 4
%1115 = getelementptr inbounds i8* %5, i32 56
%1116 = bitcast i8* %1115 to i32*
store i32 1, i32* %1116, align 4
store i8 0, i8* %1101, align 1
%1117 = getelementptr inbounds i8* %5, i32 44
%1118 = bitcast i8* %1117 to i32*
store i32 0, i32* %1118, align 4
%1119 = getelementptr inbounds i8* %5, i32 48
%1120 = bitcast i8* %1119 to i32*
store i32 0, i32* %1120, align 4
%1121 = getelementptr inbounds i8* %5, i32 52
%1122 = bitcast i8* %1121 to i32*
store i32 0, i32* %1122, align 4
%1123 = getelementptr inbounds i8* %5, i32 60
%1124 = bitcast i8* %1123 to i32*
store i32 0, i32* %1124, align 4
br label %_Z14raw2speex_initP15speex_econfig_sPc.exit
_Z14raw2speex_initP15speex_econfig_sPc.exit: ; preds = %1111, %_Z11speex_alloci.exit.i.i
call void @llvm.lifetime.end(i64 -1, i8* %3)
call void @llvm.lifetime.end(i64 -1, i8* %4)
ret i32 0
}
declare i32 @sprintf(i8* nocapture, i8* nocapture, ...) nounwind
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind
declare double @cos(double) nounwind readnone
declare double @sin(double) nounwind readnone
declare double @floor(double)
declare double @sqrt(double) nounwind readnone
define internal fastcc %struct.kiss_fftr_state* @kiss_fftr_alloc(i32 %nfft, i32 %inverse_fft) {
%1 = and i32 %nfft, 1
%2 = icmp eq i32 %1, 0
br i1 %2, label %6, label %3
; <label>:3 ; preds = %0
%4 = load %struct.__sFILE** @stderr, align 4
%5 = tail call i32 @fwrite(i8* getelementptr inbounds ([37 x i8]* @.str2, i32 0, i32 0), i32 36, i32 1, %struct.__sFILE* %4)
br label %.loopexit
; <label>:6 ; preds = %0
%7 = ashr i32 %nfft, 1
%8 = shl i32 %nfft, 2
%9 = add i32 %8, 264
%10 = and i32 %9, -8
%11 = shl i32 %nfft, 3
%12 = or i32 %11, 12
%13 = add i32 %12, %10
%14 = tail call fastcc i8* @malloc(i32 %13) nounwind
%15 = bitcast i8* %14 to %struct.kiss_fftr_state*
%16 = icmp eq i8* %14, null
br i1 %16, label %.loopexit, label %17
; <label>:17 ; preds = %6
%18 = getelementptr inbounds i8* %14, i32 12
%19 = bitcast i8* %18 to %struct.kiss_fft_state*
%20 = bitcast i8* %14 to %struct.kiss_fft_state**
store %struct.kiss_fft_state* %19, %struct.kiss_fft_state** %20, align 4
%.sum = add i32 %10, 12
%21 = getelementptr inbounds i8* %14, i32 %.sum
%22 = bitcast i8* %21 to %struct.kiss_fft_cpx*
%23 = getelementptr inbounds i8* %14, i32 4
%24 = bitcast i8* %23 to %struct.kiss_fft_cpx**
store %struct.kiss_fft_cpx* %22, %struct.kiss_fft_cpx** %24, align 4
%25 = getelementptr inbounds %struct.kiss_fft_cpx* %22, i32 %7
%26 = getelementptr inbounds i8* %14, i32 8
%27 = bitcast i8* %26 to %struct.kiss_fft_cpx**
store %struct.kiss_fft_cpx* %25, %struct.kiss_fft_cpx** %27, align 4
%28 = icmp eq i8* %18, null
br i1 %28, label %kiss_fft_alloc.exit13.preheader, label %29
; <label>:29 ; preds = %17
%30 = bitcast i8* %18 to %struct.kiss_fft_state**
%.c = inttoptr i32 %7 to %struct.kiss_fft_state*
store %struct.kiss_fft_state* %.c, %struct.kiss_fft_state** %30, align 4
%31 = getelementptr inbounds i8* %14, i32 16
%32 = bitcast i8* %31 to %struct.kiss_fft_cpx**
%33 = bitcast i8* %31 to i32*
%inverse_fft.c = inttoptr i32 %inverse_fft to %struct.kiss_fft_cpx*
store %struct.kiss_fft_cpx* %inverse_fft.c, %struct.kiss_fft_cpx** %32, align 4
%34 = icmp sgt i32 %7, 0
%35 = sitofp i32 %7 to double
br i1 %34, label %.lr.ph.i, label %._crit_edge.i5
.lr.ph.i: ; preds = %29
%36 = fdiv double 0xC01921FB54442D18, %35
br label %37
; <label>:37 ; preds = %._crit_edge6.i4, %.lr.ph.i
%38 = phi i32 [ %inverse_fft, %.lr.ph.i ], [ %.pre.i3, %._crit_edge6.i4 ]
%i.03.i = phi i32 [ 0, %.lr.ph.i ], [ %51, %._crit_edge6.i4 ]
%39 = sitofp i32 %i.03.i to double
%40 = fmul double %36, %39
%41 = icmp eq i32 %38, 0
br i1 %41, label %44, label %42
; <label>:42 ; preds = %37
%43 = fmul double %40, -1.000000e+00
br label %44
; <label>:44 ; preds = %42, %37
%phase.0.i1 = phi double [ %43, %42 ], [ %40, %37 ]
%45 = tail call double @cos(double %phase.0.i1) nounwind readnone
%46 = fptrunc double %45 to float
%47 = getelementptr inbounds %struct.kiss_fft_state* %19, i32 0, i32 3, i32 %i.03.i, i32 0
store float %46, float* %47, align 4
%48 = tail call double @sin(double %phase.0.i1) nounwind readnone
%49 = fptrunc double %48 to float
%50 = getelementptr inbounds %struct.kiss_fft_state* %19, i32 0, i32 3, i32 %i.03.i, i32 1
store float %49, float* %50, align 4
%51 = add nsw i32 %i.03.i, 1
%exitcond.i2 = icmp eq i32 %51, %7
br i1 %exitcond.i2, label %._crit_edge.i5, label %._crit_edge6.i4
._crit_edge6.i4: ; preds = %44
%.pre.i3 = load i32* %33, align 4
br label %37
._crit_edge.i5: ; preds = %44, %29
%52 = getelementptr inbounds i8* %14, i32 20
%53 = bitcast i8* %52 to i32*
%54 = tail call double @sqrt(double %35) nounwind readnone
%55 = tail call double @floor(double %54)
br label %.outer.i.i9
.outer.i.i9: ; preds = %66, %63, %._crit_edge.i5
%p.0.ph.i.i6 = phi i32 [ 4, %._crit_edge.i5 ], [ %.0.i.i11, %66 ], [ %p.1.i.i12, %63 ]
%.01.ph.i.i7 = phi i32* [ %53, %._crit_edge.i5 ], [ %.01.i.i10, %63 ], [ %.01.i.i10, %66 ]
%.0.ph.i.i8 = phi i32 [ %7, %._crit_edge.i5 ], [ %.0.i.i11, %63 ], [ %.0.i.i11, %66 ]
br label %56
; <label>:56 ; preds = %67, %.outer.i.i9
%.01.i.i10 = phi i32* [ %70, %67 ], [ %.01.ph.i.i7, %.outer.i.i9 ]
%.0.i.i11 = phi i32 [ %68, %67 ], [ %.0.ph.i.i8, %.outer.i.i9 ]
%57 = srem i32 %.0.i.i11, %p.0.ph.i.i6
%58 = icmp eq i32 %57, 0
br i1 %58, label %67, label %59
; <label>:59 ; preds = %56
switch i32 %p.0.ph.i.i6, label %61 [
i32 4, label %63
i32 2, label %60
]
; <label>:60 ; preds = %59
br label %63
; <label>:61 ; preds = %59
%62 = add nsw i32 %p.0.ph.i.i6, 2
br label %63
; <label>:63 ; preds = %61, %60, %59
%p.1.i.i12 = phi i32 [ %62, %61 ], [ 3, %60 ], [ 2, %59 ]
%64 = sitofp i32 %p.1.i.i12 to double
%65 = fcmp ogt double %64, %55
br i1 %65, label %66, label %.outer.i.i9
; <label>:66 ; preds = %63
br label %.outer.i.i9
; <label>:67 ; preds = %56
%68 = sdiv i32 %.0.i.i11, %p.0.ph.i.i6
%69 = getelementptr inbounds i32* %.01.i.i10, i32 1
store i32 %p.0.ph.i.i6, i32* %.01.i.i10, align 4
%70 = getelementptr inbounds i32* %.01.i.i10, i32 2
store i32 %68, i32* %69, align 4
%71 = icmp sgt i32 %68, 1
br i1 %71, label %56, label %kiss_fft_alloc.exit13.preheader
kiss_fft_alloc.exit13.preheader: ; preds = %67, %17
%72 = icmp sgt i32 %7, 0
br i1 %72, label %.lr.ph, label %.loopexit
.lr.ph: ; preds = %kiss_fft_alloc.exit13.preheader
%73 = sitofp i32 %7 to double
%74 = icmp eq i32 %inverse_fft, 0
br i1 %74, label %kiss_fft_alloc.exit13.us, label %kiss_fft_alloc.exit13
kiss_fft_alloc.exit13.us: ; preds = %kiss_fft_alloc.exit13.us, %.lr.ph
%i.016.us = phi i32 [ 0, %.lr.ph ], [ %86, %kiss_fft_alloc.exit13.us ]
%75 = sitofp i32 %i.016.us to double
%76 = fdiv double %75, %73
%77 = fadd double %76, 5.000000e-01
%78 = fmul double %77, 0xC00921FB54442D18
%79 = load %struct.kiss_fft_cpx** %27, align 4
%80 = tail call double @cos(double %78) nounwind readnone
%81 = fptrunc double %80 to float
%82 = getelementptr inbounds %struct.kiss_fft_cpx* %79, i32 %i.016.us, i32 0
store float %81, float* %82, align 4
%83 = tail call double @sin(double %78) nounwind readnone
%84 = fptrunc double %83 to float
%85 = getelementptr inbounds %struct.kiss_fft_cpx* %79, i32 %i.016.us, i32 1
store float %84, float* %85, align 4
%86 = add nsw i32 %i.016.us, 1
%exitcond = icmp eq i32 %86, %7
br i1 %exitcond, label %.loopexit, label %kiss_fft_alloc.exit13.us
kiss_fft_alloc.exit13: ; preds = %kiss_fft_alloc.exit13, %.lr.ph
%i.016 = phi i32 [ 0, %.lr.ph ], [ %99, %kiss_fft_alloc.exit13 ]
%87 = sitofp i32 %i.016 to double
%88 = fdiv double %87, %73
%89 = fadd double %88, 5.000000e-01
%90 = fmul double %89, 0xC00921FB54442D18
%91 = fmul double %90, -1.000000e+00
%92 = load %struct.kiss_fft_cpx** %27, align 4
%93 = tail call double @cos(double %91) nounwind readnone
%94 = fptrunc double %93 to float
%95 = getelementptr inbounds %struct.kiss_fft_cpx* %92, i32 %i.016, i32 0
store float %94, float* %95, align 4
%96 = tail call double @sin(double %91) nounwind readnone
%97 = fptrunc double %96 to float
%98 = getelementptr inbounds %struct.kiss_fft_cpx* %92, i32 %i.016, i32 1
store float %97, float* %98, align 4
%99 = add nsw i32 %i.016, 1
%exitcond19 = icmp eq i32 %99, %7
br i1 %exitcond19, label %.loopexit, label %kiss_fft_alloc.exit13
.loopexit: ; preds = %kiss_fft_alloc.exit13, %kiss_fft_alloc.exit13.us, %kiss_fft_alloc.exit13.preheader, %6, %3
%.0 = phi %struct.kiss_fftr_state* [ null, %3 ], [ null, %6 ], [ %15, %kiss_fft_alloc.exit13.preheader ], [ %15, %kiss_fft_alloc.exit13 ], [ %15, %kiss_fft_alloc.exit13.us ]
ret %struct.kiss_fftr_state* %.0
}
declare i32 @fprintf(%struct.__sFILE* nocapture, i8* nocapture, ...) nounwind
declare void @exit(i32)
declare double @fabs(double)
declare double @exp(double)
declare double @log(double)
define internal fastcc void @speex_bits_pack(%struct.SpeexBits* nocapture %bits, i32 %data, i32 %nbBits) nounwind {
%1 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%2 = load i32* %1, align 4
%3 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%4 = load i32* %3, align 4
%5 = add nsw i32 %4, %nbBits
%6 = ashr i32 %5, 3
%7 = add nsw i32 %6, %2
%8 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 6
%9 = load i32* %8, align 4
%10 = icmp slt i32 %7, %9
br i1 %10, label %.preheader, label %14
.preheader: ; preds = %29, %0
%11 = icmp eq i32 %nbBits, 0
br i1 %11, label %.loopexit, label %.lr.ph
.lr.ph: ; preds = %.preheader
%12 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%13 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
br label %._crit_edge
; <label>:14 ; preds = %0
%15 = load %struct.__sFILE** @stderr, align 4
%16 = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %15, i8* getelementptr inbounds ([18 x i8]* @.str8, i32 0, i32 0), i8* getelementptr inbounds ([30 x i8]* @.str47, i32 0, i32 0)) nounwind
%17 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 4
%18 = load i32* %17, align 4
%19 = icmp eq i32 %18, 0
br i1 %19, label %33, label %20
; <label>:20 ; preds = %14
%21 = load i32* %8, align 4
%22 = mul i32 %21, 3
%23 = add i32 %22, 15
%24 = ashr i32 %23, 1
%25 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%26 = load i8** %25, align 4
%27 = tail call fastcc i8* @realloc(i8* %26, i32 %24) nounwind
%28 = icmp eq i8* %27, null
br i1 %28, label %30, label %29
; <label>:29 ; preds = %20
store i32 %24, i32* %8, align 4
store i8* %27, i8** %25, align 4
br label %.preheader
; <label>:30 ; preds = %20
%31 = load %struct.__sFILE** @stderr, align 4
%32 = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %31, i8* getelementptr inbounds ([13 x i8]* @.str7, i32 0, i32 0), i8* getelementptr inbounds ([43 x i8]* @.str5, i32 0, i32 0)) nounwind
br label %.loopexit
; <label>:33 ; preds = %14
%34 = load %struct.__sFILE** @stderr, align 4
%35 = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %34, i8* getelementptr inbounds ([13 x i8]* @.str7, i32 0, i32 0), i8* getelementptr inbounds ([37 x i8]* @.str6, i32 0, i32 0)) nounwind
br label %.loopexit
._crit_edge: ; preds = %57, %.lr.ph
%.01 = phi i32 [ %nbBits, %.lr.ph ], [ %36, %57 ]
%36 = add nsw i32 %.01, -1
%37 = lshr i32 %data, %36
%38 = and i32 %37, 1
%39 = load i32* %3, align 4
%40 = sub nsw i32 7, %39
%41 = shl i32 %38, %40
%42 = load i32* %1, align 4
%43 = load i8** %12, align 4
%44 = getelementptr inbounds i8* %43, i32 %42
%45 = load i8* %44, align 1
%46 = zext i8 %45 to i32
%47 = or i32 %46, %41
%48 = trunc i32 %47 to i8
store i8 %48, i8* %44, align 1
%49 = load i32* %3, align 4
%50 = add nsw i32 %49, 1
store i32 %50, i32* %3, align 4
%51 = icmp eq i32 %50, 8
br i1 %51, label %52, label %57
; <label>:52 ; preds = %._crit_edge
store i32 0, i32* %3, align 4
%53 = load i32* %1, align 4
%54 = add nsw i32 %53, 1
store i32 %54, i32* %1, align 4
%55 = load i8** %12, align 4
%56 = getelementptr inbounds i8* %55, i32 %54
store i8 0, i8* %56, align 1
br label %57
; <label>:57 ; preds = %52, %._crit_edge
%58 = load i32* %13, align 4
%59 = add nsw i32 %58, 1
store i32 %59, i32* %13, align 4
%60 = icmp eq i32 %36, 0
br i1 %60, label %.loopexit, label %._crit_edge
.loopexit: ; preds = %57, %33, %30, %.preheader
ret void
}
declare void @llvm.memmove.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind
declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind
define internal void @_Z26split_cb_search_shape_signPfS_S_S_PKviiS_S_P9SpeexBitsPcii(float* nocapture %target, float* nocapture %ak, float* nocapture %awk1, float* nocapture %awk2, i8* nocapture %par, i32 %p, i32 %nsf, float* nocapture %exc, float* nocapture %r, %struct.SpeexBits* nocapture %bits, i8* %stack, i32 %complexity, i32 %update_target) nounwind {
%1 = icmp sgt i32 %complexity, 10
%complexity.op = shl i32 %complexity, 1
%2 = select i1 %1, i32 20, i32 %complexity.op
%3 = sdiv i32 %2, 3
%4 = icmp slt i32 %2, 3
%N.1 = select i1 %4, i32 1, i32 %3
%5 = icmp eq i32 %N.1, 1
br i1 %5, label %6, label %206
; <label>:6 ; preds = %0
%7 = bitcast i8* %par to i32*
%8 = load i32* %7, align 4
%9 = getelementptr inbounds i8* %par, i32 4
%10 = bitcast i8* %9 to i32*
%11 = load i32* %10, align 4
%12 = getelementptr inbounds i8* %par, i32 12
%13 = bitcast i8* %12 to i32*
%14 = load i32* %13, align 4
%15 = shl i32 1, %14
%16 = getelementptr inbounds i8* %par, i32 8
%17 = bitcast i8* %16 to i8**
%18 = load i8** %17, align 4
%19 = getelementptr inbounds i8* %par, i32 16
%20 = bitcast i8* %19 to i32*
%21 = load i32* %20, align 4
%22 = ptrtoint i8* %stack to i32
%23 = sub i32 0, %22
%24 = and i32 %23, 3
%25 = shl i32 %8, %14
%26 = shl i32 %25, 2
%.sum.i = or i32 %26, %24
%27 = getelementptr inbounds i8* %stack, i32 %.sum.i
%.sum1.i = sub i32 %.sum.i, %26
%28 = getelementptr inbounds i8* %stack, i32 %.sum1.i
%29 = bitcast i8* %28 to float*
%30 = ptrtoint i8* %27 to i32
%31 = sub i32 0, %30
%32 = and i32 %31, 3
%.sum2.i = add i32 %32, %.sum.i
%33 = shl i32 %15, 2
%.sum3.i = add i32 %.sum2.i, %33
%34 = getelementptr inbounds i8* %stack, i32 %.sum3.i
%35 = getelementptr inbounds i8* %stack, i32 %.sum2.i
%36 = bitcast i8* %35 to float*
%37 = ptrtoint i8* %34 to i32
%38 = sub i32 0, %37
%39 = and i32 %38, 3
%.sum5.i = add i32 %39, %.sum3.i
%40 = shl i32 %nsf, 2
%.sum6.i = add i32 %.sum5.i, %40
%41 = getelementptr inbounds i8* %stack, i32 %.sum6.i
%42 = getelementptr inbounds i8* %stack, i32 %.sum5.i
%43 = bitcast i8* %42 to float*
%44 = ptrtoint i8* %41 to i32
%45 = sub i32 0, %44
%46 = and i32 %45, 3
%.sum8.i = add i32 %46, %.sum6.i
%.sum9.i = add i32 %.sum8.i, %40
%47 = getelementptr inbounds i8* %stack, i32 %.sum9.i
%48 = getelementptr inbounds i8* %stack, i32 %.sum8.i
%49 = bitcast i8* %48 to float*
%50 = bitcast float* %target to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %42, i8* %50, i32 %40, i32 4, i1 false) nounwind
%51 = ptrtoint i8* %47 to i32
%52 = sub i32 0, %51
%53 = and i32 %52, 3
%54 = shl i32 %8, 2
%.sum.i.i = or i32 %53, %54
%.sum1.i.i = sub i32 %.sum9.i, %54
%.sum43.i = add i32 %.sum1.i.i, %.sum.i.i
%55 = getelementptr inbounds i8* %stack, i32 %.sum43.i
%56 = bitcast i8* %55 to float*
%57 = icmp sgt i32 %15, 0
br i1 %57, label %.lr.ph12.i.i, label %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.preheader.i
.lr.ph12.i.i: ; preds = %6
%58 = icmp sgt i32 %8, 0
br label %59
; <label>:59 ; preds = %._crit_edge9.i.i, %.lr.ph12.i.i
%i.010.i.i = phi i32 [ 0, %.lr.ph12.i.i ], [ %84, %._crit_edge9.i.i ]
%60 = mul nsw i32 %i.010.i.i, %8
br i1 %58, label %.lr.ph.i.i, label %._crit_edge.thread.i.i
._crit_edge.thread.i.i: ; preds = %59
%61 = getelementptr inbounds float* %36, i32 %i.010.i.i
store float 0.000000e+00, float* %61, align 4
br label %._crit_edge9.i.i
.lr.ph.i.i: ; preds = %.lr.ph.i.i, %59
%k.03.i.i = phi i32 [ %67, %.lr.ph.i.i ], [ 0, %59 ]
%62 = add nsw i32 %k.03.i.i, %60
%63 = getelementptr inbounds i8* %18, i32 %62
%64 = load i8* %63, align 1
%65 = sitofp i8 %64 to float
%66 = getelementptr inbounds float* %56, i32 %k.03.i.i
store float %65, float* %66, align 4
%67 = add nsw i32 %k.03.i.i, 1
%exitcond.i.i = icmp eq i32 %67, %8
br i1 %exitcond.i.i, label %.lr.ph6.i.preheader.i, label %.lr.ph.i.i
.lr.ph6.i.preheader.i: ; preds = %.lr.ph.i.i
%68 = getelementptr inbounds float* %36, i32 %i.010.i.i
store float 0.000000e+00, float* %68, align 4
br label %.lr.ph6.i.i
.lr.ph6.i.i: ; preds = %78, %.lr.ph6.i.preheader.i
%indvars.iv.i = phi i32 [ 1, %.lr.ph6.i.preheader.i ], [ %indvars.iv.next.i, %78 ]
%j.08.i.i = phi i32 [ 0, %.lr.ph6.i.preheader.i ], [ %83, %78 ]
br label %69
; <label>:69 ; preds = %69, %.lr.ph6.i.i
%resj.05.i.i = phi float [ 0.000000e+00, %.lr.ph6.i.i ], [ %76, %69 ]
%k.14.i.i = phi i32 [ 0, %.lr.ph6.i.i ], [ %77, %69 ]
%70 = getelementptr inbounds float* %56, i32 %k.14.i.i
%71 = load float* %70, align 4
%72 = sub nsw i32 %j.08.i.i, %k.14.i.i
%73 = getelementptr inbounds float* %r, i32 %72
%74 = load float* %73, align 4
%75 = fmul float %71, %74
%76 = fadd float %resj.05.i.i, %75
%77 = add nsw i32 %k.14.i.i, 1
%exitcond83.i = icmp eq i32 %77, %indvars.iv.i
br i1 %exitcond83.i, label %78, label %69
; <label>:78 ; preds = %69
%phitmp.i.i = fmul float %76, 3.125000e-02
%79 = load float* %68, align 4
%80 = fmul float %phitmp.i.i, %phitmp.i.i
%81 = fadd float %79, %80
store float %81, float* %68, align 4
%.sum2.i.i = add i32 %j.08.i.i, %60
%82 = getelementptr inbounds float* %29, i32 %.sum2.i.i
store float %phitmp.i.i, float* %82, align 4
%83 = add nsw i32 %j.08.i.i, 1
%exitcond14.i.i = icmp eq i32 %83, %8
%indvars.iv.next.i = add i32 %indvars.iv.i, 1
br i1 %exitcond14.i.i, label %._crit_edge9.i.i, label %.lr.ph6.i.i
._crit_edge9.i.i: ; preds = %78, %._crit_edge.thread.i.i
%84 = add nsw i32 %i.010.i.i, 1
%exitcond15.i.i = icmp eq i32 %84, %15
br i1 %exitcond15.i.i, label %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.preheader.i, label %59
_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.preheader.i: ; preds = %._crit_edge9.i.i, %6
%85 = icmp sgt i32 %11, 0
br i1 %85, label %.lr.ph72.i, label %.preheader.i
.lr.ph72.i: ; preds = %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.preheader.i
%86 = icmp eq i32 %21, 0
%87 = icmp sgt i32 %8, 0
br label %89
.preheader.i: ; preds = %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.i, %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.preheader.i
%88 = icmp sgt i32 %nsf, 0
br i1 %88, label %.lr.ph52.i, label %._crit_edge53.i
; <label>:89 ; preds = %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.i, %.lr.ph72.i
%90 = phi float [ undef, %.lr.ph72.i ], [ %134, %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.i ]
%i.07.i25.i94 = phi i32 [ undef, %.lr.ph72.i ], [ %i.07.i25.i95, %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.i ]
%i.071.i = phi i32 [ 0, %.lr.ph72.i ], [ %.pre-phi.i, %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.i ]
%91 = mul nsw i32 %i.071.i, %8
br i1 %86, label %116, label %92
; <label>:92 ; preds = %89
br i1 %57, label %.preheader.i.i, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.i
.preheader.i.i: ; preds = %113, %92
%93 = phi float [ %114, %113 ], [ %90, %92 ]
%i.07.i25.i91 = phi i32 [ %i.07.i25.i96, %113 ], [ %i.07.i25.i94, %92 ]
%.09.i.i = phi float* [ %.1.lcssa15.i.i, %113 ], [ %29, %92 ]
%i.07.i.i = phi i32 [ %115, %113 ], [ 0, %92 ]
br i1 %87, label %.lr.ph.i18.i, label %.thread.i.i
.lr.ph.i18.i: ; preds = %.lr.ph.i18.i, %.preheader.i.i
%dist.04.i.i = phi float [ %99, %.lr.ph.i18.i ], [ 0.000000e+00, %.preheader.i.i ]
%.13.i.i = phi float* [ %96, %.lr.ph.i18.i ], [ %.09.i.i, %.preheader.i.i ]
%j.02.i.i = phi i32 [ %100, %.lr.ph.i18.i ], [ 0, %.preheader.i.i ]
%.sum46.i = add i32 %j.02.i.i, %91
%94 = getelementptr inbounds float* %43, i32 %.sum46.i
%95 = load float* %94, align 4
%96 = getelementptr inbounds float* %.13.i.i, i32 1
%97 = load float* %.13.i.i, align 4
%98 = fmul float %95, %97
%99 = fadd float %dist.04.i.i, %98
%100 = add nsw i32 %j.02.i.i, 1
%exitcond.i17.i = icmp eq i32 %100, %8
br i1 %exitcond.i17.i, label %101, label %.lr.ph.i18.i
; <label>:101 ; preds = %.lr.ph.i18.i
%scevgep.i.i = getelementptr float* %.09.i.i, i32 %8
%102 = fcmp ogt float %99, 0.000000e+00
br i1 %102, label %103, label %.thread.i.i
; <label>:103 ; preds = %101
%104 = fsub float -0.000000e+00, %99
br label %.thread.i.i
.thread.i.i: ; preds = %103, %101, %.preheader.i.i
%.1.lcssa15.i.i = phi float* [ %scevgep.i.i, %103 ], [ %scevgep.i.i, %101 ], [ %.09.i.i, %.preheader.i.i ]
%sign.0.i.i = phi i32 [ 0, %103 ], [ 1, %101 ], [ 1, %.preheader.i.i ]
%dist.1.i.i = phi float [ %104, %103 ], [ %99, %101 ], [ 0.000000e+00, %.preheader.i.i ]
%105 = getelementptr inbounds float* %36, i32 %i.07.i.i
%106 = load float* %105, align 4
%107 = fmul float %106, 5.000000e-01
%108 = fadd float %dist.1.i.i, %107
%109 = icmp slt i32 %i.07.i.i, 1
%110 = fcmp olt float %108, %93
%or.cond = or i1 %109, %110
br i1 %or.cond, label %.critedge.i.i, label %113
.critedge.i.i: ; preds = %.thread.i.i
%111 = icmp eq i32 %sign.0.i.i, 0
%112 = select i1 %111, i32 0, i32 %15
%i.07.i.i. = add nsw i32 %112, %i.07.i.i
br label %113
; <label>:113 ; preds = %.critedge.i.i, %.thread.i.i
%114 = phi float [ %93, %.thread.i.i ], [ %108, %.critedge.i.i ]
%i.07.i25.i96 = phi i32 [ %i.07.i25.i91, %.thread.i.i ], [ %i.07.i.i., %.critedge.i.i ]
%115 = add nsw i32 %i.07.i.i, 1
%exitcond12.i.i = icmp eq i32 %115, %15
br i1 %exitcond12.i.i, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.i, label %.preheader.i.i
; <label>:116 ; preds = %89
br i1 %57, label %.preheader.i26.i, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.i
.preheader.i26.i: ; preds = %125, %116
%117 = phi float [ %132, %125 ], [ %90, %116 ]
%i.07.i25.i93 = phi i32 [ %i.07.i25.i92, %125 ], [ %i.07.i25.i94, %116 ]
%.09.i23.i = phi float* [ %.1.lcssa.i.i, %125 ], [ %29, %116 ]
%i.07.i25.i = phi i32 [ %133, %125 ], [ 0, %116 ]
br i1 %87, label %.lr.ph.i31.i, label %125
.lr.ph.i31.i: ; preds = %.lr.ph.i31.i, %.preheader.i26.i
%dist.04.i27.i = phi float [ %123, %.lr.ph.i31.i ], [ 0.000000e+00, %.preheader.i26.i ]
%.13.i28.i = phi float* [ %120, %.lr.ph.i31.i ], [ %.09.i23.i, %.preheader.i26.i ]
%j.02.i29.i = phi i32 [ %124, %.lr.ph.i31.i ], [ 0, %.preheader.i26.i ]
%.sum47.i = add i32 %j.02.i29.i, %91
%118 = getelementptr inbounds float* %43, i32 %.sum47.i
%119 = load float* %118, align 4
%120 = getelementptr inbounds float* %.13.i28.i, i32 1
%121 = load float* %.13.i28.i, align 4
%122 = fmul float %119, %121
%123 = fadd float %dist.04.i27.i, %122
%124 = add nsw i32 %j.02.i29.i, 1
%exitcond.i30.i = icmp eq i32 %124, %8
br i1 %exitcond.i30.i, label %._crit_edge.i33.i, label %.lr.ph.i31.i
._crit_edge.i33.i: ; preds = %.lr.ph.i31.i
%scevgep.i32.i = getelementptr float* %.09.i23.i, i32 %8
br label %125
; <label>:125 ; preds = %._crit_edge.i33.i, %.preheader.i26.i
%dist.0.lcssa.i.i = phi float [ %123, %._crit_edge.i33.i ], [ 0.000000e+00, %.preheader.i26.i ]
%.1.lcssa.i.i = phi float* [ %scevgep.i32.i, %._crit_edge.i33.i ], [ %.09.i23.i, %.preheader.i26.i ]
%126 = getelementptr inbounds float* %36, i32 %i.07.i25.i
%127 = load float* %126, align 4
%128 = fmul float %127, 5.000000e-01
%129 = fsub float %128, %dist.0.lcssa.i.i
%130 = icmp slt i32 %i.07.i25.i, 1
%131 = fcmp olt float %129, %117
%or.cond97 = or i1 %130, %131
%132 = select i1 %or.cond97, float %129, float %117
%i.07.i25.i92 = select i1 %or.cond97, i32 %i.07.i25.i, i32 %i.07.i25.i93
%133 = add nsw i32 %i.07.i25.i, 1
%exitcond12.i42.i = icmp eq i32 %133, %15
br i1 %exitcond12.i42.i, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.i, label %.preheader.i26.i
_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.i: ; preds = %125, %116, %113, %92
%134 = phi float [ %90, %116 ], [ %90, %92 ], [ %132, %125 ], [ %114, %113 ]
%i.07.i25.i95 = phi i32 [ %i.07.i25.i94, %116 ], [ %i.07.i25.i94, %92 ], [ %i.07.i25.i92, %125 ], [ %i.07.i25.i96, %113 ]
%135 = load i32* %13, align 4
%136 = add nsw i32 %135, %21
tail call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %i.07.i25.i95, i32 %136) nounwind
%137 = icmp slt i32 %i.07.i25.i95, %15
%138 = select i1 %137, i32 0, i32 %15
%rind.0.i = sub nsw i32 %i.07.i25.i95, %138
%139 = mul nsw i32 %rind.0.i, %8
br i1 %137, label %.preheader54.i, label %.preheader60.i
.preheader60.i: ; preds = %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.i
br i1 %87, label %.lr.ph63.i, label %.loopexit65._ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit_crit_edge.i
.preheader54.i: ; preds = %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.i
br i1 %87, label %.lr.ph57.i, label %.loopexit65._ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit_crit_edge.i
.lr.ph57.i: ; preds = %.lr.ph57.i, %.preheader54.i
%m.056.i = phi i32 [ %146, %.lr.ph57.i ], [ 0, %.preheader54.i ]
%140 = add nsw i32 %m.056.i, %91
%141 = getelementptr inbounds float* %43, i32 %140
%142 = load float* %141, align 4
%.sum15.i = add i32 %m.056.i, %139
%143 = getelementptr inbounds float* %29, i32 %.sum15.i
%144 = load float* %143, align 4
%145 = fsub float %142, %144
store float %145, float* %141, align 4
%146 = add nsw i32 %m.056.i, 1
%exitcond76.i = icmp eq i32 %146, %8
br i1 %exitcond76.i, label %.preheader64.i, label %.lr.ph57.i
.lr.ph63.i: ; preds = %.lr.ph63.i, %.preheader60.i
%m.162.i = phi i32 [ %153, %.lr.ph63.i ], [ 0, %.preheader60.i ]
%147 = add nsw i32 %m.162.i, %91
%148 = getelementptr inbounds float* %43, i32 %147
%149 = load float* %148, align 4
%.sum14.i = add i32 %m.162.i, %139
%150 = getelementptr inbounds float* %29, i32 %.sum14.i
%151 = load float* %150, align 4
%152 = fadd float %149, %151
store float %152, float* %148, align 4
%153 = add nsw i32 %m.162.i, 1
%exitcond78.i = icmp eq i32 %153, %8
br i1 %exitcond78.i, label %.preheader64.i, label %.lr.ph63.i
.preheader64.i: ; preds = %.lr.ph63.i, %.lr.ph57.i
br i1 %87, label %.lr.ph67.i, label %.loopexit65._ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit_crit_edge.i
.lr.ph67.i: ; preds = %.preheader64.i
%154 = select i1 %137, double 3.125000e-02, double -3.125000e-02
br label %155
; <label>:155 ; preds = %155, %.lr.ph67.i
%j.066.i = phi i32 [ 0, %.lr.ph67.i ], [ %164, %155 ]
%156 = add nsw i32 %j.066.i, %139
%157 = getelementptr inbounds i8* %18, i32 %156
%158 = load i8* %157, align 1
%159 = sitofp i8 %158 to double
%160 = fmul double %154, %159
%161 = fptrunc double %160 to float
%162 = add nsw i32 %j.066.i, %91
%163 = getelementptr inbounds float* %49, i32 %162
store float %161, float* %163, align 4
%164 = add nsw i32 %j.066.i, 1
%exitcond79.i = icmp eq i32 %164, %8
br i1 %exitcond79.i, label %.lr.ph69.i, label %155
.loopexit65._ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit_crit_edge.i: ; preds = %.preheader64.i, %.preheader54.i, %.preheader60.i
%.pre85.i = add nsw i32 %i.071.i, 1
br label %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.i
.lr.ph69.i: ; preds = %155
%165 = add nsw i32 %i.071.i, 1
%166 = mul nsw i32 %165, %8
%167 = sub nsw i32 %nsf, %166
%168 = icmp sgt i32 %167, 0
br label %169
; <label>:169 ; preds = %_Z13target_updatePffS_i.exit.i, %.lr.ph69.i
%m.268.i = phi i32 [ 0, %.lr.ph69.i ], [ %184, %_Z13target_updatePffS_i.exit.i ]
%170 = add nsw i32 %m.268.i, %139
%171 = getelementptr inbounds i8* %18, i32 %170
%172 = load i8* %171, align 1
%173 = sitofp i8 %172 to double
%174 = fmul double %154, %173
%175 = fptrunc double %174 to float
br i1 %168, label %.lr.ph.i20.preheader.i, label %_Z13target_updatePffS_i.exit.i
.lr.ph.i20.preheader.i: ; preds = %169
%176 = sub i32 %8, %m.268.i
br label %.lr.ph.i20.i
.lr.ph.i20.i: ; preds = %.lr.ph.i20.i, %.lr.ph.i20.preheader.i
%n.01.i.i = phi i32 [ %183, %.lr.ph.i20.i ], [ 0, %.lr.ph.i20.preheader.i ]
%.sum44.i = add i32 %n.01.i.i, %166
%177 = getelementptr inbounds float* %43, i32 %.sum44.i
%178 = load float* %177, align 4
%.sum45.i = add i32 %176, %n.01.i.i
%179 = getelementptr inbounds float* %r, i32 %.sum45.i
%180 = load float* %179, align 4
%181 = fmul float %180, %175
%182 = fsub float %178, %181
store float %182, float* %177, align 4
%183 = add nsw i32 %n.01.i.i, 1
%exitcond.i19.i = icmp eq i32 %183, %167
br i1 %exitcond.i19.i, label %_Z13target_updatePffS_i.exit.i, label %.lr.ph.i20.i
_Z13target_updatePffS_i.exit.i: ; preds = %.lr.ph.i20.i, %169
%184 = add nsw i32 %m.268.i, 1
%exitcond80.i = icmp eq i32 %184, %8
br i1 %exitcond80.i, label %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.i, label %169
_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit.i: ; preds = %_Z13target_updatePffS_i.exit.i, %.loopexit65._ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit_crit_edge.i
%.pre-phi.i = phi i32 [ %.pre85.i, %.loopexit65._ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit_crit_edge.i ], [ %165, %_Z13target_updatePffS_i.exit.i ]
%exitcond81.i = icmp eq i32 %.pre-phi.i, %11
br i1 %exitcond81.i, label %.preheader.i, label %89
.lr.ph52.i: ; preds = %.lr.ph52.i, %.preheader.i
%j.151.i = phi i32 [ %190, %.lr.ph52.i ], [ 0, %.preheader.i ]
%185 = getelementptr inbounds float* %exc, i32 %j.151.i
%186 = load float* %185, align 4
%187 = getelementptr inbounds float* %49, i32 %j.151.i
%188 = load float* %187, align 4
%189 = fadd float %186, %188
store float %189, float* %185, align 4
%190 = add nsw i32 %j.151.i, 1
%exitcond75.i = icmp eq i32 %190, %nsf
br i1 %exitcond75.i, label %._crit_edge53.i, label %.lr.ph52.i
._crit_edge53.i: ; preds = %.lr.ph52.i, %.preheader.i
%191 = icmp eq i32 %update_target, 0
br i1 %191, label %_ZL29split_cb_search_shape_sign_N1PfS_S_S_PKviiS_S_P9SpeexBitsPci.exit, label %192
; <label>:192 ; preds = %._crit_edge53.i
%.sum11.i = add i32 %53, %.sum9.i
%.sum12.i = add i32 %.sum11.i, %40
%193 = getelementptr inbounds i8* %stack, i32 %.sum12.i
%194 = getelementptr inbounds i8* %stack, i32 %.sum11.i
%195 = bitcast i8* %194 to float*
br i1 %88, label %.lr.ph50.i, label %._crit_edge.thread.i
._crit_edge.thread.i: ; preds = %192
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %195, float* %ak, float* %awk1, float* %awk2, float* %195, i32 %nsf, i32 %p, i8* %193) nounwind
br label %_ZL29split_cb_search_shape_sign_N1PfS_S_S_PKviiS_S_P9SpeexBitsPci.exit
.lr.ph50.i: ; preds = %.lr.ph50.i, %192
%j.249.i = phi i32 [ %199, %.lr.ph50.i ], [ 0, %192 ]
%196 = getelementptr inbounds float* %49, i32 %j.249.i
%197 = load float* %196, align 4
%198 = getelementptr inbounds float* %195, i32 %j.249.i
store float %197, float* %198, align 4
%199 = add nsw i32 %j.249.i, 1
%exitcond74.i = icmp eq i32 %199, %nsf
br i1 %exitcond74.i, label %.lr.ph.i.preheader, label %.lr.ph50.i
.lr.ph.i.preheader: ; preds = %.lr.ph50.i
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %195, float* %ak, float* %awk1, float* %awk2, float* %195, i32 %nsf, i32 %p, i8* %193) nounwind
br label %.lr.ph.i
.lr.ph.i: ; preds = %.lr.ph.i, %.lr.ph.i.preheader
%j.348.i = phi i32 [ %205, %.lr.ph.i ], [ 0, %.lr.ph.i.preheader ]
%200 = getelementptr inbounds float* %target, i32 %j.348.i
%201 = load float* %200, align 4
%202 = getelementptr inbounds float* %195, i32 %j.348.i
%203 = load float* %202, align 4
%204 = fsub float %201, %203
store float %204, float* %200, align 4
%205 = add nsw i32 %j.348.i, 1
%exitcond.i = icmp eq i32 %205, %nsf
br i1 %exitcond.i, label %_ZL29split_cb_search_shape_sign_N1PfS_S_S_PKviiS_S_P9SpeexBitsPci.exit, label %.lr.ph.i
; <label>:206 ; preds = %0
%207 = ptrtoint i8* %stack to i32
%208 = sub i32 0, %207
%209 = and i32 %208, 3
%210 = shl i32 %N.1, 2
%.sum = or i32 %210, %209
%211 = getelementptr inbounds i8* %stack, i32 %.sum
%.sum1 = sub i32 %.sum, %210
%212 = getelementptr inbounds i8* %stack, i32 %.sum1
%213 = bitcast i8* %212 to float**
%214 = ptrtoint i8* %211 to i32
%215 = sub i32 0, %214
%216 = and i32 %215, 3
%.sum2 = add i32 %216, %.sum
%.sum3 = add i32 %.sum2, %210
%217 = getelementptr inbounds i8* %stack, i32 %.sum3
%218 = getelementptr inbounds i8* %stack, i32 %.sum2
%219 = bitcast i8* %218 to float**
%220 = ptrtoint i8* %217 to i32
%221 = sub i32 0, %220
%222 = and i32 %221, 3
%.sum5 = add i32 %222, %.sum3
%.sum6 = add i32 %.sum5, %210
%223 = getelementptr inbounds i8* %stack, i32 %.sum6
%224 = getelementptr inbounds i8* %stack, i32 %.sum5
%225 = bitcast i8* %224 to i32**
%226 = ptrtoint i8* %223 to i32
%227 = sub i32 0, %226
%228 = and i32 %227, 3
%.sum8 = add i32 %228, %.sum6
%.sum9 = add i32 %.sum8, %210
%229 = getelementptr inbounds i8* %stack, i32 %.sum9
%230 = getelementptr inbounds i8* %stack, i32 %.sum8
%231 = bitcast i8* %230 to i32**
%232 = bitcast i8* %par to i32*
%233 = load i32* %232, align 4
%234 = getelementptr inbounds i8* %par, i32 4
%235 = bitcast i8* %234 to i32*
%236 = load i32* %235, align 4
%237 = getelementptr inbounds i8* %par, i32 12
%238 = bitcast i8* %237 to i32*
%239 = load i32* %238, align 4
%240 = shl i32 1, %239
%241 = getelementptr inbounds i8* %par, i32 8
%242 = bitcast i8* %241 to i8**
%243 = load i8** %242, align 4
%244 = getelementptr inbounds i8* %par, i32 16
%245 = bitcast i8* %244 to i32*
%246 = load i32* %245, align 4
%247 = ptrtoint i8* %229 to i32
%248 = sub i32 0, %247
%249 = and i32 %248, 3
%.sum11 = add i32 %249, %.sum9
%250 = shl i32 %233, %239
%251 = shl i32 %250, 2
%.sum12 = add i32 %251, %.sum11
%252 = getelementptr inbounds i8* %stack, i32 %.sum12
%253 = getelementptr inbounds i8* %stack, i32 %.sum11
%254 = bitcast i8* %253 to float*
%255 = ptrtoint i8* %252 to i32
%256 = sub i32 0, %255
%257 = and i32 %256, 3
%.sum14 = add i32 %257, %.sum12
%258 = shl i32 %240, 2
%.sum15 = add i32 %.sum14, %258
%259 = getelementptr inbounds i8* %stack, i32 %.sum15
%260 = getelementptr inbounds i8* %stack, i32 %.sum14
%261 = bitcast i8* %260 to float*
%262 = ptrtoint i8* %259 to i32
%263 = sub i32 0, %262
%264 = and i32 %263, 3
%.sum17 = add i32 %264, %.sum15
%265 = shl i32 %nsf, 2
%.sum18 = add i32 %.sum17, %265
%266 = getelementptr inbounds i8* %stack, i32 %.sum18
%267 = getelementptr inbounds i8* %stack, i32 %.sum17
%268 = ptrtoint i8* %266 to i32
%269 = sub i32 0, %268
%270 = and i32 %269, 3
%.sum20 = add i32 %270, %.sum18
%.sum21 = add i32 %.sum20, %265
%271 = getelementptr inbounds i8* %stack, i32 %.sum21
%272 = getelementptr inbounds i8* %stack, i32 %.sum20
%273 = bitcast i8* %272 to float*
%274 = ptrtoint i8* %271 to i32
%275 = sub i32 0, %274
%276 = and i32 %275, 3
%.sum23 = add i32 %276, %.sum21
%277 = shl i32 %236, 2
%.sum24 = add i32 %.sum23, %277
%278 = getelementptr inbounds i8* %stack, i32 %.sum24
%279 = getelementptr inbounds i8* %stack, i32 %.sum23
%280 = bitcast i8* %279 to i32*
%281 = ptrtoint i8* %278 to i32
%282 = sub i32 0, %281
%283 = and i32 %282, 3
%.sum26 = add i32 %283, %.sum24
%284 = shl nsw i32 %N.1, 1
%285 = mul i32 %265, %284
%.sum27 = add i32 %.sum26, %285
%286 = getelementptr inbounds i8* %stack, i32 %.sum27
%287 = getelementptr inbounds i8* %stack, i32 %.sum26
%288 = bitcast i8* %287 to float*
%289 = icmp sgt i32 %N.1, 0
br i1 %289, label %.lr.ph166, label %._crit_edge167
.lr.ph166: ; preds = %.lr.ph166, %206
%i.0164 = phi i32 [ %298, %.lr.ph166 ], [ 0, %206 ]
%290 = shl nsw i32 %i.0164, 1
%291 = mul nsw i32 %290, %nsf
%292 = getelementptr inbounds float* %288, i32 %291
%293 = getelementptr inbounds float** %213, i32 %i.0164
store float* %292, float** %293, align 4
%294 = or i32 %290, 1
%295 = mul nsw i32 %294, %nsf
%296 = getelementptr inbounds float* %288, i32 %295
%297 = getelementptr inbounds float** %219, i32 %i.0164
store float* %296, float** %297, align 4
%298 = add nsw i32 %i.0164, 1
%exitcond200 = icmp eq i32 %298, %N.1
br i1 %exitcond200, label %._crit_edge167, label %.lr.ph166
._crit_edge167: ; preds = %.lr.ph166, %206
%299 = ptrtoint i8* %286 to i32
%300 = sub i32 0, %299
%301 = and i32 %300, 3
%.sum29 = add i32 %301, %.sum27
%.sum30 = add i32 %.sum29, %210
%302 = getelementptr inbounds i8* %stack, i32 %.sum30
%303 = getelementptr inbounds i8* %stack, i32 %.sum29
%304 = bitcast i8* %303 to i32*
%305 = ptrtoint i8* %302 to i32
%306 = sub i32 0, %305
%307 = and i32 %306, 3
%.sum32 = add i32 %307, %.sum30
%.sum33 = add i32 %.sum32, %210
%308 = getelementptr inbounds i8* %stack, i32 %.sum33
%309 = getelementptr inbounds i8* %stack, i32 %.sum32
%310 = bitcast i8* %309 to float*
%311 = ptrtoint i8* %308 to i32
%312 = sub i32 0, %311
%313 = and i32 %312, 3
%.sum35 = add i32 %313, %.sum33
%.sum36 = add i32 %.sum35, %210
%314 = getelementptr inbounds i8* %stack, i32 %.sum36
%315 = getelementptr inbounds i8* %stack, i32 %.sum35
%316 = bitcast i8* %315 to i32*
%317 = ptrtoint i8* %314 to i32
%318 = sub i32 0, %317
%319 = and i32 %318, 3
%.sum38 = add i32 %319, %.sum36
%.sum39 = add i32 %.sum38, %210
%320 = getelementptr inbounds i8* %stack, i32 %.sum39
%321 = getelementptr inbounds i8* %stack, i32 %.sum38
%322 = bitcast i8* %321 to i32*
%323 = ptrtoint i8* %320 to i32
%324 = sub i32 0, %323
%325 = and i32 %324, 3
%.sum41 = add i32 %325, %.sum39
%.sum42 = add i32 %.sum41, %210
%326 = getelementptr inbounds i8* %stack, i32 %.sum42
%327 = getelementptr inbounds i8* %stack, i32 %.sum41
%328 = bitcast i8* %327 to float*
%329 = ptrtoint i8* %326 to i32
%330 = sub i32 0, %329
%331 = and i32 %330, 3
%.sum44 = add i32 %331, %.sum42
%.sum45 = add i32 %.sum44, %210
%332 = getelementptr inbounds i8* %stack, i32 %.sum45
%333 = getelementptr inbounds i8* %stack, i32 %.sum44
%334 = bitcast i8* %333 to float*
%335 = ptrtoint i8* %332 to i32
%336 = sub i32 0, %335
%337 = and i32 %336, 3
%.sum47 = add i32 %337, %.sum45
%338 = shl i32 %N.1, 3
%339 = mul i32 %338, %236
%.sum48 = add i32 %.sum47, %339
%340 = getelementptr inbounds i8* %stack, i32 %.sum48
%341 = getelementptr inbounds i8* %stack, i32 %.sum47
%342 = bitcast i8* %341 to i32*
br i1 %289, label %.lr.ph162, label %._crit_edge163.thread
._crit_edge163.thread: ; preds = %._crit_edge167
%343 = bitcast float* %target to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %267, i8* %343, i32 %265, i32 4, i1 false)
br label %._crit_edge159
.lr.ph162: ; preds = %.lr.ph162, %._crit_edge167
%i.1160 = phi i32 [ %352, %.lr.ph162 ], [ 0, %._crit_edge167 ]
%344 = shl nsw i32 %i.1160, 1
%345 = mul nsw i32 %344, %236
%346 = getelementptr inbounds i32* %342, i32 %345
%347 = getelementptr inbounds i32** %231, i32 %i.1160
store i32* %346, i32** %347, align 4
%348 = or i32 %344, 1
%349 = mul nsw i32 %348, %236
%350 = getelementptr inbounds i32* %342, i32 %349
%351 = getelementptr inbounds i32** %225, i32 %i.1160
store i32* %350, i32** %351, align 4
%352 = add nsw i32 %i.1160, 1
%exitcond199 = icmp eq i32 %352, %N.1
br i1 %exitcond199, label %.lr.ph158.preheader, label %.lr.ph162
.lr.ph158.preheader: ; preds = %.lr.ph162
%353 = bitcast float* %target to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %267, i8* %353, i32 %265, i32 4, i1 false)
br label %.lr.ph158
.lr.ph158: ; preds = %.lr.ph158, %.lr.ph158.preheader
%j.0156 = phi i32 [ %357, %.lr.ph158 ], [ 0, %.lr.ph158.preheader ]
%354 = getelementptr inbounds float** %213, i32 %j.0156
%355 = load float** %354, align 4
%356 = bitcast float* %355 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %356, i8* %267, i32 %265, i32 4, i1 false)
%357 = add nsw i32 %j.0156, 1
%exitcond198 = icmp eq i32 %357, %N.1
br i1 %exitcond198, label %._crit_edge159, label %.lr.ph158
._crit_edge159: ; preds = %.lr.ph158, %._crit_edge163.thread
%358 = ptrtoint i8* %340 to i32
%359 = sub i32 0, %358
%360 = and i32 %359, 3
%361 = shl i32 %233, 2
%.sum.i57 = or i32 %360, %361
%.sum1.i58 = sub i32 %.sum48, %361
%.sum98 = add i32 %.sum1.i58, %.sum.i57
%362 = getelementptr inbounds i8* %stack, i32 %.sum98
%363 = bitcast i8* %362 to float*
%364 = icmp sgt i32 %240, 0
br i1 %364, label %.lr.ph12.i, label %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit
.lr.ph12.i: ; preds = %._crit_edge159
%365 = icmp sgt i32 %233, 0
br label %366
; <label>:366 ; preds = %._crit_edge9.i, %.lr.ph12.i
%i.010.i = phi i32 [ 0, %.lr.ph12.i ], [ %391, %._crit_edge9.i ]
%367 = mul nsw i32 %i.010.i, %233
br i1 %365, label %.lr.ph.i61, label %._crit_edge.thread.i59
._crit_edge.thread.i59: ; preds = %366
%368 = getelementptr inbounds float* %261, i32 %i.010.i
store float 0.000000e+00, float* %368, align 4
br label %._crit_edge9.i
.lr.ph.i61: ; preds = %.lr.ph.i61, %366
%k.03.i = phi i32 [ %374, %.lr.ph.i61 ], [ 0, %366 ]
%369 = add nsw i32 %k.03.i, %367
%370 = getelementptr inbounds i8* %243, i32 %369
%371 = load i8* %370, align 1
%372 = sitofp i8 %371 to float
%373 = getelementptr inbounds float* %363, i32 %k.03.i
store float %372, float* %373, align 4
%374 = add nsw i32 %k.03.i, 1
%exitcond.i60 = icmp eq i32 %374, %233
br i1 %exitcond.i60, label %.lr.ph6.i.preheader, label %.lr.ph.i61
.lr.ph6.i.preheader: ; preds = %.lr.ph.i61
%375 = getelementptr inbounds float* %261, i32 %i.010.i
store float 0.000000e+00, float* %375, align 4
br label %.lr.ph6.i
.lr.ph6.i: ; preds = %385, %.lr.ph6.i.preheader
%indvars.iv195 = phi i32 [ 1, %.lr.ph6.i.preheader ], [ %indvars.iv.next196, %385 ]
%j.08.i = phi i32 [ 0, %.lr.ph6.i.preheader ], [ %390, %385 ]
br label %376
; <label>:376 ; preds = %376, %.lr.ph6.i
%resj.05.i = phi float [ 0.000000e+00, %.lr.ph6.i ], [ %383, %376 ]
%k.14.i = phi i32 [ 0, %.lr.ph6.i ], [ %384, %376 ]
%377 = getelementptr inbounds float* %363, i32 %k.14.i
%378 = load float* %377, align 4
%379 = sub nsw i32 %j.08.i, %k.14.i
%380 = getelementptr inbounds float* %r, i32 %379
%381 = load float* %380, align 4
%382 = fmul float %378, %381
%383 = fadd float %resj.05.i, %382
%384 = add nsw i32 %k.14.i, 1
%exitcond197 = icmp eq i32 %384, %indvars.iv195
br i1 %exitcond197, label %385, label %376
; <label>:385 ; preds = %376
%phitmp.i = fmul float %383, 3.125000e-02
%386 = load float* %375, align 4
%387 = fmul float %phitmp.i, %phitmp.i
%388 = fadd float %386, %387
store float %388, float* %375, align 4
%.sum2.i63 = add i32 %j.08.i, %367
%389 = getelementptr inbounds float* %254, i32 %.sum2.i63
store float %phitmp.i, float* %389, align 4
%390 = add nsw i32 %j.08.i, 1
%exitcond14.i = icmp eq i32 %390, %233
%indvars.iv.next196 = add i32 %indvars.iv195, 1
br i1 %exitcond14.i, label %._crit_edge9.i, label %.lr.ph6.i
._crit_edge9.i: ; preds = %385, %._crit_edge.thread.i59
%391 = add nsw i32 %i.010.i, 1
%exitcond15.i = icmp eq i32 %391, %240
br i1 %exitcond15.i, label %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit, label %366
_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit: ; preds = %._crit_edge9.i, %._crit_edge159
tail call void @llvm.memset.p0i8.i32(i8* %333, i8 0, i32 %210, i32 4, i1 false)
%392 = icmp sgt i32 %236, 0
br i1 %392, label %.preheader120.lr.ph, label %.preheader
.preheader120.lr.ph: ; preds = %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit
%393 = icmp sgt i32 %233, 0
%394 = icmp eq i32 %246, 0
%395 = add nsw i32 %N.1, -1
%396 = getelementptr inbounds float* %310, i32 %395
%397 = getelementptr inbounds float* %328, i32 %395
br label %.preheader120
.preheader120: ; preds = %._crit_edge151, %.preheader120.lr.ph
%nt.0154 = phi float** [ %219, %.preheader120.lr.ph ], [ %ot.0153, %._crit_edge151 ]
%ot.0153 = phi float** [ %213, %.preheader120.lr.ph ], [ %nt.0154, %._crit_edge151 ]
%i.2152 = phi i32 [ 0, %.preheader120.lr.ph ], [ %.pre-phi, %._crit_edge151 ]
br i1 %289, label %.lr.ph122, label %._crit_edge123
.lr.ph122: ; preds = %.lr.ph122, %.preheader120
%j.1121 = phi i32 [ %399, %.lr.ph122 ], [ 0, %.preheader120 ]
%398 = getelementptr inbounds float* %328, i32 %j.1121
store float 0x430C6BF520000000, float* %398, align 4
%399 = add nsw i32 %j.1121, 1
%exitcond181 = icmp eq i32 %399, %N.1
br i1 %exitcond181, label %._crit_edge123, label %.lr.ph122
._crit_edge123: ; preds = %.lr.ph122, %.preheader120
tail call void @llvm.memset.p0i8.i32(i8* %315, i8 0, i32 %210, i32 4, i1 false)
tail call void @llvm.memset.p0i8.i32(i8* %321, i8 0, i32 %210, i32 4, i1 false)
%400 = mul nsw i32 %i.2152, %233
%401 = icmp eq i32 %i.2152, 0
br label %402
; <label>:402 ; preds = %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge, %._crit_edge123
%j.2 = phi i32 [ 0, %._crit_edge123 ], [ %509, %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge ]
%403 = icmp slt i32 %j.2, %N.1
br i1 %403, label %404, label %.loopexit141
; <label>:404 ; preds = %402
%405 = getelementptr inbounds float** %ot.0153, i32 %j.2
%406 = load float** %405, align 4
br i1 %393, label %.lr.ph129, label %412
.lr.ph129: ; preds = %.lr.ph129, %404
%tener.0127 = phi float [ %410, %.lr.ph129 ], [ 0.000000e+00, %404 ]
%m.0126 = phi i32 [ %411, %.lr.ph129 ], [ 0, %404 ]
%.sum53 = add i32 %m.0126, %400
%407 = getelementptr inbounds float* %406, i32 %.sum53
%408 = load float* %407, align 4
%409 = fmul float %408, %408
%410 = fadd float %tener.0127, %409
%411 = add nsw i32 %m.0126, 1
%exitcond184 = icmp eq i32 %411, %233
br i1 %exitcond184, label %._crit_edge130, label %.lr.ph129
._crit_edge130: ; preds = %.lr.ph129
%phitmp = fmul float %410, 5.000000e-01
br label %412
; <label>:412 ; preds = %._crit_edge130, %404
%tener.0.lcssa = phi float [ %phitmp, %._crit_edge130 ], [ 0.000000e+00, %404 ]
br i1 %394, label %449, label %413
; <label>:413 ; preds = %412
br i1 %364, label %.preheader.i64, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.preheader
.preheader.i64: ; preds = %447, %413
%.09.i = phi float* [ %.1.lcssa15.i, %447 ], [ %254, %413 ]
%used.08.i = phi i32 [ %used.1.i, %447 ], [ 0, %413 ]
%i.07.i = phi i32 [ %448, %447 ], [ 0, %413 ]
br i1 %393, label %.lr.ph.i66, label %.thread.i
.lr.ph.i66: ; preds = %.lr.ph.i66, %.preheader.i64
%dist.04.i = phi float [ %419, %.lr.ph.i66 ], [ 0.000000e+00, %.preheader.i64 ]
%.13.i = phi float* [ %416, %.lr.ph.i66 ], [ %.09.i, %.preheader.i64 ]
%j.02.i = phi i32 [ %420, %.lr.ph.i66 ], [ 0, %.preheader.i64 ]
%.sum101 = add i32 %j.02.i, %400
%414 = getelementptr inbounds float* %406, i32 %.sum101
%415 = load float* %414, align 4
%416 = getelementptr inbounds float* %.13.i, i32 1
%417 = load float* %.13.i, align 4
%418 = fmul float %415, %417
%419 = fadd float %dist.04.i, %418
%420 = add nsw i32 %j.02.i, 1
%exitcond.i65 = icmp eq i32 %420, %233
br i1 %exitcond.i65, label %421, label %.lr.ph.i66
; <label>:421 ; preds = %.lr.ph.i66
%scevgep.i = getelementptr float* %.09.i, i32 %233
%422 = fcmp ogt float %419, 0.000000e+00
br i1 %422, label %423, label %.thread.i
; <label>:423 ; preds = %421
%424 = fsub float -0.000000e+00, %419
br label %.thread.i
.thread.i: ; preds = %423, %421, %.preheader.i64
%.1.lcssa15.i = phi float* [ %scevgep.i, %423 ], [ %scevgep.i, %421 ], [ %.09.i, %.preheader.i64 ]
%sign.0.i = phi i32 [ 0, %423 ], [ 1, %421 ], [ 1, %.preheader.i64 ]
%dist.1.i = phi float [ %424, %423 ], [ %419, %421 ], [ 0.000000e+00, %.preheader.i64 ]
%425 = getelementptr inbounds float* %261, i32 %i.07.i
%426 = load float* %425, align 4
%427 = fmul float %426, 5.000000e-01
%428 = fadd float %dist.1.i, %427
%429 = icmp slt i32 %i.07.i, %N.1
br i1 %429, label %.preheader6.i, label %430
; <label>:430 ; preds = %.thread.i
%431 = load float* %396, align 4
%432 = fcmp olt float %428, %431
br i1 %432, label %.preheader6.i, label %447
.preheader6.i: ; preds = %.critedge1.i, %430, %.thread.i
%k.0.in.i = phi i32 [ %k.0.i, %.critedge1.i ], [ %N.1, %.thread.i ], [ %N.1, %430 ]
%k.0.i = add nsw i32 %k.0.in.i, -1
%433 = icmp sgt i32 %k.0.i, 0
br i1 %433, label %434, label %.critedge.i
; <label>:434 ; preds = %.preheader6.i
%435 = icmp sgt i32 %k.0.i, %used.08.i
%.pre.i = add nsw i32 %k.0.in.i, -2
%.pre13.i = getelementptr inbounds float* %310, i32 %.pre.i
%.pre207 = load float* %.pre13.i, align 4
%436 = fcmp olt float %428, %.pre207
%or.cond210 = or i1 %435, %436
br i1 %or.cond210, label %.critedge1.i, label %.critedge.i
.critedge1.i: ; preds = %434
%437 = getelementptr inbounds float* %310, i32 %k.0.i
store float %.pre207, float* %437, align 4
%438 = getelementptr inbounds i32* %304, i32 %.pre.i
%439 = load i32* %438, align 4
%440 = getelementptr inbounds i32* %304, i32 %k.0.i
store i32 %439, i32* %440, align 4
br label %.preheader6.i
.critedge.i: ; preds = %434, %.preheader6.i
%441 = getelementptr inbounds float* %310, i32 %k.0.i
store float %428, float* %441, align 4
%442 = getelementptr inbounds i32* %304, i32 %k.0.i
store i32 %i.07.i, i32* %442, align 4
%443 = add nsw i32 %used.08.i, 1
%444 = icmp eq i32 %sign.0.i, 0
br i1 %444, label %447, label %445
; <label>:445 ; preds = %.critedge.i
%446 = add nsw i32 %i.07.i, %240
store i32 %446, i32* %442, align 4
br label %447
; <label>:447 ; preds = %445, %.critedge.i, %430
%used.1.i = phi i32 [ %443, %445 ], [ %443, %.critedge.i ], [ %used.08.i, %430 ]
%448 = add nsw i32 %i.07.i, 1
%exitcond12.i = icmp eq i32 %448, %240
br i1 %exitcond12.i, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.preheader, label %.preheader.i64
; <label>:449 ; preds = %412
br i1 %364, label %.preheader.i71, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.preheader
.preheader.i71: ; preds = %477, %449
%.09.i68 = phi float* [ %.1.lcssa.i, %477 ], [ %254, %449 ]
%used.08.i69 = phi i32 [ %used.1.i86, %477 ], [ 0, %449 ]
%i.07.i70 = phi i32 [ %478, %477 ], [ 0, %449 ]
br i1 %393, label %.lr.ph.i76, label %457
.lr.ph.i76: ; preds = %.lr.ph.i76, %.preheader.i71
%dist.04.i72 = phi float [ %455, %.lr.ph.i76 ], [ 0.000000e+00, %.preheader.i71 ]
%.13.i73 = phi float* [ %452, %.lr.ph.i76 ], [ %.09.i68, %.preheader.i71 ]
%j.02.i74 = phi i32 [ %456, %.lr.ph.i76 ], [ 0, %.preheader.i71 ]
%.sum102 = add i32 %j.02.i74, %400
%450 = getelementptr inbounds float* %406, i32 %.sum102
%451 = load float* %450, align 4
%452 = getelementptr inbounds float* %.13.i73, i32 1
%453 = load float* %.13.i73, align 4
%454 = fmul float %451, %453
%455 = fadd float %dist.04.i72, %454
%456 = add nsw i32 %j.02.i74, 1
%exitcond.i75 = icmp eq i32 %456, %233
br i1 %exitcond.i75, label %._crit_edge.i78, label %.lr.ph.i76
._crit_edge.i78: ; preds = %.lr.ph.i76
%scevgep.i77 = getelementptr float* %.09.i68, i32 %233
br label %457
; <label>:457 ; preds = %._crit_edge.i78, %.preheader.i71
%dist.0.lcssa.i = phi float [ %455, %._crit_edge.i78 ], [ 0.000000e+00, %.preheader.i71 ]
%.1.lcssa.i = phi float* [ %scevgep.i77, %._crit_edge.i78 ], [ %.09.i68, %.preheader.i71 ]
%458 = getelementptr inbounds float* %261, i32 %i.07.i70
%459 = load float* %458, align 4
%460 = fmul float %459, 5.000000e-01
%461 = fsub float %460, %dist.0.lcssa.i
%462 = icmp slt i32 %i.07.i70, %N.1
br i1 %462, label %.preheader6.i81, label %463
; <label>:463 ; preds = %457
%464 = load float* %396, align 4
%465 = fcmp olt float %461, %464
br i1 %465, label %.preheader6.i81, label %477
.preheader6.i81: ; preds = %.critedge1.i84, %463, %457
%k.0.in.i79 = phi i32 [ %k.0.i80, %.critedge1.i84 ], [ %N.1, %457 ], [ %N.1, %463 ]
%k.0.i80 = add nsw i32 %k.0.in.i79, -1
%466 = icmp sgt i32 %k.0.i80, 0
br i1 %466, label %467, label %.critedge.i85
; <label>:467 ; preds = %.preheader6.i81
%468 = icmp sgt i32 %k.0.i80, %used.08.i69
%.pre.i82 = add nsw i32 %k.0.in.i79, -2
%.pre13.i83 = getelementptr inbounds float* %310, i32 %.pre.i82
%.pre = load float* %.pre13.i83, align 4
%469 = fcmp olt float %461, %.pre
%or.cond211 = or i1 %468, %469
br i1 %or.cond211, label %.critedge1.i84, label %.critedge.i85
.critedge1.i84: ; preds = %467
%470 = getelementptr inbounds float* %310, i32 %k.0.i80
store float %.pre, float* %470, align 4
%471 = getelementptr inbounds i32* %304, i32 %.pre.i82
%472 = load i32* %471, align 4
%473 = getelementptr inbounds i32* %304, i32 %k.0.i80
store i32 %472, i32* %473, align 4
br label %.preheader6.i81
.critedge.i85: ; preds = %467, %.preheader6.i81
%474 = getelementptr inbounds float* %310, i32 %k.0.i80
store float %461, float* %474, align 4
%475 = getelementptr inbounds i32* %304, i32 %k.0.i80
store i32 %i.07.i70, i32* %475, align 4
%476 = add nsw i32 %used.08.i69, 1
br label %477
; <label>:477 ; preds = %.critedge.i85, %463
%used.1.i86 = phi i32 [ %476, %.critedge.i85 ], [ %used.08.i69, %463 ]
%478 = add nsw i32 %i.07.i70, 1
%exitcond12.i87 = icmp eq i32 %478, %240
br i1 %exitcond12.i87, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.preheader, label %.preheader.i71
_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.preheader: ; preds = %477, %449, %447, %413
br i1 %289, label %.lr.ph140, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge
.lr.ph140: ; preds = %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.preheader
%479 = getelementptr inbounds float* %334, i32 %j.2
br label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge206
_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge206: ; preds = %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit, %.lr.ph140
%k.0139 = phi i32 [ 0, %.lr.ph140 ], [ %508, %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit ]
%480 = load float* %479, align 4
%481 = getelementptr inbounds float* %310, i32 %k.0139
%482 = load float* %481, align 4
%483 = fadd float %480, %482
%484 = fadd float %483, %tener.0.lcssa
%485 = load float* %397, align 4
%486 = fcmp olt float %484, %485
br i1 %486, label %.preheader136, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit
.preheader136: ; preds = %488, %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge206
%indvars.iv = phi i32 [ %indvars.iv.next, %488 ], [ 0, %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge206 ]
%487 = icmp slt i32 %indvars.iv, %N.1
br i1 %487, label %488, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit
; <label>:488 ; preds = %.preheader136
%489 = getelementptr inbounds float* %328, i32 %indvars.iv
%490 = load float* %489, align 4
%491 = fcmp olt float %484, %490
%indvars.iv.next = add i32 %indvars.iv, 1
br i1 %491, label %.preheader131, label %.preheader136
.preheader131: ; preds = %488
%492 = icmp sgt i32 %395, %indvars.iv
br i1 %492, label %.lr.ph133, label %._crit_edge134
.lr.ph133: ; preds = %.lr.ph133, %.preheader131
%n.0132 = phi i32 [ %493, %.lr.ph133 ], [ %395, %.preheader131 ]
%493 = add nsw i32 %n.0132, -1
%494 = getelementptr inbounds float* %328, i32 %493
%495 = load float* %494, align 4
%496 = getelementptr inbounds float* %328, i32 %n.0132
store float %495, float* %496, align 4
%497 = getelementptr inbounds i32* %316, i32 %493
%498 = load i32* %497, align 4
%499 = getelementptr inbounds i32* %316, i32 %n.0132
store i32 %498, i32* %499, align 4
%500 = getelementptr inbounds i32* %322, i32 %493
%501 = load i32* %500, align 4
%502 = getelementptr inbounds i32* %322, i32 %n.0132
store i32 %501, i32* %502, align 4
%503 = icmp sgt i32 %493, %indvars.iv
br i1 %503, label %.lr.ph133, label %._crit_edge134
._crit_edge134: ; preds = %.lr.ph133, %.preheader131
%n.0.lcssa = phi i32 [ %395, %.preheader131 ], [ %indvars.iv, %.lr.ph133 ]
store float %484, float* %489, align 4
%504 = getelementptr inbounds i32* %304, i32 %k.0139
%505 = load i32* %504, align 4
%506 = getelementptr inbounds i32* %316, i32 %n.0.lcssa
store i32 %505, i32* %506, align 4
%507 = getelementptr inbounds i32* %322, i32 %n.0.lcssa
store i32 %j.2, i32* %507, align 4
br label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit
_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit: ; preds = %._crit_edge134, %.preheader136, %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge206
%508 = add nsw i32 %k.0139, 1
%exitcond189 = icmp eq i32 %508, %N.1
br i1 %exitcond189, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge, label %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge206
_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge: ; preds = %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit, %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit.preheader
%509 = add nsw i32 %j.2, 1
br i1 %401, label %.loopexit141, label %402
.loopexit141: ; preds = %_Z13vq_nbest_signPfPKfiiS_iPiS_Pc.exit._crit_edge, %402
%510 = add nsw i32 %i.2152, 1
br i1 %289, label %.lr.ph148, label %._crit_edge151
.lr.ph148: ; preds = %.loopexit141
%511 = mul nsw i32 %510, %233
%512 = sub nsw i32 %nsf, %511
%513 = shl i32 %512, 2
%514 = icmp sgt i32 %512, 0
br label %515
; <label>:515 ; preds = %._crit_edge145, %.lr.ph148
%j.3147 = phi i32 [ 0, %.lr.ph148 ], [ %557, %._crit_edge145 ]
%516 = getelementptr inbounds float** %nt.0154, i32 %j.3147
%517 = load float** %516, align 4
%518 = getelementptr inbounds float* %517, i32 %511
%519 = bitcast float* %518 to i8*
%520 = getelementptr inbounds i32* %322, i32 %j.3147
%521 = load i32* %520, align 4
%522 = getelementptr inbounds float** %ot.0153, i32 %521
%523 = load float** %522, align 4
%524 = getelementptr inbounds float* %523, i32 %511
%525 = bitcast float* %524 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %519, i8* %525, i32 %513, i32 4, i1 false)
%526 = getelementptr inbounds i32* %316, i32 %j.3147
br i1 %393, label %_Z13target_updatePffS_i.exit._crit_edge, label %._crit_edge145
_Z13target_updatePffS_i.exit._crit_edge: ; preds = %_Z13target_updatePffS_i.exit, %515
%m.2142 = phi i32 [ 0, %515 ], [ %546, %_Z13target_updatePffS_i.exit ]
%527 = load i32* %526, align 4
%528 = icmp slt i32 %527, %240
%529 = select i1 %528, i32 0, i32 %240
%. = sub nsw i32 %527, %529
%.54 = select i1 %528, double 3.125000e-02, double -3.125000e-02
%530 = mul nsw i32 %., %233
%531 = add nsw i32 %530, %m.2142
%532 = getelementptr inbounds i8* %243, i32 %531
%533 = load i8* %532, align 1
%534 = sitofp i8 %533 to double
%535 = fmul double %.54, %534
%536 = fptrunc double %535 to float
%537 = load float** %516, align 4
br i1 %514, label %.lr.ph.i89.preheader, label %_Z13target_updatePffS_i.exit
.lr.ph.i89.preheader: ; preds = %_Z13target_updatePffS_i.exit._crit_edge
%538 = sub i32 %233, %m.2142
br label %.lr.ph.i89
.lr.ph.i89: ; preds = %.lr.ph.i89, %.lr.ph.i89.preheader
%n.01.i = phi i32 [ %545, %.lr.ph.i89 ], [ 0, %.lr.ph.i89.preheader ]
%.sum99 = add i32 %n.01.i, %511
%539 = getelementptr inbounds float* %537, i32 %.sum99
%540 = load float* %539, align 4
%.sum100 = add i32 %538, %n.01.i
%541 = getelementptr inbounds float* %r, i32 %.sum100
%542 = load float* %541, align 4
%543 = fmul float %542, %536
%544 = fsub float %540, %543
store float %544, float* %539, align 4
%545 = add nsw i32 %n.01.i, 1
%exitcond.i88 = icmp eq i32 %545, %512
br i1 %exitcond.i88, label %_Z13target_updatePffS_i.exit, label %.lr.ph.i89
_Z13target_updatePffS_i.exit: ; preds = %.lr.ph.i89, %_Z13target_updatePffS_i.exit._crit_edge
%546 = add nsw i32 %m.2142, 1
%exitcond190 = icmp eq i32 %546, %233
br i1 %exitcond190, label %._crit_edge145, label %_Z13target_updatePffS_i.exit._crit_edge
._crit_edge145: ; preds = %_Z13target_updatePffS_i.exit, %515
%547 = getelementptr inbounds i32** %231, i32 %j.3147
%548 = load i32** %547, align 4
%549 = bitcast i32* %548 to i8*
%550 = load i32* %520, align 4
%551 = getelementptr inbounds i32** %225, i32 %550
%552 = load i32** %551, align 4
%553 = bitcast i32* %552 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %549, i8* %553, i32 %277, i32 4, i1 false)
%554 = load i32* %526, align 4
%555 = load i32** %547, align 4
%556 = getelementptr inbounds i32* %555, i32 %i.2152
store i32 %554, i32* %556, align 4
%557 = add nsw i32 %j.3147, 1
%exitcond191 = icmp eq i32 %557, %N.1
br i1 %exitcond191, label %.lr.ph150, label %515
.lr.ph150: ; preds = %.lr.ph150, %._crit_edge145
%j.4149 = phi i32 [ %564, %.lr.ph150 ], [ 0, %._crit_edge145 ]
%558 = getelementptr inbounds i32** %225, i32 %j.4149
%559 = load i32** %558, align 4
%560 = bitcast i32* %559 to i8*
%561 = getelementptr inbounds i32** %231, i32 %j.4149
%562 = load i32** %561, align 4
%563 = bitcast i32* %562 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %560, i8* %563, i32 %277, i32 4, i1 false)
%564 = add nsw i32 %j.4149, 1
%exitcond192 = icmp eq i32 %564, %N.1
br i1 %exitcond192, label %._crit_edge151, label %.lr.ph150
._crit_edge151: ; preds = %.lr.ph150, %.loopexit141
%.pre-phi = phi i32 [ %510, %.lr.ph150 ], [ %510, %.loopexit141 ]
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %333, i8* %327, i32 %210, i32 4, i1 false)
%exitcond193 = icmp eq i32 %.pre-phi, %236
br i1 %exitcond193, label %.lr.ph119, label %.preheader120
.lr.ph119: ; preds = %.lr.ph119, %._crit_edge151
%i.3118 = phi i32 [ %571, %.lr.ph119 ], [ 0, %._crit_edge151 ]
%565 = load i32** %231, align 4
%566 = getelementptr inbounds i32* %565, i32 %i.3118
%567 = load i32* %566, align 4
%568 = getelementptr inbounds i32* %280, i32 %i.3118
store i32 %567, i32* %568, align 4
%569 = load i32* %238, align 4
%570 = add nsw i32 %569, %246
tail call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %567, i32 %570)
%571 = add nsw i32 %i.3118, 1
%exitcond180 = icmp eq i32 %571, %236
br i1 %exitcond180, label %.lr.ph116, label %.lr.ph119
.preheader: ; preds = %._crit_edge113, %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit
%572 = icmp sgt i32 %nsf, 0
br i1 %572, label %.lr.ph108, label %._crit_edge109
.lr.ph116: ; preds = %._crit_edge113, %.lr.ph119
%i.4115 = phi i32 [ %588, %._crit_edge113 ], [ 0, %.lr.ph119 ]
%573 = getelementptr inbounds i32* %280, i32 %i.4115
%574 = load i32* %573, align 4
%575 = icmp slt i32 %574, %240
%576 = select i1 %575, i32 0, i32 %240
%.55 = sub nsw i32 %574, %576
%.56 = select i1 %575, double 3.125000e-02, double -3.125000e-02
%577 = mul nsw i32 %.55, %233
%578 = mul nsw i32 %i.4115, %233
br i1 %393, label %.lr.ph112, label %._crit_edge113
.lr.ph112: ; preds = %.lr.ph112, %.lr.ph116
%j.5110 = phi i32 [ %587, %.lr.ph112 ], [ 0, %.lr.ph116 ]
%579 = add nsw i32 %j.5110, %577
%580 = getelementptr inbounds i8* %243, i32 %579
%581 = load i8* %580, align 1
%582 = sitofp i8 %581 to double
%583 = fmul double %.56, %582
%584 = fptrunc double %583 to float
%585 = add nsw i32 %j.5110, %578
%586 = getelementptr inbounds float* %273, i32 %585
store float %584, float* %586, align 4
%587 = add nsw i32 %j.5110, 1
%exitcond178 = icmp eq i32 %587, %233
br i1 %exitcond178, label %._crit_edge113, label %.lr.ph112
._crit_edge113: ; preds = %.lr.ph112, %.lr.ph116
%588 = add nsw i32 %i.4115, 1
%exitcond179 = icmp eq i32 %588, %236
br i1 %exitcond179, label %.preheader, label %.lr.ph116
.lr.ph108: ; preds = %.lr.ph108, %.preheader
%j.6107 = phi i32 [ %594, %.lr.ph108 ], [ 0, %.preheader ]
%589 = getelementptr inbounds float* %exc, i32 %j.6107
%590 = load float* %589, align 4
%591 = getelementptr inbounds float* %273, i32 %j.6107
%592 = load float* %591, align 4
%593 = fadd float %590, %592
store float %593, float* %589, align 4
%594 = add nsw i32 %j.6107, 1
%exitcond177 = icmp eq i32 %594, %nsf
br i1 %exitcond177, label %._crit_edge109, label %.lr.ph108
._crit_edge109: ; preds = %.lr.ph108, %.preheader
%595 = icmp eq i32 %update_target, 0
br i1 %595, label %_ZL29split_cb_search_shape_sign_N1PfS_S_S_PKviiS_S_P9SpeexBitsPci.exit, label %596
; <label>:596 ; preds = %._crit_edge109
%.sum50 = add i32 %360, %.sum48
%.sum51 = add i32 %.sum50, %265
%597 = getelementptr inbounds i8* %stack, i32 %.sum51
%598 = getelementptr inbounds i8* %stack, i32 %.sum50
%599 = bitcast i8* %598 to float*
br i1 %572, label %.lr.ph106, label %._crit_edge.thread
._crit_edge.thread: ; preds = %596
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %599, float* %ak, float* %awk1, float* %awk2, float* %599, i32 %nsf, i32 %p, i8* %597)
br label %_ZL29split_cb_search_shape_sign_N1PfS_S_S_PKviiS_S_P9SpeexBitsPci.exit
.lr.ph106: ; preds = %.lr.ph106, %596
%j.7105 = phi i32 [ %603, %.lr.ph106 ], [ 0, %596 ]
%600 = getelementptr inbounds float* %273, i32 %j.7105
%601 = load float* %600, align 4
%602 = getelementptr inbounds float* %599, i32 %j.7105
store float %601, float* %602, align 4
%603 = add nsw i32 %j.7105, 1
%exitcond176 = icmp eq i32 %603, %nsf
br i1 %exitcond176, label %.lr.ph.preheader, label %.lr.ph106
.lr.ph.preheader: ; preds = %.lr.ph106
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %599, float* %ak, float* %awk1, float* %awk2, float* %599, i32 %nsf, i32 %p, i8* %597)
br label %.lr.ph
.lr.ph: ; preds = %.lr.ph, %.lr.ph.preheader
%j.8104 = phi i32 [ %609, %.lr.ph ], [ 0, %.lr.ph.preheader ]
%604 = getelementptr inbounds float* %target, i32 %j.8104
%605 = load float* %604, align 4
%606 = getelementptr inbounds float* %599, i32 %j.8104
%607 = load float* %606, align 4
%608 = fsub float %605, %607
store float %608, float* %604, align 4
%609 = add nsw i32 %j.8104, 1
%exitcond = icmp eq i32 %609, %nsf
br i1 %exitcond, label %_ZL29split_cb_search_shape_sign_N1PfS_S_S_PKviiS_S_P9SpeexBitsPci.exit, label %.lr.ph
_ZL29split_cb_search_shape_sign_N1PfS_S_S_PKviiS_S_P9SpeexBitsPci.exit: ; preds = %.lr.ph, %._crit_edge.thread, %._crit_edge109, %.lr.ph.i, %._crit_edge.thread.i, %._crit_edge53.i
ret void
}
define internal void @_Z27split_cb_shape_sign_unquantPfPKviP9SpeexBitsPcPi(float* nocapture %exc, i8* nocapture %par, i32 %nsf, %struct.SpeexBits* nocapture %bits, i8* %stack, i32* nocapture %seed) nounwind {
%1 = bitcast i8* %par to i32*
%2 = load i32* %1, align 4
%3 = getelementptr inbounds i8* %par, i32 4
%4 = bitcast i8* %3 to i32*
%5 = load i32* %4, align 4
%6 = getelementptr inbounds i8* %par, i32 12
%7 = bitcast i8* %6 to i32*
%8 = getelementptr inbounds i8* %par, i32 8
%9 = bitcast i8* %8 to i8**
%10 = load i8** %9, align 4
%11 = ptrtoint i8* %stack to i32
%12 = sub i32 0, %11
%13 = and i32 %12, 3
%14 = shl i32 %5, 2
%.sum = or i32 %14, %13
%15 = getelementptr inbounds i8* %stack, i32 %.sum
%.sum1 = sub i32 %.sum, %14
%16 = getelementptr inbounds i8* %stack, i32 %.sum1
%17 = bitcast i8* %16 to i32*
%18 = ptrtoint i8* %15 to i32
%19 = sub i32 0, %18
%20 = and i32 %19, 3
%.sum4 = add i32 %20, %.sum
%21 = getelementptr inbounds i8* %stack, i32 %.sum4
%22 = bitcast i8* %21 to i32*
%23 = icmp sgt i32 %5, 0
br i1 %23, label %.lr.ph21, label %._crit_edge17
.lr.ph21: ; preds = %0
%24 = getelementptr inbounds i8* %par, i32 16
%25 = bitcast i8* %24 to i32*
%26 = load i32* %25, align 4
%27 = icmp eq i32 %26, 0
%28 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%29 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%30 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%31 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
%32 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
br label %34
.lr.ph16: ; preds = %speex_bits_unpack_unsigned.exit13
%33 = icmp sgt i32 %2, 0
br label %90
; <label>:34 ; preds = %speex_bits_unpack_unsigned.exit13, %.lr.ph21
%i.019 = phi i32 [ 0, %.lr.ph21 ], [ %89, %speex_bits_unpack_unsigned.exit13 ]
br i1 %27, label %55, label %35
; <label>:35 ; preds = %34
%36 = load i32* %28, align 4
%37 = shl i32 %36, 3
%38 = load i32* %29, align 4
%39 = or i32 %37, 1
%40 = add i32 %39, %38
%41 = load i32* %30, align 4
%42 = icmp sgt i32 %40, %41
br i1 %42, label %.thread.i, label %43
.thread.i: ; preds = %35
store i32 1, i32* %31, align 4
br label %speex_bits_unpack_unsigned.exit
; <label>:43 ; preds = %35
%.pre4.i = load i32* %31, align 4
%phitmp.i = icmp eq i32 %.pre4.i, 0
br i1 %phitmp.i, label %.lr.ph.i, label %speex_bits_unpack_unsigned.exit
.lr.ph.i: ; preds = %43
%.pre.i = load i8** %32, align 4
%44 = getelementptr inbounds i8* %.pre.i, i32 %36
%45 = load i8* %44, align 1
%46 = sext i8 %45 to i32
%47 = sub nsw i32 7, %38
%48 = lshr i32 %46, %47
%49 = and i32 %48, 1
%50 = add nsw i32 %38, 1
store i32 %50, i32* %29, align 4
%51 = icmp eq i32 %50, 8
br i1 %51, label %52, label %speex_bits_unpack_unsigned.exit
; <label>:52 ; preds = %.lr.ph.i
store i32 0, i32* %29, align 4
%53 = add nsw i32 %36, 1
store i32 %53, i32* %28, align 4
br label %speex_bits_unpack_unsigned.exit
speex_bits_unpack_unsigned.exit: ; preds = %52, %.lr.ph.i, %43, %.thread.i
%.0.i = phi i32 [ 0, %43 ], [ 0, %.thread.i ], [ %49, %52 ], [ %49, %.lr.ph.i ]
%54 = getelementptr inbounds i32* %22, i32 %i.019
store i32 %.0.i, i32* %54, align 4
br label %57
; <label>:55 ; preds = %34
%56 = getelementptr inbounds i32* %22, i32 %i.019
store i32 0, i32* %56, align 4
br label %57
; <label>:57 ; preds = %55, %speex_bits_unpack_unsigned.exit
%58 = load i32* %7, align 4
%59 = load i32* %28, align 4
%60 = shl i32 %59, 3
%61 = load i32* %29, align 4
%62 = add i32 %60, %58
%63 = add i32 %62, %61
%64 = load i32* %30, align 4
%65 = icmp sgt i32 %63, %64
br i1 %65, label %.thread.i5, label %66
.thread.i5: ; preds = %57
store i32 1, i32* %31, align 4
br label %speex_bits_unpack_unsigned.exit13
; <label>:66 ; preds = %57
%.pre4.i6 = load i32* %31, align 4
%phitmp.i7 = icmp ne i32 %.pre4.i6, 0
%67 = icmp eq i32 %58, 0
%or.cond.i = or i1 %phitmp.i7, %67
br i1 %or.cond.i, label %speex_bits_unpack_unsigned.exit13, label %.lr.ph.i9
.lr.ph.i9: ; preds = %66
%.pre.i8 = load i8** %32, align 4
br label %68
; <label>:68 ; preds = %83, %.lr.ph.i9
%69 = phi i32 [ %61, %.lr.ph.i9 ], [ %84, %83 ]
%70 = phi i32 [ %59, %.lr.ph.i9 ], [ %85, %83 ]
%d.03.i10 = phi i32 [ 0, %.lr.ph.i9 ], [ %78, %83 ]
%.012.i11 = phi i32 [ %58, %.lr.ph.i9 ], [ %86, %83 ]
%71 = shl i32 %d.03.i10, 1
%72 = getelementptr inbounds i8* %.pre.i8, i32 %70
%73 = load i8* %72, align 1
%74 = sext i8 %73 to i32
%75 = sub nsw i32 7, %69
%76 = lshr i32 %74, %75
%77 = and i32 %76, 1
%78 = or i32 %77, %71
%79 = add nsw i32 %69, 1
store i32 %79, i32* %29, align 4
%80 = icmp eq i32 %79, 8
br i1 %80, label %81, label %83
; <label>:81 ; preds = %68
store i32 0, i32* %29, align 4
%82 = add nsw i32 %70, 1
store i32 %82, i32* %28, align 4
br label %83
; <label>:83 ; preds = %81, %68
%84 = phi i32 [ 0, %81 ], [ %79, %68 ]
%85 = phi i32 [ %82, %81 ], [ %70, %68 ]
%86 = add nsw i32 %.012.i11, -1
%87 = icmp eq i32 %86, 0
br i1 %87, label %speex_bits_unpack_unsigned.exit13, label %68
speex_bits_unpack_unsigned.exit13: ; preds = %83, %66, %.thread.i5
%.0.i12 = phi i32 [ 0, %66 ], [ 0, %.thread.i5 ], [ %78, %83 ]
%88 = getelementptr inbounds i32* %17, i32 %i.019
store i32 %.0.i12, i32* %88, align 4
%89 = add nsw i32 %i.019, 1
%exitcond23 = icmp eq i32 %89, %5
br i1 %exitcond23, label %.lr.ph16, label %34
; <label>:90 ; preds = %._crit_edge, %.lr.ph16
%i.115 = phi i32 [ 0, %.lr.ph16 ], [ %111, %._crit_edge ]
%91 = getelementptr inbounds i32* %22, i32 %i.115
%92 = load i32* %91, align 4
%93 = icmp eq i32 %92, 0
%. = select i1 %93, double 3.125000e-02, double -3.125000e-02
br i1 %33, label %.lr.ph, label %._crit_edge
.lr.ph: ; preds = %90
%94 = getelementptr inbounds i32* %17, i32 %i.115
%95 = mul nsw i32 %i.115, %2
br label %96
; <label>:96 ; preds = %96, %.lr.ph
%j.014 = phi i32 [ 0, %.lr.ph ], [ %110, %96 ]
%97 = load i32* %94, align 4
%98 = mul nsw i32 %97, %2
%99 = add nsw i32 %98, %j.014
%100 = getelementptr inbounds i8* %10, i32 %99
%101 = load i8* %100, align 1
%102 = sitofp i8 %101 to double
%103 = fmul double %., %102
%104 = add nsw i32 %j.014, %95
%105 = getelementptr inbounds float* %exc, i32 %104
%106 = load float* %105, align 4
%107 = fpext float %106 to double
%108 = fadd double %107, %103
%109 = fptrunc double %108 to float
store float %109, float* %105, align 4
%110 = add nsw i32 %j.014, 1
%exitcond = icmp eq i32 %110, %2
br i1 %exitcond, label %._crit_edge, label %96
._crit_edge: ; preds = %96, %90
%111 = add nsw i32 %i.115, 1
%exitcond22 = icmp eq i32 %111, %5
br i1 %exitcond22, label %._crit_edge17, label %90
._crit_edge17: ; preds = %._crit_edge, %0
ret void
}
define internal void @_Z20noise_codebook_quantPfS_S_S_PKviiS_S_P9SpeexBitsPcii(float* nocapture %target, float* nocapture %ak, float* nocapture %awk1, float* nocapture %awk2, i8* nocapture %par, i32 %p, i32 %nsf, float* nocapture %exc, float* nocapture %r, %struct.SpeexBits* nocapture %bits, i8* %stack, i32 %complexity, i32 %update_target) nounwind {
%1 = ptrtoint i8* %stack to i32
%2 = sub i32 0, %1
%3 = and i32 %2, 3
%4 = shl i32 %nsf, 2
%.sum = or i32 %3, %4
%5 = getelementptr inbounds i8* %stack, i32 %.sum
%.sum1 = sub i32 %.sum, %4
%6 = getelementptr inbounds i8* %stack, i32 %.sum1
%7 = bitcast i8* %6 to float*
%8 = ptrtoint i8* %5 to i32
%9 = sub i32 0, %8
%10 = and i32 %9, 3
%11 = shl i32 %p, 2
%.sum.i = or i32 %10, %11
%.sum1.i = sub i32 %.sum.i, %11
%.sum2 = add i32 %.sum, %.sum1.i
%12 = getelementptr inbounds i8* %stack, i32 %.sum2
%13 = bitcast i8* %12 to float*
%14 = icmp sgt i32 %p, 0
br i1 %14, label %.lr.ph11.i, label %15
.lr.ph11.i: ; preds = %0
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 %11, i32 4, i1 false) nounwind
br label %15
; <label>:15 ; preds = %.lr.ph11.i, %0
%16 = icmp sgt i32 %nsf, 0
br i1 %16, label %.lr.ph4.i.i, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.preheader.i
.lr.ph4.i.i: ; preds = %15
%17 = add nsw i32 %p, -1
%18 = icmp sgt i32 %17, 0
%19 = getelementptr inbounds float* %ak, i32 %17
%20 = getelementptr inbounds float* %awk1, i32 %17
%21 = getelementptr inbounds float* %13, i32 %17
br label %22
; <label>:22 ; preds = %._crit_edge.i.i, %.lr.ph4.i.i
%i.02.i.i = phi i32 [ 0, %.lr.ph4.i.i ], [ %46, %._crit_edge.i.i ]
%23 = getelementptr inbounds float* %target, i32 %i.02.i.i
%24 = load float* %23, align 4
%25 = load float* %13, align 4
%26 = fadd float %24, %25
%27 = fsub float -0.000000e+00, %26
br i1 %18, label %.lr.ph.i.i, label %._crit_edge.i.i
.lr.ph.i.i: ; preds = %.lr.ph.i.i, %22
%j.01.i.i = phi i32 [ %28, %.lr.ph.i.i ], [ 0, %22 ]
%28 = add nsw i32 %j.01.i.i, 1
%29 = getelementptr inbounds float* %13, i32 %28
%30 = load float* %29, align 4
%31 = getelementptr inbounds float* %ak, i32 %j.01.i.i
%32 = load float* %31, align 4
%33 = fmul float %32, %24
%34 = fadd float %30, %33
%35 = getelementptr inbounds float* %awk1, i32 %j.01.i.i
%36 = load float* %35, align 4
%37 = fmul float %36, %27
%38 = fadd float %34, %37
%39 = getelementptr inbounds float* %13, i32 %j.01.i.i
store float %38, float* %39, align 4
%exitcond.i.i = icmp eq i32 %28, %17
br i1 %exitcond.i.i, label %._crit_edge.i.i, label %.lr.ph.i.i
._crit_edge.i.i: ; preds = %.lr.ph.i.i, %22
%40 = load float* %19, align 4
%41 = fmul float %40, %24
%42 = load float* %20, align 4
%43 = fmul float %42, %27
%44 = fadd float %41, %43
store float %44, float* %21, align 4
%45 = getelementptr inbounds float* %7, i32 %i.02.i.i
store float %26, float* %45, align 4
%46 = add nsw i32 %i.02.i.i, 1
%exitcond6.i.i = icmp eq i32 %46, %nsf
br i1 %exitcond6.i.i, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.preheader.i, label %22
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.preheader.i: ; preds = %._crit_edge.i.i, %15
br i1 %14, label %.lr.ph.i, label %47
.lr.ph.i: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.preheader.i
call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 %11, i32 4, i1 false) nounwind
br label %47
; <label>:47 ; preds = %.lr.ph.i, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.preheader.i
br i1 %16, label %.lr.ph4.i2.i, label %._crit_edge
.lr.ph4.i2.i: ; preds = %47
%48 = add nsw i32 %p, -1
%49 = icmp sgt i32 %48, 0
%50 = getelementptr inbounds float* %awk2, i32 %48
%51 = getelementptr inbounds float* %13, i32 %48
br label %52
; <label>:52 ; preds = %._crit_edge.i8.i, %.lr.ph4.i2.i
%i.02.i3.i = phi i32 [ 0, %.lr.ph4.i2.i ], [ %67, %._crit_edge.i8.i ]
%53 = getelementptr inbounds float* %7, i32 %i.02.i3.i
%54 = load float* %53, align 4
%55 = load float* %13, align 4
%56 = fadd float %54, %55
br i1 %49, label %.lr.ph.i6.i, label %._crit_edge.i8.i
.lr.ph.i6.i: ; preds = %.lr.ph.i6.i, %52
%j.01.i4.i = phi i32 [ %57, %.lr.ph.i6.i ], [ 0, %52 ]
%57 = add nsw i32 %j.01.i4.i, 1
%58 = getelementptr inbounds float* %13, i32 %57
%59 = load float* %58, align 4
%60 = getelementptr inbounds float* %awk2, i32 %j.01.i4.i
%61 = load float* %60, align 4
%62 = fmul float %61, %54
%63 = fadd float %59, %62
%64 = getelementptr inbounds float* %13, i32 %j.01.i4.i
store float %63, float* %64, align 4
%exitcond.i5.i = icmp eq i32 %57, %48
br i1 %exitcond.i5.i, label %._crit_edge.i8.i, label %.lr.ph.i6.i
._crit_edge.i8.i: ; preds = %.lr.ph.i6.i, %52
%65 = load float* %50, align 4
%66 = fmul float %65, %54
store float %66, float* %51, align 4
store float %56, float* %53, align 4
%67 = add nsw i32 %i.02.i3.i, 1
%exitcond6.i7.i = icmp eq i32 %67, %nsf
br i1 %exitcond6.i7.i, label %.lr.ph, label %52
.lr.ph: ; preds = %.lr.ph, %._crit_edge.i8.i
%i.02 = phi i32 [ %73, %.lr.ph ], [ 0, %._crit_edge.i8.i ]
%68 = getelementptr inbounds float* %7, i32 %i.02
%69 = load float* %68, align 4
%70 = getelementptr inbounds float* %exc, i32 %i.02
%71 = load float* %70, align 4
%72 = fadd float %71, %69
store float %72, float* %70, align 4
%73 = add nsw i32 %i.02, 1
%exitcond = icmp eq i32 %73, %nsf
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %.lr.ph, %47
%74 = bitcast float* %target to i8*
tail call void @llvm.memset.p0i8.i32(i8* %74, i8 0, i32 %4, i32 4, i1 false)
ret void
}
define internal void @_Z22noise_codebook_unquantPfPKviP9SpeexBitsPcPi(float* nocapture %exc, i8* nocapture %par, i32 %nsf, %struct.SpeexBits* nocapture %bits, i8* nocapture %stack, i32* nocapture %seed) nounwind {
%1 = icmp sgt i32 %nsf, 0
br i1 %1, label %.lr.ph, label %._crit_edge
.lr.ph: ; preds = %.lr.ph, %0
%i.01 = phi i32 [ %13, %.lr.ph ], [ 0, %0 ]
%2 = load i32* %seed, align 4
%3 = mul nsw i32 %2, 1664525
%4 = add nsw i32 %3, 1013904223
store i32 %4, i32* %seed, align 4
%5 = and i32 %4, 8388607
%6 = or i32 %5, 1065353216
%7 = bitcast i32 %6 to float
%8 = fadd float %7, -1.500000e+00
%9 = fpext float %8 to double
%10 = fmul double %9, 3.464200e+00
%11 = fptrunc double %10 to float
%12 = getelementptr inbounds float* %exc, i32 %i.01
store float %11, float* %12, align 4
%13 = add nsw i32 %i.01, 1
%exitcond = icmp eq i32 %13, %nsf
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %.lr.ph, %0
ret void
}
declare double @atan(double)
define internal fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* nocapture %xx, float* nocapture %ak, float* nocapture %awk1, float* nocapture %awk2, float* nocapture %y, i32 %N, i32 %ord, i8* %stack) nounwind {
%1 = ptrtoint i8* %stack to i32
%2 = sub i32 0, %1
%3 = and i32 %2, 3
%4 = shl i32 %ord, 2
%.sum = or i32 %3, %4
%.sum1 = sub i32 %.sum, %4
%5 = getelementptr inbounds i8* %stack, i32 %.sum1
%6 = bitcast i8* %5 to float*
%7 = icmp sgt i32 %ord, 0
br i1 %7, label %.lr.ph11, label %8
.lr.ph11: ; preds = %0
call void @llvm.memset.p0i8.i32(i8* %5, i8 0, i32 %4, i32 4, i1 false)
br label %8
; <label>:8 ; preds = %.lr.ph11, %0
%9 = icmp sgt i32 %N, 0
br i1 %9, label %.lr.ph4.i, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader
.lr.ph4.i: ; preds = %8
%10 = add nsw i32 %ord, -1
%11 = icmp sgt i32 %10, 0
%12 = getelementptr inbounds float* %ak, i32 %10
%13 = getelementptr inbounds float* %6, i32 %10
br label %14
; <label>:14 ; preds = %._crit_edge.i, %.lr.ph4.i
%i.02.i = phi i32 [ 0, %.lr.ph4.i ], [ %31, %._crit_edge.i ]
%15 = getelementptr inbounds float* %xx, i32 %i.02.i
%16 = load float* %15, align 4
%17 = load float* %6, align 4
%18 = fadd float %16, %17
%19 = fsub float -0.000000e+00, %18
br i1 %11, label %.lr.ph.i, label %._crit_edge.i
.lr.ph.i: ; preds = %.lr.ph.i, %14
%j.01.i = phi i32 [ %20, %.lr.ph.i ], [ 0, %14 ]
%20 = add nsw i32 %j.01.i, 1
%21 = getelementptr inbounds float* %6, i32 %20
%22 = load float* %21, align 4
%23 = getelementptr inbounds float* %ak, i32 %j.01.i
%24 = load float* %23, align 4
%25 = fmul float %24, %19
%26 = fadd float %22, %25
%27 = getelementptr inbounds float* %6, i32 %j.01.i
store float %26, float* %27, align 4
%exitcond.i = icmp eq i32 %20, %10
br i1 %exitcond.i, label %._crit_edge.i, label %.lr.ph.i
._crit_edge.i: ; preds = %.lr.ph.i, %14
%28 = load float* %12, align 4
%29 = fmul float %28, %19
store float %29, float* %13, align 4
%30 = getelementptr inbounds float* %y, i32 %i.02.i
store float %18, float* %30, align 4
%31 = add nsw i32 %i.02.i, 1
%exitcond6.i = icmp eq i32 %31, %N
br i1 %exitcond6.i, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader, label %14
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader: ; preds = %._crit_edge.i, %8
br i1 %7, label %.lr.ph, label %32
.lr.ph: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader
call void @llvm.memset.p0i8.i32(i8* %5, i8 0, i32 %4, i32 4, i1 false)
br label %32
; <label>:32 ; preds = %.lr.ph, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader
br i1 %9, label %.lr.ph4.i2, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit
.lr.ph4.i2: ; preds = %32
%33 = add nsw i32 %ord, -1
%34 = icmp sgt i32 %33, 0
%35 = getelementptr inbounds float* %awk1, i32 %33
%36 = getelementptr inbounds float* %awk2, i32 %33
%37 = getelementptr inbounds float* %6, i32 %33
br label %38
; <label>:38 ; preds = %._crit_edge.i8, %.lr.ph4.i2
%i.02.i3 = phi i32 [ 0, %.lr.ph4.i2 ], [ %61, %._crit_edge.i8 ]
%39 = getelementptr inbounds float* %y, i32 %i.02.i3
%40 = load float* %39, align 4
%41 = load float* %6, align 4
%42 = fadd float %40, %41
%43 = fsub float -0.000000e+00, %42
br i1 %34, label %.lr.ph.i6, label %._crit_edge.i8
.lr.ph.i6: ; preds = %.lr.ph.i6, %38
%j.01.i4 = phi i32 [ %44, %.lr.ph.i6 ], [ 0, %38 ]
%44 = add nsw i32 %j.01.i4, 1
%45 = getelementptr inbounds float* %6, i32 %44
%46 = load float* %45, align 4
%47 = getelementptr inbounds float* %awk1, i32 %j.01.i4
%48 = load float* %47, align 4
%49 = fmul float %48, %40
%50 = fadd float %46, %49
%51 = getelementptr inbounds float* %awk2, i32 %j.01.i4
%52 = load float* %51, align 4
%53 = fmul float %52, %43
%54 = fadd float %50, %53
%55 = getelementptr inbounds float* %6, i32 %j.01.i4
store float %54, float* %55, align 4
%exitcond.i5 = icmp eq i32 %44, %33
br i1 %exitcond.i5, label %._crit_edge.i8, label %.lr.ph.i6
._crit_edge.i8: ; preds = %.lr.ph.i6, %38
%56 = load float* %35, align 4
%57 = fmul float %56, %40
%58 = load float* %36, align 4
%59 = fmul float %58, %43
%60 = fadd float %57, %59
store float %60, float* %37, align 4
store float %42, float* %39, align 4
%61 = add nsw i32 %i.02.i3, 1
%exitcond6.i7 = icmp eq i32 %61, %N
br i1 %exitcond6.i7, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit, label %38
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit: ; preds = %._crit_edge.i8, %32
ret void
}
define internal fastcc void @_Z24compute_impulse_responsePKfS0_S0_PfiiPc(float* nocapture %ak, float* nocapture %awk1, float* nocapture %awk2, float* nocapture %y, i32 %N, i32 %ord, i8* %stack) nounwind {
%1 = ptrtoint i8* %stack to i32
%2 = sub i32 0, %1
%3 = and i32 %2, 3
%4 = shl i32 %ord, 2
%.sum = or i32 %3, %4
%5 = getelementptr inbounds i8* %stack, i32 %.sum
%.sum1 = sub i32 %.sum, %4
%6 = getelementptr inbounds i8* %stack, i32 %.sum1
%7 = bitcast i8* %6 to float*
%8 = ptrtoint i8* %5 to i32
%9 = sub i32 0, %8
%10 = and i32 %9, 3
%.sum4 = add i32 %10, %.sum
%11 = getelementptr inbounds i8* %stack, i32 %.sum4
%12 = bitcast i8* %11 to float*
store float 1.000000e+00, float* %y, align 4
%13 = icmp sgt i32 %ord, 0
br i1 %13, label %.lr.ph18, label %.preheader12
..preheader12_crit_edge: ; preds = %.lr.ph18
%phitmp = add i32 %ord, 1
br label %.preheader12
.preheader12: ; preds = %..preheader12_crit_edge, %0
%i.0.lcssa = phi i32 [ %phitmp, %..preheader12_crit_edge ], [ 1, %0 ]
%14 = icmp slt i32 %i.0.lcssa, %N
br i1 %14, label %.lr.ph15, label %.preheader9
.lr.ph18: ; preds = %.lr.ph18, %0
%i.016 = phi i32 [ %17, %.lr.ph18 ], [ 0, %0 ]
%15 = getelementptr inbounds float* %awk1, i32 %i.016
%16 = load float* %15, align 4
%17 = add nsw i32 %i.016, 1
%18 = getelementptr inbounds float* %y, i32 %17
store float %16, float* %18, align 4
%exitcond23 = icmp eq i32 %17, %ord
br i1 %exitcond23, label %..preheader12_crit_edge, label %.lr.ph18
.preheader9: ; preds = %.lr.ph15, %.preheader12
br i1 %13, label %.lr.ph11, label %.preheader
.lr.ph15: ; preds = %.lr.ph15, %.preheader12
%i.114 = phi i32 [ %i.1, %.lr.ph15 ], [ %i.0.lcssa, %.preheader12 ]
%19 = getelementptr inbounds float* %y, i32 %i.114
store float 0x3CD203AFA0000000, float* %19, align 4
%i.1 = add nsw i32 %i.114, 1
%exitcond22 = icmp eq i32 %i.1, %N
br i1 %exitcond22, label %.preheader9, label %.lr.ph15
.preheader: ; preds = %.lr.ph11, %.preheader9
%20 = icmp sgt i32 %N, 0
br i1 %20, label %.lr.ph7, label %._crit_edge8
.lr.ph7: ; preds = %.preheader
%21 = add nsw i32 %ord, -1
%22 = icmp sgt i32 %21, 0
%23 = getelementptr inbounds float* %awk2, i32 %21
%24 = getelementptr inbounds float* %7, i32 %21
%25 = getelementptr inbounds float* %ak, i32 %21
%26 = getelementptr inbounds float* %12, i32 %21
br label %._crit_edge25
.lr.ph11: ; preds = %.lr.ph11, %.preheader9
%i.210 = phi i32 [ %29, %.lr.ph11 ], [ 0, %.preheader9 ]
%27 = getelementptr inbounds float* %12, i32 %i.210
store float 0.000000e+00, float* %27, align 4
%28 = getelementptr inbounds float* %7, i32 %i.210
store float 0.000000e+00, float* %28, align 4
%29 = add nsw i32 %i.210, 1
%exitcond21 = icmp eq i32 %29, %ord
br i1 %exitcond21, label %.preheader, label %.lr.ph11
._crit_edge25: ; preds = %._crit_edge, %.lr.ph7
%i.36 = phi i32 [ 0, %.lr.ph7 ], [ %57, %._crit_edge ]
%30 = getelementptr inbounds float* %y, i32 %i.36
%31 = load float* %30, align 4
%32 = load float* %7, align 4
%33 = fadd float %31, %32
%34 = fsub float -0.000000e+00, %33
%35 = load float* %12, align 4
%36 = fadd float %33, %35
store float %36, float* %30, align 4
%37 = fsub float -0.000000e+00, %36
br i1 %22, label %.lr.ph, label %._crit_edge
.lr.ph: ; preds = %.lr.ph, %._crit_edge25
%j.05 = phi i32 [ %38, %.lr.ph ], [ 0, %._crit_edge25 ]
%38 = add nsw i32 %j.05, 1
%39 = getelementptr inbounds float* %7, i32 %38
%40 = load float* %39, align 4
%41 = getelementptr inbounds float* %awk2, i32 %j.05
%42 = load float* %41, align 4
%43 = fmul float %42, %34
%44 = fadd float %40, %43
%45 = getelementptr inbounds float* %7, i32 %j.05
store float %44, float* %45, align 4
%46 = getelementptr inbounds float* %12, i32 %38
%47 = load float* %46, align 4
%48 = getelementptr inbounds float* %ak, i32 %j.05
%49 = load float* %48, align 4
%50 = fmul float %49, %37
%51 = fadd float %47, %50
%52 = getelementptr inbounds float* %12, i32 %j.05
store float %51, float* %52, align 4
%exitcond = icmp eq i32 %38, %21
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %.lr.ph, %._crit_edge25
%53 = load float* %23, align 4
%54 = fmul float %53, %34
store float %54, float* %24, align 4
%55 = load float* %25, align 4
%56 = fmul float %55, %37
store float %56, float* %26, align 4
%57 = add nsw i32 %i.36, 1
%exitcond20 = icmp eq i32 %57, %N
br i1 %exitcond20, label %._crit_edge8, label %._crit_edge25
._crit_edge8: ; preds = %._crit_edge, %.preheader
ret void
}
define internal fastcc void @_Z9qmf_synthPKfS0_S0_PfiiS1_S1_Pc(float* nocapture %x1, float* nocapture %x2, float* nocapture %y, i32 %N, float* nocapture %mem1, float* nocapture %mem2, i8* %stack) nounwind {
%1 = ashr i32 %N, 1
%2 = ptrtoint i8* %stack to i32
%3 = sub i32 0, %2
%4 = and i32 %3, 3
%5 = shl i32 %N, 1
%6 = add i32 %5, 128
%7 = and i32 %6, -4
%.sum = or i32 %4, %7
%8 = getelementptr inbounds i8* %stack, i32 %.sum
%.sum1 = sub i32 %.sum, %7
%9 = getelementptr inbounds i8* %stack, i32 %.sum1
%10 = bitcast i8* %9 to float*
%11 = ptrtoint i8* %8 to i32
%12 = sub i32 0, %11
%13 = and i32 %12, 3
%.sum4 = add i32 %13, %.sum
%14 = getelementptr inbounds i8* %stack, i32 %.sum4
%15 = bitcast i8* %14 to float*
%16 = icmp sgt i32 %1, 0
br i1 %16, label %.lr.ph37, label %.lr.ph34
.lr.ph37: ; preds = %0
%17 = add i32 %1, -1
br label %18
; <label>:18 ; preds = %18, %.lr.ph37
%i.035 = phi i32 [ 0, %.lr.ph37 ], [ %23, %18 ]
%19 = sub i32 %17, %i.035
%20 = getelementptr inbounds float* %x1, i32 %19
%21 = load float* %20, align 4
%22 = getelementptr inbounds float* %10, i32 %i.035
store float %21, float* %22, align 4
%23 = add nsw i32 %i.035, 1
%exitcond48 = icmp eq i32 %23, %1
br i1 %exitcond48, label %.lr.ph34, label %18
.preheader29: ; preds = %.lr.ph34
br i1 %16, label %.lr.ph31, label %.lr.ph28
.lr.ph31: ; preds = %.preheader29
%24 = add i32 %1, -1
br label %32
.lr.ph34: ; preds = %.lr.ph34, %18, %0
%i.133 = phi i32 [ %31, %.lr.ph34 ], [ 0, %18 ], [ 0, %0 ]
%25 = shl nsw i32 %i.133, 1
%26 = or i32 %25, 1
%27 = getelementptr inbounds float* %mem1, i32 %26
%28 = load float* %27, align 4
%29 = add nsw i32 %i.133, %1
%30 = getelementptr inbounds float* %10, i32 %29
store float %28, float* %30, align 4
%31 = add nsw i32 %i.133, 1
%exitcond47 = icmp eq i32 %31, 32
br i1 %exitcond47, label %.preheader29, label %.lr.ph34
; <label>:32 ; preds = %32, %.lr.ph31
%i.230 = phi i32 [ 0, %.lr.ph31 ], [ %37, %32 ]
%33 = sub i32 %24, %i.230
%34 = getelementptr inbounds float* %x2, i32 %33
%35 = load float* %34, align 4
%36 = getelementptr inbounds float* %15, i32 %i.230
store float %35, float* %36, align 4
%37 = add nsw i32 %i.230, 1
%exitcond46 = icmp eq i32 %37, %1
br i1 %exitcond46, label %.lr.ph28, label %32
.preheader22: ; preds = %.lr.ph28
br i1 %16, label %.lr.ph25, label %.lr.ph8
.lr.ph25: ; preds = %.preheader22
%38 = add i32 %1, -2
%39 = add i32 %1, -1
br label %.lr.ph17
.lr.ph28: ; preds = %.lr.ph28, %32, %.preheader29
%i.327 = phi i32 [ %46, %.lr.ph28 ], [ 0, %32 ], [ 0, %.preheader29 ]
%40 = shl nsw i32 %i.327, 1
%41 = or i32 %40, 1
%42 = getelementptr inbounds float* %mem2, i32 %41
%43 = load float* %42, align 4
%44 = add nsw i32 %i.327, %1
%45 = getelementptr inbounds float* %15, i32 %44
store float %43, float* %45, align 4
%46 = add nsw i32 %i.327, 1
%exitcond45 = icmp eq i32 %46, 32
br i1 %exitcond45, label %.preheader22, label %.lr.ph28
.lr.ph17: ; preds = %101, %.lr.ph25
%i.4.neg24 = phi i32 [ 0, %.lr.ph25 ], [ %i.4.neg, %101 ]
%i.423 = phi i32 [ 0, %.lr.ph25 ], [ %110, %101 ]
%47 = add i32 %38, %i.4.neg24
%48 = getelementptr inbounds float* %15, i32 %47
%49 = getelementptr inbounds float* %10, i32 %47
%50 = load float* %48, align 4
%51 = load float* %49, align 4
%52 = add i32 %39, %i.4.neg24
%53 = add i32 %i.4.neg24, %1
br label %54
; <label>:54 ; preds = %54, %.lr.ph17
%x20.015 = phi float [ %50, %.lr.ph17 ], [ %88, %54 ]
%x10.014 = phi float [ %51, %.lr.ph17 ], [ %86, %54 ]
%y3.013 = phi float [ 0.000000e+00, %.lr.ph17 ], [ %98, %54 ]
%y2.012 = phi float [ 0.000000e+00, %.lr.ph17 ], [ %96, %54 ]
%y1.011 = phi float [ 0.000000e+00, %.lr.ph17 ], [ %94, %54 ]
%y0.010 = phi float [ 0.000000e+00, %.lr.ph17 ], [ %91, %54 ]
%j.09 = phi i32 [ 0, %.lr.ph17 ], [ %99, %54 ]
%55 = shl nsw i32 %j.09, 1
%56 = getelementptr inbounds [64 x float]* @_ZL2h0, i32 0, i32 %55
%57 = load float* %56, align 4
%58 = or i32 %55, 1
%59 = getelementptr inbounds [64 x float]* @_ZL2h0, i32 0, i32 %58
%60 = load float* %59, align 4
%61 = add i32 %52, %j.09
%62 = getelementptr inbounds float* %10, i32 %61
%63 = load float* %62, align 4
%64 = getelementptr inbounds float* %15, i32 %61
%65 = load float* %64, align 4
%66 = fsub float %63, %65
%67 = fmul float %57, %66
%68 = fadd float %y0.010, %67
%69 = fadd float %63, %65
%70 = fmul float %60, %69
%71 = fadd float %y1.011, %70
%72 = fsub float %x10.014, %x20.015
%73 = fmul float %57, %72
%74 = fadd float %y2.012, %73
%75 = fadd float %x10.014, %x20.015
%76 = fmul float %60, %75
%77 = fadd float %y3.013, %76
%78 = or i32 %55, 2
%79 = getelementptr inbounds [64 x float]* @_ZL2h0, i32 0, i32 %78
%80 = load float* %79, align 4
%81 = or i32 %55, 3
%82 = getelementptr inbounds [64 x float]* @_ZL2h0, i32 0, i32 %81
%83 = load float* %82, align 4
%84 = add i32 %53, %j.09
%85 = getelementptr inbounds float* %10, i32 %84
%86 = load float* %85, align 4
%87 = getelementptr inbounds float* %15, i32 %84
%88 = load float* %87, align 4
%89 = fsub float %86, %88
%90 = fmul float %80, %89
%91 = fadd float %68, %90
%92 = fadd float %86, %88
%93 = fmul float %83, %92
%94 = fadd float %71, %93
%95 = fmul float %80, %66
%96 = fadd float %74, %95
%97 = fmul float %83, %69
%98 = fadd float %77, %97
%99 = add nsw i32 %j.09, 2
%100 = icmp slt i32 %99, 32
br i1 %100, label %54, label %101
; <label>:101 ; preds = %54
%phitmp = fmul float %91, 2.000000e+00
%phitmp38 = fmul float %94, 2.000000e+00
%phitmp39 = fmul float %96, 2.000000e+00
%phitmp40 = fmul float %98, 2.000000e+00
%102 = shl nsw i32 %i.423, 1
%103 = getelementptr inbounds float* %y, i32 %102
store float %phitmp, float* %103, align 4
%104 = or i32 %102, 1
%105 = getelementptr inbounds float* %y, i32 %104
store float %phitmp38, float* %105, align 4
%106 = or i32 %102, 2
%107 = getelementptr inbounds float* %y, i32 %106
store float %phitmp39, float* %107, align 4
%108 = or i32 %102, 3
%109 = getelementptr inbounds float* %y, i32 %108
store float %phitmp40, float* %109, align 4
%110 = add nsw i32 %i.423, 2
%i.4.neg = sub i32 -2, %i.423
%111 = icmp slt i32 %110, %1
br i1 %111, label %.lr.ph17, label %.lr.ph8
.lr.ph8: ; preds = %.lr.ph8, %101, %.preheader22
%i.57 = phi i32 [ %117, %.lr.ph8 ], [ 0, %101 ], [ 0, %.preheader22 ]
%112 = getelementptr inbounds float* %10, i32 %i.57
%113 = load float* %112, align 4
%114 = shl nsw i32 %i.57, 1
%115 = or i32 %114, 1
%116 = getelementptr inbounds float* %mem1, i32 %115
store float %113, float* %116, align 4
%117 = add nsw i32 %i.57, 1
%exitcond41 = icmp eq i32 %117, 32
br i1 %exitcond41, label %.lr.ph, label %.lr.ph8
.lr.ph: ; preds = %.lr.ph, %.lr.ph8
%i.65 = phi i32 [ %123, %.lr.ph ], [ 0, %.lr.ph8 ]
%118 = getelementptr inbounds float* %15, i32 %i.65
%119 = load float* %118, align 4
%120 = shl nsw i32 %i.65, 1
%121 = or i32 %120, 1
%122 = getelementptr inbounds float* %mem2, i32 %121
store float %119, float* %122, align 4
%123 = add nsw i32 %i.65, 1
%exitcond = icmp eq i32 %123, 32
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %.lr.ph
ret void
}
define internal fastcc void @_Z12interp_pitchPfS_ii(float* nocapture %exc, float* nocapture %interp, i32 %pitch) nounwind {
%corr = alloca [4 x [7 x float]], align 4
%.sum = sub i32 -3, %pitch
br label %.lr.ph.i.preheader
.lr.ph.i.preheader: ; preds = %_Z10inner_prodPKfS0_i.exit, %0
%i.027 = phi i32 [ 0, %0 ], [ %30, %_Z10inner_prodPKfS0_i.exit ]
%.sum1 = add i32 %.sum, %i.027
%1 = getelementptr inbounds float* %exc, i32 %.sum1
br label %.lr.ph.i
.lr.ph.i: ; preds = %.lr.ph.i, %.lr.ph.i.preheader
%.06.i = phi float* [ %21, %.lr.ph.i ], [ %exc, %.lr.ph.i.preheader ]
%.015.i = phi float* [ %23, %.lr.ph.i ], [ %1, %.lr.ph.i.preheader ]
%.024.i = phi i32 [ %2, %.lr.ph.i ], [ 20, %.lr.ph.i.preheader ]
%sum.03.i = phi float [ %27, %.lr.ph.i ], [ 0.000000e+00, %.lr.ph.i.preheader ]
%2 = add nsw i32 %.024.i, -1
%3 = getelementptr inbounds float* %.06.i, i32 1
%4 = load float* %.06.i, align 4
%5 = getelementptr inbounds float* %.015.i, i32 1
%6 = load float* %.015.i, align 4
%7 = fmul float %4, %6
%8 = fadd float %7, 0.000000e+00
%9 = getelementptr inbounds float* %.06.i, i32 2
%10 = load float* %3, align 4
%11 = getelementptr inbounds float* %.015.i, i32 2
%12 = load float* %5, align 4
%13 = fmul float %10, %12
%14 = fadd float %8, %13
%15 = getelementptr inbounds float* %.06.i, i32 3
%16 = load float* %9, align 4
%17 = getelementptr inbounds float* %.015.i, i32 3
%18 = load float* %11, align 4
%19 = fmul float %16, %18
%20 = fadd float %14, %19
%21 = getelementptr inbounds float* %.06.i, i32 4
%22 = load float* %15, align 4
%23 = getelementptr inbounds float* %.015.i, i32 4
%24 = load float* %17, align 4
%25 = fmul float %22, %24
%26 = fadd float %20, %25
%27 = fadd float %sum.03.i, %26
%28 = icmp eq i32 %2, 0
br i1 %28, label %_Z10inner_prodPKfS0_i.exit, label %.lr.ph.i
_Z10inner_prodPKfS0_i.exit: ; preds = %.lr.ph.i
%29 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 %i.027
store float %27, float* %29, align 4
%30 = add nsw i32 %i.027, 1
%exitcond34 = icmp eq i32 %30, 7
br i1 %exitcond34, label %.preheader25, label %.lr.ph.i.preheader
.preheader25: ; preds = %._crit_edge22, %_Z10inner_prodPKfS0_i.exit
%indvars.iv = phi i32 [ %indvars.iv.next, %._crit_edge22 ], [ -11, %_Z10inner_prodPKfS0_i.exit ]
%j.024 = phi i32 [ %49, %._crit_edge22 ], [ 0, %_Z10inner_prodPKfS0_i.exit ]
%31 = icmp sgt i32 %indvars.iv, -8
%indvars.iv.op = xor i32 %indvars.iv, -1
%32 = select i1 %31, i32 %indvars.iv.op, i32 7
%33 = sub nsw i32 3, %j.024
%34 = icmp slt i32 %33, 0
%. = select i1 %34, i32 0, i32 %33
%35 = sub nsw i32 10, %j.024
%36 = icmp sgt i32 %35, 7
%i2.0 = select i1 %36, i32 7, i32 %35
%37 = icmp slt i32 %., %i2.0
br i1 %37, label %.lr.ph21, label %._crit_edge22
.lr.ph21: ; preds = %.preheader25
%38 = add i32 %j.024, -3
br label %39
; <label>:39 ; preds = %39, %.lr.ph21
%tmp.019 = phi float [ 0.000000e+00, %.lr.ph21 ], [ %46, %39 ]
%k.018 = phi i32 [ %., %.lr.ph21 ], [ %47, %39 ]
%40 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 0, i32 %k.018
%41 = load float* %40, align 4
%42 = add i32 %38, %k.018
%43 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 %42
%44 = load float* %43, align 4
%45 = fmul float %41, %44
%46 = fadd float %tmp.019, %45
%47 = add nsw i32 %k.018, 1
%exitcond30 = icmp eq i32 %47, %32
br i1 %exitcond30, label %._crit_edge22, label %39
._crit_edge22: ; preds = %39, %.preheader25
%tmp.0.lcssa = phi float [ 0.000000e+00, %.preheader25 ], [ %46, %39 ]
%48 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 1, i32 %j.024
store float %tmp.0.lcssa, float* %48, align 4
%49 = add nsw i32 %j.024, 1
%indvars.iv.next = add i32 %indvars.iv, 1
%exitcond31 = icmp eq i32 %indvars.iv.next, -4
br i1 %exitcond31, label %.preheader23.1, label %.preheader25
.preheader9: ; preds = %169, %.preheader9..preheader9_crit_edge
%50 = phi float [ %171, %169 ], [ %.pre, %.preheader9..preheader9_crit_edge ]
%i.217 = phi i32 [ 0, %169 ], [ %70, %.preheader9..preheader9_crit_edge ]
%maxcorr.016 = phi float [ %171, %169 ], [ %maxcorr.2.6, %.preheader9..preheader9_crit_edge ]
%maxi.015 = phi i32 [ 0, %169 ], [ %maxi.2.6, %.preheader9..preheader9_crit_edge ]
%maxj.014 = phi i32 [ 0, %169 ], [ %maxj.2.6, %.preheader9..preheader9_crit_edge ]
%51 = fcmp ogt float %50, %maxcorr.016
%maxj.2 = select i1 %51, i32 0, i32 %maxj.014
%maxi.2 = select i1 %51, i32 %i.217, i32 %maxi.015
%maxcorr.2 = select i1 %51, float %50, float %maxcorr.016
%52 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.217, i32 1
%53 = load float* %52, align 4
%54 = fcmp ogt float %53, %maxcorr.2
%maxj.2.1 = select i1 %54, i32 1, i32 %maxj.2
%maxi.2.1 = select i1 %54, i32 %i.217, i32 %maxi.2
%maxcorr.2.1 = select i1 %54, float %53, float %maxcorr.2
%55 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.217, i32 2
%56 = load float* %55, align 4
%57 = fcmp ogt float %56, %maxcorr.2.1
%maxj.2.2 = select i1 %57, i32 2, i32 %maxj.2.1
%maxi.2.2 = select i1 %57, i32 %i.217, i32 %maxi.2.1
%maxcorr.2.2 = select i1 %57, float %56, float %maxcorr.2.1
%58 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.217, i32 3
%59 = load float* %58, align 4
%60 = fcmp ogt float %59, %maxcorr.2.2
%maxj.2.3 = select i1 %60, i32 3, i32 %maxj.2.2
%maxi.2.3 = select i1 %60, i32 %i.217, i32 %maxi.2.2
%maxcorr.2.3 = select i1 %60, float %59, float %maxcorr.2.2
%61 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.217, i32 4
%62 = load float* %61, align 4
%63 = fcmp ogt float %62, %maxcorr.2.3
%maxj.2.4 = select i1 %63, i32 4, i32 %maxj.2.3
%maxi.2.4 = select i1 %63, i32 %i.217, i32 %maxi.2.3
%maxcorr.2.4 = select i1 %63, float %62, float %maxcorr.2.3
%64 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.217, i32 5
%65 = load float* %64, align 4
%66 = fcmp ogt float %65, %maxcorr.2.4
%maxj.2.5 = select i1 %66, i32 5, i32 %maxj.2.4
%maxi.2.5 = select i1 %66, i32 %i.217, i32 %maxi.2.4
%maxcorr.2.5 = select i1 %66, float %65, float %maxcorr.2.4
%67 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.217, i32 6
%68 = load float* %67, align 4
%69 = fcmp ogt float %68, %maxcorr.2.5
%maxj.2.6 = select i1 %69, i32 6, i32 %maxj.2.5
%maxi.2.6 = select i1 %69, i32 %i.217, i32 %maxi.2.5
%70 = add nsw i32 %i.217, 1
%exitcond29 = icmp eq i32 %70, 4
br i1 %exitcond29, label %.lr.ph, label %.preheader9..preheader9_crit_edge
.preheader9..preheader9_crit_edge: ; preds = %.preheader9
%maxcorr.2.6 = select i1 %69, float %68, float %maxcorr.2.5
%.phi.trans.insert = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %70, i32 0
%.pre = load float* %.phi.trans.insert, align 4
br label %.preheader9
.lr.ph: ; preds = %.preheader9
%71 = icmp sgt i32 %maxi.2.6, 0
%.neg4 = add i32 %.sum, %maxj.2.6
%.neg2 = sub i32 -6, %pitch
%72 = add i32 %.neg2, %maxj.2.6
%73 = add nsw i32 %maxi.2.6, -1
%74 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %73, i32 0
%75 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %73, i32 1
%76 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %73, i32 2
%77 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %73, i32 3
%78 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %73, i32 4
%79 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %73, i32 5
%80 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %73, i32 6
br label %81
; <label>:81 ; preds = %128, %.lr.ph
%i.38 = phi i32 [ 0, %.lr.ph ], [ %130, %128 ]
br i1 %71, label %.preheader, label %124
.preheader: ; preds = %81
%82 = add i32 %72, %i.38
%83 = getelementptr inbounds float* %exc, i32 %82
%84 = load float* %83, align 4
%85 = load float* %74, align 4
%86 = fmul float %84, %85
%87 = fadd float %86, 0.000000e+00
%88 = add i32 %82, 1
%89 = getelementptr inbounds float* %exc, i32 %88
%90 = load float* %89, align 4
%91 = load float* %75, align 4
%92 = fmul float %90, %91
%93 = fadd float %87, %92
%94 = add i32 %82, 2
%95 = getelementptr inbounds float* %exc, i32 %94
%96 = load float* %95, align 4
%97 = load float* %76, align 4
%98 = fmul float %96, %97
%99 = fadd float %93, %98
%100 = add i32 %82, 3
%101 = getelementptr inbounds float* %exc, i32 %100
%102 = load float* %101, align 4
%103 = load float* %77, align 4
%104 = fmul float %102, %103
%105 = fadd float %99, %104
%106 = add i32 %82, 4
%107 = getelementptr inbounds float* %exc, i32 %106
%108 = load float* %107, align 4
%109 = load float* %78, align 4
%110 = fmul float %108, %109
%111 = fadd float %105, %110
%112 = add i32 %82, 5
%113 = getelementptr inbounds float* %exc, i32 %112
%114 = load float* %113, align 4
%115 = load float* %79, align 4
%116 = fmul float %114, %115
%117 = fadd float %111, %116
%118 = add i32 %82, 6
%119 = getelementptr inbounds float* %exc, i32 %118
%120 = load float* %119, align 4
%121 = load float* %80, align 4
%122 = fmul float %120, %121
%123 = fadd float %117, %122
br label %128
; <label>:124 ; preds = %81
%125 = add i32 %.neg4, %i.38
%126 = getelementptr inbounds float* %exc, i32 %125
%127 = load float* %126, align 4
br label %128
; <label>:128 ; preds = %124, %.preheader
%tmp1.1 = phi float [ %127, %124 ], [ %123, %.preheader ]
%129 = getelementptr inbounds float* %interp, i32 %i.38
store float %tmp1.1, float* %129, align 4
%130 = add nsw i32 %i.38, 1
%exitcond = icmp eq i32 %130, 80
br i1 %exitcond, label %._crit_edge, label %81
._crit_edge: ; preds = %128
ret void
.preheader23.1: ; preds = %._crit_edge22.1, %._crit_edge22
%indvars.iv.1 = phi i32 [ %indvars.iv.next.1, %._crit_edge22.1 ], [ -11, %._crit_edge22 ]
%j.024.1 = phi i32 [ %149, %._crit_edge22.1 ], [ 0, %._crit_edge22 ]
%131 = icmp sgt i32 %indvars.iv.1, -8
%indvars.iv.1.op = xor i32 %indvars.iv.1, -1
%132 = select i1 %131, i32 %indvars.iv.1.op, i32 7
%133 = sub nsw i32 3, %j.024.1
%134 = icmp slt i32 %133, 0
%..1 = select i1 %134, i32 0, i32 %133
%135 = sub nsw i32 10, %j.024.1
%136 = icmp sgt i32 %135, 7
%i2.0.1 = select i1 %136, i32 7, i32 %135
%137 = icmp slt i32 %..1, %i2.0.1
br i1 %137, label %.lr.ph21.1, label %._crit_edge22.1
.lr.ph21.1: ; preds = %.preheader23.1
%138 = add i32 %j.024.1, -3
br label %139
; <label>:139 ; preds = %139, %.lr.ph21.1
%tmp.019.1 = phi float [ 0.000000e+00, %.lr.ph21.1 ], [ %146, %139 ]
%k.018.1 = phi i32 [ %..1, %.lr.ph21.1 ], [ %147, %139 ]
%140 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 1, i32 %k.018.1
%141 = load float* %140, align 4
%142 = add i32 %138, %k.018.1
%143 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 %142
%144 = load float* %143, align 4
%145 = fmul float %141, %144
%146 = fadd float %tmp.019.1, %145
%147 = add nsw i32 %k.018.1, 1
%exitcond30.1 = icmp eq i32 %147, %132
br i1 %exitcond30.1, label %._crit_edge22.1, label %139
._crit_edge22.1: ; preds = %139, %.preheader23.1
%tmp.0.lcssa.1 = phi float [ 0.000000e+00, %.preheader23.1 ], [ %146, %139 ]
%148 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 2, i32 %j.024.1
store float %tmp.0.lcssa.1, float* %148, align 4
%149 = add nsw i32 %j.024.1, 1
%indvars.iv.next.1 = add i32 %indvars.iv.1, 1
%exitcond31.1 = icmp eq i32 %indvars.iv.next.1, -4
br i1 %exitcond31.1, label %.preheader23.2, label %.preheader23.1
.preheader23.2: ; preds = %._crit_edge22.2, %._crit_edge22.1
%indvars.iv.2 = phi i32 [ %indvars.iv.next.2, %._crit_edge22.2 ], [ -11, %._crit_edge22.1 ]
%j.024.2 = phi i32 [ %168, %._crit_edge22.2 ], [ 0, %._crit_edge22.1 ]
%150 = icmp sgt i32 %indvars.iv.2, -8
%indvars.iv.2.op = xor i32 %indvars.iv.2, -1
%151 = select i1 %150, i32 %indvars.iv.2.op, i32 7
%152 = sub nsw i32 3, %j.024.2
%153 = icmp slt i32 %152, 0
%..2 = select i1 %153, i32 0, i32 %152
%154 = sub nsw i32 10, %j.024.2
%155 = icmp sgt i32 %154, 7
%i2.0.2 = select i1 %155, i32 7, i32 %154
%156 = icmp slt i32 %..2, %i2.0.2
br i1 %156, label %.lr.ph21.2, label %._crit_edge22.2
.lr.ph21.2: ; preds = %.preheader23.2
%157 = add i32 %j.024.2, -3
br label %158
; <label>:158 ; preds = %158, %.lr.ph21.2
%tmp.019.2 = phi float [ 0.000000e+00, %.lr.ph21.2 ], [ %165, %158 ]
%k.018.2 = phi i32 [ %..2, %.lr.ph21.2 ], [ %166, %158 ]
%159 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 2, i32 %k.018.2
%160 = load float* %159, align 4
%161 = add i32 %157, %k.018.2
%162 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 %161
%163 = load float* %162, align 4
%164 = fmul float %160, %163
%165 = fadd float %tmp.019.2, %164
%166 = add nsw i32 %k.018.2, 1
%exitcond30.2 = icmp eq i32 %166, %151
br i1 %exitcond30.2, label %._crit_edge22.2, label %158
._crit_edge22.2: ; preds = %158, %.preheader23.2
%tmp.0.lcssa.2 = phi float [ 0.000000e+00, %.preheader23.2 ], [ %165, %158 ]
%167 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 3, i32 %j.024.2
store float %tmp.0.lcssa.2, float* %167, align 4
%168 = add nsw i32 %j.024.2, 1
%indvars.iv.next.2 = add i32 %indvars.iv.2, 1
%exitcond31.2 = icmp eq i32 %indvars.iv.next.2, -4
br i1 %exitcond31.2, label %169, label %.preheader23.2
; <label>:169 ; preds = %._crit_edge22.2
%170 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 0
%171 = load float* %170, align 4
br label %.preheader9
}
define internal fastcc void @_Z9multicombPfS_S_iiiifPc(float* nocapture %exc, float* nocapture %new_exc, i32 %nsf, i32 %pitch, float %comb_gain, i8* %stack) nounwind {
%1 = ptrtoint i8* %stack to i32
%2 = sub i32 0, %1
%3 = and i32 %2, 3
%4 = shl i32 %nsf, 3
%.sum = or i32 %3, %4
%.sum1 = sub i32 %.sum, %4
%5 = getelementptr inbounds i8* %stack, i32 %.sum1
%6 = bitcast i8* %5 to float*
tail call fastcc void @_Z12interp_pitchPfS_ii(float* %exc, float* %6, i32 %pitch)
%7 = icmp sgt i32 %pitch, 40
%8 = getelementptr inbounds float* %6, i32 %nsf
br i1 %7, label %9, label %11
; <label>:9 ; preds = %0
%10 = shl nsw i32 %pitch, 1
tail call fastcc void @_Z12interp_pitchPfS_ii(float* %exc, float* %8, i32 %10)
br label %13
; <label>:11 ; preds = %0
%12 = sub nsw i32 0, %pitch
tail call fastcc void @_Z12interp_pitchPfS_ii(float* %exc, float* %8, i32 %12)
br label %13
; <label>:13 ; preds = %11, %9
%14 = ashr i32 %nsf, 2
%15 = icmp eq i32 %14, 0
br i1 %15, label %_Z10inner_prodPKfS0_i.exit28, label %.lr.ph.i
.lr.ph.i: ; preds = %.lr.ph.i, %13
%.06.i = phi float* [ %29, %.lr.ph.i ], [ %6, %13 ]
%.024.i = phi i32 [ %16, %.lr.ph.i ], [ %14, %13 ]
%sum.03.i = phi float [ %33, %.lr.ph.i ], [ 0.000000e+00, %13 ]
%16 = add nsw i32 %.024.i, -1
%17 = getelementptr inbounds float* %.06.i, i32 1
%18 = load float* %.06.i, align 4
%19 = fmul float %18, %18
%20 = fadd float %19, 0.000000e+00
%21 = getelementptr inbounds float* %.06.i, i32 2
%22 = load float* %17, align 4
%23 = fmul float %22, %22
%24 = fadd float %20, %23
%25 = getelementptr inbounds float* %.06.i, i32 3
%26 = load float* %21, align 4
%27 = fmul float %26, %26
%28 = fadd float %24, %27
%29 = getelementptr inbounds float* %.06.i, i32 4
%30 = load float* %25, align 4
%31 = fmul float %30, %30
%32 = fadd float %28, %31
%33 = fadd float %sum.03.i, %32
%34 = icmp eq i32 %16, 0
br i1 %34, label %.lr.ph.i6.preheader, label %.lr.ph.i
.lr.ph.i6.preheader: ; preds = %.lr.ph.i
%35 = fadd float %33, 1.000000e+03
%36 = tail call float @sqrtf(float %35) nounwind readnone
br label %.lr.ph.i6
.lr.ph.i6: ; preds = %.lr.ph.i6, %.lr.ph.i6.preheader
%.06.i2 = phi float* [ %50, %.lr.ph.i6 ], [ %8, %.lr.ph.i6.preheader ]
%.024.i4 = phi i32 [ %37, %.lr.ph.i6 ], [ %14, %.lr.ph.i6.preheader ]
%sum.03.i5 = phi float [ %54, %.lr.ph.i6 ], [ 0.000000e+00, %.lr.ph.i6.preheader ]
%37 = add nsw i32 %.024.i4, -1
%38 = getelementptr inbounds float* %.06.i2, i32 1
%39 = load float* %.06.i2, align 4
%40 = fmul float %39, %39
%41 = fadd float %40, 0.000000e+00
%42 = getelementptr inbounds float* %.06.i2, i32 2
%43 = load float* %38, align 4
%44 = fmul float %43, %43
%45 = fadd float %41, %44
%46 = getelementptr inbounds float* %.06.i2, i32 3
%47 = load float* %42, align 4
%48 = fmul float %47, %47
%49 = fadd float %45, %48
%50 = getelementptr inbounds float* %.06.i2, i32 4
%51 = load float* %46, align 4
%52 = fmul float %51, %51
%53 = fadd float %49, %52
%54 = fadd float %sum.03.i5, %53
%55 = icmp eq i32 %37, 0
br i1 %55, label %.lr.ph.i19.preheader, label %.lr.ph.i6
.lr.ph.i19.preheader: ; preds = %.lr.ph.i6
%56 = fadd float %54, 1.000000e+03
%57 = tail call float @sqrtf(float %56) nounwind readnone
br label %.lr.ph.i19
.lr.ph.i19: ; preds = %.lr.ph.i19, %.lr.ph.i19.preheader
%.06.i15 = phi float* [ %71, %.lr.ph.i19 ], [ %exc, %.lr.ph.i19.preheader ]
%.024.i17 = phi i32 [ %58, %.lr.ph.i19 ], [ %14, %.lr.ph.i19.preheader ]
%sum.03.i18 = phi float [ %75, %.lr.ph.i19 ], [ 0.000000e+00, %.lr.ph.i19.preheader ]
%58 = add nsw i32 %.024.i17, -1
%59 = getelementptr inbounds float* %.06.i15, i32 1
%60 = load float* %.06.i15, align 4
%61 = fmul float %60, %60
%62 = fadd float %61, 0.000000e+00
%63 = getelementptr inbounds float* %.06.i15, i32 2
%64 = load float* %59, align 4
%65 = fmul float %64, %64
%66 = fadd float %62, %65
%67 = getelementptr inbounds float* %.06.i15, i32 3
%68 = load float* %63, align 4
%69 = fmul float %68, %68
%70 = fadd float %66, %69
%71 = getelementptr inbounds float* %.06.i15, i32 4
%72 = load float* %67, align 4
%73 = fmul float %72, %72
%74 = fadd float %70, %73
%75 = fadd float %sum.03.i18, %74
%76 = icmp eq i32 %58, 0
br i1 %76, label %.lr.ph.i33.preheader, label %.lr.ph.i19
.lr.ph.i33.preheader: ; preds = %.lr.ph.i19
%phitmp = fadd float %75, 1.000000e+00
%77 = tail call float @sqrtf(float %phitmp) nounwind readnone
br label %.lr.ph.i33
.lr.ph.i33: ; preds = %.lr.ph.i33, %.lr.ph.i33.preheader
%.06.i29 = phi float* [ %97, %.lr.ph.i33 ], [ %6, %.lr.ph.i33.preheader ]
%.015.i30 = phi float* [ %99, %.lr.ph.i33 ], [ %exc, %.lr.ph.i33.preheader ]
%.024.i31 = phi i32 [ %78, %.lr.ph.i33 ], [ %14, %.lr.ph.i33.preheader ]
%sum.03.i32 = phi float [ %103, %.lr.ph.i33 ], [ 0.000000e+00, %.lr.ph.i33.preheader ]
%78 = add nsw i32 %.024.i31, -1
%79 = getelementptr inbounds float* %.06.i29, i32 1
%80 = load float* %.06.i29, align 4
%81 = getelementptr inbounds float* %.015.i30, i32 1
%82 = load float* %.015.i30, align 4
%83 = fmul float %80, %82
%84 = fadd float %83, 0.000000e+00
%85 = getelementptr inbounds float* %.06.i29, i32 2
%86 = load float* %79, align 4
%87 = getelementptr inbounds float* %.015.i30, i32 2
%88 = load float* %81, align 4
%89 = fmul float %86, %88
%90 = fadd float %84, %89
%91 = getelementptr inbounds float* %.06.i29, i32 3
%92 = load float* %85, align 4
%93 = getelementptr inbounds float* %.015.i30, i32 3
%94 = load float* %87, align 4
%95 = fmul float %92, %94
%96 = fadd float %90, %95
%97 = getelementptr inbounds float* %.06.i29, i32 4
%98 = load float* %91, align 4
%99 = getelementptr inbounds float* %.015.i30, i32 4
%100 = load float* %93, align 4
%101 = fmul float %98, %100
%102 = fadd float %96, %101
%103 = fadd float %sum.03.i32, %102
%104 = icmp eq i32 %78, 0
br i1 %104, label %.lr.ph.i26.preheader, label %.lr.ph.i33
.lr.ph.i26.preheader: ; preds = %.lr.ph.i33
%105 = fcmp olt float %103, 0.000000e+00
%corr0.0 = select i1 %105, float 0.000000e+00, float %103
br label %.lr.ph.i26
.lr.ph.i26: ; preds = %.lr.ph.i26, %.lr.ph.i26.preheader
%.06.i22 = phi float* [ %125, %.lr.ph.i26 ], [ %8, %.lr.ph.i26.preheader ]
%.015.i23 = phi float* [ %127, %.lr.ph.i26 ], [ %exc, %.lr.ph.i26.preheader ]
%.024.i24 = phi i32 [ %106, %.lr.ph.i26 ], [ %14, %.lr.ph.i26.preheader ]
%sum.03.i25 = phi float [ %131, %.lr.ph.i26 ], [ 0.000000e+00, %.lr.ph.i26.preheader ]
%106 = add nsw i32 %.024.i24, -1
%107 = getelementptr inbounds float* %.06.i22, i32 1
%108 = load float* %.06.i22, align 4
%109 = getelementptr inbounds float* %.015.i23, i32 1
%110 = load float* %.015.i23, align 4
%111 = fmul float %108, %110
%112 = fadd float %111, 0.000000e+00
%113 = getelementptr inbounds float* %.06.i22, i32 2
%114 = load float* %107, align 4
%115 = getelementptr inbounds float* %.015.i23, i32 2
%116 = load float* %109, align 4
%117 = fmul float %114, %116
%118 = fadd float %112, %117
%119 = getelementptr inbounds float* %.06.i22, i32 3
%120 = load float* %113, align 4
%121 = getelementptr inbounds float* %.015.i23, i32 3
%122 = load float* %115, align 4
%123 = fmul float %120, %122
%124 = fadd float %118, %123
%125 = getelementptr inbounds float* %.06.i22, i32 4
%126 = load float* %119, align 4
%127 = getelementptr inbounds float* %.015.i23, i32 4
%128 = load float* %121, align 4
%129 = fmul float %126, %128
%130 = fadd float %124, %129
%131 = fadd float %sum.03.i25, %130
%132 = icmp eq i32 %106, 0
br i1 %132, label %_Z10inner_prodPKfS0_i.exit28, label %.lr.ph.i26
_Z10inner_prodPKfS0_i.exit28: ; preds = %.lr.ph.i26, %13
%133 = phi float [ 1.000000e+00, %13 ], [ %77, %.lr.ph.i26 ]
%134 = phi float [ 0x403F9F6E40000000, %13 ], [ %36, %.lr.ph.i26 ]
%135 = phi float [ 0x403F9F6E40000000, %13 ], [ %57, %.lr.ph.i26 ]
%corr0.040 = phi float [ 0.000000e+00, %13 ], [ %corr0.0, %.lr.ph.i26 ]
%sum.0.lcssa.i27 = phi float [ 0.000000e+00, %13 ], [ %131, %.lr.ph.i26 ]
%136 = fcmp olt float %sum.0.lcssa.i27, 0.000000e+00
%corr1.0 = select i1 %136, float 0.000000e+00, float %sum.0.lcssa.i27
%137 = fmul float %134, %133
%138 = fcmp ogt float %corr0.040, %137
br i1 %138, label %142, label %139
; <label>:139 ; preds = %_Z10inner_prodPKfS0_i.exit28
%140 = fdiv float %corr0.040, %133
%141 = fdiv float %140, %134
br label %142
; <label>:142 ; preds = %139, %_Z10inner_prodPKfS0_i.exit28
%pgain1.0 = phi float [ %141, %139 ], [ 1.000000e+00, %_Z10inner_prodPKfS0_i.exit28 ]
%143 = fmul float %135, %133
%144 = fcmp ogt float %corr1.0, %143
br i1 %144, label %148, label %145
; <label>:145 ; preds = %142
%146 = fdiv float %corr1.0, %133
%147 = fdiv float %146, %135
br label %148
; <label>:148 ; preds = %145, %142
%pgain2.0 = phi float [ %147, %145 ], [ 1.000000e+00, %142 ]
%149 = fdiv float %133, %134
%150 = fdiv float %133, %135
%151 = fcmp ogt float %comb_gain, 0.000000e+00
br i1 %151, label %152, label %162
; <label>:152 ; preds = %148
%153 = fpext float %comb_gain to double
%154 = fmul double %153, 4.000000e-01
%155 = fadd double %154, 7.000000e-02
%156 = fptrunc double %155 to float
%157 = fpext float %156 to double
%158 = fadd double %157, -7.000000e-02
%159 = fmul double %158, 1.720000e+00
%160 = fadd double %159, 5.000000e-01
%161 = fptrunc double %160 to float
br label %162
; <label>:162 ; preds = %152, %148
%c1.0 = phi float [ %156, %152 ], [ 0.000000e+00, %148 ]
%c2.0 = phi float [ %161, %152 ], [ 0.000000e+00, %148 ]
%163 = fmul float %c2.0, %pgain1.0
%164 = fmul float %163, %pgain1.0
%165 = fsub float 1.000000e+00, %164
%166 = fmul float %c2.0, %pgain2.0
%167 = fmul float %166, %pgain2.0
%168 = fsub float 1.000000e+00, %167
%169 = fcmp olt float %165, %c1.0
%g1.0 = select i1 %169, float %c1.0, float %165
%170 = fcmp olt float %168, %c1.0
%g2.0 = select i1 %170, float %c1.0, float %168
%171 = fdiv float %c1.0, %g1.0
%172 = fdiv float %c1.0, %g2.0
%173 = fmul float %171, %149
%174 = fpext float %173 to double
br i1 %7, label %175, label %180
; <label>:175 ; preds = %162
%176 = fmul double %174, 7.000000e-01
%177 = fmul float %172, %150
%178 = fpext float %177 to double
%179 = fmul double %178, 3.000000e-01
br label %185
; <label>:180 ; preds = %162
%181 = fmul double %174, 6.000000e-01
%182 = fmul float %172, %150
%183 = fpext float %182 to double
%184 = fmul double %183, 6.000000e-01
br label %185
; <label>:185 ; preds = %180, %175
%gain0.0.in = phi double [ %176, %175 ], [ %181, %180 ]
%gain1.0.in = phi double [ %179, %175 ], [ %184, %180 ]
%gain1.0 = fptrunc double %gain1.0.in to float
%gain0.0 = fptrunc double %gain0.0.in to float
%186 = icmp sgt i32 %nsf, 0
br i1 %186, label %.lr.ph50, label %_Z13compute_rms16PKfi.exit14
.lr.ph50: ; preds = %.lr.ph50, %185
%i.048 = phi i32 [ %199, %.lr.ph50 ], [ 0, %185 ]
%187 = getelementptr inbounds float* %exc, i32 %i.048
%188 = load float* %187, align 4
%189 = getelementptr inbounds float* %6, i32 %i.048
%190 = load float* %189, align 4
%191 = fmul float %gain0.0, %190
%192 = add nsw i32 %i.048, %nsf
%193 = getelementptr inbounds float* %6, i32 %192
%194 = load float* %193, align 4
%195 = fmul float %gain1.0, %194
%196 = fadd float %191, %195
%197 = fadd float %188, %196
%198 = getelementptr inbounds float* %new_exc, i32 %i.048
store float %197, float* %198, align 4
%199 = add nsw i32 %i.048, 1
%exitcond58 = icmp eq i32 %199, %nsf
br i1 %exitcond58, label %.lr.ph.i.i12, label %.lr.ph50
.lr.ph.i.i12: ; preds = %.lr.ph.i.i12, %.lr.ph50
%sum.02.i.i9 = phi float [ %203, %.lr.ph.i.i12 ], [ 0.000000e+00, %.lr.ph50 ]
%i.01.i.i10 = phi i32 [ %204, %.lr.ph.i.i12 ], [ 0, %.lr.ph50 ]
%200 = getelementptr inbounds float* %new_exc, i32 %i.01.i.i10
%201 = load float* %200, align 4
%202 = fmul float %201, %201
%203 = fadd float %sum.02.i.i9, %202
%204 = add nsw i32 %i.01.i.i10, 1
%exitcond.i.i11 = icmp eq i32 %204, %nsf
br i1 %exitcond.i.i11, label %_Z13compute_rms16PKfi.exit14, label %.lr.ph.i.i12
_Z13compute_rms16PKfi.exit14: ; preds = %.lr.ph.i.i12, %185
%sum.0.lcssa.i.i13 = phi float [ 0.000000e+00, %185 ], [ %203, %.lr.ph.i.i12 ]
%205 = sitofp i32 %nsf to float
%206 = fdiv float %sum.0.lcssa.i.i13, %205
%207 = fpext float %206 to double
%208 = fadd double %207, 1.000000e-01
%209 = tail call double @sqrt(double %208) nounwind readnone
%210 = fptrunc double %209 to float
br i1 %186, label %.lr.ph.i.i, label %_Z13compute_rms16PKfi.exit
.lr.ph.i.i: ; preds = %.lr.ph.i.i, %_Z13compute_rms16PKfi.exit14
%sum.02.i.i = phi float [ %214, %.lr.ph.i.i ], [ 0.000000e+00, %_Z13compute_rms16PKfi.exit14 ]
%i.01.i.i = phi i32 [ %215, %.lr.ph.i.i ], [ 0, %_Z13compute_rms16PKfi.exit14 ]
%211 = getelementptr inbounds float* %exc, i32 %i.01.i.i
%212 = load float* %211, align 4
%213 = fmul float %212, %212
%214 = fadd float %sum.02.i.i, %213
%215 = add nsw i32 %i.01.i.i, 1
%exitcond.i.i = icmp eq i32 %215, %nsf
br i1 %exitcond.i.i, label %_Z13compute_rms16PKfi.exit, label %.lr.ph.i.i
_Z13compute_rms16PKfi.exit: ; preds = %.lr.ph.i.i, %_Z13compute_rms16PKfi.exit14
%sum.0.lcssa.i.i = phi float [ 0.000000e+00, %_Z13compute_rms16PKfi.exit14 ], [ %214, %.lr.ph.i.i ]
%216 = fdiv float %sum.0.lcssa.i.i, %205
%217 = fpext float %216 to double
%218 = fadd double %217, 1.000000e-01
%219 = tail call double @sqrt(double %218) nounwind readnone
%220 = fptrunc double %219 to float
%221 = fcmp olt float %220, 1.000000e+00
%old_ener.0 = select i1 %221, float 1.000000e+00, float %220
%222 = fcmp olt float %210, 1.000000e+00
%new_ener.0 = select i1 %222, float 1.000000e+00, float %210
%223 = fcmp ogt float %old_ener.0, %new_ener.0
%old_ener.1 = select i1 %223, float %new_ener.0, float %old_ener.0
%224 = fdiv float %old_ener.1, %new_ener.0
br i1 %186, label %.lr.ph, label %._crit_edge
.lr.ph: ; preds = %.lr.ph, %_Z13compute_rms16PKfi.exit
%i.145 = phi i32 [ %228, %.lr.ph ], [ 0, %_Z13compute_rms16PKfi.exit ]
%225 = getelementptr inbounds float* %new_exc, i32 %i.145
%226 = load float* %225, align 4
%227 = fmul float %224, %226
store float %227, float* %225, align 4
%228 = add nsw i32 %i.145, 1
%exitcond = icmp eq i32 %228, %nsf
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %.lr.ph, %_Z13compute_rms16PKfi.exit
ret void
}
define internal fastcc void @ogg_stream_packetin(%struct.ogg_stream_state* nocapture %os, %struct.ogg_packet* nocapture %op) nounwind {
%1 = getelementptr inbounds %struct.ogg_packet* %op, i32 0, i32 1
%2 = load i32* %1, align 4
%3 = sdiv i32 %2, 255
%4 = add nsw i32 %3, 1
%5 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 3
%6 = load i32* %5, align 4
%7 = icmp eq i32 %6, 0
%.pre3 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 2
br i1 %7, label %._crit_edge2, label %8
; <label>:8 ; preds = %0
%9 = load i32* %.pre3, align 4
%10 = sub nsw i32 %9, %6
store i32 %10, i32* %.pre3, align 4
%11 = icmp eq i32 %9, %6
br i1 %11, label %16, label %12
; <label>:12 ; preds = %8
%13 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 0
%14 = load i8** %13, align 4
%15 = getelementptr inbounds i8* %14, i32 %6
tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %14, i8* %15, i32 %10, i32 1, i1 false)
br label %16
; <label>:16 ; preds = %12, %8
store i32 0, i32* %5, align 4
%.pre = load i32* %1, align 4
br label %._crit_edge2
._crit_edge2: ; preds = %16, %0
%17 = phi i32 [ %.pre, %16 ], [ %2, %0 ]
%18 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 1
%19 = load i32* %18, align 4
%20 = load i32* %.pre3, align 4
%21 = add nsw i32 %20, %17
%22 = icmp sgt i32 %19, %21
br i1 %22, label %_ZL15_os_body_expandP16ogg_stream_statei.exit, label %23
; <label>:23 ; preds = %._crit_edge2
%24 = add i32 %17, 1024
%25 = add i32 %24, %19
store i32 %25, i32* %18, align 4
%26 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 0
%27 = load i8** %26, align 4
%28 = tail call fastcc i8* @realloc(i8* %27, i32 %25) nounwind
store i8* %28, i8** %26, align 4
br label %_ZL15_os_body_expandP16ogg_stream_statei.exit
_ZL15_os_body_expandP16ogg_stream_statei.exit: ; preds = %23, %._crit_edge2
%29 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 6
%30 = load i32* %29, align 4
%31 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 7
%32 = load i32* %31, align 4
%33 = add nsw i32 %32, %4
%34 = icmp sgt i32 %30, %33
br i1 %34, label %_ZL15_os_body_expandP16ogg_stream_statei.exit._ZL17_os_lacing_expandP16ogg_stream_statei.exit_crit_edge, label %35
_ZL15_os_body_expandP16ogg_stream_statei.exit._ZL17_os_lacing_expandP16ogg_stream_statei.exit_crit_edge: ; preds = %_ZL15_os_body_expandP16ogg_stream_statei.exit
%.pre1 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 4
br label %_ZL17_os_lacing_expandP16ogg_stream_statei.exit
; <label>:35 ; preds = %_ZL15_os_body_expandP16ogg_stream_statei.exit
%36 = add i32 %3, 33
%37 = add i32 %36, %30
store i32 %37, i32* %29, align 4
%38 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 4
%39 = load i32** %38, align 4
%40 = bitcast i32* %39 to i8*
%41 = shl i32 %37, 2
%42 = tail call fastcc i8* @realloc(i8* %40, i32 %41) nounwind
%43 = bitcast i8* %42 to i32*
store i32* %43, i32** %38, align 4
%44 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 5
%45 = load i64** %44, align 4
%46 = bitcast i64* %45 to i8*
%47 = load i32* %29, align 4
%48 = shl i32 %47, 3
%49 = tail call fastcc i8* @realloc(i8* %46, i32 %48) nounwind
%50 = bitcast i8* %49 to i64*
store i64* %50, i64** %44, align 4
br label %_ZL17_os_lacing_expandP16ogg_stream_statei.exit
_ZL17_os_lacing_expandP16ogg_stream_statei.exit: ; preds = %35, %_ZL15_os_body_expandP16ogg_stream_statei.exit._ZL17_os_lacing_expandP16ogg_stream_statei.exit_crit_edge
%.pre-phi = phi i32** [ %.pre1, %_ZL15_os_body_expandP16ogg_stream_statei.exit._ZL17_os_lacing_expandP16ogg_stream_statei.exit_crit_edge ], [ %38, %35 ]
%51 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 0
%52 = load i8** %51, align 4
%53 = load i32* %.pre3, align 4
%54 = getelementptr inbounds i8* %52, i32 %53
%55 = getelementptr inbounds %struct.ogg_packet* %op, i32 0, i32 0
%56 = load i8** %55, align 4
%57 = load i32* %1, align 4
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %54, i8* %56, i32 %57, i32 1, i1 false)
%58 = load i32* %1, align 4
%59 = load i32* %.pre3, align 4
%60 = add nsw i32 %59, %58
store i32 %60, i32* %.pre3, align 4
%61 = icmp sgt i32 %2, 254
br i1 %61, label %.lr.ph, label %_ZL17_os_lacing_expandP16ogg_stream_statei.exit._crit_edge
_ZL17_os_lacing_expandP16ogg_stream_statei.exit._crit_edge: ; preds = %_ZL17_os_lacing_expandP16ogg_stream_statei.exit
%.pre6 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 5
%.pre8 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 17
br label %77
.lr.ph: ; preds = %_ZL17_os_lacing_expandP16ogg_stream_statei.exit
%62 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 17
%63 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 5
%64 = icmp sgt i32 %3, 1
br label %65
; <label>:65 ; preds = %65, %.lr.ph
%i.01 = phi i32 [ 0, %.lr.ph ], [ %75, %65 ]
%66 = load i32* %31, align 4
%67 = add nsw i32 %66, %i.01
%68 = load i32** %.pre-phi, align 4
%69 = getelementptr inbounds i32* %68, i32 %67
store i32 255, i32* %69, align 4
%70 = load i64* %62, align 4
%71 = load i32* %31, align 4
%72 = add nsw i32 %71, %i.01
%73 = load i64** %63, align 4
%74 = getelementptr inbounds i64* %73, i32 %72
store i64 %70, i64* %74, align 4
%75 = add nsw i32 %i.01, 1
%76 = icmp slt i32 %75, %3
br i1 %76, label %65, label %._crit_edge
._crit_edge: ; preds = %65
%smax = select i1 %64, i32 %3, i32 1
br label %77
; <label>:77 ; preds = %._crit_edge, %_ZL17_os_lacing_expandP16ogg_stream_statei.exit._crit_edge
%.pre-phi9 = phi i64* [ %.pre8, %_ZL17_os_lacing_expandP16ogg_stream_statei.exit._crit_edge ], [ %62, %._crit_edge ]
%.pre-phi7 = phi i64** [ %.pre6, %_ZL17_os_lacing_expandP16ogg_stream_statei.exit._crit_edge ], [ %63, %._crit_edge ]
%i.0.lcssa = phi i32 [ 0, %_ZL17_os_lacing_expandP16ogg_stream_statei.exit._crit_edge ], [ %smax, %._crit_edge ]
%78 = load i32* %1, align 4
%79 = srem i32 %78, 255
%80 = load i32* %31, align 4
%81 = add nsw i32 %80, %i.0.lcssa
%82 = load i32** %.pre-phi, align 4
%83 = getelementptr inbounds i32* %82, i32 %81
store i32 %79, i32* %83, align 4
%84 = getelementptr inbounds %struct.ogg_packet* %op, i32 0, i32 4
%85 = load i64* %84, align 4
%86 = load i32* %31, align 4
%87 = add nsw i32 %86, %i.0.lcssa
%88 = load i64** %.pre-phi7, align 4
%89 = getelementptr inbounds i64* %88, i32 %87
store i64 %85, i64* %89, align 4
store i64 %85, i64* %.pre-phi9, align 4
%90 = load i32* %31, align 4
%91 = load i32** %.pre-phi, align 4
%92 = getelementptr inbounds i32* %91, i32 %90
%93 = load i32* %92, align 4
%94 = or i32 %93, 256
store i32 %94, i32* %92, align 4
%95 = load i32* %31, align 4
%96 = add nsw i32 %95, %4
store i32 %96, i32* %31, align 4
%97 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 16
%98 = load i64* %97, align 4
%99 = add nsw i64 %98, 1
store i64 %99, i64* %97, align 4
%100 = getelementptr inbounds %struct.ogg_packet* %op, i32 0, i32 3
%101 = load i32* %100, align 4
%102 = icmp eq i32 %101, 0
br i1 %102, label %105, label %103
; <label>:103 ; preds = %77
%104 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 12
store i32 1, i32* %104, align 4
br label %105
; <label>:105 ; preds = %103, %77
ret void
}
define internal fastcc void @_Z8_spx_lpcPfPKfi(float* nocapture %lpc, float* nocapture %ac, i32 %p) nounwind {
%lpc21 = bitcast float* %lpc to i8*
%1 = load float* %ac, align 4
%2 = fcmp oeq float %1, 0.000000e+00
%3 = icmp sgt i32 %p, 0
br i1 %2, label %.preheader12, label %.preheader
.preheader12: ; preds = %0
br i1 %3, label %.lr.ph15, label %.loopexit
.lr.ph15: ; preds = %.preheader12
%4 = shl i32 %p, 2
call void @llvm.memset.p0i8.i32(i8* %lpc21, i8 0, i32 %4, i32 4, i1 false)
br label %.loopexit
.preheader: ; preds = %0
br i1 %3, label %.lr.ph10, label %.loopexit
.lr.ph10: ; preds = %48, %.preheader
%indvars.iv = phi i32 [ %indvars.iv.next, %48 ], [ 0, %.preheader ]
%error.09 = phi float [ %51, %48 ], [ %1, %.preheader ]
%indvars.iv.next = add i32 %indvars.iv, 1
%5 = getelementptr inbounds float* %ac, i32 %indvars.iv.next
%6 = load float* %5, align 4
%7 = fsub float -0.000000e+00, %6
%8 = icmp sgt i32 %indvars.iv, 0
br i1 %8, label %.lr.ph, label %._crit_edge22
.lr.ph: ; preds = %.lr.ph, %.lr.ph10
%rr.02 = phi float [ %15, %.lr.ph ], [ %7, %.lr.ph10 ]
%j.01 = phi i32 [ %16, %.lr.ph ], [ 0, %.lr.ph10 ]
%9 = getelementptr inbounds float* %lpc, i32 %j.01
%10 = load float* %9, align 4
%11 = sub nsw i32 %indvars.iv, %j.01
%12 = getelementptr inbounds float* %ac, i32 %11
%13 = load float* %12, align 4
%14 = fmul float %10, %13
%15 = fsub float %rr.02, %14
%16 = add nsw i32 %j.01, 1
%exitcond = icmp eq i32 %16, %indvars.iv
br i1 %exitcond, label %._crit_edge22, label %.lr.ph
._crit_edge22: ; preds = %.lr.ph, %.lr.ph10
%rr.0.lcssa = phi float [ %7, %.lr.ph10 ], [ %15, %.lr.ph ]
%17 = fpext float %rr.0.lcssa to double
%18 = fpext float %error.09 to double
%19 = load float* %ac, align 4
%20 = fpext float %19 to double
%21 = fmul double %20, 3.000000e-03
%22 = fadd double %18, %21
%23 = fdiv double %17, %22
%24 = fptrunc double %23 to float
%25 = getelementptr inbounds float* %lpc, i32 %indvars.iv
store float %24, float* %25, align 4
%26 = ashr i32 %indvars.iv, 1
%27 = icmp sgt i32 %26, 0
br i1 %27, label %.lr.ph5, label %._crit_edge6
.lr.ph5: ; preds = %._crit_edge22
%28 = add i32 %indvars.iv, -1
br label %29
; <label>:29 ; preds = %29, %.lr.ph5
%j.13 = phi i32 [ 0, %.lr.ph5 ], [ %40, %29 ]
%30 = getelementptr inbounds float* %lpc, i32 %j.13
%31 = load float* %30, align 4
%32 = sub i32 %28, %j.13
%33 = getelementptr inbounds float* %lpc, i32 %32
%34 = load float* %33, align 4
%35 = fmul float %24, %34
%36 = fadd float %31, %35
store float %36, float* %30, align 4
%37 = load float* %33, align 4
%38 = fmul float %24, %31
%39 = fadd float %37, %38
store float %39, float* %33, align 4
%40 = add nsw i32 %j.13, 1
%exitcond17 = icmp eq i32 %40, %26
br i1 %exitcond17, label %._crit_edge6, label %29
._crit_edge6: ; preds = %29, %._crit_edge22
%j.1.lcssa = phi i32 [ 0, %._crit_edge22 ], [ %26, %29 ]
%41 = and i32 %indvars.iv, 1
%42 = icmp eq i32 %41, 0
br i1 %42, label %48, label %43
; <label>:43 ; preds = %._crit_edge6
%44 = getelementptr inbounds float* %lpc, i32 %j.1.lcssa
%45 = load float* %44, align 4
%46 = fmul float %45, %24
%47 = fadd float %45, %46
store float %47, float* %44, align 4
br label %48
; <label>:48 ; preds = %43, %._crit_edge6
%49 = fmul float %error.09, %24
%50 = fmul float %24, %49
%51 = fsub float %error.09, %50
%exitcond19 = icmp eq i32 %indvars.iv.next, %p
br i1 %exitcond19, label %.loopexit, label %.lr.ph10
.loopexit: ; preds = %48, %.preheader, %.lr.ph15, %.preheader12
ret void
}
define internal fastcc i32 @_Z10lpc_to_lspPfiS_ifPc(float* nocapture %a, i32 %lpcrdr, float* nocapture %freq, float %delta, i8* %stack) {
%1 = sdiv i32 %lpcrdr, 2
%2 = ptrtoint i8* %stack to i32
%3 = sub i32 0, %2
%4 = and i32 %3, 3
%5 = add nsw i32 %1, 1
%6 = shl i32 %5, 2
%.sum = or i32 %6, %4
%7 = getelementptr inbounds i8* %stack, i32 %.sum
%.sum1 = sub i32 %.sum, %6
%8 = getelementptr inbounds i8* %stack, i32 %.sum1
%9 = bitcast i8* %8 to float*
%10 = ptrtoint i8* %7 to i32
%11 = sub i32 0, %10
%12 = and i32 %11, 3
%.sum2 = add i32 %12, %.sum
%.sum3 = add i32 %.sum2, %6
%13 = getelementptr inbounds i8* %stack, i32 %.sum3
%14 = getelementptr inbounds i8* %stack, i32 %.sum2
%15 = bitcast i8* %14 to float*
store float 1.000000e+00, float* %15, align 4
store float 1.000000e+00, float* %9, align 4
%16 = icmp sgt i32 %lpcrdr, 1
br i1 %16, label %.lr.ph66, label %._crit_edge59
.lr.ph66: ; preds = %0
%.sum6 = add i32 %.sum1, 4
%.sum5 = add i32 %.sum2, 4
%17 = getelementptr inbounds i8* %stack, i32 %.sum6
%18 = getelementptr inbounds i8* %stack, i32 %.sum5
%19 = bitcast i8* %17 to float*
%20 = bitcast i8* %18 to float*
%21 = add i32 %lpcrdr, -1
br label %22
; <label>:22 ; preds = %22, %.lr.ph66
%q.064 = phi float* [ %9, %.lr.ph66 ], [ %36, %22 ]
%p.063 = phi float* [ %15, %.lr.ph66 ], [ %29, %22 ]
%qx.062 = phi float* [ %19, %.lr.ph66 ], [ %39, %22 ]
%px.061 = phi float* [ %20, %.lr.ph66 ], [ %32, %22 ]
%i.060 = phi i32 [ 0, %.lr.ph66 ], [ %40, %22 ]
%23 = getelementptr inbounds float* %a, i32 %i.060
%24 = load float* %23, align 4
%25 = sub i32 %21, %i.060
%26 = getelementptr inbounds float* %a, i32 %25
%27 = load float* %26, align 4
%28 = fadd float %24, %27
%29 = getelementptr inbounds float* %p.063, i32 1
%30 = load float* %p.063, align 4
%31 = fsub float %28, %30
%32 = getelementptr inbounds float* %px.061, i32 1
store float %31, float* %px.061, align 4
%33 = load float* %23, align 4
%34 = load float* %26, align 4
%35 = fsub float %33, %34
%36 = getelementptr inbounds float* %q.064, i32 1
%37 = load float* %q.064, align 4
%38 = fadd float %35, %37
%39 = getelementptr inbounds float* %qx.062, i32 1
store float %38, float* %qx.062, align 4
%40 = add nsw i32 %i.060, 1
%41 = icmp slt i32 %40, %1
br i1 %41, label %22, label %.lr.ph58
.lr.ph58: ; preds = %.lr.ph58, %22
%qx.157 = phi float* [ %47, %.lr.ph58 ], [ %9, %22 ]
%px.156 = phi float* [ %46, %.lr.ph58 ], [ %15, %22 ]
%i.155 = phi i32 [ %48, %.lr.ph58 ], [ 0, %22 ]
%42 = load float* %px.156, align 4
%43 = fmul float %42, 2.000000e+00
store float %43, float* %px.156, align 4
%44 = load float* %qx.157, align 4
%45 = fmul float %44, 2.000000e+00
store float %45, float* %qx.157, align 4
%46 = getelementptr inbounds float* %px.156, i32 1
%47 = getelementptr inbounds float* %qx.157, i32 1
%48 = add nsw i32 %i.155, 1
%49 = icmp slt i32 %48, %1
br i1 %49, label %.lr.ph58, label %._crit_edge59
._crit_edge59: ; preds = %.lr.ph58, %0
%50 = ptrtoint i8* %13 to i32
%51 = sub i32 0, %50
%52 = and i32 %51, 3
%.sum7 = add i32 %52, %.sum3
%.sum8 = add i32 %.sum7, %6
%53 = getelementptr inbounds i8* %stack, i32 %.sum8
%54 = getelementptr inbounds i8* %stack, i32 %.sum7
%55 = bitcast i8* %54 to float*
%56 = ptrtoint i8* %53 to i32
%57 = sub i32 0, %56
%58 = and i32 %57, 3
%.sum12 = add i32 %58, %.sum8
%59 = getelementptr inbounds i8* %stack, i32 %.sum12
%60 = bitcast i8* %59 to float*
%61 = icmp sgt i32 %5, 0
br i1 %61, label %.lr.ph53, label %.preheader
.preheader: ; preds = %.lr.ph53, %._crit_edge59
%62 = icmp sgt i32 %lpcrdr, 0
br i1 %62, label %.lr.ph48, label %._crit_edge49
.lr.ph48: ; preds = %.preheader
%63 = fpext float %delta to double
br label %71
.lr.ph53: ; preds = %.lr.ph53, %._crit_edge59
%i.251 = phi i32 [ %70, %.lr.ph53 ], [ 0, %._crit_edge59 ]
%64 = getelementptr inbounds float* %15, i32 %i.251
%65 = load float* %64, align 4
%66 = getelementptr inbounds float* %55, i32 %i.251
store float %65, float* %66, align 4
%67 = getelementptr inbounds float* %9, i32 %i.251
%68 = load float* %67, align 4
%69 = getelementptr inbounds float* %60, i32 %i.251
store float %68, float* %69, align 4
%70 = add nsw i32 %i.251, 1
%exitcond75 = icmp eq i32 %70, %5
br i1 %exitcond75, label %.preheader, label %.lr.ph53
; <label>:71 ; preds = %.critedge, %.lr.ph48
%roots.047 = phi i32 [ 0, %.lr.ph48 ], [ %roots.1.ph, %.critedge ]
%xl.046 = phi float [ 1.000000e+00, %.lr.ph48 ], [ %xl.1, %.critedge ]
%xr.045 = phi float [ 0.000000e+00, %.lr.ph48 ], [ %xr.1, %.critedge ]
%j.043 = phi i32 [ 0, %.lr.ph48 ], [ %159, %.critedge ]
%72 = and i32 %j.043, 1
%73 = icmp eq i32 %72, 0
%. = select i1 %73, float* %55, float* %60
%74 = fmul float %xl.046, 2.000000e+00
br i1 %16, label %.lr.ph.i, label %_ZL13cheb_poly_evaPffiPc.exit
.lr.ph.i: ; preds = %.lr.ph.i, %71
%b1.03.i = phi float [ %b0.02.i, %.lr.ph.i ], [ 0.000000e+00, %71 ]
%b0.02.i = phi float [ %80, %.lr.ph.i ], [ 0.000000e+00, %71 ]
%k.01.i = phi i32 [ %81, %.lr.ph.i ], [ %1, %71 ]
%75 = fmul float %74, %b0.02.i
%76 = fsub float %75, %b1.03.i
%77 = sub nsw i32 %1, %k.01.i
%78 = getelementptr inbounds float* %., i32 %77
%79 = load float* %78, align 4
%80 = fadd float %76, %79
%81 = add nsw i32 %k.01.i, -1
%82 = icmp sgt i32 %81, 0
br i1 %82, label %.lr.ph.i, label %._crit_edge.i
._crit_edge.i: ; preds = %.lr.ph.i
%phitmp.i = fpext float %80 to double
br label %_ZL13cheb_poly_evaPffiPc.exit
_ZL13cheb_poly_evaPffiPc.exit: ; preds = %._crit_edge.i, %71
%b1.0.lcssa.i = phi float [ %b0.02.i, %._crit_edge.i ], [ 0.000000e+00, %71 ]
%b0.0.lcssa.i = phi double [ %phitmp.i, %._crit_edge.i ], [ 0.000000e+00, %71 ]
%83 = fsub float -0.000000e+00, %b1.0.lcssa.i
%84 = fpext float %83 to double
%85 = fpext float %74 to double
%86 = fmul double %85, 5.000000e-01
%87 = fmul double %86, %b0.0.lcssa.i
%88 = fadd double %84, %87
%89 = getelementptr inbounds float* %., i32 %1
%90 = load float* %89, align 4
%91 = fpext float %90 to double
%92 = fadd double %88, %91
%93 = fptrunc double %92 to float
%94 = getelementptr inbounds float* %freq, i32 %j.043
br label %.outer
.outer: ; preds = %._crit_edge, %_ZL13cheb_poly_evaPffiPc.exit
%flag.0.ph = phi i1 [ false, %_ZL13cheb_poly_evaPffiPc.exit ], [ true, %._crit_edge ]
%psuml.0.ph = phi float [ %93, %_ZL13cheb_poly_evaPffiPc.exit ], [ %psuml.1., %._crit_edge ]
%xr.1.ph = phi float [ %xr.045, %_ZL13cheb_poly_evaPffiPc.exit ], [ %.xr.2, %._crit_edge ]
%xl.1.ph = phi float [ %xl.046, %_ZL13cheb_poly_evaPffiPc.exit ], [ %135, %._crit_edge ]
%roots.1.ph = phi i32 [ %roots.047, %_ZL13cheb_poly_evaPffiPc.exit ], [ %133, %._crit_edge ]
br label %95
; <label>:95 ; preds = %_ZL13cheb_poly_evaPffiPc.exit30, %.outer
%psuml.0 = phi float [ %129, %_ZL13cheb_poly_evaPffiPc.exit30 ], [ %psuml.0.ph, %.outer ]
%xr.1 = phi float [ %110, %_ZL13cheb_poly_evaPffiPc.exit30 ], [ %xr.1.ph, %.outer ]
%xl.1 = phi float [ %110, %_ZL13cheb_poly_evaPffiPc.exit30 ], [ %xl.1.ph, %.outer ]
%96 = fcmp ult float %xr.1, -1.000000e+00
%or.cond = or i1 %flag.0.ph, %96
br i1 %or.cond, label %.critedge, label %97
; <label>:97 ; preds = %95
%98 = fpext float %xl.1 to double
%99 = fmul double %98, 9.000000e-01
%100 = fmul double %99, %98
%101 = fsub double 1.000000e+00, %100
%102 = fmul double %63, %101
%103 = fptrunc double %102 to float
%104 = fpext float %psuml.0 to double
%105 = tail call double @fabs(double %104)
%106 = fcmp olt double %105, 2.000000e-01
br i1 %106, label %107, label %109
; <label>:107 ; preds = %97
%108 = fmul float %103, 5.000000e-01
br label %109
; <label>:109 ; preds = %107, %97
%dd.0 = phi float [ %108, %107 ], [ %103, %97 ]
%110 = fsub float %xl.1, %dd.0
%111 = fmul float %110, 2.000000e+00
br i1 %16, label %.lr.ph.i25, label %_ZL13cheb_poly_evaPffiPc.exit30
.lr.ph.i25: ; preds = %.lr.ph.i25, %109
%b1.03.i22 = phi float [ %b0.02.i23, %.lr.ph.i25 ], [ 0.000000e+00, %109 ]
%b0.02.i23 = phi float [ %117, %.lr.ph.i25 ], [ 0.000000e+00, %109 ]
%k.01.i24 = phi i32 [ %118, %.lr.ph.i25 ], [ %1, %109 ]
%112 = fmul float %111, %b0.02.i23
%113 = fsub float %112, %b1.03.i22
%114 = sub nsw i32 %1, %k.01.i24
%115 = getelementptr inbounds float* %., i32 %114
%116 = load float* %115, align 4
%117 = fadd float %113, %116
%118 = add nsw i32 %k.01.i24, -1
%119 = icmp sgt i32 %118, 0
br i1 %119, label %.lr.ph.i25, label %._crit_edge.i27
._crit_edge.i27: ; preds = %.lr.ph.i25
%phitmp.i26 = fpext float %117 to double
br label %_ZL13cheb_poly_evaPffiPc.exit30
_ZL13cheb_poly_evaPffiPc.exit30: ; preds = %._crit_edge.i27, %109
%b1.0.lcssa.i28 = phi float [ %b0.02.i23, %._crit_edge.i27 ], [ 0.000000e+00, %109 ]
%b0.0.lcssa.i29 = phi double [ %phitmp.i26, %._crit_edge.i27 ], [ 0.000000e+00, %109 ]
%120 = fsub float -0.000000e+00, %b1.0.lcssa.i28
%121 = fpext float %120 to double
%122 = fpext float %111 to double
%123 = fmul double %122, 5.000000e-01
%124 = fmul double %123, %b0.0.lcssa.i29
%125 = fadd double %121, %124
%126 = load float* %89, align 4
%127 = fpext float %126 to double
%128 = fadd double %125, %127
%129 = fptrunc double %128 to float
%130 = fmul float %129, %psuml.0
%131 = fcmp olt float %130, 0.000000e+00
br i1 %131, label %132, label %95
; <label>:132 ; preds = %_ZL13cheb_poly_evaPffiPc.exit30
%133 = add nsw i32 %roots.1.ph, 1
br label %.lr.ph
.lr.ph: ; preds = %_ZL13cheb_poly_evaPffiPc.exit21, %132
%xl.236 = phi float [ %xl.2., %_ZL13cheb_poly_evaPffiPc.exit21 ], [ %xl.1, %132 ]
%xr.235 = phi float [ %.xr.2, %_ZL13cheb_poly_evaPffiPc.exit21 ], [ %110, %132 ]
%psuml.134 = phi float [ %psuml.1., %_ZL13cheb_poly_evaPffiPc.exit21 ], [ %psuml.0, %132 ]
%k.033 = phi i32 [ %155, %_ZL13cheb_poly_evaPffiPc.exit21 ], [ 0, %132 ]
%134 = fadd float %xl.236, %xr.235
%135 = fmul float %134, 5.000000e-01
%136 = fmul float %135, 2.000000e+00
br i1 %16, label %.lr.ph.i16, label %_ZL13cheb_poly_evaPffiPc.exit21
.lr.ph.i16: ; preds = %.lr.ph.i16, %.lr.ph
%b1.03.i13 = phi float [ %b0.02.i14, %.lr.ph.i16 ], [ 0.000000e+00, %.lr.ph ]
%b0.02.i14 = phi float [ %142, %.lr.ph.i16 ], [ 0.000000e+00, %.lr.ph ]
%k.01.i15 = phi i32 [ %143, %.lr.ph.i16 ], [ %1, %.lr.ph ]
%137 = fmul float %136, %b0.02.i14
%138 = fsub float %137, %b1.03.i13
%139 = sub nsw i32 %1, %k.01.i15
%140 = getelementptr inbounds float* %., i32 %139
%141 = load float* %140, align 4
%142 = fadd float %138, %141
%143 = add nsw i32 %k.01.i15, -1
%144 = icmp sgt i32 %143, 0
br i1 %144, label %.lr.ph.i16, label %._crit_edge.i18
._crit_edge.i18: ; preds = %.lr.ph.i16
%phitmp.i17 = fpext float %142 to double
br label %_ZL13cheb_poly_evaPffiPc.exit21
_ZL13cheb_poly_evaPffiPc.exit21: ; preds = %._crit_edge.i18, %.lr.ph
%b1.0.lcssa.i19 = phi float [ %b0.02.i14, %._crit_edge.i18 ], [ 0.000000e+00, %.lr.ph ]
%b0.0.lcssa.i20 = phi double [ %phitmp.i17, %._crit_edge.i18 ], [ 0.000000e+00, %.lr.ph ]
%145 = fsub float -0.000000e+00, %b1.0.lcssa.i19
%146 = fpext float %145 to double
%147 = fpext float %136 to double
%148 = fmul double %147, 5.000000e-01
%149 = fmul double %148, %b0.0.lcssa.i20
%150 = fadd double %146, %149
%151 = fadd double %150, %127
%152 = fptrunc double %151 to float
%153 = fmul float %152, %psuml.134
%154 = fcmp olt float %153, 0.000000e+00
%psuml.1. = select i1 %154, float %psuml.134, float %152
%.xr.2 = select i1 %154, float %135, float %xr.235
%xl.2. = select i1 %154, float %xl.236, float %135
%155 = add nsw i32 %k.033, 1
%exitcond = icmp eq i32 %155, 11
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %_ZL13cheb_poly_evaPffiPc.exit21
%156 = fpext float %135 to double
%157 = tail call double @acos(double %156)
%158 = fptrunc double %157 to float
store float %158, float* %94, align 4
br label %.outer
.critedge: ; preds = %95
%159 = add nsw i32 %j.043, 1
%exitcond74 = icmp eq i32 %159, %lpcrdr
br i1 %exitcond74, label %._crit_edge49, label %71
._crit_edge49: ; preds = %.critedge, %.preheader
%roots.0.lcssa = phi i32 [ 0, %.preheader ], [ %roots.1.ph, %.critedge ]
ret i32 %roots.0.lcssa
}
declare double @acos(double)
define internal fastcc void @_Z10lsp_to_lpcPfS_iPc(float* nocapture %freq, float* nocapture %ak, i32 %lpcrdr, i8* %stack) nounwind {
%1 = ashr i32 %lpcrdr, 1
%2 = ptrtoint i8* %stack to i32
%3 = sub i32 0, %2
%4 = and i32 %3, 3
%5 = shl i32 %lpcrdr, 1
%6 = shl i32 %lpcrdr, 3
%7 = or i32 %6, 8
%.sum = or i32 %4, %7
%8 = getelementptr inbounds i8* %stack, i32 %.sum
%.sum1 = sub i32 %.sum, %7
%9 = getelementptr inbounds i8* %stack, i32 %.sum1
%10 = bitcast i8* %9 to float*
%11 = icmp slt i32 %5, 0
br i1 %11, label %15, label %.lr.ph27
.lr.ph27: ; preds = %0
%12 = or i32 %5, 2
%13 = icmp sgt i32 %12, 1
%.op = shl i32 %12, 2
%14 = select i1 %13, i32 %.op, i32 4
call void @llvm.memset.p0i8.i32(i8* %9, i8 0, i32 %14, i32 4, i1 false)
br label %15
; <label>:15 ; preds = %.lr.ph27, %0
%16 = ptrtoint i8* %8 to i32
%17 = sub i32 0, %16
%18 = and i32 %17, 3
%.sum4 = add i32 %18, %.sum
%19 = getelementptr inbounds i8* %stack, i32 %.sum4
%20 = bitcast i8* %19 to float*
%21 = icmp sgt i32 %lpcrdr, 0
br i1 %21, label %.lr.ph23, label %.preheader16
.preheader16: ; preds = %_Z7spx_cosf.exit, %15
%22 = icmp slt i32 %lpcrdr, 0
br i1 %22, label %._crit_edge20, label %.preheader.lr.ph
.preheader.lr.ph: ; preds = %.preheader16
%23 = icmp sgt i32 %1, 0
%24 = and i32 %6, -16
%25 = add i32 %.sum, %24
%26 = add i32 %25, -4
%27 = sub i32 %26, %7
%scevgep = getelementptr i8* %stack, i32 %27
%scevgep31 = bitcast i8* %scevgep to float*
%28 = add i32 %lpcrdr, 1
br label %.preheader
.lr.ph23: ; preds = %_Z7spx_cosf.exit, %15
%i.121 = phi i32 [ %53, %_Z7spx_cosf.exit ], [ 0, %15 ]
%29 = getelementptr inbounds float* %freq, i32 %i.121
%30 = load float* %29, align 4
%31 = fpext float %30 to double
%32 = fcmp olt double %31, 0x3FF921FB544486E0
br i1 %32, label %33, label %41
; <label>:33 ; preds = %.lr.ph23
%34 = fmul float %30, %30
%35 = fmul float %34, 0xBF54D3D6C0000000
%36 = fadd float %35, 0x3FA53DE1C0000000
%37 = fmul float %34, %36
%38 = fadd float %37, 0xBFDFFE90C0000000
%39 = fmul float %34, %38
%40 = fadd float %39, 0x3FEFFFF200000000
br label %_Z7spx_cosf.exit
; <label>:41 ; preds = %.lr.ph23
%42 = fsub double 0x400921FB54442D18, %31
%43 = fptrunc double %42 to float
%44 = fmul float %43, %43
%45 = fmul float %44, 0xBF54D3D6C0000000
%46 = fadd float %45, 0x3FA53DE1C0000000
%47 = fmul float %44, %46
%48 = fadd float %47, 0xBFDFFE90C0000000
%49 = fmul float %44, %48
%50 = fadd float %49, 0x3FEFFFF200000000
%51 = fsub float -0.000000e+00, %50
br label %_Z7spx_cosf.exit
_Z7spx_cosf.exit: ; preds = %41, %33
%.0.i = phi float [ %40, %33 ], [ %51, %41 ]
%52 = getelementptr inbounds float* %20, i32 %i.121
store float %.0.i, float* %52, align 4
%53 = add nsw i32 %i.121, 1
%exitcond33 = icmp eq i32 %53, %lpcrdr
br i1 %exitcond33, label %.preheader16, label %.lr.ph23
.preheader: ; preds = %90, %.preheader.lr.ph
%n4.019 = phi float* [ null, %.preheader.lr.ph ], [ %n4.1.lcssa, %90 ]
%j.018 = phi i32 [ 0, %.preheader.lr.ph ], [ %91, %90 ]
%xin2.017 = phi float [ 1.000000e+00, %.preheader.lr.ph ], [ 0.000000e+00, %90 ]
br i1 %23, label %.lr.ph, label %._crit_edge
.lr.ph: ; preds = %.lr.ph, %.preheader
%i2.013 = phi i32 [ %77, %.lr.ph ], [ 0, %.preheader ]
%i.212 = phi i32 [ %76, %.lr.ph ], [ 0, %.preheader ]
%xin1.111 = phi float [ %66, %.lr.ph ], [ %xin2.017, %.preheader ]
%xin2.110 = phi float [ %75, %.lr.ph ], [ %xin2.017, %.preheader ]
%54 = shl nsw i32 %i.212, 2
%55 = getelementptr inbounds float* %10, i32 %54
%.sum56 = or i32 %54, 1
%56 = getelementptr inbounds float* %10, i32 %.sum56
%.sum7 = add i32 %.sum56, 1
%57 = getelementptr inbounds float* %10, i32 %.sum7
%.sum89 = or i32 %54, 3
%58 = getelementptr inbounds float* %10, i32 %.sum89
%59 = getelementptr inbounds float* %20, i32 %i2.013
%60 = load float* %59, align 4
%61 = fmul float %60, 2.000000e+00
%62 = load float* %55, align 4
%63 = fmul float %61, %62
%64 = fsub float %xin1.111, %63
%65 = load float* %56, align 4
%66 = fadd float %64, %65
%67 = or i32 %i2.013, 1
%68 = getelementptr inbounds float* %20, i32 %67
%69 = load float* %68, align 4
%70 = fmul float %69, 2.000000e+00
%71 = load float* %57, align 4
%72 = fmul float %70, %71
%73 = fsub float %xin2.110, %72
%74 = load float* %58, align 4
%75 = fadd float %73, %74
store float %62, float* %56, align 4
store float %71, float* %58, align 4
store float %xin1.111, float* %55, align 4
store float %xin2.110, float* %57, align 4
%76 = add nsw i32 %i.212, 1
%77 = add nsw i32 %i2.013, 2
%exitcond = icmp eq i32 %76, %1
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %.lr.ph, %.preheader
%n4.1.lcssa = phi float* [ %n4.019, %.preheader ], [ %scevgep31, %.lr.ph ]
%xin1.1.lcssa = phi float [ %xin2.017, %.preheader ], [ %66, %.lr.ph ]
%xin2.1.lcssa = phi float [ %xin2.017, %.preheader ], [ %75, %.lr.ph ]
%78 = getelementptr inbounds float* %n4.1.lcssa, i32 1
%79 = getelementptr inbounds float* %n4.1.lcssa, i32 2
%80 = icmp sgt i32 %j.018, 0
br i1 %80, label %81, label %90
; <label>:81 ; preds = %._crit_edge
%82 = load float* %79, align 4
%83 = load float* %78, align 4
%84 = fsub float %xin2.1.lcssa, %82
%85 = fadd float %xin1.1.lcssa, %83
%86 = fadd float %85, %84
%87 = fmul float %86, 5.000000e-01
%88 = add nsw i32 %j.018, -1
%89 = getelementptr inbounds float* %ak, i32 %88
store float %87, float* %89, align 4
br label %90
; <label>:90 ; preds = %81, %._crit_edge
store float %xin1.1.lcssa, float* %78, align 4
store float %xin2.1.lcssa, float* %79, align 4
%91 = add nsw i32 %j.018, 1
%exitcond32 = icmp eq i32 %91, %28
br i1 %exitcond32, label %._crit_edge20, label %.preheader
._crit_edge20: ; preds = %90, %.preheader16
ret void
}
define internal fastcc void @_Z21open_loop_nbest_pitchPfiiiPiS_iPc(float* nocapture %sw, i32 %start, i32 %end, i32 %len, i32* nocapture %pitch, float* %gain, i32 %N, i8* %stack) nounwind {
%1 = ptrtoint i8* %stack to i32
%2 = sub i32 0, %1
%3 = and i32 %2, 3
%4 = sub nsw i32 %end, %start
%5 = shl i32 %4, 2
%6 = add i32 %5, 8
%.sum = or i32 %3, %6
%7 = getelementptr inbounds i8* %stack, i32 %.sum
%8 = sub i32 -8, %5
%.sum1 = add i32 %8, %.sum
%9 = getelementptr inbounds i8* %stack, i32 %.sum1
%10 = bitcast i8* %9 to float*
%11 = ptrtoint i8* %7 to i32
%12 = sub i32 0, %11
%13 = and i32 %12, 3
%.sum2 = add i32 %13, %.sum
%14 = add nsw i32 %4, 1
%15 = shl i32 %14, 2
%.sum3 = add i32 %.sum2, %15
%16 = getelementptr inbounds i8* %stack, i32 %.sum3
%17 = getelementptr inbounds i8* %stack, i32 %.sum2
%18 = bitcast i8* %17 to float*
%19 = ptrtoint i8* %16 to i32
%20 = sub i32 0, %19
%21 = and i32 %20, 3
%.sum5 = add i32 %21, %.sum3
%22 = shl i32 %N, 2
%.sum6 = add i32 %.sum5, %22
%23 = getelementptr inbounds i8* %stack, i32 %.sum6
%24 = getelementptr inbounds i8* %stack, i32 %.sum5
%25 = bitcast i8* %24 to float*
%26 = ptrtoint i8* %23 to i32
%27 = sub i32 0, %26
%28 = and i32 %27, 3
%.sum10 = add i32 %28, %.sum6
%29 = getelementptr inbounds i8* %stack, i32 %.sum10
%30 = bitcast i8* %29 to float*
%31 = icmp sgt i32 %N, 0
br i1 %31, label %.lr.ph37, label %._crit_edge38
.lr.ph37: ; preds = %.lr.ph37, %0
%i.035 = phi i32 [ %35, %.lr.ph37 ], [ 0, %0 ]
%32 = getelementptr inbounds float* %25, i32 %i.035
store float -1.000000e+00, float* %32, align 4
%33 = getelementptr inbounds float* %30, i32 %i.035
store float 0.000000e+00, float* %33, align 4
%34 = getelementptr inbounds i32* %pitch, i32 %i.035
store i32 %start, i32* %34, align 4
%35 = add nsw i32 %i.035, 1
%exitcond45 = icmp eq i32 %35, %N
br i1 %exitcond45, label %._crit_edge38, label %.lr.ph37
._crit_edge38: ; preds = %.lr.ph37, %0
%36 = ashr i32 %len, 2
%37 = icmp eq i32 %36, 0
br i1 %37, label %_Z10inner_prodPKfS0_i.exit.thread, label %.lr.ph.i.preheader
.lr.ph.i.preheader: ; preds = %._crit_edge38
%38 = sub i32 0, %start
%39 = getelementptr inbounds float* %sw, i32 %38
br label %.lr.ph.i
_Z10inner_prodPKfS0_i.exit.thread: ; preds = %._crit_edge38
store float 0.000000e+00, float* %10, align 4
br label %_Z10inner_prodPKfS0_i.exit18
.lr.ph.i: ; preds = %.lr.ph.i, %.lr.ph.i.preheader
%.06.i = phi float* [ %53, %.lr.ph.i ], [ %39, %.lr.ph.i.preheader ]
%.024.i = phi i32 [ %40, %.lr.ph.i ], [ %36, %.lr.ph.i.preheader ]
%sum.03.i = phi float [ %57, %.lr.ph.i ], [ 0.000000e+00, %.lr.ph.i.preheader ]
%40 = add nsw i32 %.024.i, -1
%41 = getelementptr inbounds float* %.06.i, i32 1
%42 = load float* %.06.i, align 4
%43 = fmul float %42, %42
%44 = fadd float %43, 0.000000e+00
%45 = getelementptr inbounds float* %.06.i, i32 2
%46 = load float* %41, align 4
%47 = fmul float %46, %46
%48 = fadd float %44, %47
%49 = getelementptr inbounds float* %.06.i, i32 3
%50 = load float* %45, align 4
%51 = fmul float %50, %50
%52 = fadd float %48, %51
%53 = getelementptr inbounds float* %.06.i, i32 4
%54 = load float* %49, align 4
%55 = fmul float %54, %54
%56 = fadd float %52, %55
%57 = fadd float %sum.03.i, %56
%58 = icmp eq i32 %40, 0
br i1 %58, label %.lr.ph.i16.preheader, label %.lr.ph.i
.lr.ph.i16.preheader: ; preds = %.lr.ph.i
store float %57, float* %10, align 4
br label %.lr.ph.i16
.lr.ph.i16: ; preds = %.lr.ph.i16, %.lr.ph.i16.preheader
%.06.i12 = phi float* [ %72, %.lr.ph.i16 ], [ %sw, %.lr.ph.i16.preheader ]
%.024.i14 = phi i32 [ %59, %.lr.ph.i16 ], [ %36, %.lr.ph.i16.preheader ]
%sum.03.i15 = phi float [ %76, %.lr.ph.i16 ], [ 0.000000e+00, %.lr.ph.i16.preheader ]
%59 = add nsw i32 %.024.i14, -1
%60 = getelementptr inbounds float* %.06.i12, i32 1
%61 = load float* %.06.i12, align 4
%62 = fmul float %61, %61
%63 = fadd float %62, 0.000000e+00
%64 = getelementptr inbounds float* %.06.i12, i32 2
%65 = load float* %60, align 4
%66 = fmul float %65, %65
%67 = fadd float %63, %66
%68 = getelementptr inbounds float* %.06.i12, i32 3
%69 = load float* %64, align 4
%70 = fmul float %69, %69
%71 = fadd float %67, %70
%72 = getelementptr inbounds float* %.06.i12, i32 4
%73 = load float* %68, align 4
%74 = fmul float %73, %73
%75 = fadd float %71, %74
%76 = fadd float %sum.03.i15, %75
%77 = icmp eq i32 %59, 0
br i1 %77, label %_Z10inner_prodPKfS0_i.exit18, label %.lr.ph.i16
_Z10inner_prodPKfS0_i.exit18: ; preds = %.lr.ph.i16, %_Z10inner_prodPKfS0_i.exit.thread
%sum.0.lcssa.i17 = phi float [ 0.000000e+00, %_Z10inner_prodPKfS0_i.exit.thread ], [ %76, %.lr.ph.i16 ]
%78 = icmp slt i32 %start, %end
br i1 %78, label %.lr.ph33, label %._crit_edge34
.lr.ph33: ; preds = %_Z10inner_prodPKfS0_i.exit18
%79 = add i32 %len, -1
br label %80
; <label>:80 ; preds = %80, %.lr.ph33
%i.132 = phi i32 [ %start, %.lr.ph33 ], [ %97, %80 ]
%81 = sub nsw i32 %i.132, %start
%82 = getelementptr inbounds float* %10, i32 %81
%83 = load float* %82, align 4
%84 = xor i32 %i.132, -1
%85 = getelementptr inbounds float* %sw, i32 %84
%86 = load float* %85, align 4
%87 = fmul float %86, %86
%88 = fadd float %83, %87
%89 = sub i32 %79, %i.132
%90 = getelementptr inbounds float* %sw, i32 %89
%91 = load float* %90, align 4
%92 = fmul float %91, %91
%93 = fsub float %88, %92
%94 = add nsw i32 %81, 1
%95 = getelementptr inbounds float* %10, i32 %94
%96 = fcmp olt float %93, 0.000000e+00
%storemerge = select i1 %96, float 0.000000e+00, float %93
store float %storemerge, float* %95, align 4
%97 = add nsw i32 %i.132, 1
%exitcond44 = icmp eq i32 %97, %end
br i1 %exitcond44, label %._crit_edge34, label %80
._crit_edge34: ; preds = %80, %_Z10inner_prodPKfS0_i.exit18
%98 = icmp sgt i32 %14, 0
br i1 %98, label %.lr.ph.i11, label %_Z11pitch_xcorrPKfS0_PfiiPc.exit.preheader
.lr.ph.i11: ; preds = %_Z10inner_prodPKfS0_i.exit.i, %._crit_edge34
%i.01.i = phi i32 [ %129, %_Z10inner_prodPKfS0_i.exit.i ], [ 0, %._crit_edge34 ]
br i1 %37, label %_Z10inner_prodPKfS0_i.exit.i, label %.lr.ph.i.preheader.i
.lr.ph.i.preheader.i: ; preds = %.lr.ph.i11
%.sum19 = sub i32 %i.01.i, %end
%99 = getelementptr inbounds float* %sw, i32 %.sum19
br label %.lr.ph.i.i
.lr.ph.i.i: ; preds = %.lr.ph.i.i, %.lr.ph.i.preheader.i
%.06.i.i = phi float* [ %119, %.lr.ph.i.i ], [ %sw, %.lr.ph.i.preheader.i ]
%.015.i.i = phi float* [ %121, %.lr.ph.i.i ], [ %99, %.lr.ph.i.preheader.i ]
%.024.i.i = phi i32 [ %100, %.lr.ph.i.i ], [ %36, %.lr.ph.i.preheader.i ]
%sum.03.i.i = phi float [ %125, %.lr.ph.i.i ], [ 0.000000e+00, %.lr.ph.i.preheader.i ]
%100 = add nsw i32 %.024.i.i, -1
%101 = getelementptr inbounds float* %.06.i.i, i32 1
%102 = load float* %.06.i.i, align 4
%103 = getelementptr inbounds float* %.015.i.i, i32 1
%104 = load float* %.015.i.i, align 4
%105 = fmul float %102, %104
%106 = fadd float %105, 0.000000e+00
%107 = getelementptr inbounds float* %.06.i.i, i32 2
%108 = load float* %101, align 4
%109 = getelementptr inbounds float* %.015.i.i, i32 2
%110 = load float* %103, align 4
%111 = fmul float %108, %110
%112 = fadd float %106, %111
%113 = getelementptr inbounds float* %.06.i.i, i32 3
%114 = load float* %107, align 4
%115 = getelementptr inbounds float* %.015.i.i, i32 3
%116 = load float* %109, align 4
%117 = fmul float %114, %116
%118 = fadd float %112, %117
%119 = getelementptr inbounds float* %.06.i.i, i32 4
%120 = load float* %113, align 4
%121 = getelementptr inbounds float* %.015.i.i, i32 4
%122 = load float* %115, align 4
%123 = fmul float %120, %122
%124 = fadd float %118, %123
%125 = fadd float %sum.03.i.i, %124
%126 = icmp eq i32 %100, 0
br i1 %126, label %_Z10inner_prodPKfS0_i.exit.i, label %.lr.ph.i.i
_Z10inner_prodPKfS0_i.exit.i: ; preds = %.lr.ph.i.i, %.lr.ph.i11
%sum.0.lcssa.i.i = phi float [ 0.000000e+00, %.lr.ph.i11 ], [ %125, %.lr.ph.i.i ]
%127 = sub i32 %4, %i.01.i
%128 = getelementptr inbounds float* %18, i32 %127
store float %sum.0.lcssa.i.i, float* %128, align 4
%129 = add nsw i32 %i.01.i, 1
%exitcond.i = icmp eq i32 %129, %14
br i1 %exitcond.i, label %_Z11pitch_xcorrPKfS0_PfiiPc.exit.preheader, label %.lr.ph.i11
_Z11pitch_xcorrPKfS0_PfiiPc.exit.preheader: ; preds = %_Z10inner_prodPKfS0_i.exit.i, %._crit_edge34
%130 = icmp sgt i32 %start, %end
br i1 %130, label %_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge, label %.lr.ph30
.lr.ph30: ; preds = %_Z11pitch_xcorrPKfS0_PfiiPc.exit.preheader
%131 = add nsw i32 %N, -1
%132 = getelementptr inbounds float* %30, i32 %131
%133 = getelementptr inbounds float* %25, i32 %131
%134 = getelementptr inbounds i32* %pitch, i32 %131
br label %_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge46
_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge46: ; preds = %_Z11pitch_xcorrPKfS0_PfiiPc.exit, %.lr.ph30
%i.229 = phi i32 [ %start, %.lr.ph30 ], [ %177, %_Z11pitch_xcorrPKfS0_PfiiPc.exit ]
%135 = sub nsw i32 %i.229, %start
%136 = getelementptr inbounds float* %18, i32 %135
%137 = load float* %136, align 4
%138 = fmul float %137, %137
%139 = load float* %132, align 4
%140 = fmul float %138, %139
%141 = load float* %133, align 4
%142 = getelementptr inbounds float* %10, i32 %135
%143 = load float* %142, align 4
%144 = fadd float %143, 1.000000e+00
%145 = fmul float %141, %144
%146 = fcmp ogt float %140, %145
br i1 %146, label %147, label %_Z11pitch_xcorrPKfS0_PfiiPc.exit
; <label>:147 ; preds = %_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge46
store float %138, float* %133, align 4
%148 = load float* %142, align 4
%149 = fadd float %148, 1.000000e+00
store float %149, float* %132, align 4
store i32 %i.229, i32* %134, align 4
br label %150
; <label>:150 ; preds = %152, %147
%j.0 = phi i32 [ 0, %147 ], [ %162, %152 ]
%151 = icmp slt i32 %j.0, %131
br i1 %151, label %152, label %_Z11pitch_xcorrPKfS0_PfiiPc.exit
; <label>:152 ; preds = %150
%153 = getelementptr inbounds float* %30, i32 %j.0
%154 = load float* %153, align 4
%155 = fmul float %138, %154
%156 = getelementptr inbounds float* %25, i32 %j.0
%157 = load float* %156, align 4
%158 = load float* %142, align 4
%159 = fadd float %158, 1.000000e+00
%160 = fmul float %157, %159
%161 = fcmp ogt float %155, %160
%162 = add nsw i32 %j.0, 1
br i1 %161, label %.lr.ph24, label %150
.lr.ph24: ; preds = %.lr.ph24, %152
%k.023 = phi i32 [ %163, %.lr.ph24 ], [ %131, %152 ]
%163 = add nsw i32 %k.023, -1
%164 = getelementptr inbounds float* %25, i32 %163
%165 = load float* %164, align 4
%166 = getelementptr inbounds float* %25, i32 %k.023
store float %165, float* %166, align 4
%167 = getelementptr inbounds float* %30, i32 %163
%168 = load float* %167, align 4
%169 = getelementptr inbounds float* %30, i32 %k.023
store float %168, float* %169, align 4
%170 = getelementptr inbounds i32* %pitch, i32 %163
%171 = load i32* %170, align 4
%172 = getelementptr inbounds i32* %pitch, i32 %k.023
store i32 %171, i32* %172, align 4
%173 = icmp sgt i32 %163, %j.0
br i1 %173, label %.lr.ph24, label %._crit_edge
._crit_edge: ; preds = %.lr.ph24
store float %138, float* %156, align 4
%174 = load float* %142, align 4
%175 = fadd float %174, 1.000000e+00
store float %175, float* %153, align 4
%176 = getelementptr inbounds i32* %pitch, i32 %j.0
store i32 %i.229, i32* %176, align 4
br label %_Z11pitch_xcorrPKfS0_PfiiPc.exit
_Z11pitch_xcorrPKfS0_PfiiPc.exit: ; preds = %._crit_edge, %150, %_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge46
%177 = add nsw i32 %i.229, 1
%178 = icmp sgt i32 %177, %end
br i1 %178, label %_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge, label %_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge46
_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge: ; preds = %_Z11pitch_xcorrPKfS0_PfiiPc.exit, %_Z11pitch_xcorrPKfS0_PfiiPc.exit.preheader
%179 = icmp eq float* %gain, null
%.not = xor i1 %31, true
%brmerge = or i1 %179, %.not
br i1 %brmerge, label %.loopexit, label %.lr.ph
.lr.ph: ; preds = %_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge
%180 = tail call float @sqrtf(float %sum.0.lcssa.i17) nounwind readnone
br label %181
; <label>:181 ; preds = %181, %.lr.ph
%j.121 = phi i32 [ 0, %.lr.ph ], [ %195, %181 ]
%182 = getelementptr inbounds i32* %pitch, i32 %j.121
%183 = load i32* %182, align 4
%184 = sub nsw i32 %183, %start
%185 = getelementptr inbounds float* %18, i32 %184
%186 = load float* %185, align 4
%187 = getelementptr inbounds float* %10, i32 %184
%188 = load float* %187, align 4
%189 = tail call float @sqrtf(float %188) nounwind readnone
%190 = fmul float %180, %189
%191 = fadd float %190, 1.000000e+01
%192 = fdiv float %186, %191
%193 = fcmp olt float %192, 0.000000e+00
%g.0 = select i1 %193, float 0.000000e+00, float %192
%194 = getelementptr inbounds float* %gain, i32 %j.121
store float %g.0, float* %194, align 4
%195 = add nsw i32 %j.121, 1
%exitcond = icmp eq i32 %195, %N
br i1 %exitcond, label %.loopexit, label %181
.loopexit: ; preds = %181, %_Z11pitch_xcorrPKfS0_PfiiPc.exit._crit_edge
ret void
}
define internal i32 @_Z17pitch_search_3tapPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_(float* nocapture %target, float* nocapture %sw, float* nocapture %ak, float* nocapture %awk1, float* nocapture %awk2, float* nocapture %exc, i8* nocapture %par, i32 %start, i32 %end, float %pitch_coef, i32 %p, i32 %nsf, %struct.SpeexBits* nocapture %bits, i8* %stack, float* nocapture %exc2, float* nocapture %r, i32 %complexity, i32 %cdbk_offset, i32 %plc_tuning, float* nocapture %cumul_gain) nounwind {
%1 = getelementptr inbounds i8* %par, i32 4
%2 = bitcast i8* %1 to i32*
%3 = load i32* %2, align 4
%4 = shl i32 1, %3
%5 = bitcast i8* %par to i8**
%6 = load i8** %5, align 4
%7 = shl nsw i32 %4, 2
%8 = mul nsw i32 %7, %cdbk_offset
%9 = icmp sgt i32 %complexity, 10
%.complexity = select i1 %9, i32 10, i32 %complexity
%10 = icmp slt i32 %.complexity, 1
%N.1 = select i1 %10, i32 1, i32 %.complexity
%11 = ptrtoint i8* %stack to i32
%12 = sub i32 0, %11
%13 = and i32 %12, 3
%14 = shl i32 %N.1, 2
%.sum = or i32 %14, %13
%15 = getelementptr inbounds i8* %stack, i32 %.sum
%.sum2 = sub i32 %.sum, %14
%16 = getelementptr inbounds i8* %stack, i32 %.sum2
%17 = bitcast i8* %16 to i32*
%18 = icmp slt i32 %end, %start
br i1 %18, label %19, label %26
; <label>:19 ; preds = %0
%20 = getelementptr inbounds i8* %par, i32 8
%21 = bitcast i8* %20 to i32*
%22 = load i32* %21, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 0, i32 %22)
%23 = load i32* %2, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 0, i32 %23)
%24 = bitcast float* %exc to i8*
%25 = shl i32 %nsf, 2
call void @llvm.memset.p0i8.i32(i8* %24, i8 0, i32 %25, i32 4, i1 false)
br label %578
; <label>:26 ; preds = %0
%27 = sub nsw i32 %end, %start
%28 = add nsw i32 %27, 1
%29 = icmp sgt i32 %N.1, %28
%.N.1 = select i1 %29, i32 %28, i32 %N.1
%30 = icmp eq i32 %end, %start
br i1 %30, label %32, label %31
; <label>:31 ; preds = %26
call fastcc void @_Z21open_loop_nbest_pitchPfiiiPiS_iPc(float* %sw, i32 %start, i32 %end, i32 %nsf, i32* %17, float* null, i32 %.N.1, i8* %15)
br label %33
; <label>:32 ; preds = %26
store i32 %end, i32* %17, align 4
br label %33
; <label>:33 ; preds = %32, %31
%34 = ptrtoint i8* %15 to i32
%35 = sub i32 0, %34
%36 = and i32 %35, 3
%.sum3 = add i32 %36, %.sum
%37 = shl i32 %nsf, 2
%.sum4 = add i32 %.sum3, %37
%38 = getelementptr inbounds i8* %stack, i32 %.sum4
%39 = getelementptr inbounds i8* %stack, i32 %.sum3
%40 = ptrtoint i8* %38 to i32
%41 = sub i32 0, %40
%42 = and i32 %41, 3
%.sum6 = add i32 %42, %.sum4
%.sum7 = add i32 %.sum6, %37
%43 = getelementptr inbounds i8* %stack, i32 %.sum7
%44 = getelementptr inbounds i8* %stack, i32 %.sum6
%45 = bitcast i8* %44 to float*
%46 = ptrtoint i8* %43 to i32
%47 = sub i32 0, %46
%48 = and i32 %47, 3
%.sum9 = add i32 %48, %.sum7
%.sum10 = add i32 %.sum9, %37
%49 = getelementptr inbounds i8* %stack, i32 %.sum9
%50 = icmp sgt i32 %.N.1, 0
br i1 %50, label %.lr.ph, label %._crit_edge
.lr.ph: ; preds = %33
%51 = getelementptr inbounds i8* %stack, i32 %.sum10
%52 = bitcast float* %exc to i8*
%53 = ptrtoint i8* %51 to i32
%54 = sub i32 0, %53
%55 = and i32 %54, 3
%56 = mul i32 %nsf, 12
%.sum.i = or i32 %55, %56
%.sum14 = add i32 %.sum.i, %.sum10
%57 = getelementptr inbounds i8* %stack, i32 %.sum14
%.sum1.i = sub i32 %.sum10, %56
%.sum15 = add i32 %.sum1.i, %.sum.i
%58 = getelementptr inbounds i8* %stack, i32 %.sum15
%59 = bitcast i8* %58 to float*
%60 = ptrtoint i8* %57 to i32
%61 = sub i32 0, %60
%62 = and i32 %61, 3
%.sum2.i = add i32 %62, %.sum.i
%.sum3.i = add i32 %.sum2.i, %37
%.sum16 = add i32 %.sum3.i, %.sum10
%63 = getelementptr inbounds i8* %stack, i32 %.sum16
%.sum17 = add i32 %.sum2.i, %.sum10
%64 = getelementptr inbounds i8* %stack, i32 %.sum17
%65 = bitcast i8* %64 to float*
%66 = getelementptr inbounds float* %59, i32 %nsf
%67 = shl nsw i32 %nsf, 1
%68 = getelementptr inbounds float* %59, i32 %67
%69 = icmp sgt i32 %nsf, 0
%70 = icmp sgt i32 %p, 0
%71 = add i32 %.sum10, %37
%72 = add i32 %71, %.sum.i
%73 = add i32 %72, %62
%74 = shl i32 %p, 2
%75 = add nsw i32 %p, -1
%76 = icmp sgt i32 %75, 0
%77 = getelementptr inbounds float* %ak, i32 %75
%78 = getelementptr inbounds float* %awk1, i32 %75
%79 = getelementptr inbounds float* %awk2, i32 %75
%80 = add nsw i32 %nsf, -1
%81 = icmp sgt i32 %80, 0
%82 = ashr i32 %nsf, 2
%83 = icmp eq i32 %82, 0
%84 = icmp slt i32 %plc_tuning, 2
%.plc_tuning.i = select i1 %84, i32 2, i32 %plc_tuning
%85 = icmp sgt i32 %.plc_tuning.i, 30
%86 = sitofp i32 %.plc_tuning.i to double
%.op.i = fmul double %86, 2.000000e-02
%87 = select i1 %85, double 6.000000e-01, double %.op.i
%88 = fadd double %87, 1.000000e+00
%89 = fmul double %88, 5.000000e-01
%90 = icmp sgt i32 %4, 0
%91 = xor i32 %nsf, -1
%92 = ptrtoint i8* %63 to i32
%93 = sub i32 0, %92
%94 = and i32 %93, 3
%.sum18 = add i32 %.sum16, %94
%95 = getelementptr inbounds i8* %stack, i32 %.sum18
%96 = bitcast i8* %95 to float*
%97 = icmp slt i32 %complexity, 10
%98 = select i1 %97, i32 %complexity, i32 10
%99 = icmp sgt i32 %98, 1
%.op = xor i32 %98, -1
%100 = select i1 %99, i32 %.op, i32 -2
%101 = add i32 %start, -2
%102 = sub i32 %101, %end
%103 = icmp sgt i32 %100, %102
%smax49 = select i1 %103, i32 %100, i32 %102
%104 = xor i32 %smax49, -1
%.sum27 = add i32 %73, %94
%scevgep126.i = getelementptr i8* %stack, i32 %.sum27
%105 = getelementptr inbounds float* %96, i32 %75
br label %._crit_edge50
._crit_edge50: ; preds = %556, %.lr.ph
%best_err.038 = phi float [ -1.000000e+00, %.lr.ph ], [ %best_err.1, %556 ]
%best_pitch.037 = phi i32 [ 0, %.lr.ph ], [ %best_pitch.1, %556 ]
%best_gain_index.036 = phi i32 [ 0, %.lr.ph ], [ %best_gain_index.1, %556 ]
%i.035 = phi i32 [ 0, %.lr.ph ], [ %557, %556 ]
%106 = getelementptr inbounds i32* %17, i32 %i.035
%107 = load i32* %106, align 4
call void @llvm.memset.p0i8.i32(i8* %52, i8 0, i32 %37, i32 4, i1 false)
%108 = load float* %cumul_gain, align 4
%109 = fcmp ogt float %108, 2.621440e+05
%max_gain.0.i = select i1 %109, float 3.100000e+01, float 1.280000e+02
br i1 %69, label %.lr.ph111.i, label %.preheader102.i
.lr.ph111.i: ; preds = %.lr.ph111.i, %._crit_edge50
%j.0109.i = phi i32 [ %113, %.lr.ph111.i ], [ 0, %._crit_edge50 ]
%110 = getelementptr inbounds float* %target, i32 %j.0109.i
%111 = load float* %110, align 4
%112 = getelementptr inbounds float* %45, i32 %j.0109.i
store float %111, float* %112, align 4
%113 = add nsw i32 %j.0109.i, 1
%exitcond128.i = icmp eq i32 %113, %nsf
br i1 %exitcond128.i, label %.lr.ph108.i, label %.lr.ph111.i
.lr.ph108.i: ; preds = %.lr.ph111.i
%.neg.i = sub i32 1, %107
br label %114
.preheader102.i: ; preds = %130, %._crit_edge50
br i1 %70, label %.lr.ph104.i, label %132
.lr.ph104.i: ; preds = %.preheader102.i
call void @llvm.memset.p0i8.i32(i8* %scevgep126.i, i8 0, i32 %74, i32 4, i1 false) nounwind
br label %132
; <label>:114 ; preds = %130, %.lr.ph108.i
%j.1106.i = phi i32 [ 0, %.lr.ph108.i ], [ %131, %130 ]
%115 = add i32 %j.1106.i, %.neg.i
%116 = icmp slt i32 %115, 0
br i1 %116, label %117, label %121
; <label>:117 ; preds = %114
%118 = getelementptr inbounds float* %exc2, i32 %115
%119 = load float* %118, align 4
%120 = getelementptr inbounds float* %65, i32 %j.1106.i
store float %119, float* %120, align 4
br label %130
; <label>:121 ; preds = %114
%122 = sub nsw i32 %115, %107
%123 = icmp slt i32 %122, 0
br i1 %123, label %124, label %128
; <label>:124 ; preds = %121
%125 = getelementptr inbounds float* %exc2, i32 %122
%126 = load float* %125, align 4
%127 = getelementptr inbounds float* %65, i32 %j.1106.i
store float %126, float* %127, align 4
br label %130
; <label>:128 ; preds = %121
%129 = getelementptr inbounds float* %65, i32 %j.1106.i
store float 0.000000e+00, float* %129, align 4
br label %130
; <label>:130 ; preds = %128, %124, %117
%131 = add nsw i32 %j.1106.i, 1
%exitcond127.i = icmp eq i32 %131, %nsf
br i1 %exitcond127.i, label %.preheader102.i, label %114
; <label>:132 ; preds = %.lr.ph104.i, %.preheader102.i
br i1 %69, label %.lr.ph4.i.i, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader.i
.lr.ph4.i.i: ; preds = %._crit_edge.i.i, %132
%i.02.i.i = phi i32 [ %148, %._crit_edge.i.i ], [ 0, %132 ]
%133 = getelementptr inbounds float* %65, i32 %i.02.i.i
%134 = load float* %133, align 4
%135 = load float* %96, align 4
%136 = fadd float %134, %135
%137 = fsub float -0.000000e+00, %136
br i1 %76, label %.lr.ph.i.i, label %._crit_edge.i.i
.lr.ph.i.i: ; preds = %.lr.ph.i.i, %.lr.ph4.i.i
%j.01.i.i = phi i32 [ %138, %.lr.ph.i.i ], [ 0, %.lr.ph4.i.i ]
%138 = add nsw i32 %j.01.i.i, 1
%139 = getelementptr inbounds float* %96, i32 %138
%140 = load float* %139, align 4
%141 = getelementptr inbounds float* %ak, i32 %j.01.i.i
%142 = load float* %141, align 4
%143 = fmul float %142, %137
%144 = fadd float %140, %143
%145 = getelementptr inbounds float* %96, i32 %j.01.i.i
store float %144, float* %145, align 4
%exitcond.i.i = icmp eq i32 %138, %75
br i1 %exitcond.i.i, label %._crit_edge.i.i, label %.lr.ph.i.i
._crit_edge.i.i: ; preds = %.lr.ph.i.i, %.lr.ph4.i.i
%146 = load float* %77, align 4
%147 = fmul float %146, %137
store float %147, float* %105, align 4
store float %136, float* %133, align 4
%148 = add nsw i32 %i.02.i.i, 1
%exitcond6.i.i = icmp eq i32 %148, %nsf
br i1 %exitcond6.i.i, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader.i, label %.lr.ph4.i.i
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader.i: ; preds = %._crit_edge.i.i, %132
br i1 %70, label %.lr.ph101.i, label %149
.lr.ph101.i: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader.i
call void @llvm.memset.p0i8.i32(i8* %scevgep126.i, i8 0, i32 %74, i32 4, i1 false) nounwind
br label %149
; <label>:149 ; preds = %.lr.ph101.i, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader.i
br i1 %69, label %.lr.ph4.i30.i, label %.preheader96.i
.lr.ph4.i30.i: ; preds = %._crit_edge.i36.i, %149
%i.02.i31.i = phi i32 [ %172, %._crit_edge.i36.i ], [ 0, %149 ]
%150 = getelementptr inbounds float* %65, i32 %i.02.i31.i
%151 = load float* %150, align 4
%152 = load float* %96, align 4
%153 = fadd float %151, %152
%154 = fsub float -0.000000e+00, %153
br i1 %76, label %.lr.ph.i34.i, label %._crit_edge.i36.i
.lr.ph.i34.i: ; preds = %.lr.ph.i34.i, %.lr.ph4.i30.i
%j.01.i32.i = phi i32 [ %155, %.lr.ph.i34.i ], [ 0, %.lr.ph4.i30.i ]
%155 = add nsw i32 %j.01.i32.i, 1
%156 = getelementptr inbounds float* %96, i32 %155
%157 = load float* %156, align 4
%158 = getelementptr inbounds float* %awk1, i32 %j.01.i32.i
%159 = load float* %158, align 4
%160 = fmul float %159, %151
%161 = fadd float %157, %160
%162 = getelementptr inbounds float* %awk2, i32 %j.01.i32.i
%163 = load float* %162, align 4
%164 = fmul float %163, %154
%165 = fadd float %161, %164
%166 = getelementptr inbounds float* %96, i32 %j.01.i32.i
store float %165, float* %166, align 4
%exitcond.i33.i = icmp eq i32 %155, %75
br i1 %exitcond.i33.i, label %._crit_edge.i36.i, label %.lr.ph.i34.i
._crit_edge.i36.i: ; preds = %.lr.ph.i34.i, %.lr.ph4.i30.i
%167 = load float* %78, align 4
%168 = fmul float %167, %151
%169 = load float* %79, align 4
%170 = fmul float %169, %154
%171 = fadd float %168, %170
store float %171, float* %105, align 4
store float %153, float* %150, align 4
%172 = add nsw i32 %i.02.i31.i, 1
%exitcond6.i35.i = icmp eq i32 %172, %nsf
br i1 %exitcond6.i35.i, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.i, label %.lr.ph4.i30.i
.preheader96.i: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.i, %149
%173 = xor i32 %107, -1
%174 = sub i32 0, %107
%175 = getelementptr inbounds float* %exc2, i32 %174
%176 = load float* %175, align 4
%177 = load float* %r, align 4
%178 = fmul float %177, %176
store float %178, float* %66, align 4
br i1 %81, label %.lr.ph94.i, label %._crit_edge95.thread.i
._crit_edge95.thread.i: ; preds = %.preheader96.i
%179 = getelementptr inbounds float* %exc2, i32 %173
%180 = load float* %179, align 4
%181 = load float* %r, align 4
%182 = fmul float %181, %180
store float %182, float* %59, align 4
br label %.preheader90.i
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.i: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.i, %._crit_edge.i36.i
%j.498.i = phi i32 [ %186, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.i ], [ 0, %._crit_edge.i36.i ]
%183 = getelementptr inbounds float* %65, i32 %j.498.i
%184 = load float* %183, align 4
%.sum135.i = add i32 %j.498.i, %67
%185 = getelementptr inbounds float* %59, i32 %.sum135.i
store float %184, float* %185, align 4
%186 = add nsw i32 %j.498.i, 1
%exitcond123.i = icmp eq i32 %186, %nsf
br i1 %exitcond123.i, label %.preheader96.i, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit.i
.lr.ph94.i: ; preds = %.lr.ph94.i, %.preheader96.i
%j.592.i = phi i32 [ %189, %.lr.ph94.i ], [ 0, %.preheader96.i ]
%.sum133.i = add i32 %j.592.i, %67
%187 = getelementptr inbounds float* %59, i32 %.sum133.i
%188 = load float* %187, align 4
%189 = add nsw i32 %j.592.i, 1
%190 = getelementptr inbounds float* %r, i32 %189
%191 = load float* %190, align 4
%192 = fmul float %191, %176
%193 = fadd float %188, %192
%.sum134.i = add i32 %189, %nsf
%194 = getelementptr inbounds float* %59, i32 %.sum134.i
store float %193, float* %194, align 4
%exitcond122.i = icmp eq i32 %189, %80
br i1 %exitcond122.i, label %.lr.ph94.1.i.preheader, label %.lr.ph94.i
.lr.ph94.1.i.preheader: ; preds = %.lr.ph94.i
%195 = getelementptr inbounds float* %exc2, i32 %173
%196 = load float* %195, align 4
%197 = load float* %r, align 4
%198 = fmul float %197, %196
store float %198, float* %59, align 4
br label %.lr.ph94.1.i
.lr.ph.i26.i: ; preds = %.preheader90.i, %.lr.ph.i26..lr.ph.i26_crit_edge.i
%.06.i22.i = phi float* [ %225, %.lr.ph.i26..lr.ph.i26_crit_edge.i ], [ %59, %.preheader90.i ]
%.015.i23.i = phi float* [ %224, %.lr.ph.i26..lr.ph.i26_crit_edge.i ], [ %45, %.preheader90.i ]
%.024.i24.i = phi i32 [ %199, %.lr.ph.i26..lr.ph.i26_crit_edge.i ], [ %82, %.preheader90.i ]
%sum.03.i25.i = phi float [ %222, %.lr.ph.i26..lr.ph.i26_crit_edge.i ], [ 0.000000e+00, %.preheader90.i ]
%199 = add nsw i32 %.024.i24.i, -1
%200 = getelementptr inbounds float* %.06.i22.i, i32 1
%201 = load float* %.06.i22.i, align 4
%202 = getelementptr inbounds float* %.015.i23.i, i32 1
%203 = load float* %.015.i23.i, align 4
%204 = fmul float %201, %203
%205 = fadd float %204, 0.000000e+00
%206 = getelementptr inbounds float* %.06.i22.i, i32 2
%207 = load float* %200, align 4
%208 = getelementptr inbounds float* %.015.i23.i, i32 2
%209 = load float* %202, align 4
%210 = fmul float %207, %209
%211 = fadd float %205, %210
%212 = getelementptr inbounds float* %.06.i22.i, i32 3
%213 = load float* %206, align 4
%214 = getelementptr inbounds float* %.015.i23.i, i32 3
%215 = load float* %208, align 4
%216 = fmul float %213, %215
%217 = fadd float %211, %216
%218 = load float* %212, align 4
%219 = load float* %214, align 4
%220 = fmul float %218, %219
%221 = fadd float %217, %220
%222 = fadd float %sum.03.i25.i, %221
%223 = icmp eq i32 %199, 0
br i1 %223, label %.lr.ph.i26.1.i, label %.lr.ph.i26..lr.ph.i26_crit_edge.i
.lr.ph.i26..lr.ph.i26_crit_edge.i: ; preds = %.lr.ph.i26.i
%224 = getelementptr inbounds float* %.015.i23.i, i32 4
%225 = getelementptr inbounds float* %.06.i22.i, i32 4
br label %.lr.ph.i26.i
.lr.ph.i18.i: ; preds = %.lr.ph.i26.2.i, %.lr.ph.i18..lr.ph.i18_crit_edge.i
%.06.i14.i = phi float* [ %252, %.lr.ph.i18..lr.ph.i18_crit_edge.i ], [ %59, %.lr.ph.i26.2.i ]
%.015.i15.i = phi float* [ %251, %.lr.ph.i18..lr.ph.i18_crit_edge.i ], [ %59, %.lr.ph.i26.2.i ]
%.024.i16.i = phi i32 [ %226, %.lr.ph.i18..lr.ph.i18_crit_edge.i ], [ %82, %.lr.ph.i26.2.i ]
%sum.03.i17.i = phi float [ %249, %.lr.ph.i18..lr.ph.i18_crit_edge.i ], [ 0.000000e+00, %.lr.ph.i26.2.i ]
%226 = add nsw i32 %.024.i16.i, -1
%227 = getelementptr inbounds float* %.06.i14.i, i32 1
%228 = load float* %.06.i14.i, align 4
%229 = getelementptr inbounds float* %.015.i15.i, i32 1
%230 = load float* %.015.i15.i, align 4
%231 = fmul float %228, %230
%232 = fadd float %231, 0.000000e+00
%233 = getelementptr inbounds float* %.06.i14.i, i32 2
%234 = load float* %227, align 4
%235 = getelementptr inbounds float* %.015.i15.i, i32 2
%236 = load float* %229, align 4
%237 = fmul float %234, %236
%238 = fadd float %232, %237
%239 = getelementptr inbounds float* %.06.i14.i, i32 3
%240 = load float* %233, align 4
%241 = getelementptr inbounds float* %.015.i15.i, i32 3
%242 = load float* %235, align 4
%243 = fmul float %240, %242
%244 = fadd float %238, %243
%245 = load float* %239, align 4
%246 = load float* %241, align 4
%247 = fmul float %245, %246
%248 = fadd float %244, %247
%249 = fadd float %sum.03.i17.i, %248
%250 = icmp eq i32 %226, 0
br i1 %250, label %.lr.ph.i18.1.i.preheader, label %.lr.ph.i18..lr.ph.i18_crit_edge.i
.lr.ph.i18..lr.ph.i18_crit_edge.i: ; preds = %.lr.ph.i18.i
%251 = getelementptr inbounds float* %.015.i15.i, i32 4
%252 = getelementptr inbounds float* %.06.i14.i, i32 4
br label %.lr.ph.i18.i
.lr.ph.i18.1.i.preheader: ; preds = %.lr.ph.i18.i
%phitmp51 = fpext float %249 to double
br label %.lr.ph.i18.1.i
.lr.ph.i11.i: ; preds = %_Z10inner_prodPKfS0_i.exit21.2.i.2
%253 = fmul double %667, %89
%254 = fmul double %668, %89
%255 = fptrunc double %253 to float
%256 = fptrunc double %254 to float
br label %257
; <label>:257 ; preds = %305, %.lr.ph.i11.i
%i.06.i.i = phi i32 [ 0, %.lr.ph.i11.i ], [ %306, %305 ]
%best_sum.05.i.i = phi float [ 0xC30C6BF520000000, %.lr.ph.i11.i ], [ %best_sum.1.i.i, %305 ]
%best_cdbk.04.i.i = phi i32 [ 0, %.lr.ph.i11.i ], [ %best_cdbk.1.i.i, %305 ]
%258 = shl nsw i32 %i.06.i.i, 2
%.sum22 = add i32 %258, %8
%259 = getelementptr inbounds i8* %6, i32 %.sum22
%260 = load i8* %259, align 1
%261 = sitofp i8 %260 to float
%262 = fadd float %261, 3.200000e+01
%.sum1.i.i = or i32 %258, 1
%.sum23 = add i32 %.sum1.i.i, %8
%263 = getelementptr inbounds i8* %6, i32 %.sum23
%264 = load i8* %263, align 1
%265 = sitofp i8 %264 to float
%266 = fadd float %265, 3.200000e+01
%.sum2.i.i = or i32 %258, 2
%.sum24 = add i32 %.sum2.i.i, %8
%267 = getelementptr inbounds i8* %6, i32 %.sum24
%268 = load i8* %267, align 1
%269 = sitofp i8 %268 to float
%270 = fadd float %269, 3.200000e+01
%271 = fmul float %262, 6.400000e+01
%272 = fmul float %271, %663
%273 = fadd float %272, 0.000000e+00
%274 = fmul float %266, 6.400000e+01
%275 = fmul float %274, %665
%276 = fadd float %273, %275
%277 = fmul float %270, 6.400000e+01
%278 = fmul float %277, %664
%279 = fadd float %276, %278
%280 = fmul float %262, %266
%281 = fmul float %280, %660
%282 = fsub float %279, %281
%283 = fmul float %270, %266
%284 = fmul float %283, %662
%285 = fsub float %282, %284
%286 = fmul float %270, %262
%287 = fmul float %286, %661
%288 = fsub float %285, %287
%289 = fmul float %262, %262
%290 = fmul float %289, %256
%291 = fsub float %288, %290
%292 = fmul float %266, %266
%293 = fmul float %292, %255
%294 = fsub float %291, %293
%295 = fmul float %270, %270
%296 = fmul float %295, %670
%297 = fsub float %294, %296
%298 = fcmp ogt float %297, %best_sum.05.i.i
br i1 %298, label %299, label %305
; <label>:299 ; preds = %257
%.sum3.i.i = or i32 %258, 3
%.sum25 = add i32 %.sum3.i.i, %8
%300 = getelementptr inbounds i8* %6, i32 %.sum25
%301 = load i8* %300, align 1
%302 = sitofp i8 %301 to float
%303 = fcmp ugt float %302, %max_gain.0.i
br i1 %303, label %305, label %304
; <label>:304 ; preds = %299
br label %305
; <label>:305 ; preds = %304, %299, %257
%best_cdbk.1.i.i = phi i32 [ %i.06.i.i, %304 ], [ %best_cdbk.04.i.i, %299 ], [ %best_cdbk.04.i.i, %257 ]
%best_sum.1.i.i = phi float [ %297, %304 ], [ %best_sum.05.i.i, %299 ], [ %best_sum.05.i.i, %257 ]
%306 = add nsw i32 %i.06.i.i, 1
%exitcond.i12.i = icmp eq i32 %306, %4
br i1 %exitcond.i12.i, label %_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i, label %257
_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i: ; preds = %_Z10inner_prodPKfS0_i.exit21.2.i.2, %305
%best_cdbk.0.lcssa.i.i = phi i32 [ 0, %_Z10inner_prodPKfS0_i.exit21.2.i.2 ], [ %best_cdbk.1.i.i, %305 ]
%307 = shl nsw i32 %best_cdbk.0.lcssa.i.i, 2
%.sum19 = add i32 %307, %8
%308 = getelementptr inbounds i8* %6, i32 %.sum19
%309 = load i8* %308, align 1
%310 = sitofp i8 %309 to double
%311 = fmul double %310, 1.562500e-02
%312 = fadd double %311, 5.000000e-01
%313 = fptrunc double %312 to float
%314 = or i32 %307, 1
%.sum20 = add i32 %314, %8
%315 = getelementptr inbounds i8* %6, i32 %.sum20
%316 = load i8* %315, align 1
%317 = sitofp i8 %316 to double
%318 = fmul double %317, 1.562500e-02
%319 = fadd double %318, 5.000000e-01
%320 = fptrunc double %319 to float
%321 = or i32 %307, 2
%.sum21 = add i32 %321, %8
%322 = getelementptr inbounds i8* %6, i32 %.sum21
%323 = load i8* %322, align 1
%324 = sitofp i8 %323 to double
%325 = fmul double %324, 1.562500e-02
%326 = fadd double %325, 5.000000e-01
%327 = fptrunc double %326 to float
call void @llvm.memset.p0i8.i32(i8* %52, i8 0, i32 %37, i32 4, i1 false) nounwind
%328 = add i32 %107, 1
%329 = sub i32 -2, %107
%330 = icmp sgt i32 %329, %91
%smax.i = select i1 %330, i32 %329, i32 %91
%331 = xor i32 %smax.i, -1
%332 = icmp slt i32 %328, %nsf
%.nsf.i = select i1 %332, i32 %328, i32 %nsf
%333 = icmp sgt i32 %.nsf.i, 0
br i1 %333, label %.lr.ph75.i, label %._crit_edge76.i
.lr.ph75.i: ; preds = %.lr.ph75.i, %_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i
%j1.073.i = phi i32 [ %341, %.lr.ph75.i ], [ 0, %_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i ]
%334 = getelementptr inbounds float* %exc, i32 %j1.073.i
%335 = load float* %334, align 4
%336 = sub nsw i32 %j1.073.i, %328
%337 = getelementptr inbounds float* %exc2, i32 %336
%338 = load float* %337, align 4
%339 = fmul float %327, %338
%340 = fadd float %335, %339
store float %340, float* %334, align 4
%341 = add nsw i32 %j1.073.i, 1
%exitcond114.i = icmp eq i32 %341, %331
br i1 %exitcond114.i, label %._crit_edge76.i, label %.lr.ph75.i
._crit_edge76.i: ; preds = %.lr.ph75.i, %_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i
%342 = add nsw i32 %328, %107
%343 = icmp slt i32 %342, %nsf
%.nsf8.i = select i1 %343, i32 %342, i32 %nsf
%344 = icmp slt i32 %.nsf.i, %.nsf8.i
br i1 %344, label %.lr.ph79.i, label %._crit_edge80.i
.lr.ph79.i: ; preds = %.lr.ph79.i, %._crit_edge76.i
%j1.177.i = phi i32 [ %352, %.lr.ph79.i ], [ %.nsf.i, %._crit_edge76.i ]
%345 = getelementptr inbounds float* %exc, i32 %j1.177.i
%346 = load float* %345, align 4
%347 = sub i32 %j1.177.i, %342
%348 = getelementptr inbounds float* %exc2, i32 %347
%349 = load float* %348, align 4
%350 = fmul float %327, %349
%351 = fadd float %346, %350
store float %351, float* %345, align 4
%352 = add nsw i32 %j1.177.i, 1
%353 = icmp slt i32 %352, %.nsf8.i
br i1 %353, label %.lr.ph79.i, label %._crit_edge80.i
._crit_edge80.i: ; preds = %.lr.ph79.i, %._crit_edge76.i
%indvars.iv.next.i = add i32 %329, 1
%354 = icmp sgt i32 %indvars.iv.next.i, %91
%smax.1.i = select i1 %354, i32 %indvars.iv.next.i, i32 %91
%355 = xor i32 %smax.1.i, -1
%356 = icmp slt i32 %107, %nsf
%.nsf.1.i = select i1 %356, i32 %107, i32 %nsf
%357 = icmp sgt i32 %.nsf.1.i, 0
br i1 %357, label %.lr.ph75.1.i, label %._crit_edge76.1.i
.lr.ph.i: ; preds = %.preheader.i, %.lr.ph.i
%i.472.i = phi i32 [ %372, %.lr.ph.i ], [ 0, %.preheader.i ]
%.sum130.i = add i32 %i.472.i, %67
%358 = getelementptr inbounds float* %59, i32 %.sum130.i
%359 = load float* %358, align 4
%360 = fmul float %313, %359
%.sum131.i = add i32 %i.472.i, %nsf
%361 = getelementptr inbounds float* %59, i32 %.sum131.i
%362 = load float* %361, align 4
%363 = fmul float %320, %362
%364 = fadd float %360, %363
%365 = getelementptr inbounds float* %59, i32 %i.472.i
%366 = load float* %365, align 4
%367 = fmul float %327, %366
%368 = fadd float %364, %367
%369 = getelementptr inbounds float* %45, i32 %i.472.i
%370 = load float* %369, align 4
%371 = fsub float %370, %368
store float %371, float* %369, align 4
%372 = add nsw i32 %i.472.i, 1
%exitcond.i = icmp eq i32 %372, %nsf
br i1 %exitcond.i, label %._crit_edge.i, label %.lr.ph.i
._crit_edge.i: ; preds = %.preheader.i, %.lr.ph.i
br i1 %83, label %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit, label %.lr.ph.i9.i
.lr.ph.i9.i: ; preds = %.lr.ph.i9.i, %._crit_edge.i
%.06.i.i = phi float* [ %386, %.lr.ph.i9.i ], [ %45, %._crit_edge.i ]
%.024.i.i = phi i32 [ %373, %.lr.ph.i9.i ], [ %82, %._crit_edge.i ]
%sum.03.i.i = phi float [ %390, %.lr.ph.i9.i ], [ 0.000000e+00, %._crit_edge.i ]
%373 = add nsw i32 %.024.i.i, -1
%374 = getelementptr inbounds float* %.06.i.i, i32 1
%375 = load float* %.06.i.i, align 4
%376 = fmul float %375, %375
%377 = fadd float %376, 0.000000e+00
%378 = getelementptr inbounds float* %.06.i.i, i32 2
%379 = load float* %374, align 4
%380 = fmul float %379, %379
%381 = fadd float %377, %380
%382 = getelementptr inbounds float* %.06.i.i, i32 3
%383 = load float* %378, align 4
%384 = fmul float %383, %383
%385 = fadd float %381, %384
%386 = getelementptr inbounds float* %.06.i.i, i32 4
%387 = load float* %382, align 4
%388 = fmul float %387, %387
%389 = fadd float %385, %388
%390 = fadd float %sum.03.i.i, %389
%391 = icmp eq i32 %373, 0
br i1 %391, label %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit, label %.lr.ph.i9.i
.lr.ph75.1.i: ; preds = %.lr.ph75.1.i, %._crit_edge80.i
%j1.073.1.i = phi i32 [ %399, %.lr.ph75.1.i ], [ 0, %._crit_edge80.i ]
%392 = getelementptr inbounds float* %exc, i32 %j1.073.1.i
%393 = load float* %392, align 4
%394 = sub nsw i32 %j1.073.1.i, %107
%395 = getelementptr inbounds float* %exc2, i32 %394
%396 = load float* %395, align 4
%397 = fmul float %320, %396
%398 = fadd float %393, %397
store float %398, float* %392, align 4
%399 = add nsw i32 %j1.073.1.i, 1
%exitcond114.1.i = icmp eq i32 %399, %355
br i1 %exitcond114.1.i, label %._crit_edge76.1.i, label %.lr.ph75.1.i
._crit_edge76.1.i: ; preds = %.lr.ph75.1.i, %._crit_edge80.i
%400 = shl nsw i32 %107, 1
%401 = icmp slt i32 %400, %nsf
%.nsf8.1.i = select i1 %401, i32 %400, i32 %nsf
%402 = icmp slt i32 %.nsf.1.i, %.nsf8.1.i
br i1 %402, label %.lr.ph79.1.i, label %._crit_edge80.1.i
.lr.ph79.1.i: ; preds = %.lr.ph79.1.i, %._crit_edge76.1.i
%j1.177.1.i = phi i32 [ %410, %.lr.ph79.1.i ], [ %.nsf.1.i, %._crit_edge76.1.i ]
%403 = getelementptr inbounds float* %exc, i32 %j1.177.1.i
%404 = load float* %403, align 4
%405 = sub i32 %j1.177.1.i, %400
%406 = getelementptr inbounds float* %exc2, i32 %405
%407 = load float* %406, align 4
%408 = fmul float %320, %407
%409 = fadd float %404, %408
store float %409, float* %403, align 4
%410 = add nsw i32 %j1.177.1.i, 1
%411 = icmp slt i32 %410, %.nsf8.1.i
br i1 %411, label %.lr.ph79.1.i, label %._crit_edge80.1.i
._crit_edge80.1.i: ; preds = %.lr.ph79.1.i, %._crit_edge76.1.i
%indvars.iv.next.1.i = add i32 %329, 2
%412 = icmp sgt i32 %indvars.iv.next.1.i, %91
%smax.2.i = select i1 %412, i32 %indvars.iv.next.1.i, i32 %91
%413 = xor i32 %smax.2.i, -1
%414 = add i32 %107, -1
%415 = icmp slt i32 %414, %nsf
%.nsf.2.i = select i1 %415, i32 %414, i32 %nsf
%416 = icmp sgt i32 %.nsf.2.i, 0
br i1 %416, label %.lr.ph75.2.i, label %._crit_edge76.2.i
.lr.ph75.2.i: ; preds = %.lr.ph75.2.i, %._crit_edge80.1.i
%j1.073.2.i = phi i32 [ %424, %.lr.ph75.2.i ], [ 0, %._crit_edge80.1.i ]
%417 = getelementptr inbounds float* %exc, i32 %j1.073.2.i
%418 = load float* %417, align 4
%419 = sub nsw i32 %j1.073.2.i, %414
%420 = getelementptr inbounds float* %exc2, i32 %419
%421 = load float* %420, align 4
%422 = fmul float %313, %421
%423 = fadd float %418, %422
store float %423, float* %417, align 4
%424 = add nsw i32 %j1.073.2.i, 1
%exitcond114.2.i = icmp eq i32 %424, %413
br i1 %exitcond114.2.i, label %._crit_edge76.2.i, label %.lr.ph75.2.i
._crit_edge76.2.i: ; preds = %.lr.ph75.2.i, %._crit_edge80.1.i
%425 = add nsw i32 %414, %107
%426 = icmp slt i32 %425, %nsf
%.nsf8.2.i = select i1 %426, i32 %425, i32 %nsf
%427 = icmp slt i32 %.nsf.2.i, %.nsf8.2.i
br i1 %427, label %.lr.ph79.2.i, label %.preheader.i
.lr.ph79.2.i: ; preds = %.lr.ph79.2.i, %._crit_edge76.2.i
%j1.177.2.i = phi i32 [ %435, %.lr.ph79.2.i ], [ %.nsf.2.i, %._crit_edge76.2.i ]
%428 = getelementptr inbounds float* %exc, i32 %j1.177.2.i
%429 = load float* %428, align 4
%430 = sub i32 %j1.177.2.i, %425
%431 = getelementptr inbounds float* %exc2, i32 %430
%432 = load float* %431, align 4
%433 = fmul float %313, %432
%434 = fadd float %429, %433
store float %434, float* %428, align 4
%435 = add nsw i32 %j1.177.2.i, 1
%436 = icmp slt i32 %435, %.nsf8.2.i
br i1 %436, label %.lr.ph79.2.i, label %.preheader.i
.preheader.i: ; preds = %.lr.ph79.2.i, %._crit_edge76.2.i
br i1 %69, label %.lr.ph.i, label %._crit_edge.i
.lr.ph.i18.1.i: ; preds = %.lr.ph.i18.1.i..lr.ph.i18.1.i_crit_edge, %.lr.ph.i18.1.i.preheader
%.06.i14.1.i = phi float* [ %463, %.lr.ph.i18.1.i..lr.ph.i18.1.i_crit_edge ], [ %66, %.lr.ph.i18.1.i.preheader ]
%.015.i15.1.i = phi float* [ %462, %.lr.ph.i18.1.i..lr.ph.i18.1.i_crit_edge ], [ %59, %.lr.ph.i18.1.i.preheader ]
%.024.i16.1.i = phi i32 [ %437, %.lr.ph.i18.1.i..lr.ph.i18.1.i_crit_edge ], [ %82, %.lr.ph.i18.1.i.preheader ]
%sum.03.i17.1.i = phi float [ %460, %.lr.ph.i18.1.i..lr.ph.i18.1.i_crit_edge ], [ 0.000000e+00, %.lr.ph.i18.1.i.preheader ]
%437 = add nsw i32 %.024.i16.1.i, -1
%438 = getelementptr inbounds float* %.06.i14.1.i, i32 1
%439 = load float* %.06.i14.1.i, align 4
%440 = getelementptr inbounds float* %.015.i15.1.i, i32 1
%441 = load float* %.015.i15.1.i, align 4
%442 = fmul float %439, %441
%443 = fadd float %442, 0.000000e+00
%444 = getelementptr inbounds float* %.06.i14.1.i, i32 2
%445 = load float* %438, align 4
%446 = getelementptr inbounds float* %.015.i15.1.i, i32 2
%447 = load float* %440, align 4
%448 = fmul float %445, %447
%449 = fadd float %443, %448
%450 = getelementptr inbounds float* %.06.i14.1.i, i32 3
%451 = load float* %444, align 4
%452 = getelementptr inbounds float* %.015.i15.1.i, i32 3
%453 = load float* %446, align 4
%454 = fmul float %451, %453
%455 = fadd float %449, %454
%456 = load float* %450, align 4
%457 = load float* %452, align 4
%458 = fmul float %456, %457
%459 = fadd float %455, %458
%460 = fadd float %sum.03.i17.1.i, %459
%461 = icmp eq i32 %437, 0
br i1 %461, label %.lr.ph.i18.1.i.1, label %.lr.ph.i18.1.i..lr.ph.i18.1.i_crit_edge
.lr.ph.i18.1.i..lr.ph.i18.1.i_crit_edge: ; preds = %.lr.ph.i18.1.i
%462 = getelementptr inbounds float* %.015.i15.1.i, i32 4
%463 = getelementptr inbounds float* %.06.i14.1.i, i32 4
br label %.lr.ph.i18.1.i
.lr.ph.i18.2.i: ; preds = %.lr.ph.i18.2.i.preheader, %.lr.ph.i18.2.i..lr.ph.i18.2.i_crit_edge
%.06.i14.2.i = phi float* [ %490, %.lr.ph.i18.2.i..lr.ph.i18.2.i_crit_edge ], [ %68, %.lr.ph.i18.2.i.preheader ]
%.015.i15.2.i = phi float* [ %489, %.lr.ph.i18.2.i..lr.ph.i18.2.i_crit_edge ], [ %59, %.lr.ph.i18.2.i.preheader ]
%.024.i16.2.i = phi i32 [ %464, %.lr.ph.i18.2.i..lr.ph.i18.2.i_crit_edge ], [ %82, %.lr.ph.i18.2.i.preheader ]
%sum.03.i17.2.i = phi float [ %487, %.lr.ph.i18.2.i..lr.ph.i18.2.i_crit_edge ], [ 0.000000e+00, %.lr.ph.i18.2.i.preheader ]
%464 = add nsw i32 %.024.i16.2.i, -1
%465 = getelementptr inbounds float* %.06.i14.2.i, i32 1
%466 = load float* %.06.i14.2.i, align 4
%467 = getelementptr inbounds float* %.015.i15.2.i, i32 1
%468 = load float* %.015.i15.2.i, align 4
%469 = fmul float %466, %468
%470 = fadd float %469, 0.000000e+00
%471 = getelementptr inbounds float* %.06.i14.2.i, i32 2
%472 = load float* %465, align 4
%473 = getelementptr inbounds float* %.015.i15.2.i, i32 2
%474 = load float* %467, align 4
%475 = fmul float %472, %474
%476 = fadd float %470, %475
%477 = getelementptr inbounds float* %.06.i14.2.i, i32 3
%478 = load float* %471, align 4
%479 = getelementptr inbounds float* %.015.i15.2.i, i32 3
%480 = load float* %473, align 4
%481 = fmul float %478, %480
%482 = fadd float %476, %481
%483 = load float* %477, align 4
%484 = load float* %479, align 4
%485 = fmul float %483, %484
%486 = fadd float %482, %485
%487 = fadd float %sum.03.i17.2.i, %486
%488 = icmp eq i32 %464, 0
br i1 %488, label %.lr.ph.i18.2.i.1, label %.lr.ph.i18.2.i..lr.ph.i18.2.i_crit_edge
.lr.ph.i18.2.i..lr.ph.i18.2.i_crit_edge: ; preds = %.lr.ph.i18.2.i
%489 = getelementptr inbounds float* %.015.i15.2.i, i32 4
%490 = getelementptr inbounds float* %.06.i14.2.i, i32 4
br label %.lr.ph.i18.2.i
.lr.ph.i26.1.i: ; preds = %.lr.ph.i26.1.i, %.lr.ph.i26.i
%.06.i22.1.i = phi float* [ %510, %.lr.ph.i26.1.i ], [ %66, %.lr.ph.i26.i ]
%.015.i23.1.i = phi float* [ %512, %.lr.ph.i26.1.i ], [ %45, %.lr.ph.i26.i ]
%.024.i24.1.i = phi i32 [ %491, %.lr.ph.i26.1.i ], [ %82, %.lr.ph.i26.i ]
%sum.03.i25.1.i = phi float [ %516, %.lr.ph.i26.1.i ], [ 0.000000e+00, %.lr.ph.i26.i ]
%491 = add nsw i32 %.024.i24.1.i, -1
%492 = getelementptr inbounds float* %.06.i22.1.i, i32 1
%493 = load float* %.06.i22.1.i, align 4
%494 = getelementptr inbounds float* %.015.i23.1.i, i32 1
%495 = load float* %.015.i23.1.i, align 4
%496 = fmul float %493, %495
%497 = fadd float %496, 0.000000e+00
%498 = getelementptr inbounds float* %.06.i22.1.i, i32 2
%499 = load float* %492, align 4
%500 = getelementptr inbounds float* %.015.i23.1.i, i32 2
%501 = load float* %494, align 4
%502 = fmul float %499, %501
%503 = fadd float %497, %502
%504 = getelementptr inbounds float* %.06.i22.1.i, i32 3
%505 = load float* %498, align 4
%506 = getelementptr inbounds float* %.015.i23.1.i, i32 3
%507 = load float* %500, align 4
%508 = fmul float %505, %507
%509 = fadd float %503, %508
%510 = getelementptr inbounds float* %.06.i22.1.i, i32 4
%511 = load float* %504, align 4
%512 = getelementptr inbounds float* %.015.i23.1.i, i32 4
%513 = load float* %506, align 4
%514 = fmul float %511, %513
%515 = fadd float %509, %514
%516 = fadd float %sum.03.i25.1.i, %515
%517 = icmp eq i32 %491, 0
br i1 %517, label %.lr.ph.i26.2.i, label %.lr.ph.i26.1.i
.lr.ph.i26.2.i: ; preds = %.lr.ph.i26.2.i, %.lr.ph.i26.1.i
%.06.i22.2.i = phi float* [ %537, %.lr.ph.i26.2.i ], [ %68, %.lr.ph.i26.1.i ]
%.015.i23.2.i = phi float* [ %539, %.lr.ph.i26.2.i ], [ %45, %.lr.ph.i26.1.i ]
%.024.i24.2.i = phi i32 [ %518, %.lr.ph.i26.2.i ], [ %82, %.lr.ph.i26.1.i ]
%sum.03.i25.2.i = phi float [ %543, %.lr.ph.i26.2.i ], [ 0.000000e+00, %.lr.ph.i26.1.i ]
%518 = add nsw i32 %.024.i24.2.i, -1
%519 = getelementptr inbounds float* %.06.i22.2.i, i32 1
%520 = load float* %.06.i22.2.i, align 4
%521 = getelementptr inbounds float* %.015.i23.2.i, i32 1
%522 = load float* %.015.i23.2.i, align 4
%523 = fmul float %520, %522
%524 = fadd float %523, 0.000000e+00
%525 = getelementptr inbounds float* %.06.i22.2.i, i32 2
%526 = load float* %519, align 4
%527 = getelementptr inbounds float* %.015.i23.2.i, i32 2
%528 = load float* %521, align 4
%529 = fmul float %526, %528
%530 = fadd float %524, %529
%531 = getelementptr inbounds float* %.06.i22.2.i, i32 3
%532 = load float* %525, align 4
%533 = getelementptr inbounds float* %.015.i23.2.i, i32 3
%534 = load float* %527, align 4
%535 = fmul float %532, %534
%536 = fadd float %530, %535
%537 = getelementptr inbounds float* %.06.i22.2.i, i32 4
%538 = load float* %531, align 4
%539 = getelementptr inbounds float* %.015.i23.2.i, i32 4
%540 = load float* %533, align 4
%541 = fmul float %538, %540
%542 = fadd float %536, %541
%543 = fadd float %sum.03.i25.2.i, %542
%544 = icmp eq i32 %518, 0
br i1 %544, label %.lr.ph.i18.i, label %.lr.ph.i26.2.i
.lr.ph94.1.i: ; preds = %.lr.ph94.1.i, %.lr.ph94.1.i.preheader
%j.592.1.i = phi i32 [ %547, %.lr.ph94.1.i ], [ 0, %.lr.ph94.1.i.preheader ]
%.sum132.i = add i32 %j.592.1.i, %nsf
%545 = getelementptr inbounds float* %59, i32 %.sum132.i
%546 = load float* %545, align 4
%547 = add nsw i32 %j.592.1.i, 1
%548 = getelementptr inbounds float* %r, i32 %547
%549 = load float* %548, align 4
%550 = fmul float %549, %196
%551 = fadd float %546, %550
%552 = getelementptr inbounds float* %59, i32 %547
store float %551, float* %552, align 4
%exitcond122.1.i = icmp eq i32 %547, %80
br i1 %exitcond122.1.i, label %.preheader90.i, label %.lr.ph94.1.i
.preheader90.i: ; preds = %.lr.ph94.1.i, %._crit_edge95.thread.i
br i1 %83, label %_Z10inner_prodPKfS0_i.exit21.2.i.2, label %.lr.ph.i26.i
_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit: ; preds = %.lr.ph.i9.i, %._crit_edge.i
%sum.0.lcssa.i.i = phi float [ 0.000000e+00, %._crit_edge.i ], [ %390, %.lr.ph.i9.i ]
%553 = fcmp olt float %sum.0.lcssa.i.i, %best_err.038
%554 = fcmp olt float %best_err.038, 0.000000e+00
%or.cond = or i1 %553, %554
br i1 %or.cond, label %555, label %556
; <label>:555 ; preds = %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %39, i8* %52, i32 %37, i32 4, i1 false)
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %49, i8* %44, i32 %37, i32 4, i1 false)
br label %556
; <label>:556 ; preds = %555, %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit
%best_gain_index.1 = phi i32 [ %best_cdbk.0.lcssa.i.i, %555 ], [ %best_gain_index.036, %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit ]
%best_pitch.1 = phi i32 [ %107, %555 ], [ %best_pitch.037, %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit ]
%best_err.1 = phi float [ %sum.0.lcssa.i.i, %555 ], [ %best_err.038, %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit ]
%557 = add nsw i32 %i.035, 1
%exitcond = icmp eq i32 %557, %104
br i1 %exitcond, label %._crit_edge, label %._crit_edge50
._crit_edge: ; preds = %556, %33
%best_pitch.0.lcssa = phi i32 [ 0, %33 ], [ %best_pitch.1, %556 ]
%best_gain_index.0.lcssa = phi i32 [ 0, %33 ], [ %best_gain_index.1, %556 ]
%pitch.0.lcssa = phi i32 [ 0, %33 ], [ %107, %556 ]
%558 = sub nsw i32 %best_pitch.0.lcssa, %start
%559 = getelementptr inbounds i8* %par, i32 8
%560 = bitcast i8* %559 to i32*
%561 = load i32* %560, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %558, i32 %561)
%562 = load i32* %2, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %best_gain_index.0.lcssa, i32 %562)
%563 = load float* %cumul_gain, align 4
%564 = fcmp olt float %563, 1.024000e+03
br i1 %564, label %566, label %565
; <label>:565 ; preds = %._crit_edge
%phitmp = fpext float %563 to double
%phitmp12 = fmul double %phitmp, 3.125000e-02
br label %566
; <label>:566 ; preds = %565, %._crit_edge
%567 = phi double [ %phitmp12, %565 ], [ 3.200000e+01, %._crit_edge ]
%568 = shl nsw i32 %best_gain_index.0.lcssa, 2
%569 = or i32 %568, 3
%570 = load i8** %5, align 4
%571 = getelementptr inbounds i8* %570, i32 %569
%572 = load i8* %571, align 1
%573 = sitofp i8 %572 to double
%574 = fmul double %567, %573
%575 = fptrunc double %574 to float
store float %575, float* %cumul_gain, align 4
%576 = bitcast float* %exc to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %576, i8* %39, i32 %37, i32 4, i1 false)
%577 = bitcast float* %target to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %577, i8* %49, i32 %37, i32 4, i1 false)
br label %578
; <label>:578 ; preds = %566, %19
%.0 = phi i32 [ %start, %19 ], [ %pitch.0.lcssa, %566 ]
ret i32 %.0
.lr.ph.i18.1.i.1: ; preds = %.lr.ph.i18.1.i.1, %.lr.ph.i18.1.i
%.06.i14.1.i.1 = phi float* [ %598, %.lr.ph.i18.1.i.1 ], [ %66, %.lr.ph.i18.1.i ]
%.015.i15.1.i.1 = phi float* [ %600, %.lr.ph.i18.1.i.1 ], [ %66, %.lr.ph.i18.1.i ]
%.024.i16.1.i.1 = phi i32 [ %579, %.lr.ph.i18.1.i.1 ], [ %82, %.lr.ph.i18.1.i ]
%sum.03.i17.1.i.1 = phi float [ %604, %.lr.ph.i18.1.i.1 ], [ 0.000000e+00, %.lr.ph.i18.1.i ]
%579 = add nsw i32 %.024.i16.1.i.1, -1
%580 = getelementptr inbounds float* %.06.i14.1.i.1, i32 1
%581 = load float* %.06.i14.1.i.1, align 4
%582 = getelementptr inbounds float* %.015.i15.1.i.1, i32 1
%583 = load float* %.015.i15.1.i.1, align 4
%584 = fmul float %581, %583
%585 = fadd float %584, 0.000000e+00
%586 = getelementptr inbounds float* %.06.i14.1.i.1, i32 2
%587 = load float* %580, align 4
%588 = getelementptr inbounds float* %.015.i15.1.i.1, i32 2
%589 = load float* %582, align 4
%590 = fmul float %587, %589
%591 = fadd float %585, %590
%592 = getelementptr inbounds float* %.06.i14.1.i.1, i32 3
%593 = load float* %586, align 4
%594 = getelementptr inbounds float* %.015.i15.1.i.1, i32 3
%595 = load float* %588, align 4
%596 = fmul float %593, %595
%597 = fadd float %591, %596
%598 = getelementptr inbounds float* %.06.i14.1.i.1, i32 4
%599 = load float* %592, align 4
%600 = getelementptr inbounds float* %.015.i15.1.i.1, i32 4
%601 = load float* %594, align 4
%602 = fmul float %599, %601
%603 = fadd float %597, %602
%604 = fadd float %sum.03.i17.1.i.1, %603
%605 = icmp eq i32 %579, 0
br i1 %605, label %.lr.ph.i18.2.i.preheader, label %.lr.ph.i18.1.i.1
.lr.ph.i18.2.i.preheader: ; preds = %.lr.ph.i18.1.i.1
%phitmp52 = fpext float %604 to double
br label %.lr.ph.i18.2.i
.lr.ph.i18.2.i.1: ; preds = %.lr.ph.i18.2.i.1, %.lr.ph.i18.2.i
%.06.i14.2.i.1 = phi float* [ %625, %.lr.ph.i18.2.i.1 ], [ %68, %.lr.ph.i18.2.i ]
%.015.i15.2.i.1 = phi float* [ %627, %.lr.ph.i18.2.i.1 ], [ %66, %.lr.ph.i18.2.i ]
%.024.i16.2.i.1 = phi i32 [ %606, %.lr.ph.i18.2.i.1 ], [ %82, %.lr.ph.i18.2.i ]
%sum.03.i17.2.i.1 = phi float [ %631, %.lr.ph.i18.2.i.1 ], [ 0.000000e+00, %.lr.ph.i18.2.i ]
%606 = add nsw i32 %.024.i16.2.i.1, -1
%607 = getelementptr inbounds float* %.06.i14.2.i.1, i32 1
%608 = load float* %.06.i14.2.i.1, align 4
%609 = getelementptr inbounds float* %.015.i15.2.i.1, i32 1
%610 = load float* %.015.i15.2.i.1, align 4
%611 = fmul float %608, %610
%612 = fadd float %611, 0.000000e+00
%613 = getelementptr inbounds float* %.06.i14.2.i.1, i32 2
%614 = load float* %607, align 4
%615 = getelementptr inbounds float* %.015.i15.2.i.1, i32 2
%616 = load float* %609, align 4
%617 = fmul float %614, %616
%618 = fadd float %612, %617
%619 = getelementptr inbounds float* %.06.i14.2.i.1, i32 3
%620 = load float* %613, align 4
%621 = getelementptr inbounds float* %.015.i15.2.i.1, i32 3
%622 = load float* %615, align 4
%623 = fmul float %620, %622
%624 = fadd float %618, %623
%625 = getelementptr inbounds float* %.06.i14.2.i.1, i32 4
%626 = load float* %619, align 4
%627 = getelementptr inbounds float* %.015.i15.2.i.1, i32 4
%628 = load float* %621, align 4
%629 = fmul float %626, %628
%630 = fadd float %624, %629
%631 = fadd float %sum.03.i17.2.i.1, %630
%632 = icmp eq i32 %606, 0
br i1 %632, label %.lr.ph.i18.2.i.2, label %.lr.ph.i18.2.i.1
.lr.ph.i18.2.i.2: ; preds = %.lr.ph.i18.2.i.2, %.lr.ph.i18.2.i.1
%.06.i14.2.i.2 = phi float* [ %652, %.lr.ph.i18.2.i.2 ], [ %68, %.lr.ph.i18.2.i.1 ]
%.015.i15.2.i.2 = phi float* [ %654, %.lr.ph.i18.2.i.2 ], [ %68, %.lr.ph.i18.2.i.1 ]
%.024.i16.2.i.2 = phi i32 [ %633, %.lr.ph.i18.2.i.2 ], [ %82, %.lr.ph.i18.2.i.1 ]
%sum.03.i17.2.i.2 = phi float [ %658, %.lr.ph.i18.2.i.2 ], [ 0.000000e+00, %.lr.ph.i18.2.i.1 ]
%633 = add nsw i32 %.024.i16.2.i.2, -1
%634 = getelementptr inbounds float* %.06.i14.2.i.2, i32 1
%635 = load float* %.06.i14.2.i.2, align 4
%636 = getelementptr inbounds float* %.015.i15.2.i.2, i32 1
%637 = load float* %.015.i15.2.i.2, align 4
%638 = fmul float %635, %637
%639 = fadd float %638, 0.000000e+00
%640 = getelementptr inbounds float* %.06.i14.2.i.2, i32 2
%641 = load float* %634, align 4
%642 = getelementptr inbounds float* %.015.i15.2.i.2, i32 2
%643 = load float* %636, align 4
%644 = fmul float %641, %643
%645 = fadd float %639, %644
%646 = getelementptr inbounds float* %.06.i14.2.i.2, i32 3
%647 = load float* %640, align 4
%648 = getelementptr inbounds float* %.015.i15.2.i.2, i32 3
%649 = load float* %642, align 4
%650 = fmul float %647, %649
%651 = fadd float %645, %650
%652 = getelementptr inbounds float* %.06.i14.2.i.2, i32 4
%653 = load float* %646, align 4
%654 = getelementptr inbounds float* %.015.i15.2.i.2, i32 4
%655 = load float* %648, align 4
%656 = fmul float %653, %655
%657 = fadd float %651, %656
%658 = fadd float %sum.03.i17.2.i.2, %657
%659 = icmp eq i32 %633, 0
br i1 %659, label %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2, label %.lr.ph.i18.2.i.2
_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2: ; preds = %.lr.ph.i18.2.i.2
%phitmp53 = fpext float %658 to double
br label %_Z10inner_prodPKfS0_i.exit21.2.i.2
_Z10inner_prodPKfS0_i.exit21.2.i.2: ; preds = %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2, %.preheader90.i
%660 = phi float [ %631, %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2 ], [ 0.000000e+00, %.preheader90.i ]
%661 = phi float [ %487, %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2 ], [ 0.000000e+00, %.preheader90.i ]
%662 = phi float [ %460, %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2 ], [ 0.000000e+00, %.preheader90.i ]
%663 = phi float [ %543, %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2 ], [ 0.000000e+00, %.preheader90.i ]
%664 = phi float [ %222, %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2 ], [ 0.000000e+00, %.preheader90.i ]
%665 = phi float [ %516, %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2 ], [ 0.000000e+00, %.preheader90.i ]
%666 = phi double [ %phitmp51, %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2 ], [ 0.000000e+00, %.preheader90.i ]
%667 = phi double [ %phitmp52, %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2 ], [ 0.000000e+00, %.preheader90.i ]
%668 = phi double [ %phitmp53, %_Z10inner_prodPKfS0_i.exit21.2.i.loopexit.2 ], [ 0.000000e+00, %.preheader90.i ]
%669 = fmul double %666, %89
%670 = fptrunc double %669 to float
br i1 %90, label %.lr.ph.i11.i, label %_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i
}
define internal void @_Z18pitch_unquant_3tapPfS_iifPKviPiS_P9SpeexBitsPciifi(float* nocapture %exc, float* nocapture %exc_out, i32 %start, i32 %end, float %pitch_coef, i8* nocapture %par, i32 %nsf, i32* nocapture %pitch_val, float* nocapture %gain_val, %struct.SpeexBits* nocapture %bits, i8* nocapture %stack, i32 %count_lost, i32 %subframe_offset, float %last_pitch_gain, i32 %cdbk_offset) nounwind {
%1 = getelementptr inbounds i8* %par, i32 4
%2 = bitcast i8* %1 to i32*
%3 = load i32* %2, align 4
%4 = bitcast i8* %par to i8**
%5 = load i8** %4, align 4
%6 = shl i32 4, %3
%7 = mul nsw i32 %6, %cdbk_offset
%8 = getelementptr inbounds i8* %par, i32 8
%9 = bitcast i8* %8 to i32*
%10 = load i32* %9, align 4
%11 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%12 = load i32* %11, align 4
%13 = shl i32 %12, 3
%14 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%15 = load i32* %14, align 4
%16 = add i32 %13, %10
%17 = add i32 %16, %15
%18 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%19 = load i32* %18, align 4
%20 = icmp sgt i32 %17, %19
%21 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
br i1 %20, label %.thread.i, label %22
.thread.i: ; preds = %0
store i32 1, i32* %21, align 4
br label %speex_bits_unpack_unsigned.exit
; <label>:22 ; preds = %0
%.pre4.i = load i32* %21, align 4
%phitmp.i = icmp ne i32 %.pre4.i, 0
%23 = icmp eq i32 %10, 0
%or.cond.i = or i1 %phitmp.i, %23
br i1 %or.cond.i, label %speex_bits_unpack_unsigned.exit, label %.lr.ph.i
.lr.ph.i: ; preds = %22
%24 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre.i = load i8** %24, align 4
br label %25
; <label>:25 ; preds = %40, %.lr.ph.i
%26 = phi i32 [ %15, %.lr.ph.i ], [ %41, %40 ]
%27 = phi i32 [ %12, %.lr.ph.i ], [ %42, %40 ]
%d.03.i = phi i32 [ 0, %.lr.ph.i ], [ %35, %40 ]
%.012.i = phi i32 [ %10, %.lr.ph.i ], [ %43, %40 ]
%28 = shl i32 %d.03.i, 1
%29 = getelementptr inbounds i8* %.pre.i, i32 %27
%30 = load i8* %29, align 1
%31 = sext i8 %30 to i32
%32 = sub nsw i32 7, %26
%33 = lshr i32 %31, %32
%34 = and i32 %33, 1
%35 = or i32 %34, %28
%36 = add nsw i32 %26, 1
store i32 %36, i32* %14, align 4
%37 = icmp eq i32 %36, 8
br i1 %37, label %38, label %40
; <label>:38 ; preds = %25
store i32 0, i32* %14, align 4
%39 = add nsw i32 %27, 1
store i32 %39, i32* %11, align 4
br label %40
; <label>:40 ; preds = %38, %25
%41 = phi i32 [ 0, %38 ], [ %36, %25 ]
%42 = phi i32 [ %39, %38 ], [ %27, %25 ]
%43 = add nsw i32 %.012.i, -1
%44 = icmp eq i32 %43, 0
br i1 %44, label %speex_bits_unpack_unsigned.exit, label %25
speex_bits_unpack_unsigned.exit: ; preds = %40, %22, %.thread.i
%.pre4.i5 = phi i32 [ %.pre4.i, %22 ], [ 1, %.thread.i ], [ 0, %40 ]
%45 = phi i32 [ %15, %22 ], [ %15, %.thread.i ], [ %41, %40 ]
%46 = phi i32 [ %12, %22 ], [ %12, %.thread.i ], [ %42, %40 ]
%.0.i = phi i32 [ 0, %22 ], [ 0, %.thread.i ], [ %35, %40 ]
%47 = add nsw i32 %.0.i, %start
%48 = load i32* %2, align 4
%49 = shl i32 %46, 3
%50 = add i32 %49, %48
%51 = add i32 %50, %45
%52 = icmp sgt i32 %51, %19
br i1 %52, label %.thread.i4, label %53
.thread.i4: ; preds = %speex_bits_unpack_unsigned.exit
store i32 1, i32* %21, align 4
br label %speex_bits_unpack_unsigned.exit13
; <label>:53 ; preds = %speex_bits_unpack_unsigned.exit
%phitmp.i6 = icmp ne i32 %.pre4.i5, 0
%54 = icmp eq i32 %48, 0
%or.cond.i7 = or i1 %phitmp.i6, %54
br i1 %or.cond.i7, label %speex_bits_unpack_unsigned.exit13, label %.lr.ph.i9
.lr.ph.i9: ; preds = %53
%55 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre.i8 = load i8** %55, align 4
br label %56
; <label>:56 ; preds = %71, %.lr.ph.i9
%57 = phi i32 [ %45, %.lr.ph.i9 ], [ %72, %71 ]
%58 = phi i32 [ %46, %.lr.ph.i9 ], [ %73, %71 ]
%d.03.i10 = phi i32 [ 0, %.lr.ph.i9 ], [ %66, %71 ]
%.012.i11 = phi i32 [ %48, %.lr.ph.i9 ], [ %74, %71 ]
%59 = shl i32 %d.03.i10, 1
%60 = getelementptr inbounds i8* %.pre.i8, i32 %58
%61 = load i8* %60, align 1
%62 = sext i8 %61 to i32
%63 = sub nsw i32 7, %57
%64 = lshr i32 %62, %63
%65 = and i32 %64, 1
%66 = or i32 %65, %59
%67 = add nsw i32 %57, 1
store i32 %67, i32* %14, align 4
%68 = icmp eq i32 %67, 8
br i1 %68, label %69, label %71
; <label>:69 ; preds = %56
store i32 0, i32* %14, align 4
%70 = add nsw i32 %58, 1
store i32 %70, i32* %11, align 4
br label %71
; <label>:71 ; preds = %69, %56
%72 = phi i32 [ 0, %69 ], [ %67, %56 ]
%73 = phi i32 [ %70, %69 ], [ %58, %56 ]
%74 = add nsw i32 %.012.i11, -1
%75 = icmp eq i32 %74, 0
br i1 %75, label %speex_bits_unpack_unsigned.exit13.loopexit, label %56
speex_bits_unpack_unsigned.exit13.loopexit: ; preds = %71
%phitmp = shl i32 %66, 2
br label %speex_bits_unpack_unsigned.exit13
speex_bits_unpack_unsigned.exit13: ; preds = %speex_bits_unpack_unsigned.exit13.loopexit, %53, %.thread.i4
%.0.i12 = phi i32 [ 0, %53 ], [ 0, %.thread.i4 ], [ %phitmp, %speex_bits_unpack_unsigned.exit13.loopexit ]
%.sum = add i32 %.0.i12, %7
%76 = getelementptr inbounds i8* %5, i32 %.sum
%77 = load i8* %76, align 1
%78 = sitofp i8 %77 to double
%79 = fmul double %78, 1.562500e-02
%80 = fadd double %79, 5.000000e-01
%81 = fptrunc double %80 to float
%82 = or i32 %.0.i12, 1
%.sum1 = add i32 %82, %7
%83 = getelementptr inbounds i8* %5, i32 %.sum1
%84 = load i8* %83, align 1
%85 = sitofp i8 %84 to double
%86 = fmul double %85, 1.562500e-02
%87 = fadd double %86, 5.000000e-01
%88 = fptrunc double %87 to float
%89 = or i32 %.0.i12, 2
%.sum2 = add i32 %89, %7
%90 = getelementptr inbounds i8* %5, i32 %.sum2
%91 = load i8* %90, align 1
%92 = sitofp i8 %91 to double
%93 = fmul double %92, 1.562500e-02
%94 = fadd double %93, 5.000000e-01
%95 = fptrunc double %94 to float
%96 = icmp ne i32 %count_lost, 0
%97 = icmp sgt i32 %47, %subframe_offset
%or.cond = and i1 %96, %97
br i1 %or.cond, label %98, label %134
; <label>:98 ; preds = %speex_bits_unpack_unsigned.exit13
%99 = icmp slt i32 %count_lost, 4
%100 = fpext float %last_pitch_gain to double
br i1 %99, label %103, label %101
; <label>:101 ; preds = %98
%102 = fmul double %100, 5.000000e-01
br label %103
; <label>:103 ; preds = %101, %98
%104 = phi double [ %102, %101 ], [ %100, %98 ]
%105 = fptrunc double %104 to float
%106 = fpext float %105 to double
%107 = fcmp ogt double %106, 9.500000e-01
%tmp.0 = select i1 %107, float 0x3FEE666660000000, float %105
%108 = fcmp olt float %88, 0.000000e+00
br i1 %108, label %109, label %111
; <label>:109 ; preds = %103
%110 = fsub float -0.000000e+00, %88
br label %111
; <label>:111 ; preds = %109, %103
%112 = phi float [ %110, %109 ], [ %88, %103 ]
%113 = fpext float %112 to double
%114 = fcmp ogt float %81, 0.000000e+00
%115 = fpext float %81 to double
br i1 %114, label %118, label %116
; <label>:116 ; preds = %111
%117 = fmul double %115, -5.000000e-01
br label %118
; <label>:118 ; preds = %116, %111
%119 = phi double [ %117, %116 ], [ %115, %111 ]
%120 = fadd double %113, %119
%121 = fcmp ogt float %95, 0.000000e+00
%122 = fpext float %95 to double
br i1 %121, label %125, label %123
; <label>:123 ; preds = %118
%124 = fmul double %122, -5.000000e-01
br label %125
; <label>:125 ; preds = %123, %118
%126 = phi double [ %124, %123 ], [ %122, %118 ]
%127 = fadd double %120, %126
%128 = fptrunc double %127 to float
%129 = fcmp ogt float %128, %tmp.0
br i1 %129, label %.loopexit, label %134
.loopexit: ; preds = %125
%130 = fdiv float %tmp.0, %128
%131 = fmul float %130, %81
%132 = fmul float %130, %88
%133 = fmul float %130, %95
br label %134
; <label>:134 ; preds = %.loopexit, %125, %speex_bits_unpack_unsigned.exit13
%135 = phi float [ %133, %.loopexit ], [ %95, %speex_bits_unpack_unsigned.exit13 ], [ %95, %125 ]
%136 = phi float [ %132, %.loopexit ], [ %88, %speex_bits_unpack_unsigned.exit13 ], [ %88, %125 ]
%137 = phi float [ %131, %.loopexit ], [ %81, %speex_bits_unpack_unsigned.exit13 ], [ %81, %125 ]
store i32 %47, i32* %pitch_val, align 4
store float %137, float* %gain_val, align 4
%138 = getelementptr inbounds float* %gain_val, i32 1
store float %136, float* %138, align 4
%139 = getelementptr inbounds float* %gain_val, i32 2
store float %135, float* %139, align 4
%140 = bitcast float* %exc_out to i8*
%141 = shl i32 %nsf, 2
call void @llvm.memset.p0i8.i32(i8* %140, i8 0, i32 %141, i32 4, i1 false)
%142 = add i32 %47, 1
%143 = sub i32 -2, %.0.i
%144 = sub i32 %143, %start
%145 = xor i32 %nsf, -1
%146 = icmp sgt i32 %144, %145
%smax = select i1 %146, i32 %144, i32 %145
%147 = xor i32 %smax, -1
%148 = icmp slt i32 %142, %nsf
%.nsf = select i1 %148, i32 %142, i32 %nsf
%149 = icmp sgt i32 %.nsf, 0
br i1 %149, label %.lr.ph, label %._crit_edge
.lr.ph: ; preds = %.lr.ph, %134
%j.016 = phi i32 [ %157, %.lr.ph ], [ 0, %134 ]
%150 = getelementptr inbounds float* %exc_out, i32 %j.016
%151 = load float* %150, align 4
%152 = sub nsw i32 %j.016, %142
%153 = getelementptr inbounds float* %exc, i32 %152
%154 = load float* %153, align 4
%155 = fmul float %135, %154
%156 = fadd float %151, %155
store float %156, float* %150, align 4
%157 = add nsw i32 %j.016, 1
%exitcond = icmp eq i32 %157, %147
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %.lr.ph, %134
%158 = add nsw i32 %142, %47
%159 = icmp slt i32 %158, %nsf
%.nsf3 = select i1 %159, i32 %158, i32 %nsf
%160 = icmp slt i32 %.nsf, %.nsf3
br i1 %160, label %.lr.ph19, label %._crit_edge20
.lr.ph19: ; preds = %.lr.ph19, %._crit_edge
%j.117 = phi i32 [ %168, %.lr.ph19 ], [ %.nsf, %._crit_edge ]
%161 = getelementptr inbounds float* %exc_out, i32 %j.117
%162 = load float* %161, align 4
%163 = sub i32 %j.117, %158
%164 = getelementptr inbounds float* %exc, i32 %163
%165 = load float* %164, align 4
%166 = fmul float %135, %165
%167 = fadd float %162, %166
store float %167, float* %161, align 4
%168 = add nsw i32 %j.117, 1
%169 = icmp slt i32 %168, %.nsf3
br i1 %169, label %.lr.ph19, label %._crit_edge20
._crit_edge20: ; preds = %.lr.ph19, %._crit_edge
%indvars.iv.next = add i32 %144, 1
%170 = icmp sgt i32 %indvars.iv.next, %145
%smax.1 = select i1 %170, i32 %indvars.iv.next, i32 %145
%171 = xor i32 %smax.1, -1
%172 = icmp slt i32 %47, %nsf
%.nsf.1 = select i1 %172, i32 %47, i32 %nsf
%173 = icmp sgt i32 %.nsf.1, 0
br i1 %173, label %.lr.ph.1, label %._crit_edge.1
.lr.ph.1: ; preds = %.lr.ph.1, %._crit_edge20
%j.016.1 = phi i32 [ %181, %.lr.ph.1 ], [ 0, %._crit_edge20 ]
%174 = getelementptr inbounds float* %exc_out, i32 %j.016.1
%175 = load float* %174, align 4
%176 = sub nsw i32 %j.016.1, %47
%177 = getelementptr inbounds float* %exc, i32 %176
%178 = load float* %177, align 4
%179 = fmul float %136, %178
%180 = fadd float %175, %179
store float %180, float* %174, align 4
%181 = add nsw i32 %j.016.1, 1
%exitcond.1 = icmp eq i32 %181, %171
br i1 %exitcond.1, label %._crit_edge.1, label %.lr.ph.1
._crit_edge.1: ; preds = %.lr.ph.1, %._crit_edge20
%182 = shl nsw i32 %47, 1
%183 = icmp slt i32 %182, %nsf
%.nsf3.1 = select i1 %183, i32 %182, i32 %nsf
%184 = icmp slt i32 %.nsf.1, %.nsf3.1
br i1 %184, label %.lr.ph19.1, label %._crit_edge20.1
.lr.ph19.1: ; preds = %.lr.ph19.1, %._crit_edge.1
%j.117.1 = phi i32 [ %192, %.lr.ph19.1 ], [ %.nsf.1, %._crit_edge.1 ]
%185 = getelementptr inbounds float* %exc_out, i32 %j.117.1
%186 = load float* %185, align 4
%187 = sub i32 %j.117.1, %182
%188 = getelementptr inbounds float* %exc, i32 %187
%189 = load float* %188, align 4
%190 = fmul float %136, %189
%191 = fadd float %186, %190
store float %191, float* %185, align 4
%192 = add nsw i32 %j.117.1, 1
%193 = icmp slt i32 %192, %.nsf3.1
br i1 %193, label %.lr.ph19.1, label %._crit_edge20.1
._crit_edge20.1: ; preds = %.lr.ph19.1, %._crit_edge.1
%indvars.iv.next.1 = add i32 %144, 2
%194 = icmp sgt i32 %indvars.iv.next.1, %145
%smax.2 = select i1 %194, i32 %indvars.iv.next.1, i32 %145
%195 = xor i32 %smax.2, -1
%196 = add i32 %47, -1
%197 = icmp slt i32 %196, %nsf
%.nsf.2 = select i1 %197, i32 %196, i32 %nsf
%198 = icmp sgt i32 %.nsf.2, 0
br i1 %198, label %.lr.ph.2, label %._crit_edge.2
.lr.ph.2: ; preds = %.lr.ph.2, %._crit_edge20.1
%j.016.2 = phi i32 [ %206, %.lr.ph.2 ], [ 0, %._crit_edge20.1 ]
%199 = getelementptr inbounds float* %exc_out, i32 %j.016.2
%200 = load float* %199, align 4
%201 = sub nsw i32 %j.016.2, %196
%202 = getelementptr inbounds float* %exc, i32 %201
%203 = load float* %202, align 4
%204 = fmul float %137, %203
%205 = fadd float %200, %204
store float %205, float* %199, align 4
%206 = add nsw i32 %j.016.2, 1
%exitcond.2 = icmp eq i32 %206, %195
br i1 %exitcond.2, label %._crit_edge.2, label %.lr.ph.2
._crit_edge.2: ; preds = %.lr.ph.2, %._crit_edge20.1
%207 = add nsw i32 %196, %47
%208 = icmp slt i32 %207, %nsf
%.nsf3.2 = select i1 %208, i32 %207, i32 %nsf
%209 = icmp slt i32 %.nsf.2, %.nsf3.2
br i1 %209, label %.lr.ph19.2, label %._crit_edge20.2
.lr.ph19.2: ; preds = %.lr.ph19.2, %._crit_edge.2
%j.117.2 = phi i32 [ %217, %.lr.ph19.2 ], [ %.nsf.2, %._crit_edge.2 ]
%210 = getelementptr inbounds float* %exc_out, i32 %j.117.2
%211 = load float* %210, align 4
%212 = sub i32 %j.117.2, %207
%213 = getelementptr inbounds float* %exc, i32 %212
%214 = load float* %213, align 4
%215 = fmul float %137, %214
%216 = fadd float %211, %215
store float %216, float* %210, align 4
%217 = add nsw i32 %j.117.2, 1
%218 = icmp slt i32 %217, %.nsf3.2
br i1 %218, label %.lr.ph19.2, label %._crit_edge20.2
._crit_edge20.2: ; preds = %.lr.ph19.2, %._crit_edge.2
ret void
}
define internal i32 @_Z18forced_pitch_quantPfS_S_S_S_S_PKviifiiP9SpeexBitsPcS_S_iiiS_(float* nocapture %target, float* nocapture %sw, float* nocapture %ak, float* nocapture %awk1, float* nocapture %awk2, float* nocapture %exc, i8* nocapture %par, i32 %start, i32 %end, float %pitch_coef, i32 %p, i32 %nsf, %struct.SpeexBits* nocapture %bits, i8* %stack, float* nocapture %exc2, float* nocapture %r, i32 %complexity, i32 %cdbk_offset, i32 %plc_tuning, float* nocapture %cumul_gain) nounwind {
%1 = ptrtoint i8* %stack to i32
%2 = sub i32 0, %1
%3 = and i32 %2, 3
%4 = shl i32 %nsf, 2
%.sum = or i32 %3, %4
%5 = getelementptr inbounds i8* %stack, i32 %.sum
%.sum1 = sub i32 %.sum, %4
%6 = getelementptr inbounds i8* %stack, i32 %.sum1
%7 = bitcast i8* %6 to float*
%8 = fpext float %pitch_coef to double
%9 = fcmp ogt double %8, 9.900000e-01
%.0 = select i1 %9, float 0x3FEFAE1480000000, float %pitch_coef
%10 = icmp sgt i32 %nsf, 0
%11 = icmp sgt i32 %start, 0
%or.cond8 = and i1 %10, %11
br i1 %or.cond8, label %.lr.ph11, label %.critedge.preheader
.lr.ph11: ; preds = %0
%12 = sub i32 0, %nsf
%13 = sub i32 0, %start
%14 = icmp ugt i32 %12, %13
%umax = select i1 %14, i32 %12, i32 %13
%15 = sub i32 0, %umax
br label %17
.critedge.preheader: ; preds = %17, %0
%i.0.lcssa = phi i32 [ 0, %0 ], [ %15, %17 ]
%16 = icmp slt i32 %i.0.lcssa, %nsf
br i1 %16, label %.critedge, label %.preheader
; <label>:17 ; preds = %17, %.lr.ph11
%i.09 = phi i32 [ 0, %.lr.ph11 ], [ %23, %17 ]
%18 = sub nsw i32 %i.09, %start
%19 = getelementptr inbounds float* %exc2, i32 %18
%20 = load float* %19, align 4
%21 = fmul float %.0, %20
%22 = getelementptr inbounds float* %exc, i32 %i.09
store float %21, float* %22, align 4
%23 = add nsw i32 %i.09, 1
%exitcond14 = icmp eq i32 %23, %15
br i1 %exitcond14, label %.critedge.preheader, label %17
.preheader: ; preds = %.critedge, %.critedge.preheader
br i1 %10, label %.lr.ph4, label %._crit_edge5.thread
._crit_edge5.thread: ; preds = %.preheader
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %7, float* %ak, float* %awk1, float* %awk2, float* %7, i32 %nsf, i32 %p, i8* %5)
br label %._crit_edge
.critedge: ; preds = %.critedge, %.critedge.preheader
%i.16 = phi i32 [ %29, %.critedge ], [ %i.0.lcssa, %.critedge.preheader ]
%24 = sub nsw i32 %i.16, %start
%25 = getelementptr inbounds float* %exc, i32 %24
%26 = load float* %25, align 4
%27 = fmul float %.0, %26
%28 = getelementptr inbounds float* %exc, i32 %i.16
store float %27, float* %28, align 4
%29 = add nsw i32 %i.16, 1
%exitcond13 = icmp eq i32 %29, %nsf
br i1 %exitcond13, label %.preheader, label %.critedge
.lr.ph4: ; preds = %.lr.ph4, %.preheader
%i.23 = phi i32 [ %33, %.lr.ph4 ], [ 0, %.preheader ]
%30 = getelementptr inbounds float* %exc, i32 %i.23
%31 = load float* %30, align 4
%32 = getelementptr inbounds float* %7, i32 %i.23
store float %31, float* %32, align 4
%33 = add nsw i32 %i.23, 1
%exitcond12 = icmp eq i32 %33, %nsf
br i1 %exitcond12, label %.lr.ph.preheader, label %.lr.ph4
.lr.ph.preheader: ; preds = %.lr.ph4
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %7, float* %ak, float* %awk1, float* %awk2, float* %7, i32 %nsf, i32 %p, i8* %5)
br label %.lr.ph
.lr.ph: ; preds = %.lr.ph, %.lr.ph.preheader
%i.32 = phi i32 [ %39, %.lr.ph ], [ 0, %.lr.ph.preheader ]
%34 = getelementptr inbounds float* %target, i32 %i.32
%35 = load float* %34, align 4
%36 = getelementptr inbounds float* %7, i32 %i.32
%37 = load float* %36, align 4
%38 = fsub float %35, %37
store float %38, float* %34, align 4
%39 = add nsw i32 %i.32, 1
%exitcond = icmp eq i32 %39, %nsf
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %.lr.ph, %._crit_edge5.thread
ret i32 %start
}
define internal void @_Z20forced_pitch_unquantPfS_iifPKviPiS_P9SpeexBitsPciifi(float* nocapture %exc, float* nocapture %exc_out, i32 %start, i32 %end, float %pitch_coef, i8* nocapture %par, i32 %nsf, i32* nocapture %pitch_val, float* nocapture %gain_val, %struct.SpeexBits* nocapture %bits, i8* nocapture %stack, i32 %count_lost, i32 %subframe_offset, float %last_pitch_gain, i32 %cdbk_offset) nounwind {
%1 = fpext float %pitch_coef to double
%2 = fcmp ogt double %1, 9.900000e-01
%.0 = select i1 %2, float 0x3FEFAE1480000000, float %pitch_coef
%3 = icmp sgt i32 %nsf, 0
br i1 %3, label %.lr.ph, label %._crit_edge
.lr.ph: ; preds = %.lr.ph, %0
%i.01 = phi i32 [ %10, %.lr.ph ], [ 0, %0 ]
%4 = sub nsw i32 %i.01, %start
%5 = getelementptr inbounds float* %exc, i32 %4
%6 = load float* %5, align 4
%7 = fmul float %6, %.0
%8 = getelementptr inbounds float* %exc_out, i32 %i.01
store float %7, float* %8, align 4
%9 = getelementptr inbounds float* %exc, i32 %i.01
store float %7, float* %9, align 4
%10 = add nsw i32 %i.01, 1
%exitcond = icmp eq i32 %10, %nsf
br i1 %exitcond, label %._crit_edge, label %.lr.ph
._crit_edge: ; preds = %.lr.ph, %0
store i32 %start, i32* %pitch_val, align 4
%11 = getelementptr inbounds float* %gain_val, i32 2
store float 0.000000e+00, float* %11, align 4
store float 0.000000e+00, float* %gain_val, align 4
%12 = getelementptr inbounds float* %gain_val, i32 1
store float %.0, float* %12, align 4
ret void
}
define internal i32 @_Z13wb_mode_queryPKviPv(i8* nocapture %mode, i32 %request, i8* nocapture %ptr) nounwind {
switch i32 %request, label %22 [
i32 0, label %1
i32 1, label %7
]
; <label>:1 ; preds = %0
%2 = getelementptr inbounds i8* %mode, i32 4
%3 = bitcast i8* %2 to i32*
%4 = load i32* %3, align 4
%5 = shl nsw i32 %4, 1
%6 = bitcast i8* %ptr to i32*
store i32 %5, i32* %6, align 4
br label %25
; <label>:7 ; preds = %0
%8 = bitcast i8* %ptr to i32*
%9 = load i32* %8, align 4
%10 = icmp eq i32 %9, 0
br i1 %10, label %11, label %12
; <label>:11 ; preds = %7
store i32 4, i32* %8, align 4
br label %25
; <label>:12 ; preds = %7
%13 = getelementptr inbounds i8* %mode, i32 32
%14 = bitcast i8* %13 to [8 x %struct.SpeexSubmode*]*
%15 = getelementptr inbounds [8 x %struct.SpeexSubmode*]* %14, i32 0, i32 %9
%16 = load %struct.SpeexSubmode** %15, align 4
%17 = icmp eq %struct.SpeexSubmode* %16, null
br i1 %17, label %18, label %19
; <label>:18 ; preds = %12
store i32 -1, i32* %8, align 4
br label %25
; <label>:19 ; preds = %12
%20 = getelementptr inbounds %struct.SpeexSubmode* %16, i32 0, i32 13
%21 = load i32* %20, align 4
store i32 %21, i32* %8, align 4
br label %25
; <label>:22 ; preds = %0
%23 = load %struct.__sFILE** @stderr, align 4
%24 = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %23, i8* getelementptr inbounds ([16 x i8]* @.str421, i32 0, i32 0), i8* getelementptr inbounds ([32 x i8]* @.str3112, i32 0, i32 0), i32 %request) nounwind
br label %25
; <label>:25 ; preds = %22, %19, %18, %11, %1
%.0 = phi i32 [ -1, %22 ], [ 0, %11 ], [ 0, %19 ], [ 0, %18 ], [ 0, %1 ]
ret i32 %.0
}
define internal i8* @_Z15nb_encoder_initPK9SpeexMode(%struct.SpeexMode.58* %m) nounwind {
%1 = getelementptr inbounds %struct.SpeexMode.58* %m, i32 0, i32 0
%2 = load i8** %1, align 4
%3 = tail call fastcc i8* @malloc(i32 228) nounwind
%4 = icmp eq i8* %3, null
br i1 %4, label %_Z11speex_alloci.exit, label %5
; <label>:5 ; preds = %0
%6 = getelementptr inbounds i8* %3, i32 -4
%7 = bitcast i8* %6 to i32*
%8 = load i32* %7, align 4
%9 = and i32 %8, 3
%10 = icmp eq i32 %9, 0
br i1 %10, label %12, label %11
; <label>:11 ; preds = %5
tail call void @llvm.memset.p0i8.i32(i8* %3, i8 0, i32 228, i32 1, i1 false) nounwind
br label %12
; <label>:12 ; preds = %11, %5
%13 = tail call fastcc i8* @malloc(i32 32000) nounwind
%14 = icmp eq i8* %13, null
br i1 %14, label %_Z19speex_alloc_scratchi.exit, label %15
; <label>:15 ; preds = %12
%16 = getelementptr inbounds i8* %13, i32 -4
%17 = bitcast i8* %16 to i32*
%18 = load i32* %17, align 4
%19 = and i32 %18, 3
%20 = icmp eq i32 %19, 0
br i1 %20, label %_Z19speex_alloc_scratchi.exit, label %21
; <label>:21 ; preds = %15
tail call void @llvm.memset.p0i8.i32(i8* %13, i8 0, i32 32000, i32 1, i1 false) nounwind
br label %_Z19speex_alloc_scratchi.exit
_Z19speex_alloc_scratchi.exit: ; preds = %21, %15, %12
%22 = getelementptr inbounds i8* %3, i32 68
%23 = bitcast i8* %22 to i8**
store i8* %13, i8** %23, align 4
%24 = bitcast i8* %3 to %struct.SpeexMode.58**
store %struct.SpeexMode.58* %m, %struct.SpeexMode.58** %24, align 4
%25 = bitcast i8* %2 to i32*
%26 = load i32* %25, align 4
%27 = getelementptr inbounds i8* %3, i32 8
%28 = bitcast i8* %27 to i32*
store i32 %26, i32* %28, align 4
%29 = load i32* %25, align 4
%30 = getelementptr inbounds i8* %2, i32 4
%31 = bitcast i8* %30 to i32*
%32 = load i32* %31, align 4
%33 = sdiv i32 %29, %32
%34 = getelementptr inbounds i8* %3, i32 16
%35 = bitcast i8* %34 to i32*
store i32 %33, i32* %35, align 4
%36 = load i32* %31, align 4
%37 = getelementptr inbounds i8* %3, i32 12
%38 = bitcast i8* %37 to i32*
store i32 %36, i32* %38, align 4
%39 = add nsw i32 %26, %36
%40 = getelementptr inbounds i8* %3, i32 20
%41 = bitcast i8* %40 to i32*
store i32 %39, i32* %41, align 4
%42 = getelementptr inbounds i8* %2, i32 8
%43 = bitcast i8* %42 to i32*
%44 = load i32* %43, align 4
%45 = getelementptr inbounds i8* %3, i32 24
%46 = bitcast i8* %45 to i32*
store i32 %44, i32* %46, align 4
%47 = getelementptr inbounds i8* %2, i32 20
%48 = bitcast i8* %47 to float*
%49 = load float* %48, align 4
%50 = getelementptr inbounds i8* %3, i32 56
%51 = bitcast i8* %50 to float*
store float %49, float* %51, align 4
%52 = getelementptr inbounds i8* %2, i32 24
%53 = bitcast i8* %52 to float*
%54 = load float* %53, align 4
%55 = getelementptr inbounds i8* %3, i32 60
%56 = bitcast i8* %55 to float*
store float %54, float* %56, align 4
%57 = getelementptr inbounds i8* %2, i32 12
%58 = bitcast i8* %57 to i32*
%59 = load i32* %58, align 4
%60 = getelementptr inbounds i8* %3, i32 28
%61 = bitcast i8* %60 to i32*
store i32 %59, i32* %61, align 4
%62 = getelementptr inbounds i8* %2, i32 16
%63 = bitcast i8* %62 to i32*
%64 = load i32* %63, align 4
%65 = getelementptr inbounds i8* %3, i32 32
%66 = bitcast i8* %65 to i32*
store i32 %64, i32* %66, align 4
%67 = getelementptr inbounds i8* %2, i32 28
%68 = bitcast i8* %67 to float*
%69 = load float* %68, align 4
%70 = getelementptr inbounds i8* %3, i32 64
%71 = bitcast i8* %70 to float*
store float %69, float* %71, align 4
%72 = getelementptr inbounds i8* %2, i32 32
%73 = bitcast i8* %72 to %struct.SpeexSubmode**
%74 = getelementptr inbounds i8* %3, i32 208
%75 = bitcast i8* %74 to %struct.SpeexSubmode***
store %struct.SpeexSubmode** %73, %struct.SpeexSubmode*** %75, align 4
%76 = getelementptr inbounds i8* %2, i32 96
%77 = bitcast i8* %76 to i32*
%78 = load i32* %77, align 4
%79 = getelementptr inbounds i8* %3, i32 216
%80 = bitcast i8* %79 to i32*
store i32 %78, i32* %80, align 4
%81 = getelementptr inbounds i8* %3, i32 212
%82 = bitcast i8* %81 to i32*
store i32 %78, i32* %82, align 4
%83 = getelementptr inbounds i8* %3, i32 40
%84 = bitcast i8* %83 to i32*
store i32 1, i32* %84, align 4
%85 = getelementptr inbounds i8* %3, i32 204
%86 = bitcast i8* %85 to i32*
store i32 1, i32* %86, align 4
%87 = getelementptr inbounds i8* %3, i32 36
%88 = bitcast i8* %87 to float*
store float 1.024000e+03, float* %88, align 4
%89 = shl i32 %36, 2
%90 = tail call fastcc i8* @malloc(i32 %89) nounwind
%91 = icmp eq i8* %90, null
br i1 %91, label %_Z11speex_alloci.exit2, label %92
; <label>:92 ; preds = %_Z19speex_alloc_scratchi.exit
%93 = getelementptr inbounds i8* %90, i32 -4
%94 = bitcast i8* %93 to i32*
%95 = load i32* %94, align 4
%96 = and i32 %95, 3
%97 = icmp eq i32 %96, 0
br i1 %97, label %_Z11speex_alloci.exit2, label %98
; <label>:98 ; preds = %92
tail call void @llvm.memset.p0i8.i32(i8* %90, i8 0, i32 %89, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit2
_Z11speex_alloci.exit2: ; preds = %98, %92, %_Z19speex_alloc_scratchi.exit
%99 = bitcast i8* %90 to float*
%100 = getelementptr inbounds i8* %3, i32 72
%101 = bitcast i8* %100 to float**
store float* %99, float** %101, align 4
%102 = load i32* %25, align 4
%103 = load i32* %63, align 4
%104 = add nsw i32 %103, %102
%105 = shl i32 %104, 2
%106 = add i32 %105, 8
%107 = tail call fastcc i8* @malloc(i32 %106) nounwind
%108 = icmp eq i8* %107, null
br i1 %108, label %_Z11speex_alloci.exit3, label %109
; <label>:109 ; preds = %_Z11speex_alloci.exit2
%110 = getelementptr inbounds i8* %107, i32 -4
%111 = bitcast i8* %110 to i32*
%112 = load i32* %111, align 4
%113 = and i32 %112, 3
%114 = icmp eq i32 %113, 0
br i1 %114, label %_Z11speex_alloci.exit3, label %115
; <label>:115 ; preds = %109
tail call void @llvm.memset.p0i8.i32(i8* %107, i8 0, i32 %106, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit3
_Z11speex_alloci.exit3: ; preds = %115, %109, %_Z11speex_alloci.exit2
%116 = bitcast i8* %107 to float*
%117 = getelementptr inbounds i8* %3, i32 76
%118 = bitcast i8* %117 to float**
store float* %116, float** %118, align 4
%119 = load i32* %63, align 4
%.sum = add i32 %119, 2
%120 = getelementptr inbounds float* %116, i32 %.sum
%121 = getelementptr inbounds i8* %3, i32 80
%122 = bitcast i8* %121 to float**
store float* %120, float** %122, align 4
%123 = load i32* %25, align 4
%124 = load i32* %63, align 4
%125 = add nsw i32 %124, %123
%126 = shl i32 %125, 2
%127 = add i32 %126, 8
%128 = tail call fastcc i8* @malloc(i32 %127) nounwind
%129 = icmp eq i8* %128, null
br i1 %129, label %_Z11speex_alloci.exit4, label %130
; <label>:130 ; preds = %_Z11speex_alloci.exit3
%131 = getelementptr inbounds i8* %128, i32 -4
%132 = bitcast i8* %131 to i32*
%133 = load i32* %132, align 4
%134 = and i32 %133, 3
%135 = icmp eq i32 %134, 0
br i1 %135, label %_Z11speex_alloci.exit4, label %136
; <label>:136 ; preds = %130
tail call void @llvm.memset.p0i8.i32(i8* %128, i8 0, i32 %127, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit4
_Z11speex_alloci.exit4: ; preds = %136, %130, %_Z11speex_alloci.exit3
%137 = bitcast i8* %128 to float*
%138 = getelementptr inbounds i8* %3, i32 84
%139 = bitcast i8* %138 to float**
store float* %137, float** %139, align 4
%140 = load i32* %63, align 4
%.sum1 = add i32 %140, 2
%141 = getelementptr inbounds float* %137, i32 %.sum1
%142 = getelementptr inbounds i8* %3, i32 88
%143 = bitcast i8* %142 to float**
store float* %141, float** %143, align 4
%144 = getelementptr inbounds i8* %3, i32 92
%145 = bitcast i8* %144 to float**
store float* getelementptr inbounds ([200 x float]* @_ZL13nb_lpc_window, i32 0, i32 0), float** %145, align 4
%146 = getelementptr inbounds i8* %3, i32 96
%147 = bitcast i8* %146 to float**
store float* getelementptr inbounds ([11 x float]* @_ZL13nb_lag_window, i32 0, i32 0), float** %147, align 4
%148 = load i32* %46, align 4
%149 = shl i32 %148, 2
%150 = tail call fastcc i8* @malloc(i32 %149) nounwind
%151 = icmp eq i8* %150, null
br i1 %151, label %_Z11speex_alloci.exit5, label %152
; <label>:152 ; preds = %_Z11speex_alloci.exit4
%153 = getelementptr inbounds i8* %150, i32 -4
%154 = bitcast i8* %153 to i32*
%155 = load i32* %154, align 4
%156 = and i32 %155, 3
%157 = icmp eq i32 %156, 0
br i1 %157, label %_Z11speex_alloci.exit5, label %158
; <label>:158 ; preds = %152
tail call void @llvm.memset.p0i8.i32(i8* %150, i8 0, i32 %149, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit5
_Z11speex_alloci.exit5: ; preds = %158, %152, %_Z11speex_alloci.exit4
%159 = bitcast i8* %150 to float*
%160 = getelementptr inbounds i8* %3, i32 100
%161 = bitcast i8* %160 to float**
store float* %159, float** %161, align 4
%162 = load i32* %46, align 4
%163 = shl i32 %162, 2
%164 = tail call fastcc i8* @malloc(i32 %163) nounwind
%165 = icmp eq i8* %164, null
br i1 %165, label %_Z11speex_alloci.exit6, label %166
; <label>:166 ; preds = %_Z11speex_alloci.exit5
%167 = getelementptr inbounds i8* %164, i32 -4
%168 = bitcast i8* %167 to i32*
%169 = load i32* %168, align 4
%170 = and i32 %169, 3
%171 = icmp eq i32 %170, 0
br i1 %171, label %_Z11speex_alloci.exit6, label %172
; <label>:172 ; preds = %166
tail call void @llvm.memset.p0i8.i32(i8* %164, i8 0, i32 %163, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit6
_Z11speex_alloci.exit6: ; preds = %172, %166, %_Z11speex_alloci.exit5
%173 = bitcast i8* %164 to float*
%174 = getelementptr inbounds i8* %3, i32 104
%175 = bitcast i8* %174 to float**
store float* %173, float** %175, align 4
%176 = getelementptr inbounds i8* %3, i32 4
%177 = bitcast i8* %176 to i32*
store i32 1, i32* %177, align 4
%178 = load i32* %46, align 4
%179 = icmp sgt i32 %178, 0
br i1 %179, label %.lr.ph, label %._crit_edge
.lr.ph: ; preds = %.lr.ph, %_Z11speex_alloci.exit6
%180 = phi i32 [ %189, %.lr.ph ], [ %178, %_Z11speex_alloci.exit6 ]
%i.015 = phi i32 [ %181, %.lr.ph ], [ 0, %_Z11speex_alloci.exit6 ]
%181 = add nsw i32 %i.015, 1
%182 = sitofp i32 %181 to float
%183 = fmul float %182, 0x400921FB60000000
%184 = add nsw i32 %180, 1
%185 = sitofp i32 %184 to float
%186 = fdiv float %183, %185
%187 = load float** %161, align 4
%188 = getelementptr inbounds float* %187, i32 %i.015
store float %186, float* %188, align 4
%189 = load i32* %46, align 4
%190 = icmp slt i32 %181, %189
br i1 %190, label %.lr.ph, label %._crit_edge
._crit_edge: ; preds = %.lr.ph, %_Z11speex_alloci.exit6
%.lcssa = phi i32 [ %178, %_Z11speex_alloci.exit6 ], [ %189, %.lr.ph ]
%191 = shl i32 %.lcssa, 2
%192 = tail call fastcc i8* @malloc(i32 %191) nounwind
%193 = icmp eq i8* %192, null
br i1 %193, label %_Z11speex_alloci.exit7, label %194
; <label>:194 ; preds = %._crit_edge
%195 = getelementptr inbounds i8* %192, i32 -4
%196 = bitcast i8* %195 to i32*
%197 = load i32* %196, align 4
%198 = and i32 %197, 3
%199 = icmp eq i32 %198, 0
br i1 %199, label %_Z11speex_alloci.exit7, label %200
; <label>:200 ; preds = %194
tail call void @llvm.memset.p0i8.i32(i8* %192, i8 0, i32 %191, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit7
_Z11speex_alloci.exit7: ; preds = %200, %194, %._crit_edge
%201 = bitcast i8* %192 to float*
%202 = getelementptr inbounds i8* %3, i32 108
%203 = bitcast i8* %202 to float**
store float* %201, float** %203, align 4
%204 = load i32* %46, align 4
%205 = shl i32 %204, 2
%206 = tail call fastcc i8* @malloc(i32 %205) nounwind
%207 = icmp eq i8* %206, null
br i1 %207, label %_Z11speex_alloci.exit8, label %208
; <label>:208 ; preds = %_Z11speex_alloci.exit7
%209 = getelementptr inbounds i8* %206, i32 -4
%210 = bitcast i8* %209 to i32*
%211 = load i32* %210, align 4
%212 = and i32 %211, 3
%213 = icmp eq i32 %212, 0
br i1 %213, label %_Z11speex_alloci.exit8, label %214
; <label>:214 ; preds = %208
tail call void @llvm.memset.p0i8.i32(i8* %206, i8 0, i32 %205, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit8
_Z11speex_alloci.exit8: ; preds = %214, %208, %_Z11speex_alloci.exit7
%215 = bitcast i8* %206 to float*
%216 = getelementptr inbounds i8* %3, i32 112
%217 = bitcast i8* %216 to float**
store float* %215, float** %217, align 4
%218 = load i32* %46, align 4
%219 = shl i32 %218, 2
%220 = tail call fastcc i8* @malloc(i32 %219) nounwind
%221 = icmp eq i8* %220, null
br i1 %221, label %_Z11speex_alloci.exit9, label %222
; <label>:222 ; preds = %_Z11speex_alloci.exit8
%223 = getelementptr inbounds i8* %220, i32 -4
%224 = bitcast i8* %223 to i32*
%225 = load i32* %224, align 4
%226 = and i32 %225, 3
%227 = icmp eq i32 %226, 0
br i1 %227, label %_Z11speex_alloci.exit9, label %228
; <label>:228 ; preds = %222
tail call void @llvm.memset.p0i8.i32(i8* %220, i8 0, i32 %219, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit9
_Z11speex_alloci.exit9: ; preds = %228, %222, %_Z11speex_alloci.exit8
%229 = bitcast i8* %220 to float*
%230 = getelementptr inbounds i8* %3, i32 116
%231 = bitcast i8* %230 to float**
store float* %229, float** %231, align 4
%232 = load i32* %46, align 4
%233 = shl i32 %232, 2
%234 = tail call fastcc i8* @malloc(i32 %233) nounwind
%235 = icmp eq i8* %234, null
br i1 %235, label %_Z11speex_alloci.exit10, label %236
; <label>:236 ; preds = %_Z11speex_alloci.exit9
%237 = getelementptr inbounds i8* %234, i32 -4
%238 = bitcast i8* %237 to i32*
%239 = load i32* %238, align 4
%240 = and i32 %239, 3
%241 = icmp eq i32 %240, 0
br i1 %241, label %_Z11speex_alloci.exit10, label %242
; <label>:242 ; preds = %236
tail call void @llvm.memset.p0i8.i32(i8* %234, i8 0, i32 %233, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit10
_Z11speex_alloci.exit10: ; preds = %242, %236, %_Z11speex_alloci.exit9
%243 = bitcast i8* %234 to float*
%244 = getelementptr inbounds i8* %3, i32 120
%245 = bitcast i8* %244 to float**
store float* %243, float** %245, align 4
%246 = load i32* %46, align 4
%247 = shl i32 %246, 2
%248 = tail call fastcc i8* @malloc(i32 %247) nounwind
%249 = icmp eq i8* %248, null
br i1 %249, label %_Z11speex_alloci.exit11, label %250
; <label>:250 ; preds = %_Z11speex_alloci.exit10
%251 = getelementptr inbounds i8* %248, i32 -4
%252 = bitcast i8* %251 to i32*
%253 = load i32* %252, align 4
%254 = and i32 %253, 3
%255 = icmp eq i32 %254, 0
br i1 %255, label %_Z11speex_alloci.exit11, label %256
; <label>:256 ; preds = %250
tail call void @llvm.memset.p0i8.i32(i8* %248, i8 0, i32 %247, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit11
_Z11speex_alloci.exit11: ; preds = %256, %250, %_Z11speex_alloci.exit10
%257 = bitcast i8* %248 to float*
%258 = getelementptr inbounds i8* %3, i32 124
%259 = bitcast i8* %258 to float**
store float* %257, float** %259, align 4
%260 = load i32* %35, align 4
%261 = shl i32 %260, 2
%262 = tail call fastcc i8* @malloc(i32 %261) nounwind
%263 = icmp eq i8* %262, null
br i1 %263, label %_Z11speex_alloci.exit12, label %264
; <label>:264 ; preds = %_Z11speex_alloci.exit11
%265 = getelementptr inbounds i8* %262, i32 -4
%266 = bitcast i8* %265 to i32*
%267 = load i32* %266, align 4
%268 = and i32 %267, 3
%269 = icmp eq i32 %268, 0
br i1 %269, label %_Z11speex_alloci.exit12, label %270
; <label>:270 ; preds = %264
tail call void @llvm.memset.p0i8.i32(i8* %262, i8 0, i32 %261, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit12
_Z11speex_alloci.exit12: ; preds = %270, %264, %_Z11speex_alloci.exit11
%271 = bitcast i8* %262 to float*
%272 = getelementptr inbounds i8* %3, i32 136
%273 = bitcast i8* %272 to float**
store float* %271, float** %273, align 4
%274 = getelementptr inbounds i8* %3, i32 140
%275 = bitcast i8* %274 to float**
store float* null, float** %275, align 4
%276 = load i32* %35, align 4
%277 = shl i32 %276, 2
%278 = tail call fastcc i8* @malloc(i32 %277) nounwind
%279 = icmp eq i8* %278, null
br i1 %279, label %_Z11speex_alloci.exit13, label %280
; <label>:280 ; preds = %_Z11speex_alloci.exit12
%281 = getelementptr inbounds i8* %278, i32 -4
%282 = bitcast i8* %281 to i32*
%283 = load i32* %282, align 4
%284 = and i32 %283, 3
%285 = icmp eq i32 %284, 0
br i1 %285, label %_Z11speex_alloci.exit13, label %286
; <label>:286 ; preds = %280
tail call void @llvm.memset.p0i8.i32(i8* %278, i8 0, i32 %277, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit13
_Z11speex_alloci.exit13: ; preds = %286, %280, %_Z11speex_alloci.exit12
%287 = bitcast i8* %278 to i32*
%288 = getelementptr inbounds i8* %3, i32 52
%289 = bitcast i8* %288 to i32**
store i32* %287, i32** %289, align 4
%290 = tail call fastcc i8* @malloc(i32 64) nounwind
%291 = icmp eq i8* %290, null
br i1 %291, label %_Z11speex_alloci.exit14, label %292
; <label>:292 ; preds = %_Z11speex_alloci.exit13
%293 = getelementptr inbounds i8* %290, i32 -4
%294 = bitcast i8* %293 to i32*
%295 = load i32* %294, align 4
%296 = and i32 %295, 3
%297 = icmp eq i32 %296, 0
br i1 %297, label %_Z11speex_alloci.exit14, label %298
; <label>:298 ; preds = %292
tail call void @llvm.memset.p0i8.i32(i8* %290, i8 0, i32 64, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit14
_Z11speex_alloci.exit14: ; preds = %298, %292, %_Z11speex_alloci.exit13
%299 = bitcast i8* %290 to %struct.VBRState*
%300 = getelementptr inbounds i8* %3, i32 144
%301 = bitcast i8* %300 to %struct.VBRState**
store %struct.VBRState* %299, %struct.VBRState** %301, align 4
%302 = getelementptr inbounds i8* %290, i32 4
%303 = bitcast i8* %302 to float*
store float 0.000000e+00, float* %303, align 4
%304 = getelementptr inbounds i8* %290, i32 8
%305 = bitcast i8* %304 to float*
store float 1.000000e+00, float* %305, align 4
%306 = getelementptr inbounds i8* %290, i32 32
%307 = bitcast i8* %306 to float*
store float 0.000000e+00, float* %307, align 4
%308 = bitcast i8* %290 to float*
store float 0x3FB99999A0000000, float* %308, align 4
%309 = getelementptr inbounds i8* %290, i32 40
%310 = bitcast i8* %309 to float*
store float 0.000000e+00, float* %310, align 4
%311 = getelementptr inbounds i8* %290, i32 36
%312 = bitcast i8* %311 to float*
store float 0.000000e+00, float* %312, align 4
%313 = getelementptr inbounds i8* %290, i32 44
%314 = bitcast i8* %313 to float*
store float 0.000000e+00, float* %314, align 4
%315 = getelementptr inbounds i8* %290, i32 52
%316 = bitcast i8* %315 to float*
store float 0x3FE5C15C40000000, float* %316, align 4
%317 = getelementptr inbounds i8* %290, i32 56
%318 = bitcast i8* %317 to float*
store float 0x3FA99999A0000000, float* %318, align 4
%319 = getelementptr inbounds i8* %290, i32 48
%320 = bitcast i8* %319 to float*
store float 0x402B31B340000000, float* %320, align 4
%321 = getelementptr inbounds i8* %290, i32 60
%322 = bitcast i8* %321 to i32*
store i32 0, i32* %322, align 4
%323 = getelementptr inbounds i8* %290, i32 12
%324 = bitcast i8* %323 to float*
store float 0x40216626C0000000, float* %324, align 4
%325 = getelementptr inbounds i8* %290, i32 16
%326 = bitcast i8* %325 to float*
store float 0x40216626C0000000, float* %326, align 4
%327 = getelementptr inbounds i8* %290, i32 20
%328 = bitcast i8* %327 to float*
store float 0x40216626C0000000, float* %328, align 4
%329 = getelementptr inbounds i8* %290, i32 24
%330 = bitcast i8* %329 to float*
store float 0x40216626C0000000, float* %330, align 4
%331 = getelementptr inbounds i8* %290, i32 28
%332 = bitcast i8* %331 to float*
store float 0x40216626C0000000, float* %332, align 4
%333 = getelementptr inbounds i8* %3, i32 148
%334 = bitcast i8* %333 to float*
store float 8.000000e+00, float* %334, align 4
%335 = getelementptr inbounds i8* %3, i32 156
%336 = getelementptr inbounds i8* %3, i32 200
%337 = bitcast i8* %336 to i32*
call void @llvm.memset.p0i8.i64(i8* %335, i8 0, i64 32, i32 4, i1 false)
store i32 2, i32* %337, align 4
%338 = getelementptr inbounds i8* %3, i32 192
%339 = bitcast i8* %338 to i32*
store i32 2, i32* %339, align 4
%340 = getelementptr inbounds i8* %3, i32 196
%341 = bitcast i8* %340 to i32*
store i32 8000, i32* %341, align 4
%342 = getelementptr inbounds i8* %3, i32 220
%343 = bitcast i8* %342 to i32*
store i32 0, i32* %343, align 4
%344 = getelementptr inbounds i8* %3, i32 224
%345 = bitcast i8* %344 to i32*
store i32 1, i32* %345, align 4
br label %_Z11speex_alloci.exit
_Z11speex_alloci.exit: ; preds = %_Z11speex_alloci.exit14, %0
%.0 = phi i8* [ %3, %_Z11speex_alloci.exit14 ], [ null, %0 ]
ret i8* %.0
}
define internal void @_Z18nb_encoder_destroyPv(i8* %state) nounwind {
%1 = getelementptr inbounds i8* %state, i32 68
%2 = bitcast i8* %1 to i8**
%3 = load i8** %2, align 4
tail call void @free(i8* %3) nounwind
%4 = getelementptr inbounds i8* %state, i32 72
%5 = bitcast i8* %4 to float**
%6 = load float** %5, align 4
%7 = bitcast float* %6 to i8*
tail call void @free(i8* %7) nounwind
%8 = getelementptr inbounds i8* %state, i32 76
%9 = bitcast i8* %8 to float**
%10 = load float** %9, align 4
%11 = bitcast float* %10 to i8*
tail call void @free(i8* %11) nounwind
%12 = getelementptr inbounds i8* %state, i32 104
%13 = bitcast i8* %12 to float**
%14 = load float** %13, align 4
%15 = bitcast float* %14 to i8*
tail call void @free(i8* %15) nounwind
%16 = getelementptr inbounds i8* %state, i32 84
%17 = bitcast i8* %16 to float**
%18 = load float** %17, align 4
%19 = bitcast float* %18 to i8*
tail call void @free(i8* %19) nounwind
%20 = getelementptr inbounds i8* %state, i32 100
%21 = bitcast i8* %20 to float**
%22 = load float** %21, align 4
%23 = bitcast float* %22 to i8*
tail call void @free(i8* %23) nounwind
%24 = getelementptr inbounds i8* %state, i32 108
%25 = bitcast i8* %24 to float**
%26 = load float** %25, align 4
%27 = bitcast float* %26 to i8*
tail call void @free(i8* %27) nounwind
%28 = getelementptr inbounds i8* %state, i32 112
%29 = bitcast i8* %28 to float**
%30 = load float** %29, align 4
%31 = bitcast float* %30 to i8*
tail call void @free(i8* %31) nounwind
%32 = getelementptr inbounds i8* %state, i32 116
%33 = bitcast i8* %32 to float**
%34 = load float** %33, align 4
%35 = bitcast float* %34 to i8*
tail call void @free(i8* %35) nounwind
%36 = getelementptr inbounds i8* %state, i32 120
%37 = bitcast i8* %36 to float**
%38 = load float** %37, align 4
%39 = bitcast float* %38 to i8*
tail call void @free(i8* %39) nounwind
%40 = getelementptr inbounds i8* %state, i32 124
%41 = bitcast i8* %40 to float**
%42 = load float** %41, align 4
%43 = bitcast float* %42 to i8*
tail call void @free(i8* %43) nounwind
%44 = getelementptr inbounds i8* %state, i32 136
%45 = bitcast i8* %44 to float**
%46 = load float** %45, align 4
%47 = bitcast float* %46 to i8*
tail call void @free(i8* %47) nounwind
%48 = getelementptr inbounds i8* %state, i32 52
%49 = bitcast i8* %48 to i32**
%50 = load i32** %49, align 4
%51 = bitcast i32* %50 to i8*
tail call void @free(i8* %51) nounwind
%52 = getelementptr inbounds i8* %state, i32 144
%53 = bitcast i8* %52 to %struct.VBRState**
%54 = load %struct.VBRState** %53, align 4
%55 = bitcast %struct.VBRState* %54 to i8*
tail call void @free(i8* %55) nounwind
tail call void @free(i8* %state) nounwind
ret void
}
define internal i32 @_Z9nb_encodePvS_P9SpeexBits(i8* %state, i8* nocapture %vin, %struct.SpeexBits* %bits) {
%nol_pitch = alloca [6 x i32], align 4
%nol_pitch_coef = alloca [6 x float], align 4
%mode = alloca i32, align 4
%rate = alloca i32, align 4
%bitrate = alloca i32, align 4
%1 = bitcast i8* %vin to float*
%2 = getelementptr inbounds i8* %state, i32 68
%3 = bitcast i8* %2 to i8**
%4 = load i8** %3, align 4
%5 = ptrtoint i8* %4 to i32
%6 = sub i32 0, %5
%7 = and i32 %6, 3
%8 = getelementptr inbounds i8* %state, i32 24
%9 = bitcast i8* %8 to i32*
%10 = load i32* %9, align 4
%11 = shl i32 %10, 2
%.sum = or i32 %7, %11
%12 = getelementptr inbounds i8* %4, i32 %.sum
%.sum1 = sub i32 %.sum, %11
%13 = getelementptr inbounds i8* %4, i32 %.sum1
%14 = bitcast i8* %13 to float*
%15 = ptrtoint i8* %12 to i32
%16 = sub i32 0, %15
%17 = and i32 %16, 3
%.sum2 = add i32 %17, %.sum
%.sum3 = add i32 %.sum2, %11
%18 = getelementptr inbounds i8* %4, i32 %.sum3
%19 = getelementptr inbounds i8* %4, i32 %.sum2
%20 = bitcast i8* %19 to float*
%21 = ptrtoint i8* %18 to i32
%22 = sub i32 0, %21
%23 = and i32 %22, 3
%.sum5 = add i32 %23, %.sum3
%.sum6 = add i32 %.sum5, %11
%24 = getelementptr inbounds i8* %4, i32 %.sum6
%25 = getelementptr inbounds i8* %4, i32 %.sum5
%26 = bitcast i8* %25 to float*
%27 = ptrtoint i8* %24 to i32
%28 = sub i32 0, %27
%29 = and i32 %28, 3
%.sum8 = add i32 %29, %.sum6
%.sum9 = add i32 %.sum8, %11
%30 = getelementptr inbounds i8* %4, i32 %.sum9
%31 = getelementptr inbounds i8* %4, i32 %.sum8
%32 = bitcast i8* %31 to float*
%33 = ptrtoint i8* %30 to i32
%34 = sub i32 0, %33
%35 = and i32 %34, 3
%.sum11 = add i32 %35, %.sum9
%.sum12 = add i32 %.sum11, %11
%36 = getelementptr inbounds i8* %4, i32 %.sum12
%37 = getelementptr inbounds i8* %4, i32 %.sum11
%38 = bitcast i8* %37 to float*
%39 = ptrtoint i8* %36 to i32
%40 = sub i32 0, %39
%41 = and i32 %40, 3
%.sum14 = add i32 %41, %.sum12
%.sum15 = add i32 %.sum14, %11
%42 = getelementptr inbounds i8* %4, i32 %.sum15
%43 = getelementptr inbounds i8* %4, i32 %.sum14
%44 = bitcast i8* %43 to float*
%45 = ptrtoint i8* %42 to i32
%46 = sub i32 0, %45
%47 = and i32 %46, 3
%.sum17 = add i32 %47, %.sum15
%.sum18 = add i32 %.sum17, %11
%48 = getelementptr inbounds i8* %4, i32 %.sum18
%49 = getelementptr inbounds i8* %4, i32 %.sum17
%50 = bitcast i8* %49 to float*
%51 = ptrtoint i8* %48 to i32
%52 = sub i32 0, %51
%53 = and i32 %52, 3
%.sum20 = add i32 %53, %.sum18
%.sum21 = add i32 %.sum20, %11
%54 = getelementptr inbounds i8* %4, i32 %.sum21
%55 = getelementptr inbounds i8* %4, i32 %.sum20
%56 = bitcast i8* %55 to float*
%57 = ptrtoint i8* %54 to i32
%58 = sub i32 0, %57
%59 = and i32 %58, 3
%.sum23 = add i32 %59, %.sum21
%.sum24 = add i32 %.sum23, %11
%60 = getelementptr inbounds i8* %4, i32 %.sum24
%61 = getelementptr inbounds i8* %4, i32 %.sum23
%62 = bitcast i8* %61 to float*
%63 = getelementptr inbounds i8* %state, i32 76
%64 = bitcast i8* %63 to float**
%65 = load float** %64, align 4
%66 = bitcast float* %65 to i8*
%67 = getelementptr inbounds i8* %state, i32 8
%68 = bitcast i8* %67 to i32*
%69 = load i32* %68, align 4
%70 = getelementptr inbounds float* %65, i32 %69
%71 = bitcast float* %70 to i8*
%72 = getelementptr inbounds i8* %state, i32 32
%73 = bitcast i8* %72 to i32*
%74 = load i32* %73, align 4
%75 = shl i32 %74, 2
%76 = add i32 %75, 8
call void @llvm.memmove.p0i8.p0i8.i32(i8* %66, i8* %71, i32 %76, i32 4, i1 false)
%77 = getelementptr inbounds i8* %state, i32 84
%78 = bitcast i8* %77 to float**
%79 = load float** %78, align 4
%80 = bitcast float* %79 to i8*
%81 = load i32* %68, align 4
%82 = getelementptr inbounds float* %79, i32 %81
%83 = bitcast float* %82 to i8*
%84 = load i32* %73, align 4
%85 = shl i32 %84, 2
%86 = add i32 %85, 8
call void @llvm.memmove.p0i8.p0i8.i32(i8* %80, i8* %83, i32 %86, i32 4, i1 false)
%87 = getelementptr inbounds i8* %state, i32 224
%88 = bitcast i8* %87 to i32*
%89 = load i32* %88, align 4
%90 = icmp eq i32 %89, 0
br i1 %90, label %_Z8highpassPKfPfiiS1_.exit, label %91
; <label>:91 ; preds = %0
%92 = load i32* %68, align 4
%93 = getelementptr inbounds i8* %state, i32 220
%94 = bitcast i8* %93 to i32*
%95 = load i32* %94, align 4
%96 = icmp ne i32 %95, 0
%97 = select i1 %96, i32 2, i32 0
%98 = getelementptr inbounds i8* %state, i32 128
%99 = bitcast i8* %98 to float*
%100 = icmp sgt i32 %92, 0
br i1 %100, label %.lr.ph.i, label %_Z8highpassPKfPfiiS1_.exit
.lr.ph.i: ; preds = %91
%101 = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Zcoef, i32 0, i32 %97, i32 0
%102 = load float* %101, align 4
%103 = getelementptr inbounds i8* %state, i32 132
%104 = bitcast i8* %103 to float*
%105 = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Zcoef, i32 0, i32 %97, i32 1
%106 = load float* %105, align 4
%107 = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Pcoef, i32 0, i32 %97, i32 1
%108 = load float* %107, align 4
%109 = fsub float -0.000000e+00, %108
%110 = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Zcoef, i32 0, i32 %97, i32 2
%111 = load float* %110, align 4
%112 = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Pcoef, i32 0, i32 %97, i32 2
%113 = load float* %112, align 4
%114 = fsub float -0.000000e+00, %113
br label %115
; <label>:115 ; preds = %115, %.lr.ph.i
%i.01.i = phi i32 [ 0, %.lr.ph.i ], [ %130, %115 ]
%116 = getelementptr inbounds float* %1, i32 %i.01.i
%117 = load float* %116, align 4
%118 = fmul float %102, %117
%119 = load float* %99, align 4
%120 = fadd float %118, %119
%121 = load float* %104, align 4
%122 = fmul float %106, %117
%123 = fadd float %121, %122
%124 = fmul float %120, %109
%125 = fadd float %123, %124
store float %125, float* %99, align 4
%126 = load float* %116, align 4
%127 = fmul float %111, %126
%128 = fmul float %120, %114
%129 = fadd float %127, %128
store float %129, float* %104, align 4
store float %120, float* %116, align 4
%130 = add nsw i32 %i.01.i, 1
%exitcond.i = icmp eq i32 %130, %92
br i1 %exitcond.i, label %_Z8highpassPKfPfiiS1_.exit, label %115
_Z8highpassPKfPfiiS1_.exit: ; preds = %115, %91, %0
%131 = ptrtoint i8* %60 to i32
%132 = sub i32 0, %131
%133 = and i32 %132, 3
%.sum26 = add i32 %133, %.sum24
%134 = getelementptr inbounds i8* %state, i32 20
%135 = bitcast i8* %134 to i32*
%136 = load i32* %135, align 4
%137 = shl i32 %136, 2
%.sum27 = add i32 %137, %.sum26
%138 = getelementptr inbounds i8* %4, i32 %.sum27
%139 = getelementptr inbounds i8* %4, i32 %.sum26
%140 = bitcast i8* %139 to float*
%141 = ptrtoint i8* %138 to i32
%142 = sub i32 0, %141
%143 = and i32 %142, 3
%.sum29 = add i32 %143, %.sum27
%144 = load i32* %9, align 4
%145 = shl i32 %144, 2
%146 = add i32 %145, 4
%.sum30 = add i32 %146, %.sum29
%147 = getelementptr inbounds i8* %4, i32 %.sum30
%148 = getelementptr inbounds i8* %4, i32 %.sum29
%149 = bitcast i8* %148 to float*
%150 = load i32* %68, align 4
%151 = sub nsw i32 %136, %150
%152 = icmp sgt i32 %151, 0
br i1 %152, label %.lr.ph362, label %.preheader355
.lr.ph362: ; preds = %_Z8highpassPKfPfiiS1_.exit
%153 = getelementptr inbounds i8* %state, i32 72
%154 = bitcast i8* %153 to float**
%155 = getelementptr inbounds i8* %state, i32 92
%156 = bitcast i8* %155 to float**
br label %162
.preheader355: ; preds = %162, %_Z8highpassPKfPfiiS1_.exit
%157 = phi i32 [ %150, %_Z8highpassPKfPfiiS1_.exit ], [ %173, %162 ]
%158 = phi i32 [ %136, %_Z8highpassPKfPfiiS1_.exit ], [ %172, %162 ]
%i.0.lcssa = phi i32 [ 0, %_Z8highpassPKfPfiiS1_.exit ], [ %171, %162 ]
%159 = icmp slt i32 %i.0.lcssa, %158
br i1 %159, label %.lr.ph358, label %.preheader355._crit_edge
.lr.ph358: ; preds = %.preheader355
%160 = getelementptr inbounds i8* %state, i32 92
%161 = bitcast i8* %160 to float**
br label %176
; <label>:162 ; preds = %162, %.lr.ph362
%i.0361 = phi i32 [ 0, %.lr.ph362 ], [ %171, %162 ]
%163 = load float** %154, align 4
%164 = getelementptr inbounds float* %163, i32 %i.0361
%165 = load float* %164, align 4
%166 = load float** %156, align 4
%167 = getelementptr inbounds float* %166, i32 %i.0361
%168 = load float* %167, align 4
%169 = fmul float %165, %168
%170 = getelementptr inbounds float* %140, i32 %i.0361
store float %169, float* %170, align 4
%171 = add nsw i32 %i.0361, 1
%172 = load i32* %135, align 4
%173 = load i32* %68, align 4
%174 = sub nsw i32 %172, %173
%175 = icmp slt i32 %171, %174
br i1 %175, label %162, label %.preheader355
; <label>:176 ; preds = %._crit_edge417, %.lr.ph358
%177 = phi i32 [ %157, %.lr.ph358 ], [ %.pre431, %._crit_edge417 ]
%178 = phi i32 [ %158, %.lr.ph358 ], [ %189, %._crit_edge417 ]
%i.1357 = phi i32 [ %i.0.lcssa, %.lr.ph358 ], [ %188, %._crit_edge417 ]
%179 = sub i32 %i.1357, %178
%180 = add i32 %179, %177
%181 = getelementptr inbounds float* %1, i32 %180
%182 = load float* %181, align 4
%183 = load float** %161, align 4
%184 = getelementptr inbounds float* %183, i32 %i.1357
%185 = load float* %184, align 4
%186 = fmul float %182, %185
%187 = getelementptr inbounds float* %140, i32 %i.1357
store float %186, float* %187, align 4
%188 = add nsw i32 %i.1357, 1
%189 = load i32* %135, align 4
%190 = icmp slt i32 %188, %189
br i1 %190, label %._crit_edge417, label %.preheader355._crit_edge
._crit_edge417: ; preds = %176
%.pre431 = load i32* %68, align 4
br label %176
.preheader355._crit_edge: ; preds = %176, %.preheader355
%.lcssa356 = phi i32 [ %158, %.preheader355 ], [ %189, %176 ]
%191 = load i32* %9, align 4
%192 = add nsw i32 %191, 1
%193 = icmp eq i32 %192, 0
br i1 %193, label %_Z13_spx_autocorrPKfPfii.exit, label %.preheader.i
.preheader.i: ; preds = %._crit_edge.i, %.preheader355._crit_edge
%.in.i = phi i32 [ %194, %._crit_edge.i ], [ %192, %.preheader355._crit_edge ]
%194 = add nsw i32 %.in.i, -1
%195 = icmp slt i32 %194, %.lcssa356
br i1 %195, label %.lr.ph.i71, label %._crit_edge.i
.lr.ph.i71: ; preds = %.lr.ph.i71, %.preheader.i
%i.02.i = phi i32 [ %203, %.lr.ph.i71 ], [ %194, %.preheader.i ]
%d.01.i = phi float [ %202, %.lr.ph.i71 ], [ 0.000000e+00, %.preheader.i ]
%196 = getelementptr inbounds float* %140, i32 %i.02.i
%197 = load float* %196, align 4
%198 = sub nsw i32 %i.02.i, %194
%199 = getelementptr inbounds float* %140, i32 %198
%200 = load float* %199, align 4
%201 = fmul float %197, %200
%202 = fadd float %d.01.i, %201
%203 = add nsw i32 %i.02.i, 1
%exitcond.i70 = icmp eq i32 %203, %.lcssa356
br i1 %exitcond.i70, label %._crit_edge.i, label %.lr.ph.i71
._crit_edge.i: ; preds = %.lr.ph.i71, %.preheader.i
%d.0.lcssa.i = phi float [ 0.000000e+00, %.preheader.i ], [ %202, %.lr.ph.i71 ]
%204 = getelementptr inbounds float* %149, i32 %194
store float %d.0.lcssa.i, float* %204, align 4
%205 = icmp eq i32 %194, 0
br i1 %205, label %_Z13_spx_autocorrPKfPfii.exit, label %.preheader.i
_Z13_spx_autocorrPKfPfii.exit: ; preds = %._crit_edge.i, %.preheader355._crit_edge
%206 = load float* %149, align 4
%207 = fadd float %206, 1.000000e+01
store float %207, float* %149, align 4
%208 = getelementptr inbounds i8* %state, i32 64
%209 = bitcast i8* %208 to float*
%210 = load float* %209, align 4
%211 = fmul float %207, %210
%212 = fadd float %207, %211
store float %212, float* %149, align 4
%213 = load i32* %9, align 4
%214 = add nsw i32 %213, 1
%215 = icmp sgt i32 %214, 0
br i1 %215, label %.lr.ph352, label %._crit_edge353
.lr.ph352: ; preds = %_Z13_spx_autocorrPKfPfii.exit
%216 = getelementptr inbounds i8* %state, i32 96
%217 = bitcast i8* %216 to float**
br label %218
; <label>:218 ; preds = %._crit_edge418, %.lr.ph352
%219 = phi float [ %212, %.lr.ph352 ], [ %.pre430, %._crit_edge418 ]
%i.2351 = phi i32 [ 0, %.lr.ph352 ], [ %225, %._crit_edge418 ]
%220 = getelementptr inbounds float* %149, i32 %i.2351
%221 = load float** %217, align 4
%222 = getelementptr inbounds float* %221, i32 %i.2351
%223 = load float* %222, align 4
%224 = fmul float %219, %223
store float %224, float* %220, align 4
%225 = add nsw i32 %i.2351, 1
%226 = load i32* %9, align 4
%227 = add nsw i32 %226, 1
%228 = icmp slt i32 %225, %227
br i1 %228, label %._crit_edge418, label %._crit_edge353
._crit_edge418: ; preds = %218
%.phi.trans.insert429 = getelementptr inbounds float* %149, i32 %225
%.pre430 = load float* %.phi.trans.insert429, align 4
br label %218
._crit_edge353: ; preds = %218, %_Z13_spx_autocorrPKfPfii.exit
%.lcssa350 = phi i32 [ %213, %_Z13_spx_autocorrPKfPfii.exit ], [ %226, %218 ]
call fastcc void @_Z8_spx_lpcPfPKfi(float* %14, float* %149, i32 %.lcssa350)
%229 = load i32* %9, align 4
%230 = call fastcc i32 @_Z10lpc_to_lspPfiS_ifPc(float* %14, i32 %229, float* %32, float 0x3FC99999A0000000, i8* %147)
%231 = load i32* %9, align 4
%232 = icmp ne i32 %230, %231
%233 = icmp sgt i32 %231, 0
%or.cond439 = and i1 %232, %233
br i1 %or.cond439, label %.lr.ph, label %.loopexit
.lr.ph: ; preds = %._crit_edge353
%234 = getelementptr inbounds i8* %state, i32 100
%235 = bitcast i8* %234 to float**
br label %236
; <label>:236 ; preds = %236, %.lr.ph
%i.3228 = phi i32 [ 0, %.lr.ph ], [ %241, %236 ]
%237 = load float** %235, align 4
%238 = getelementptr inbounds float* %237, i32 %i.3228
%239 = load float* %238, align 4
%240 = getelementptr inbounds float* %32, i32 %i.3228
store float %239, float* %240, align 4
%241 = add nsw i32 %i.3228, 1
%242 = load i32* %9, align 4
%243 = icmp slt i32 %241, %242
br i1 %243, label %236, label %.loopexit
.loopexit: ; preds = %236, %._crit_edge353
%244 = phi i32 [ %231, %._crit_edge353 ], [ %242, %236 ]
%245 = load i32* %135, align 4
%246 = load i32* %68, align 4
%247 = sub nsw i32 %245, %246
%248 = getelementptr inbounds i8* %state, i32 4
%249 = bitcast i8* %248 to i32*
%250 = load i32* %249, align 4
%251 = icmp eq i32 %250, 0
br i1 %251, label %259, label %.preheader229
.preheader229: ; preds = %.loopexit
%252 = icmp sgt i32 %244, 0
br i1 %252, label %.lr.ph231, label %_Z15lsp_interpolatePfS_S_iii.exit
.lr.ph231: ; preds = %.lr.ph231, %.preheader229
%i.4230 = phi i32 [ %256, %.lr.ph231 ], [ 0, %.preheader229 ]
%253 = getelementptr inbounds float* %32, i32 %i.4230
%254 = load float* %253, align 4
%255 = getelementptr inbounds float* %44, i32 %i.4230
store float %254, float* %255, align 4
%256 = add nsw i32 %i.4230, 1
%257 = load i32* %9, align 4
%258 = icmp slt i32 %256, %257
br i1 %258, label %.lr.ph231, label %_Z15lsp_interpolatePfS_S_iii.exit
; <label>:259 ; preds = %.loopexit
%260 = getelementptr inbounds i8* %state, i32 100
%261 = bitcast i8* %260 to float**
%262 = load float** %261, align 4
%263 = getelementptr inbounds i8* %state, i32 16
%264 = bitcast i8* %263 to i32*
%265 = load i32* %264, align 4
%266 = shl i32 %265, 1
%267 = sitofp i32 %265 to float
%268 = fadd float %267, 1.000000e+00
%269 = sitofp i32 %266 to float
%270 = fdiv float %268, %269
%271 = icmp sgt i32 %244, 0
br i1 %271, label %.lr.ph.i72, label %_Z15lsp_interpolatePfS_S_iii.exit
.lr.ph.i72: ; preds = %259
%272 = fsub float 1.000000e+00, %270
br label %273
; <label>:273 ; preds = %273, %.lr.ph.i72
%i.01.i73 = phi i32 [ 0, %.lr.ph.i72 ], [ %282, %273 ]
%274 = getelementptr inbounds float* %262, i32 %i.01.i73
%275 = load float* %274, align 4
%276 = fmul float %272, %275
%277 = getelementptr inbounds float* %32, i32 %i.01.i73
%278 = load float* %277, align 4
%279 = fmul float %270, %278
%280 = fadd float %276, %279
%281 = getelementptr inbounds float* %44, i32 %i.01.i73
store float %280, float* %281, align 4
%282 = add nsw i32 %i.01.i73, 1
%exitcond.i74 = icmp eq i32 %282, %244
br i1 %exitcond.i74, label %_Z15lsp_interpolatePfS_S_iii.exit.loopexit349, label %273
_Z15lsp_interpolatePfS_S_iii.exit.loopexit349: ; preds = %273
%.pre = load i32* %9, align 4
br label %_Z15lsp_interpolatePfS_S_iii.exit
_Z15lsp_interpolatePfS_S_iii.exit: ; preds = %_Z15lsp_interpolatePfS_S_iii.exit.loopexit349, %259, %.lr.ph231, %.preheader229
%283 = phi i32 [ %.pre, %_Z15lsp_interpolatePfS_S_iii.exit.loopexit349 ], [ %244, %259 ], [ %244, %.preheader229 ], [ %257, %.lr.ph231 ]
%284 = load float* %44, align 4
%285 = fcmp olt float %284, 0x3F60624DE0000000
br i1 %285, label %286, label %287
; <label>:286 ; preds = %_Z15lsp_interpolatePfS_S_iii.exit
store float 0x3F60624DE0000000, float* %44, align 4
br label %287
; <label>:287 ; preds = %286, %_Z15lsp_interpolatePfS_S_iii.exit
%288 = add nsw i32 %283, -1
%289 = getelementptr inbounds float* %44, i32 %288
%290 = load float* %289, align 4
%291 = fpext float %290 to double
%292 = fcmp ogt double %291, 0x40091DE2C0CC2D18
br i1 %292, label %293, label %.preheader.i91
; <label>:293 ; preds = %287
store float 0x40091DE2C0000000, float* %289, align 4
br label %.preheader.i91
.preheader.i91: ; preds = %293, %287
%294 = icmp sgt i32 %288, 1
br i1 %294, label %.lr.ph.i92, label %_Z18lsp_enforce_marginPfif.exit
.lr.ph.i92: ; preds = %.preheader.i91
%.sum226 = add i32 %.sum14, 4
%.phi.trans.insert.i = getelementptr inbounds i8* %4, i32 %.sum226
%295 = bitcast i8* %.phi.trans.insert.i to float*
%.pre.i = load float* %295, align 4
%.pre2.i = load float* %44, align 4
br label %296
; <label>:296 ; preds = %.backedge.i, %.lr.ph.i92
%297 = phi float [ %.pre2.i, %.lr.ph.i92 ], [ %310, %.backedge.i ]
%298 = phi float [ %.pre.i, %.lr.ph.i92 ], [ %307, %.backedge.i ]
%i.01.i93 = phi i32 [ 1, %.lr.ph.i92 ], [ %305, %.backedge.i ]
%299 = getelementptr inbounds float* %44, i32 %i.01.i93
%300 = fadd float %297, 0x3F60624DE0000000
%301 = fcmp olt float %298, %300
br i1 %301, label %302, label %303
; <label>:302 ; preds = %296
store float %300, float* %299, align 4
br label %303
; <label>:303 ; preds = %302, %296
%304 = phi float [ %300, %302 ], [ %298, %296 ]
%305 = add nsw i32 %i.01.i93, 1
%306 = getelementptr inbounds float* %44, i32 %305
%307 = load float* %306, align 4
%308 = fadd float %307, 0xBF60624DE0000000
%309 = fcmp ogt float %304, %308
br i1 %309, label %311, label %.backedge.i
.backedge.i: ; preds = %311, %303
%310 = phi float [ %304, %303 ], [ %314, %311 ]
%exitcond.i94 = icmp eq i32 %305, %288
br i1 %exitcond.i94, label %_Z18lsp_enforce_marginPfif.exit, label %296
; <label>:311 ; preds = %303
%312 = fadd float %304, %307
%313 = fadd float %312, 0xBF60624DE0000000
%314 = fmul float %313, 5.000000e-01
store float %314, float* %299, align 4
br label %.backedge.i
_Z18lsp_enforce_marginPfif.exit: ; preds = %.backedge.i, %.preheader.i91
%315 = load i32* %9, align 4
call fastcc void @_Z10lsp_to_lpcPfS_iPc(float* %44, float* %56, i32 %315, i8* %147)
%316 = getelementptr inbounds i8* %state, i32 212
%317 = bitcast i8* %316 to i32*
%318 = load i32* %317, align 4
%319 = getelementptr inbounds i8* %state, i32 208
%320 = bitcast i8* %319 to %struct.SpeexSubmode***
%321 = load %struct.SpeexSubmode*** %320, align 4
%322 = getelementptr inbounds %struct.SpeexSubmode** %321, i32 %318
%323 = load %struct.SpeexSubmode** %322, align 4
%324 = icmp eq %struct.SpeexSubmode* %323, null
br i1 %324, label %352, label %325
; <label>:325 ; preds = %_Z18lsp_enforce_marginPfif.exit
%326 = getelementptr inbounds i8* %state, i32 192
%327 = bitcast i8* %326 to i32*
%328 = load i32* %327, align 4
%329 = icmp sgt i32 %328, 2
br i1 %329, label %330, label %334
; <label>:330 ; preds = %325
%331 = getelementptr inbounds %struct.SpeexSubmode* %323, i32 0, i32 2
%332 = load i32* %331, align 4
%333 = icmp slt i32 %332, 3
br i1 %333, label %352, label %334
; <label>:334 ; preds = %330, %325
%335 = getelementptr inbounds %struct.SpeexSubmode* %323, i32 0, i32 1
%336 = load i32* %335, align 4
%337 = icmp eq i32 %336, 0
br i1 %337, label %338, label %352
; <label>:338 ; preds = %334
%339 = getelementptr inbounds %struct.SpeexSubmode* %323, i32 0, i32 0
%340 = load i32* %339, align 4
%341 = icmp eq i32 %340, -1
br i1 %341, label %342, label %352
; <label>:342 ; preds = %338
%343 = getelementptr inbounds i8* %state, i32 156
%344 = bitcast i8* %343 to i32*
%345 = load i32* %344, align 4
%346 = icmp eq i32 %345, 0
br i1 %346, label %347, label %352
; <label>:347 ; preds = %342
%348 = getelementptr inbounds i8* %state, i32 164
%349 = bitcast i8* %348 to i32*
%350 = load i32* %349, align 4
%351 = icmp eq i32 %350, 0
br i1 %351, label %._crit_edge432, label %352
._crit_edge432: ; preds = %347
%.pre433 = getelementptr inbounds i8* %state, i32 72
%.pre434 = bitcast i8* %.pre433 to float**
%.pre436 = shl i32 %247, 2
br label %.loopexit346
; <label>:352 ; preds = %347, %342, %338, %334, %330, %_Z18lsp_enforce_marginPfif.exit
%353 = getelementptr inbounds i8* %state, i32 56
%354 = bitcast i8* %353 to float*
%355 = load float* %354, align 4
%356 = load i32* %9, align 4
%357 = icmp sgt i32 %356, 0
br i1 %357, label %.lr.ph.i102, label %_Z6bw_lpcfPKfPfi.exit114
.lr.ph.i102: ; preds = %.lr.ph.i102, %352
%tmp.02.i = phi float [ %362, %.lr.ph.i102 ], [ %355, %352 ]
%i.01.i100 = phi i32 [ %363, %.lr.ph.i102 ], [ 0, %352 ]
%358 = getelementptr inbounds float* %56, i32 %i.01.i100
%359 = load float* %358, align 4
%360 = fmul float %tmp.02.i, %359
%361 = getelementptr inbounds float* %20, i32 %i.01.i100
store float %360, float* %361, align 4
%362 = fmul float %tmp.02.i, %355
%363 = add nsw i32 %i.01.i100, 1
%exitcond.i101 = icmp eq i32 %363, %356
br i1 %exitcond.i101, label %_Z6bw_lpcfPKfPfi.exit, label %.lr.ph.i102
_Z6bw_lpcfPKfPfi.exit: ; preds = %.lr.ph.i102
%.pr = load i32* %9, align 4
%364 = getelementptr inbounds i8* %state, i32 60
%365 = bitcast i8* %364 to float*
%366 = load float* %365, align 4
%367 = icmp sgt i32 %.pr, 0
br i1 %367, label %.lr.ph.i112, label %_Z6bw_lpcfPKfPfi.exit114
.lr.ph.i112: ; preds = %.lr.ph.i112, %_Z6bw_lpcfPKfPfi.exit
%tmp.02.i109 = phi float [ %372, %.lr.ph.i112 ], [ %366, %_Z6bw_lpcfPKfPfi.exit ]
%i.01.i110 = phi i32 [ %373, %.lr.ph.i112 ], [ 0, %_Z6bw_lpcfPKfPfi.exit ]
%368 = getelementptr inbounds float* %56, i32 %i.01.i110
%369 = load float* %368, align 4
%370 = fmul float %tmp.02.i109, %369
%371 = getelementptr inbounds float* %26, i32 %i.01.i110
store float %370, float* %371, align 4
%372 = fmul float %tmp.02.i109, %366
%373 = add nsw i32 %i.01.i110, 1
%exitcond.i111 = icmp eq i32 %373, %.pr
br i1 %exitcond.i111, label %_Z6bw_lpcfPKfPfi.exit114, label %.lr.ph.i112
_Z6bw_lpcfPKfPfi.exit114: ; preds = %.lr.ph.i112, %_Z6bw_lpcfPKfPfi.exit, %352
%374 = getelementptr inbounds i8* %state, i32 88
%375 = bitcast i8* %374 to float**
%376 = load float** %375, align 4
%377 = bitcast float* %376 to i8*
%378 = getelementptr inbounds i8* %state, i32 72
%379 = bitcast i8* %378 to float**
%380 = load float** %379, align 4
%381 = bitcast float* %380 to i8*
%382 = shl i32 %247, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %377, i8* %381, i32 %382, i32 4, i1 false)
%383 = load float** %375, align 4
%384 = getelementptr inbounds float* %383, i32 %247
%385 = bitcast float* %384 to i8*
%386 = load i32* %68, align 4
%387 = sub nsw i32 %386, %247
%388 = shl i32 %387, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %385, i8* %vin, i32 %388, i32 4, i1 false)
%389 = load float** %375, align 4
%390 = load i32* %68, align 4
%391 = getelementptr inbounds i8* %state, i32 116
%392 = bitcast i8* %391 to float**
%393 = load float** %392, align 4
%394 = icmp sgt i32 %390, 0
br i1 %394, label %.lr.ph4.i115, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122
.lr.ph4.i115: ; preds = %_Z6bw_lpcfPKfPfi.exit114
%395 = load i32* %9, align 4
%396 = add nsw i32 %395, -1
%397 = icmp sgt i32 %396, 0
%398 = getelementptr inbounds float* %20, i32 %396
%399 = getelementptr inbounds float* %26, i32 %396
%400 = getelementptr inbounds float* %393, i32 %396
br label %401
; <label>:401 ; preds = %._crit_edge.i121, %.lr.ph4.i115
%i.02.i116 = phi i32 [ 0, %.lr.ph4.i115 ], [ %424, %._crit_edge.i121 ]
%402 = getelementptr inbounds float* %389, i32 %i.02.i116
%403 = load float* %402, align 4
%404 = load float* %393, align 4
%405 = fadd float %403, %404
%406 = fsub float -0.000000e+00, %405
br i1 %397, label %.lr.ph.i119, label %._crit_edge.i121
.lr.ph.i119: ; preds = %.lr.ph.i119, %401
%j.01.i117 = phi i32 [ %407, %.lr.ph.i119 ], [ 0, %401 ]
%407 = add nsw i32 %j.01.i117, 1
%408 = getelementptr inbounds float* %393, i32 %407
%409 = load float* %408, align 4
%410 = getelementptr inbounds float* %20, i32 %j.01.i117
%411 = load float* %410, align 4
%412 = fmul float %411, %403
%413 = fadd float %409, %412
%414 = getelementptr inbounds float* %26, i32 %j.01.i117
%415 = load float* %414, align 4
%416 = fmul float %415, %406
%417 = fadd float %413, %416
%418 = getelementptr inbounds float* %393, i32 %j.01.i117
store float %417, float* %418, align 4
%exitcond.i118 = icmp eq i32 %407, %396
br i1 %exitcond.i118, label %._crit_edge.i121, label %.lr.ph.i119
._crit_edge.i121: ; preds = %.lr.ph.i119, %401
%419 = load float* %398, align 4
%420 = fmul float %419, %403
%421 = load float* %399, align 4
%422 = fmul float %421, %406
%423 = fadd float %420, %422
store float %423, float* %400, align 4
store float %405, float* %402, align 4
%424 = add nsw i32 %i.02.i116, 1
%exitcond6.i120 = icmp eq i32 %424, %390
br i1 %exitcond6.i120, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122.loopexit, label %401
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122.loopexit: ; preds = %._crit_edge.i121
%.pre382 = load float** %375, align 4
%.pre383 = load i32* %68, align 4
br label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122.loopexit, %_Z6bw_lpcfPKfPfi.exit114
%425 = phi i32 [ %.pre383, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122.loopexit ], [ %390, %_Z6bw_lpcfPKfPfi.exit114 ]
%426 = phi float* [ %.pre382, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122.loopexit ], [ %389, %_Z6bw_lpcfPKfPfi.exit114 ]
%427 = getelementptr inbounds i8* %state, i32 28
%428 = bitcast i8* %427 to i32*
%429 = load i32* %428, align 4
%430 = load i32* %73, align 4
%431 = getelementptr inbounds [6 x i32]* %nol_pitch, i32 0, i32 0
%432 = getelementptr inbounds [6 x float]* %nol_pitch_coef, i32 0, i32 0
call fastcc void @_Z21open_loop_nbest_pitchPfiiiPiS_iPc(float* %426, i32 %429, i32 %430, i32 %425, i32* %431, float* %432, i32 6, i8* %147)
%433 = load i32* %431, align 4
%434 = load float* %432, align 4
%435 = fpext float %434 to double
%436 = fmul double %435, 8.500000e-01
br label %437
; <label>:437 ; preds = %473, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122
%i.5348 = phi i32 [ 1, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122 ], [ %474, %473 ]
%ol_pitch.0347 = phi i32 [ %433, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit122 ], [ %ol_pitch.1, %473 ]
%438 = getelementptr inbounds [6 x float]* %nol_pitch_coef, i32 0, i32 %i.5348
%439 = load float* %438, align 4
%440 = fpext float %439 to double
%441 = fcmp ogt double %440, %436
br i1 %441, label %442, label %473
; <label>:442 ; preds = %437
%443 = getelementptr inbounds [6 x i32]* %nol_pitch, i32 0, i32 %i.5348
%444 = load i32* %443, align 4
%445 = shl nsw i32 %444, 1
%446 = sub nsw i32 %445, %ol_pitch.0347
%447 = icmp slt i32 %446, 0
%448 = sub nsw i32 0, %446
%449 = select i1 %447, i32 %448, i32 %446
%450 = icmp slt i32 %449, 3
br i1 %450, label %472, label %451
; <label>:451 ; preds = %442
%452 = mul nsw i32 %444, 3
%453 = sub nsw i32 %452, %ol_pitch.0347
%454 = icmp slt i32 %453, 0
%455 = sub nsw i32 0, %453
%456 = select i1 %454, i32 %455, i32 %453
%457 = icmp slt i32 %456, 4
br i1 %457, label %472, label %458
; <label>:458 ; preds = %451
%459 = shl nsw i32 %444, 2
%460 = sub nsw i32 %459, %ol_pitch.0347
%461 = icmp slt i32 %460, 0
%462 = sub nsw i32 0, %460
%463 = select i1 %461, i32 %462, i32 %460
%464 = icmp slt i32 %463, 5
br i1 %464, label %472, label %465
; <label>:465 ; preds = %458
%466 = mul nsw i32 %444, 5
%467 = sub nsw i32 %466, %ol_pitch.0347
%468 = icmp slt i32 %467, 0
%469 = sub nsw i32 0, %467
%470 = select i1 %468, i32 %469, i32 %467
%471 = icmp slt i32 %470, 6
br i1 %471, label %472, label %473
; <label>:472 ; preds = %465, %458, %451, %442
br label %473
; <label>:473 ; preds = %472, %465, %437
%ol_pitch.1 = phi i32 [ %444, %472 ], [ %ol_pitch.0347, %465 ], [ %ol_pitch.0347, %437 ]
%474 = add nsw i32 %i.5348, 1
%exitcond = icmp eq i32 %474, 6
br i1 %exitcond, label %.loopexit346, label %437
.loopexit346: ; preds = %473, %._crit_edge432
%.pre-phi437 = phi i32 [ %.pre436, %._crit_edge432 ], [ %382, %473 ]
%.pre-phi435 = phi float** [ %.pre434, %._crit_edge432 ], [ %379, %473 ]
%ol_pitch_coef.0 = phi float [ 0.000000e+00, %._crit_edge432 ], [ %434, %473 ]
%ol_pitch.2 = phi i32 [ 0, %._crit_edge432 ], [ %ol_pitch.1, %473 ]
%475 = getelementptr inbounds i8* %state, i32 80
%476 = bitcast i8* %475 to float**
%477 = load float** %476, align 4
%478 = bitcast float* %477 to i8*
%479 = load float** %.pre-phi435, align 4
%480 = bitcast float* %479 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %478, i8* %480, i32 %.pre-phi437, i32 4, i1 false)
%481 = load float** %476, align 4
%482 = getelementptr inbounds float* %481, i32 %247
%483 = bitcast float* %482 to i8*
%484 = load i32* %68, align 4
%485 = sub nsw i32 %484, %247
%486 = shl i32 %485, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %483, i8* %vin, i32 %486, i32 4, i1 false)
%487 = load float** %476, align 4
%488 = load i32* %68, align 4
%489 = getelementptr inbounds i8* %state, i32 120
%490 = bitcast i8* %489 to float**
%491 = load float** %490, align 4
%492 = icmp sgt i32 %488, 0
br i1 %492, label %.lr.ph4.i123, label %_Z13compute_rms16PKfi.exit
.lr.ph4.i123: ; preds = %.loopexit346
%493 = load i32* %9, align 4
%494 = add nsw i32 %493, -1
%495 = icmp sgt i32 %494, 0
%496 = getelementptr inbounds float* %56, i32 %494
%497 = getelementptr inbounds float* %491, i32 %494
br label %498
; <label>:498 ; preds = %._crit_edge.i129, %.lr.ph4.i123
%i.02.i124 = phi i32 [ 0, %.lr.ph4.i123 ], [ %513, %._crit_edge.i129 ]
%499 = getelementptr inbounds float* %487, i32 %i.02.i124
%500 = load float* %499, align 4
%501 = load float* %491, align 4
%502 = fadd float %500, %501
br i1 %495, label %.lr.ph.i127, label %._crit_edge.i129
.lr.ph.i127: ; preds = %.lr.ph.i127, %498
%j.01.i125 = phi i32 [ %503, %.lr.ph.i127 ], [ 0, %498 ]
%503 = add nsw i32 %j.01.i125, 1
%504 = getelementptr inbounds float* %491, i32 %503
%505 = load float* %504, align 4
%506 = getelementptr inbounds float* %56, i32 %j.01.i125
%507 = load float* %506, align 4
%508 = fmul float %507, %500
%509 = fadd float %505, %508
%510 = getelementptr inbounds float* %491, i32 %j.01.i125
store float %509, float* %510, align 4
%exitcond.i126 = icmp eq i32 %503, %494
br i1 %exitcond.i126, label %._crit_edge.i129, label %.lr.ph.i127
._crit_edge.i129: ; preds = %.lr.ph.i127, %498
%511 = load float* %496, align 4
%512 = fmul float %511, %500
store float %512, float* %497, align 4
store float %502, float* %499, align 4
%513 = add nsw i32 %i.02.i124, 1
%exitcond6.i128 = icmp eq i32 %513, %488
br i1 %exitcond6.i128, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit, label %498
_Z9fir_mem16PKfS0_PfiiS1_Pc.exit: ; preds = %._crit_edge.i129
%.pre384 = load float** %476, align 4
%.pre385 = load i32* %68, align 4
%514 = icmp sgt i32 %.pre385, 0
br i1 %514, label %.lr.ph.i.i, label %_Z13compute_rms16PKfi.exit
.lr.ph.i.i: ; preds = %.lr.ph.i.i, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit
%sum.02.i.i = phi float [ %518, %.lr.ph.i.i ], [ 0.000000e+00, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit ]
%i.01.i.i = phi i32 [ %519, %.lr.ph.i.i ], [ 0, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit ]
%515 = getelementptr inbounds float* %.pre384, i32 %i.01.i.i
%516 = load float* %515, align 4
%517 = fmul float %516, %516
%518 = fadd float %sum.02.i.i, %517
%519 = add nsw i32 %i.01.i.i, 1
%exitcond.i.i = icmp eq i32 %519, %.pre385
br i1 %exitcond.i.i, label %_Z13compute_rms16PKfi.exit, label %.lr.ph.i.i
_Z13compute_rms16PKfi.exit: ; preds = %.lr.ph.i.i, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit, %.loopexit346
%520 = phi i32 [ %.pre385, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit ], [ %488, %.loopexit346 ], [ %.pre385, %.lr.ph.i.i ]
%sum.0.lcssa.i.i = phi float [ 0.000000e+00, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit ], [ 0.000000e+00, %.loopexit346 ], [ %518, %.lr.ph.i.i ]
%521 = sitofp i32 %520 to float
%522 = fdiv float %sum.0.lcssa.i.i, %521
%523 = fpext float %522 to double
%524 = fadd double %523, 1.000000e-01
%525 = call double @sqrt(double %524) nounwind readnone
%526 = fptrunc double %525 to float
%527 = load i32* %317, align 4
%528 = icmp ne i32 %527, 1
%529 = icmp sgt i32 %ol_pitch.2, 0
%or.cond = and i1 %528, %529
br i1 %or.cond, label %530, label %539
; <label>:530 ; preds = %_Z13compute_rms16PKfi.exit
%531 = fmul float %ol_pitch_coef.0, %ol_pitch_coef.0
%532 = fpext float %531 to double
%533 = fmul double %532, 8.000000e-01
%534 = fsub double 1.000000e+00, %533
%535 = call double @sqrt(double %534) nounwind readnone
%536 = fmul double %535, 1.100000e+00
%537 = fptrunc double %536 to float
%538 = fmul float %526, %537
br label %539
; <label>:539 ; preds = %530, %_Z13compute_rms16PKfi.exit
%ol_gain.0 = phi float [ %538, %530 ], [ %526, %_Z13compute_rms16PKfi.exit ]
%540 = getelementptr inbounds i8* %state, i32 144
%541 = bitcast i8* %540 to %struct.VBRState**
%542 = load %struct.VBRState** %541, align 4
%543 = icmp eq %struct.VBRState* %542, null
br i1 %543, label %1023, label %544
; <label>:544 ; preds = %539
%545 = getelementptr inbounds i8* %state, i32 156
%546 = bitcast i8* %545 to i32*
%547 = load i32* %546, align 4
%548 = icmp eq i32 %547, 0
br i1 %548, label %549, label %.preheader235
; <label>:549 ; preds = %544
%550 = getelementptr inbounds i8* %state, i32 164
%551 = bitcast i8* %550 to i32*
%552 = load i32* %551, align 4
%553 = icmp eq i32 %552, 0
br i1 %553, label %1023, label %.preheader235
.preheader235: ; preds = %549, %544
%554 = load i32* %9, align 4
%555 = icmp sgt i32 %554, 0
br i1 %555, label %.lr.ph238, label %569
.lr.ph238: ; preds = %.preheader235
%556 = getelementptr inbounds i8* %state, i32 100
%557 = bitcast i8* %556 to float**
%558 = load float** %557, align 4
br label %559
; <label>:559 ; preds = %559, %.lr.ph238
%i.6237 = phi i32 [ 0, %.lr.ph238 ], [ %567, %559 ]
%lsp_dist.0236 = phi float [ 0.000000e+00, %.lr.ph238 ], [ %566, %559 ]
%560 = getelementptr inbounds float* %558, i32 %i.6237
%561 = load float* %560, align 4
%562 = getelementptr inbounds float* %32, i32 %i.6237
%563 = load float* %562, align 4
%564 = fsub float %561, %563
%565 = fmul float %564, %564
%566 = fadd float %lsp_dist.0236, %565
%567 = add nsw i32 %i.6237, 1
%568 = icmp slt i32 %567, %554
br i1 %568, label %559, label %._crit_edge
._crit_edge: ; preds = %559
%phitmp = fpext float %566 to double
br label %569
; <label>:569 ; preds = %._crit_edge, %.preheader235
%lsp_dist.0.lcssa = phi double [ %phitmp, %._crit_edge ], [ 0.000000e+00, %.preheader235 ]
%570 = getelementptr inbounds i8* %state, i32 176
%571 = bitcast i8* %570 to i32*
%572 = load i32* %571, align 4
%573 = icmp eq i32 %572, 0
br i1 %573, label %606, label %574
; <label>:574 ; preds = %569
%575 = getelementptr inbounds i8* %state, i32 184
%576 = bitcast i8* %575 to float*
%577 = load float* %576, align 4
%578 = getelementptr inbounds i8* %state, i32 180
%579 = bitcast i8* %578 to float*
%580 = load float* %579, align 4
%581 = fmul float %577, %580
%582 = fcmp ogt float %581, 0.000000e+00
br i1 %582, label %583, label %598
; <label>:583 ; preds = %574
%584 = fpext float %580 to double
%585 = fmul double %584, -1.000000e-05
%586 = getelementptr inbounds i8* %state, i32 188
%587 = bitcast i8* %586 to float*
%588 = load float* %587, align 4
%589 = fadd float %588, 1.000000e+00
%590 = fpext float %589 to double
%591 = fdiv double %585, %590
%592 = fptrunc double %591 to float
%593 = fpext float %592 to double
%594 = fcmp ogt double %593, 5.000000e-02
%qual_change.0 = select i1 %594, float 0x3FA99999A0000000, float %592
%595 = fpext float %qual_change.0 to double
%596 = fcmp olt double %595, -5.000000e-02
br i1 %596, label %597, label %598
; <label>:597 ; preds = %583
br label %598
; <label>:598 ; preds = %597, %583, %574
%qual_change.1 = phi float [ 0xBFA99999A0000000, %597 ], [ %qual_change.0, %583 ], [ 0.000000e+00, %574 ]
%599 = getelementptr inbounds i8* %state, i32 148
%600 = bitcast i8* %599 to float*
%601 = load float* %600, align 4
%602 = fadd float %601, %qual_change.1
%603 = fcmp ogt float %602, 1.000000e+01
%storemerge63 = select i1 %603, float 1.000000e+01, float %602
store float %storemerge63, float* %600, align 4
%604 = fcmp olt float %storemerge63, 0.000000e+00
br i1 %604, label %605, label %606
; <label>:605 ; preds = %598
store float 0.000000e+00, float* %600, align 4
br label %606
; <label>:606 ; preds = %605, %598, %569
%607 = ashr i32 %520, 1
%608 = icmp sgt i32 %607, 0
br i1 %608, label %.lr.ph11.i, label %.preheader.i1
.preheader.i1: ; preds = %.lr.ph11.i, %606
%ener1.0.lcssa.i = phi float [ 0.000000e+00, %606 ], [ %613, %.lr.ph11.i ]
%609 = icmp slt i32 %607, %520
br i1 %609, label %.lr.ph.i3, label %._crit_edge.i4
.lr.ph11.i: ; preds = %.lr.ph11.i, %606
%i.09.i = phi i32 [ %614, %.lr.ph11.i ], [ 0, %606 ]
%ener1.08.i = phi float [ %613, %.lr.ph11.i ], [ 0.000000e+00, %606 ]
%610 = getelementptr inbounds float* %1, i32 %i.09.i
%611 = load float* %610, align 4
%612 = fmul float %611, %611
%613 = fadd float %ener1.08.i, %612
%614 = add nsw i32 %i.09.i, 1
%exitcond15.i = icmp eq i32 %614, %607
br i1 %exitcond15.i, label %.preheader.i1, label %.lr.ph11.i
.lr.ph.i3: ; preds = %.lr.ph.i3, %.preheader.i1
%i.17.i = phi i32 [ %619, %.lr.ph.i3 ], [ %607, %.preheader.i1 ]
%ener2.06.i = phi float [ %618, %.lr.ph.i3 ], [ 0.000000e+00, %.preheader.i1 ]
%615 = getelementptr inbounds float* %1, i32 %i.17.i
%616 = load float* %615, align 4
%617 = fmul float %616, %616
%618 = fadd float %ener2.06.i, %617
%619 = add nsw i32 %i.17.i, 1
%exitcond.i2 = icmp eq i32 %619, %520
br i1 %exitcond.i2, label %._crit_edge.i4, label %.lr.ph.i3
._crit_edge.i4: ; preds = %.lr.ph.i3, %.preheader.i1
%ener2.0.lcssa.i = phi float [ 0.000000e+00, %.preheader.i1 ], [ %618, %.lr.ph.i3 ]
%620 = fadd float %ener1.0.lcssa.i, %ener2.0.lcssa.i
%621 = fadd float %620, 6.000000e+03
%622 = fpext float %621 to double
%623 = call double @log(double %622)
%624 = fptrunc double %623 to float
%625 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 3, i32 0
%626 = load float* %625, align 4
%627 = fsub float %624, %626
%628 = fmul float %627, %627
%629 = fadd float %628, 0.000000e+00
%630 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 3, i32 1
%631 = load float* %630, align 4
%632 = fsub float %624, %631
%633 = fmul float %632, %632
%634 = fadd float %629, %633
%635 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 3, i32 2
%636 = load float* %635, align 4
%637 = fsub float %624, %636
%638 = fmul float %637, %637
%639 = fadd float %634, %638
%640 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 3, i32 3
%641 = load float* %640, align 4
%642 = fsub float %624, %641
%643 = fmul float %642, %642
%644 = fadd float %639, %643
%645 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 3, i32 4
%646 = load float* %645, align 4
%647 = fsub float %624, %646
%648 = fmul float %647, %647
%649 = fadd float %644, %648
%650 = fdiv float %649, 1.500000e+02
%651 = fcmp ogt float %650, 1.000000e+00
%non_st.1.i = select i1 %651, float 1.000000e+00, float %650
%652 = fpext float %ol_pitch_coef.0 to double
%653 = fadd double %652, -4.000000e-01
%654 = fmul double %653, 3.000000e+00
%655 = call double @fabs(double %653)
%656 = fmul double %654, %655
%657 = fptrunc double %656 to float
%658 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 0
%659 = load float* %658, align 4
%660 = fsub float 1.000000e+00, %659
%661 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 1
%662 = load float* %661, align 4
%663 = fmul float %660, %662
%664 = fmul float %659, %620
%665 = fadd float %663, %664
store float %665, float* %661, align 4
%666 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 9
%667 = load float* %666, align 4
%668 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 10
%669 = load float* %668, align 4
%670 = fdiv float %667, %669
%671 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 8
store float %670, float* %671, align 4
%672 = fpext float %620 to double
%673 = call double @llvm.pow.f64(double %672, double 0x3FD3333340000000)
%674 = fptrunc double %673 to float
%675 = fpext float %669 to double
%676 = fcmp olt double %675, 6.000000e-02
%677 = fcmp ogt float %620, 6.000000e+03
%or.cond.i = and i1 %676, %677
br i1 %or.cond.i, label %678, label %682
; <label>:678 ; preds = %._crit_edge.i4
%679 = fpext float %674 to double
%680 = fmul double %679, 5.000000e-02
%681 = fptrunc double %680 to float
store float %681, float* %666, align 4
br label %682
; <label>:682 ; preds = %678, %._crit_edge.i4
%683 = phi float [ %681, %678 ], [ %667, %._crit_edge.i4 ]
%684 = fpext float %657 to double
%685 = fcmp olt double %684, 3.000000e-01
br i1 %685, label %686, label %.critedge.i
; <label>:686 ; preds = %682
%687 = fpext float %non_st.1.i to double
%688 = fcmp olt double %687, 2.000000e-01
br i1 %688, label %689, label %.thread.i
; <label>:689 ; preds = %686
%690 = fpext float %674 to double
%691 = fpext float %670 to double
%692 = fmul double %691, 1.200000e+00
%693 = fcmp olt double %690, %692
br i1 %693, label %713, label %694
; <label>:694 ; preds = %689
%695 = fcmp olt double %687, 5.000000e-02
br i1 %695, label %696, label %.critedge.i
.thread.i: ; preds = %686
%.old.i = fcmp olt double %687, 5.000000e-02
br i1 %.old.i, label %.thread._crit_edge.i, label %.critedge.i
.thread._crit_edge.i: ; preds = %.thread.i
%.pre.i5 = fpext float %674 to double
%.pre17.i = fpext float %670 to double
br label %696
; <label>:696 ; preds = %.thread._crit_edge.i, %694
%.pre-phi18.i = phi double [ %.pre17.i, %.thread._crit_edge.i ], [ %691, %694 ]
%.pre-phi.i = phi double [ %.pre.i5, %.thread._crit_edge.i ], [ %690, %694 ]
%697 = fmul double %.pre-phi18.i, 1.500000e+00
%698 = fcmp olt double %.pre-phi.i, %697
br i1 %698, label %713, label %.critedge.i
.critedge.i: ; preds = %696, %.thread.i, %694, %682
%699 = fcmp olt double %684, 4.000000e-01
br i1 %699, label %700, label %708
; <label>:700 ; preds = %.critedge.i
%701 = fpext float %non_st.1.i to double
%702 = fcmp olt double %701, 5.000000e-02
br i1 %702, label %703, label %708
; <label>:703 ; preds = %700
%704 = fpext float %674 to double
%705 = fpext float %670 to double
%706 = fmul double %705, 1.200000e+00
%707 = fcmp olt double %704, %706
br i1 %707, label %713, label %708
; <label>:708 ; preds = %703, %700, %.critedge.i
%709 = fcmp olt float %657, 0.000000e+00
br i1 %709, label %710, label %730
; <label>:710 ; preds = %708
%711 = fpext float %non_st.1.i to double
%712 = fcmp olt double %711, 5.000000e-02
br i1 %712, label %713, label %730
; <label>:713 ; preds = %710, %703, %696, %689
%714 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 11
%715 = load i32* %714, align 4
%716 = add nsw i32 %715, 1
store i32 %716, i32* %714, align 4
%717 = fmul float %670, 3.000000e+00
%718 = icmp sgt i32 %716, 3
br i1 %718, label %719, label %732
; <label>:719 ; preds = %713
%720 = fcmp ogt float %674, %717
%..i = select i1 %720, float %717, float %674
%721 = fpext float %683 to double
%722 = fmul double %721, 9.500000e-01
%723 = fpext float %..i to double
%724 = fmul double %723, 5.000000e-02
%725 = fadd double %722, %724
%726 = fptrunc double %725 to float
store float %726, float* %666, align 4
%727 = fmul double %675, 9.500000e-01
%728 = fadd double %727, 5.000000e-02
%729 = fptrunc double %728 to float
store float %729, float* %668, align 4
br label %732
; <label>:730 ; preds = %710, %708
%731 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 11
store i32 0, i32* %731, align 4
br label %732
; <label>:732 ; preds = %730, %719, %713
%733 = phi float [ %669, %713 ], [ %729, %719 ], [ %669, %730 ]
%734 = phi float [ %683, %713 ], [ %726, %719 ], [ %683, %730 ]
%735 = fcmp olt float %674, %670
%or.cond1.i = and i1 %735, %677
br i1 %or.cond1.i, label %736, label %747
; <label>:736 ; preds = %732
%737 = fpext float %734 to double
%738 = fmul double %737, 9.500000e-01
%739 = fpext float %674 to double
%740 = fmul double %739, 5.000000e-02
%741 = fadd double %738, %740
%742 = fptrunc double %741 to float
store float %742, float* %666, align 4
%743 = fpext float %733 to double
%744 = fmul double %743, 9.500000e-01
%745 = fadd double %744, 5.000000e-02
%746 = fptrunc double %745 to float
store float %746, float* %668, align 4
br label %747
; <label>:747 ; preds = %736, %732
%748 = fcmp olt float %620, 3.000000e+04
br i1 %748, label %749, label %756
; <label>:749 ; preds = %747
%750 = fcmp olt float %620, 1.000000e+04
%qual.0.i = select i1 %750, float 0x4016666680000000, float 0x4019333340000000
%751 = fcmp olt float %620, 3.000000e+03
br i1 %751, label %752, label %803
; <label>:752 ; preds = %749
%753 = fpext float %qual.0.i to double
%754 = fadd double %753, -7.000000e-01
%755 = fptrunc double %754 to float
br label %803
; <label>:756 ; preds = %747
%757 = fadd float %620, 1.000000e+00
%758 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 2
%759 = load float* %758, align 4
%760 = fadd float %759, 1.000000e+00
%761 = fdiv float %757, %760
%762 = fpext float %761 to double
%763 = call double @log(double %762)
%764 = fptrunc double %763 to float
%765 = load float* %661, align 4
%766 = fadd float %765, 1.000000e+00
%767 = fdiv float %757, %766
%768 = fpext float %767 to double
%769 = call double @log(double %768)
%770 = fptrunc double %769 to float
%771 = fcmp olt float %770, -5.000000e+00
%long_diff.0.i = select i1 %771, float -5.000000e+00, float %770
%772 = fcmp ogt float %long_diff.0.i, 2.000000e+00
%long_diff.1.i = select i1 %772, float 2.000000e+00, float %long_diff.0.i
%773 = fcmp ogt float %long_diff.1.i, 0.000000e+00
br i1 %773, label %774, label %779
; <label>:774 ; preds = %756
%775 = fpext float %long_diff.1.i to double
%776 = fmul double %775, 6.000000e-01
%777 = fadd double %776, 7.000000e+00
%778 = fptrunc double %777 to float
br label %779
; <label>:779 ; preds = %774, %756
%qual.1.i = phi float [ %778, %774 ], [ 7.000000e+00, %756 ]
%780 = fcmp olt float %long_diff.1.i, 0.000000e+00
br i1 %780, label %781, label %787
; <label>:781 ; preds = %779
%782 = fpext float %long_diff.1.i to double
%783 = fmul double %782, 5.000000e-01
%784 = fpext float %qual.1.i to double
%785 = fadd double %784, %783
%786 = fptrunc double %785 to float
br label %787
; <label>:787 ; preds = %781, %779
%qual.2.i = phi float [ %786, %781 ], [ %qual.1.i, %779 ]
%788 = fcmp ogt float %764, 0.000000e+00
br i1 %788, label %789, label %796
; <label>:789 ; preds = %787
%790 = fcmp ogt float %764, 5.000000e+00
%791 = fpext float %764 to double
%.op.i = fmul double %791, 5.000000e-01
%792 = select i1 %790, double 2.500000e+00, double %.op.i
%793 = fpext float %qual.2.i to double
%794 = fadd double %793, %792
%795 = fptrunc double %794 to float
br label %796
; <label>:796 ; preds = %789, %787
%qual.3.i = phi float [ %795, %789 ], [ %qual.2.i, %787 ]
%797 = fpext float %ener2.0.lcssa.i to double
%798 = fpext float %ener1.0.lcssa.i to double
%799 = fmul double %798, 1.600000e+00
%800 = fcmp ogt double %797, %799
br i1 %800, label %801, label %803
; <label>:801 ; preds = %796
%802 = fadd float %qual.3.i, 5.000000e-01
br label %803
; <label>:803 ; preds = %801, %796, %752, %749
%qual.4.i = phi float [ %755, %752 ], [ %qual.0.i, %749 ], [ %802, %801 ], [ %qual.3.i, %796 ]
%804 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 2
store float %620, float* %804, align 4
%805 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 6
%806 = load float* %805, align 4
%807 = fpext float %806 to double
%808 = fmul double %807, 6.000000e-01
%809 = fmul double %652, 4.000000e-01
%810 = fadd double %808, %809
%811 = fptrunc double %810 to float
store float %811, float* %805, align 4
%812 = fpext float %811 to double
%813 = fadd double %812, -4.000000e-01
%814 = fadd double %653, %813
%815 = fmul double %814, 2.200000e+00
%816 = fpext float %qual.4.i to double
%817 = fadd double %816, %815
%818 = fptrunc double %817 to float
%819 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 7
%820 = load float* %819, align 4
%821 = fcmp olt float %818, %820
br i1 %821, label %822, label %._crit_edge16.i
; <label>:822 ; preds = %803
%823 = fpext float %818 to double
%824 = fmul double %823, 5.000000e-01
%825 = fpext float %820 to double
%826 = fmul double %825, 5.000000e-01
%827 = fadd double %824, %826
%828 = fptrunc double %827 to float
br label %._crit_edge16.i
._crit_edge16.i: ; preds = %822, %803
%qual.5.i = phi float [ %828, %822 ], [ %818, %803 ]
%829 = fcmp olt float %qual.5.i, 4.000000e+00
%qual.6.i = select i1 %829, float 4.000000e+00, float %qual.5.i
%830 = fcmp ogt float %qual.6.i, 1.000000e+01
%qual.7.i = select i1 %830, float 1.000000e+01, float %qual.6.i
%831 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 11
%832 = load i32* %831, align 4
%833 = icmp sgt i32 %832, 2
%.qual.7.i = select i1 %833, float 4.000000e+00, float %qual.7.i
%834 = icmp eq i32 %832, 0
br i1 %834, label %844, label %835
; <label>:835 ; preds = %._crit_edge16.i
%836 = sitofp i32 %832 to float
%837 = fadd float %836, 3.000000e+00
%838 = fpext float %837 to double
%839 = call double @log(double %838)
%840 = fadd double %839, 0xBFF193EA7AAD030B
%841 = fpext float %.qual.7.i to double
%842 = fsub double %841, %840
%843 = fptrunc double %842 to float
br label %844
; <label>:844 ; preds = %835, %._crit_edge16.i
%qual.9.i = phi float [ %843, %835 ], [ %.qual.7.i, %._crit_edge16.i ]
%845 = fcmp olt float %qual.9.i, 0.000000e+00
%qual.10.i = select i1 %845, float 0.000000e+00, float %qual.9.i
%846 = fcmp olt float %620, 6.000000e+04
br i1 %846, label %847, label %_Z12vbr_analysisP8VBRStatePfiif.exit
; <label>:847 ; preds = %844
%848 = load i32* %831, align 4
%849 = icmp sgt i32 %848, 2
br i1 %849, label %850, label %860
; <label>:850 ; preds = %847
%851 = sitofp i32 %848 to float
%852 = fadd float %851, 3.000000e+00
%853 = fpext float %852 to double
%854 = call double @log(double %853)
%855 = fadd double %854, 0xBFF193EA7AAD030B
%856 = fmul double %855, 5.000000e-01
%857 = fpext float %qual.10.i to double
%858 = fsub double %857, %856
%859 = fptrunc double %858 to float
br label %860
; <label>:860 ; preds = %850, %847
%qual.11.i = phi float [ %859, %850 ], [ %qual.10.i, %847 ]
%861 = fcmp olt float %620, 1.000000e+04
br i1 %861, label %862, label %875
; <label>:862 ; preds = %860
%863 = load i32* %831, align 4
%864 = icmp sgt i32 %863, 2
br i1 %864, label %865, label %875
; <label>:865 ; preds = %862
%866 = sitofp i32 %863 to float
%867 = fadd float %866, 3.000000e+00
%868 = fpext float %867 to double
%869 = call double @log(double %868)
%870 = fadd double %869, 0xBFF193EA7AAD030B
%871 = fmul double %870, 5.000000e-01
%872 = fpext float %qual.11.i to double
%873 = fsub double %872, %871
%874 = fptrunc double %873 to float
br label %875
; <label>:875 ; preds = %865, %862, %860
%qual.12.i = phi float [ %874, %865 ], [ %qual.11.i, %862 ], [ %qual.11.i, %860 ]
%876 = fcmp olt float %qual.12.i, 0.000000e+00
%877 = fdiv double %672, 6.000000e+04
%878 = fadd double %877, 1.000000e-04
%879 = call double @log(double %878)
%880 = fmul double %879, 3.000000e-01
%881 = fpext float %qual.12.i to double
%882 = select i1 %876, double 0.000000e+00, double %881
%883 = fadd double %882, %880
%884 = fptrunc double %883 to float
br label %_Z12vbr_analysisP8VBRStatePfiif.exit
_Z12vbr_analysisP8VBRStatePfiif.exit: ; preds = %875, %844
%qual.14.i = phi float [ %884, %875 ], [ %qual.10.i, %844 ]
%885 = fcmp olt float %qual.14.i, -1.000000e+00
%qual.15.i = select i1 %885, float -1.000000e+00, float %qual.14.i
%886 = getelementptr inbounds %struct.VBRState* %542, i32 0, i32 5
store float %ol_pitch_coef.0, float* %886, align 4
store float %qual.15.i, float* %819, align 4
%887 = load float* %640, align 4
store float %887, float* %645, align 4
%888 = load float* %635, align 4
store float %888, float* %640, align 4
%889 = load float* %630, align 4
store float %889, float* %635, align 4
%890 = load float* %625, align 4
store float %890, float* %630, align 4
store float %624, float* %625, align 4
%891 = getelementptr inbounds i8* %state, i32 152
%892 = bitcast i8* %891 to float*
store float %qual.15.i, float* %892, align 4
%893 = load i32* %546, align 4
%894 = icmp eq i32 %893, 0
br i1 %894, label %1001, label %.preheader232
.preheader232: ; preds = %_Z12vbr_analysisP8VBRStatePfiif.exit
store i32 8, i32* %mode, align 4
%895 = getelementptr inbounds i8* %state, i32 148
%896 = bitcast i8* %895 to float*
br label %._crit_edge419
._crit_edge419: ; preds = %925, %.preheader232
%897 = phi i32 [ 8, %.preheader232 ], [ %926, %925 ]
%min_diff.0234 = phi float [ 1.000000e+02, %.preheader232 ], [ %min_diff.1, %925 ]
%choice.0233 = phi i32 [ 0, %.preheader232 ], [ %choice.1, %925 ]
%898 = load float* %896, align 4
%floorf = call float @floorf(float %898)
%899 = fptosi float %floorf to i32
%900 = icmp eq i32 %899, 10
br i1 %900, label %901, label %904
; <label>:901 ; preds = %._crit_edge419
%902 = getelementptr inbounds [9 x [11 x float]]* @vbr_nb_thresh, i32 0, i32 %897, i32 10
%903 = load float* %902, align 4
br label %918
; <label>:904 ; preds = %._crit_edge419
%905 = load float* %896, align 4
%906 = sitofp i32 %899 to float
%907 = fsub float %905, %906
%908 = add nsw i32 %899, 1
%909 = getelementptr inbounds [9 x [11 x float]]* @vbr_nb_thresh, i32 0, i32 %897, i32 %908
%910 = load float* %909, align 4
%911 = fmul float %907, %910
%912 = sitofp i32 %908 to float
%913 = fsub float %912, %905
%914 = getelementptr inbounds [9 x [11 x float]]* @vbr_nb_thresh, i32 0, i32 %897, i32 %899
%915 = load float* %914, align 4
%916 = fmul float %913, %915
%917 = fadd float %911, %916
br label %918
; <label>:918 ; preds = %904, %901
%thresh.0 = phi float [ %903, %901 ], [ %917, %904 ]
%919 = load float* %892, align 4
%920 = fcmp ogt float %919, %thresh.0
br i1 %920, label %921, label %925
; <label>:921 ; preds = %918
%922 = fsub float %919, %thresh.0
%923 = fcmp olt float %922, %min_diff.0234
br i1 %923, label %924, label %925
; <label>:924 ; preds = %921
br label %925
; <label>:925 ; preds = %924, %921, %918
%choice.1 = phi i32 [ %897, %924 ], [ %choice.0233, %921 ], [ %choice.0233, %918 ]
%min_diff.1 = phi float [ %922, %924 ], [ %min_diff.0234, %921 ], [ %min_diff.0234, %918 ]
%926 = add nsw i32 %897, -1
store i32 %926, i32* %mode, align 4
%927 = icmp eq i32 %926, 0
br i1 %927, label %928, label %._crit_edge419
; <label>:928 ; preds = %925
store i32 %choice.1, i32* %mode, align 4
%929 = icmp eq i32 %choice.1, 0
%930 = getelementptr inbounds i8* %state, i32 172
%931 = bitcast i8* %930 to i32*
br i1 %929, label %932, label %945
; <label>:932 ; preds = %928
%933 = load i32* %931, align 4
%934 = icmp eq i32 %933, 0
%935 = fcmp ogt double %lsp_dist.0.lcssa, 5.000000e-02
%or.cond440 = or i1 %934, %935
br i1 %or.cond440, label %942, label %936
; <label>:936 ; preds = %932
%937 = getelementptr inbounds i8* %state, i32 168
%938 = bitcast i8* %937 to i32*
%939 = load i32* %938, align 4
%940 = icmp eq i32 %939, 0
%941 = icmp sgt i32 %933, 20
%or.cond64 = or i1 %940, %941
br i1 %or.cond64, label %942, label %943
; <label>:942 ; preds = %936, %932
store i32 1, i32* %mode, align 4
store i32 1, i32* %931, align 4
br label %946
; <label>:943 ; preds = %936
store i32 0, i32* %mode, align 4
%944 = add nsw i32 %933, 1
store i32 %944, i32* %931, align 4
br label %946
; <label>:945 ; preds = %928
store i32 0, i32* %931, align 4
br label %946
; <label>:946 ; preds = %945, %943, %942
%947 = bitcast i32* %mode to i8*
%948 = bitcast i8* %state to %struct.SpeexMode.117**
%949 = load %struct.SpeexMode.117** %948, align 4
%950 = getelementptr inbounds %struct.SpeexMode.117* %949, i32 0, i32 11
%951 = load i32 (i8*, i32, i8*)** %950, align 4
%952 = call i32 %951(i8* %state, i32 6, i8* %947)
%953 = getelementptr inbounds i8* %state, i32 160
%954 = bitcast i8* %953 to i32*
%955 = load i32* %954, align 4
%956 = icmp sgt i32 %955, 0
br i1 %956, label %957, label %971
; <label>:957 ; preds = %946
%958 = bitcast i32* %rate to i8*
%959 = load %struct.SpeexMode.117** %948, align 4
%960 = getelementptr inbounds %struct.SpeexMode.117* %959, i32 0, i32 11
%961 = load i32 (i8*, i32, i8*)** %960, align 4
%962 = call i32 %961(i8* %state, i32 19, i8* %958)
%963 = load i32* %rate, align 4
%964 = load i32* %954, align 4
%965 = icmp sgt i32 %963, %964
br i1 %965, label %966, label %971
; <label>:966 ; preds = %957
store i32 %964, i32* %rate, align 4
%967 = load %struct.SpeexMode.117** %948, align 4
%968 = getelementptr inbounds %struct.SpeexMode.117* %967, i32 0, i32 11
%969 = load i32 (i8*, i32, i8*)** %968, align 4
%970 = call i32 %969(i8* %state, i32 18, i8* %958)
br label %971
; <label>:971 ; preds = %966, %957, %946
%972 = load i32* %571, align 4
%973 = icmp eq i32 %972, 0
br i1 %973, label %1026, label %974
; <label>:974 ; preds = %971
%975 = bitcast i32* %bitrate to i8*
%976 = load %struct.SpeexMode.117** %948, align 4
%977 = getelementptr inbounds %struct.SpeexMode.117* %976, i32 0, i32 11
%978 = load i32 (i8*, i32, i8*)** %977, align 4
%979 = call i32 %978(i8* %state, i32 19, i8* %975)
%980 = load i32* %bitrate, align 4
%981 = load i32* %571, align 4
%982 = sub nsw i32 %980, %981
%983 = sitofp i32 %982 to float
%984 = getelementptr inbounds i8* %state, i32 180
%985 = bitcast i8* %984 to float*
%986 = load float* %985, align 4
%987 = fadd float %986, %983
store float %987, float* %985, align 4
%988 = getelementptr inbounds i8* %state, i32 184
%989 = bitcast i8* %988 to float*
%990 = load float* %989, align 4
%991 = fpext float %990 to double
%992 = fmul double %991, 9.500000e-01
%993 = sitofp i32 %982 to double
%994 = fmul double %993, 5.000000e-02
%995 = fadd double %992, %994
%996 = fptrunc double %995 to float
store float %996, float* %989, align 4
%997 = getelementptr inbounds i8* %state, i32 188
%998 = bitcast i8* %997 to float*
%999 = load float* %998, align 4
%1000 = fadd float %999, 1.000000e+00
store float %1000, float* %998, align 4
br label %1026
; <label>:1001 ; preds = %_Z12vbr_analysisP8VBRStatePfiif.exit
%1002 = fcmp olt float %qual.15.i, 2.000000e+00
%1003 = getelementptr inbounds i8* %state, i32 172
%1004 = bitcast i8* %1003 to i32*
br i1 %1002, label %1005, label %1018
; <label>:1005 ; preds = %1001
%1006 = load i32* %1004, align 4
%1007 = icmp eq i32 %1006, 0
%1008 = fcmp ogt double %lsp_dist.0.lcssa, 5.000000e-02
%or.cond441 = or i1 %1007, %1008
br i1 %or.cond441, label %1015, label %1009
; <label>:1009 ; preds = %1005
%1010 = getelementptr inbounds i8* %state, i32 168
%1011 = bitcast i8* %1010 to i32*
%1012 = load i32* %1011, align 4
%1013 = icmp eq i32 %1012, 0
%1014 = icmp sgt i32 %1006, 20
%or.cond65 = or i1 %1013, %1014
br i1 %or.cond65, label %1015, label %1016
; <label>:1015 ; preds = %1009, %1005
store i32 1, i32* %1004, align 4
br label %1022
; <label>:1016 ; preds = %1009
%1017 = add nsw i32 %1006, 1
store i32 %1017, i32* %1004, align 4
br label %1022
; <label>:1018 ; preds = %1001
store i32 0, i32* %1004, align 4
%1019 = getelementptr inbounds i8* %state, i32 216
%1020 = bitcast i8* %1019 to i32*
%1021 = load i32* %1020, align 4
br label %1022
; <label>:1022 ; preds = %1018, %1016, %1015
%mode1.0 = phi i32 [ 1, %1015 ], [ 0, %1016 ], [ %1021, %1018 ]
store i32 %mode1.0, i32* %317, align 4
br label %1026
; <label>:1023 ; preds = %549, %539
%1024 = getelementptr inbounds i8* %state, i32 152
%1025 = bitcast i8* %1024 to float*
store float -1.000000e+00, float* %1025, align 4
br label %1026
; <label>:1026 ; preds = %1023, %1022, %974, %971
%1027 = getelementptr inbounds i8* %state, i32 204
%1028 = bitcast i8* %1027 to i32*
%1029 = load i32* %1028, align 4
%1030 = icmp eq i32 %1029, 0
br i1 %1030, label %._crit_edge424, label %1031
; <label>:1031 ; preds = %1026
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 0, i32 1)
%1032 = load i32* %317, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %1032, i32 4)
br label %._crit_edge424
._crit_edge424: ; preds = %1031, %1026
%1033 = load i32* %317, align 4
%1034 = load %struct.SpeexSubmode*** %320, align 4
%1035 = getelementptr inbounds %struct.SpeexSubmode** %1034, i32 %1033
%1036 = load %struct.SpeexSubmode** %1035, align 4
%1037 = icmp eq %struct.SpeexSubmode* %1036, null
br i1 %1037, label %.preheader342, label %1083
.preheader342: ; preds = %._crit_edge424
%1038 = load i32* %68, align 4
%1039 = icmp sgt i32 %1038, 0
br i1 %1039, label %.lr.ph344, label %.preheader338
.lr.ph344: ; preds = %.preheader342
%1040 = getelementptr inbounds i8* %state, i32 88
%1041 = bitcast i8* %1040 to float**
br label %1047
.preheader338: ; preds = %1047, %.preheader342
%1042 = phi i32 [ %1038, %.preheader342 ], [ %1053, %1047 ]
%1043 = load i32* %9, align 4
%1044 = icmp sgt i32 %1043, 0
br i1 %1044, label %.lr.ph340, label %1061
.lr.ph340: ; preds = %.preheader338
%1045 = getelementptr inbounds i8* %state, i32 112
%1046 = bitcast i8* %1045 to float**
br label %1055
; <label>:1047 ; preds = %1047, %.lr.ph344
%i.7343 = phi i32 [ 0, %.lr.ph344 ], [ %1052, %1047 ]
%1048 = load float** %1041, align 4
%1049 = getelementptr inbounds float* %1048, i32 %i.7343
store float 0x3CD203AFA0000000, float* %1049, align 4
%1050 = load float** %476, align 4
%1051 = getelementptr inbounds float* %1050, i32 %i.7343
store float 0x3CD203AFA0000000, float* %1051, align 4
%1052 = add nsw i32 %i.7343, 1
%1053 = load i32* %68, align 4
%1054 = icmp slt i32 %1052, %1053
br i1 %1054, label %1047, label %.preheader338
; <label>:1055 ; preds = %1055, %.lr.ph340
%i.8339 = phi i32 [ 0, %.lr.ph340 ], [ %1058, %1055 ]
%1056 = load float** %1046, align 4
%1057 = getelementptr inbounds float* %1056, i32 %i.8339
store float 0.000000e+00, float* %1057, align 4
%1058 = add nsw i32 %i.8339, 1
%1059 = load i32* %9, align 4
%1060 = icmp slt i32 %1058, %1059
br i1 %1060, label %1055, label %._crit_edge341
._crit_edge341: ; preds = %1055
%.pre416 = load i32* %68, align 4
br label %1061
; <label>:1061 ; preds = %._crit_edge341, %.preheader338
%1062 = phi i32 [ %.pre416, %._crit_edge341 ], [ %1042, %.preheader338 ]
store i32 1, i32* %249, align 4
%1063 = getelementptr inbounds i8* %state, i32 40
%1064 = bitcast i8* %1063 to i32*
store i32 1, i32* %1064, align 4
%1065 = load float** %.pre-phi435, align 4
%1066 = bitcast float* %1065 to i8*
%1067 = shl nsw i32 %1062, 1
%1068 = load i32* %135, align 4
%.sum62 = sub i32 %1067, %1068
%1069 = getelementptr inbounds float* %1, i32 %.sum62
%1070 = bitcast float* %1069 to i8*
%1071 = sub nsw i32 %1068, %1062
%1072 = shl i32 %1071, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1066, i8* %1070, i32 %1072, i32 4, i1 false)
%1073 = load i32* %9, align 4
%1074 = icmp sgt i32 %1073, 0
br i1 %1074, label %.lr.ph337, label %.loopexit334
.lr.ph337: ; preds = %1061
%1075 = getelementptr inbounds i8* %state, i32 108
%1076 = bitcast i8* %1075 to float**
br label %1077
; <label>:1077 ; preds = %1077, %.lr.ph337
%i.9335 = phi i32 [ 0, %.lr.ph337 ], [ %1080, %1077 ]
%1078 = load float** %1076, align 4
%1079 = getelementptr inbounds float* %1078, i32 %i.9335
store float 0.000000e+00, float* %1079, align 4
%1080 = add nsw i32 %i.9335, 1
%1081 = load i32* %9, align 4
%1082 = icmp slt i32 %1080, %1081
br i1 %1082, label %1077, label %.loopexit334
; <label>:1083 ; preds = %._crit_edge424
%1084 = load i32* %249, align 4
%1085 = icmp ne i32 %1084, 0
%.pre425 = load i32* %9, align 4
%1086 = icmp sgt i32 %.pre425, 0
%or.cond442 = and i1 %1085, %1086
br i1 %or.cond442, label %.lr.ph242, label %.loopexit240
.lr.ph242: ; preds = %1083
%1087 = getelementptr inbounds i8* %state, i32 100
%1088 = bitcast i8* %1087 to float**
br label %1089
; <label>:1089 ; preds = %1089, %.lr.ph242
%i.10241 = phi i32 [ 0, %.lr.ph242 ], [ %1094, %1089 ]
%1090 = getelementptr inbounds float* %32, i32 %i.10241
%1091 = load float* %1090, align 4
%1092 = load float** %1088, align 4
%1093 = getelementptr inbounds float* %1092, i32 %i.10241
store float %1091, float* %1093, align 4
%1094 = add nsw i32 %i.10241, 1
%1095 = load i32* %9, align 4
%1096 = icmp slt i32 %1094, %1095
br i1 %1096, label %1089, label %..loopexit240_crit_edge
..loopexit240_crit_edge: ; preds = %1089
%.pre386.pre = load i32* %317, align 4
%.pre387.pre = load %struct.SpeexSubmode*** %320, align 4
%.phi.trans.insert.phi.trans.insert = getelementptr inbounds %struct.SpeexSubmode** %.pre387.pre, i32 %.pre386.pre
%.pre388.pre = load %struct.SpeexSubmode** %.phi.trans.insert.phi.trans.insert, align 4
br label %.loopexit240
.loopexit240: ; preds = %..loopexit240_crit_edge, %1083
%1097 = phi i32 [ %1095, %..loopexit240_crit_edge ], [ %.pre425, %1083 ]
%1098 = phi %struct.SpeexSubmode* [ %.pre388.pre, %..loopexit240_crit_edge ], [ %1036, %1083 ]
%1099 = getelementptr inbounds %struct.SpeexSubmode* %1098, i32 0, i32 4
%1100 = load void (float*, float*, i32, %struct.SpeexBits*)** %1099, align 4
call void %1100(float* %32, float* %38, i32 %1097, %struct.SpeexBits* %bits)
%1101 = load i32* %317, align 4
%1102 = load %struct.SpeexSubmode*** %320, align 4
%1103 = getelementptr inbounds %struct.SpeexSubmode** %1102, i32 %1101
%1104 = load %struct.SpeexSubmode** %1103, align 4
%1105 = getelementptr inbounds %struct.SpeexSubmode* %1104, i32 0, i32 0
%1106 = load i32* %1105, align 4
%1107 = icmp eq i32 %1106, -1
br i1 %1107, label %1113, label %1108
; <label>:1108 ; preds = %.loopexit240
%1109 = getelementptr inbounds i8* %state, i32 28
%1110 = bitcast i8* %1109 to i32*
%1111 = load i32* %1110, align 4
%1112 = sub nsw i32 %ol_pitch.2, %1111
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %1112, i32 7)
%.pre389 = load i32* %317, align 4
%.pre390 = load %struct.SpeexSubmode*** %320, align 4
%.phi.trans.insert391 = getelementptr inbounds %struct.SpeexSubmode** %.pre390, i32 %.pre389
%.pre392 = load %struct.SpeexSubmode** %.phi.trans.insert391, align 4
br label %1113
; <label>:1113 ; preds = %1108, %.loopexit240
%1114 = phi %struct.SpeexSubmode* [ %1104, %.loopexit240 ], [ %.pre392, %1108 ]
%1115 = getelementptr inbounds %struct.SpeexSubmode* %1114, i32 0, i32 1
%1116 = load i32* %1115, align 4
%1117 = icmp eq i32 %1116, 0
br i1 %1117, label %1132, label %1118
; <label>:1118 ; preds = %1113
%1119 = fpext float %ol_pitch_coef.0 to double
%1120 = fmul double %1119, 9.000000e-01
%1121 = fptrunc double %1120 to float
%1122 = fmul float %1121, 1.500000e+01
%1123 = fpext float %1122 to double
%1124 = fadd double %1123, 5.000000e-01
%1125 = call double @floor(double %1124)
%1126 = fptosi double %1125 to i32
%1127 = icmp sgt i32 %1126, 15
%. = select i1 %1127, i32 15, i32 %1126
%1128 = icmp slt i32 %., 0
%quant.1 = select i1 %1128, i32 0, i32 %.
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %quant.1, i32 4)
%1129 = sitofp i32 %quant.1 to double
%1130 = fmul double %1129, 6.666700e-02
%1131 = fptrunc double %1130 to float
br label %1132
; <label>:1132 ; preds = %1118, %1113
%ol_pitch_coef.1 = phi float [ %1131, %1118 ], [ %ol_pitch_coef.0, %1113 ]
%1133 = fpext float %ol_gain.0 to double
%1134 = call double @log(double %1133)
%1135 = fmul double %1134, 3.500000e+00
%1136 = fadd double %1135, 5.000000e-01
%1137 = call double @floor(double %1136)
%1138 = fptosi double %1137 to i32
%1139 = icmp slt i32 %1138, 0
%.66 = select i1 %1139, i32 0, i32 %1138
%1140 = icmp sgt i32 %.66, 31
%qe.1 = select i1 %1140, i32 31, i32 %.66
%1141 = sitofp i32 %qe.1 to double
%1142 = fdiv double %1141, 3.500000e+00
%1143 = call double @exp(double %1142)
%1144 = fptrunc double %1143 to float
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %qe.1, i32 5)
%1145 = load i32* %249, align 4
%1146 = icmp ne i32 %1145, 0
%.pre426 = load i32* %9, align 4
%1147 = icmp sgt i32 %.pre426, 0
%or.cond443 = and i1 %1146, %1147
br i1 %or.cond443, label %.lr.ph246, label %.loopexit244
.lr.ph246: ; preds = %1132
%1148 = getelementptr inbounds i8* %state, i32 104
%1149 = bitcast i8* %1148 to float**
br label %1150
; <label>:1150 ; preds = %1150, %.lr.ph246
%i.11245 = phi i32 [ 0, %.lr.ph246 ], [ %1155, %1150 ]
%1151 = getelementptr inbounds float* %38, i32 %i.11245
%1152 = load float* %1151, align 4
%1153 = load float** %1149, align 4
%1154 = getelementptr inbounds float* %1153, i32 %i.11245
store float %1152, float* %1154, align 4
%1155 = add nsw i32 %i.11245, 1
%1156 = load i32* %9, align 4
%1157 = icmp slt i32 %1155, %1156
br i1 %1157, label %1150, label %.loopexit244
.loopexit244: ; preds = %1150, %1132
%1158 = phi i32 [ %.pre426, %1132 ], [ %1156, %1150 ]
%1159 = ptrtoint i8* %147 to i32
%1160 = sub i32 0, %1159
%1161 = and i32 %1160, 3
%.sum32 = add i32 %1161, %.sum30
%1162 = getelementptr inbounds i8* %state, i32 12
%1163 = bitcast i8* %1162 to i32*
%1164 = load i32* %1163, align 4
%1165 = shl i32 %1164, 2
%.sum33 = add i32 %1165, %.sum32
%1166 = getelementptr inbounds i8* %4, i32 %.sum33
%1167 = getelementptr inbounds i8* %4, i32 %.sum32
%1168 = bitcast i8* %1167 to float*
%1169 = ptrtoint i8* %1166 to i32
%1170 = sub i32 0, %1169
%1171 = and i32 %1170, 3
%.sum35 = add i32 %1171, %.sum33
%.sum36 = add i32 %.sum35, %1165
%1172 = getelementptr inbounds i8* %4, i32 %.sum36
%1173 = getelementptr inbounds i8* %4, i32 %.sum35
%1174 = bitcast i8* %1173 to float*
%1175 = ptrtoint i8* %1172 to i32
%1176 = sub i32 0, %1175
%1177 = and i32 %1176, 3
%.sum38 = add i32 %1177, %.sum36
%.sum39 = add i32 %.sum38, %1165
%1178 = getelementptr inbounds i8* %4, i32 %.sum39
%1179 = getelementptr inbounds i8* %4, i32 %.sum38
%1180 = bitcast i8* %1179 to float*
%1181 = ptrtoint i8* %1178 to i32
%1182 = sub i32 0, %1181
%1183 = and i32 %1182, 3
%.sum41 = add i32 %1183, %.sum39
%.sum42 = add i32 %.sum41, %1165
%1184 = getelementptr inbounds i8* %4, i32 %.sum42
%1185 = getelementptr inbounds i8* %4, i32 %.sum41
%1186 = bitcast i8* %1185 to float*
%1187 = ptrtoint i8* %1184 to i32
%1188 = sub i32 0, %1187
%1189 = and i32 %1188, 3
%.sum44 = add i32 %1189, %.sum42
%.sum45 = add i32 %.sum44, %1165
%1190 = getelementptr inbounds i8* %4, i32 %.sum45
%1191 = getelementptr inbounds i8* %4, i32 %.sum44
%1192 = bitcast i8* %1191 to float*
%1193 = ptrtoint i8* %1190 to i32
%1194 = sub i32 0, %1193
%1195 = and i32 %1194, 3
%.sum47 = add i32 %1195, %.sum45
%.sum48 = add i32 %.sum47, %1165
%1196 = getelementptr inbounds i8* %4, i32 %.sum48
%1197 = getelementptr inbounds i8* %4, i32 %.sum47
%1198 = bitcast i8* %1197 to float*
%1199 = ptrtoint i8* %1196 to i32
%1200 = sub i32 0, %1199
%1201 = and i32 %1200, 3
%.sum50 = add i32 %1201, %.sum48
%1202 = shl i32 %1158, 2
%.sum51 = add i32 %.sum50, %1202
%1203 = getelementptr inbounds i8* %4, i32 %.sum51
%1204 = getelementptr inbounds i8* %4, i32 %.sum50
%1205 = bitcast i8* %1204 to float*
%1206 = getelementptr inbounds i8* %state, i32 16
%1207 = bitcast i8* %1206 to i32*
%1208 = load i32* %1207, align 4
%1209 = icmp sgt i32 %1208, 0
br i1 %1209, label %.lr.ph332, label %._crit_edge421
.lr.ph332: ; preds = %.loopexit244
%1210 = getelementptr inbounds i8* %state, i32 88
%1211 = bitcast i8* %1210 to float**
%1212 = getelementptr inbounds i8* %state, i32 100
%1213 = bitcast i8* %1212 to float**
%1214 = getelementptr inbounds i8* %state, i32 104
%1215 = bitcast i8* %1214 to float**
%.sum225 = add i32 %.sum14, 4
%.phi.trans.insert.i154 = getelementptr inbounds i8* %4, i32 %.sum225
%1216 = bitcast i8* %.phi.trans.insert.i154 to float*
%.sum224 = add i32 %.sum17, 4
%.phi.trans.insert.i164 = getelementptr inbounds i8* %4, i32 %.sum224
%1217 = bitcast i8* %.phi.trans.insert.i164 to float*
%1218 = getelementptr inbounds i8* %state, i32 136
%1219 = bitcast i8* %1218 to float**
%1220 = getelementptr inbounds i8* %state, i32 56
%1221 = bitcast i8* %1220 to float*
%1222 = getelementptr inbounds i8* %state, i32 60
%1223 = bitcast i8* %1222 to float*
%1224 = getelementptr inbounds i8* %state, i32 124
%1225 = bitcast i8* %1224 to float**
%1226 = getelementptr inbounds i8* %state, i32 192
%1227 = bitcast i8* %1226 to i32*
%1228 = getelementptr inbounds i8* %state, i32 112
%1229 = bitcast i8* %1228 to float**
%1230 = getelementptr inbounds i8* %state, i32 28
%1231 = bitcast i8* %1230 to i32*
%1232 = getelementptr inbounds i8* %state, i32 40
%1233 = bitcast i8* %1232 to i32*
%1234 = getelementptr inbounds i8* %state, i32 200
%1235 = bitcast i8* %1234 to i32*
%1236 = getelementptr inbounds i8* %state, i32 36
%1237 = bitcast i8* %1236 to float*
%1238 = getelementptr inbounds i8* %state, i32 52
%1239 = bitcast i8* %1238 to i32**
%1240 = getelementptr inbounds i8* %state, i32 140
%1241 = bitcast i8* %1240 to float**
%1242 = getelementptr inbounds i8* %state, i32 108
%1243 = bitcast i8* %1242 to float**
%1244 = ptrtoint i8* %1203 to i32
%1245 = sub i32 0, %1244
%1246 = and i32 %1245, 3
%.sum55 = add i32 %1246, %.sum51
%1247 = getelementptr inbounds i8* %4, i32 %.sum55
%1248 = bitcast i8* %1247 to float*
br label %1249
; <label>:1249 ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit._crit_edge, %.lr.ph332
%1250 = phi i32 [ %1158, %.lr.ph332 ], [ %.pre428, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit._crit_edge ]
%1251 = phi i32 [ %1164, %.lr.ph332 ], [ %.pre427, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit._crit_edge ]
%1252 = phi i32 [ %1208, %.lr.ph332 ], [ %1872, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit._crit_edge ]
%sub.0330 = phi i32 [ 0, %.lr.ph332 ], [ %1871, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit._crit_edge ]
%ol_pitch.3329 = phi i32 [ %ol_pitch.2, %.lr.ph332 ], [ %ol_pitch.6, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit._crit_edge ]
%1253 = mul nsw i32 %1251, %sub.0330
%1254 = load float** %476, align 4
%1255 = getelementptr inbounds float* %1254, i32 %1253
%1256 = load float** %1211, align 4
%1257 = getelementptr inbounds float* %1256, i32 %1253
%1258 = load float** %1213, align 4
%1259 = sitofp i32 %sub.0330 to float
%1260 = fadd float %1259, 1.000000e+00
%1261 = sitofp i32 %1252 to float
%1262 = fdiv float %1260, %1261
%1263 = icmp sgt i32 %1250, 0
br i1 %1263, label %.lr.ph.i134, label %_Z15lsp_interpolatePfS_S_iii.exit143
.lr.ph.i134: ; preds = %1249
%1264 = fsub float 1.000000e+00, %1262
br label %1265
; <label>:1265 ; preds = %1265, %.lr.ph.i134
%i.01.i135 = phi i32 [ 0, %.lr.ph.i134 ], [ %1274, %1265 ]
%1266 = getelementptr inbounds float* %1258, i32 %i.01.i135
%1267 = load float* %1266, align 4
%1268 = fmul float %1264, %1267
%1269 = getelementptr inbounds float* %32, i32 %i.01.i135
%1270 = load float* %1269, align 4
%1271 = fmul float %1262, %1270
%1272 = fadd float %1268, %1271
%1273 = getelementptr inbounds float* %44, i32 %i.01.i135
store float %1272, float* %1273, align 4
%1274 = add nsw i32 %i.01.i135, 1
%exitcond.i136 = icmp eq i32 %1274, %1250
br i1 %exitcond.i136, label %_Z15lsp_interpolatePfS_S_iii.exit138, label %1265
_Z15lsp_interpolatePfS_S_iii.exit138: ; preds = %1265
%.pre393 = load i32* %9, align 4
%.pre394 = load i32* %1207, align 4
%1275 = load float** %1215, align 4
%1276 = sitofp i32 %.pre394 to float
%1277 = fdiv float %1260, %1276
%1278 = icmp sgt i32 %.pre393, 0
br i1 %1278, label %.lr.ph.i139, label %_Z15lsp_interpolatePfS_S_iii.exit143
.lr.ph.i139: ; preds = %_Z15lsp_interpolatePfS_S_iii.exit138
%1279 = fsub float 1.000000e+00, %1277
br label %1280
; <label>:1280 ; preds = %1280, %.lr.ph.i139
%i.01.i140 = phi i32 [ 0, %.lr.ph.i139 ], [ %1289, %1280 ]
%1281 = getelementptr inbounds float* %1275, i32 %i.01.i140
%1282 = load float* %1281, align 4
%1283 = fmul float %1279, %1282
%1284 = getelementptr inbounds float* %38, i32 %i.01.i140
%1285 = load float* %1284, align 4
%1286 = fmul float %1277, %1285
%1287 = fadd float %1283, %1286
%1288 = getelementptr inbounds float* %50, i32 %i.01.i140
store float %1287, float* %1288, align 4
%1289 = add nsw i32 %i.01.i140, 1
%exitcond.i141 = icmp eq i32 %1289, %.pre393
br i1 %exitcond.i141, label %_Z15lsp_interpolatePfS_S_iii.exit143.loopexit, label %1280
_Z15lsp_interpolatePfS_S_iii.exit143.loopexit: ; preds = %1280
%.pre395 = load i32* %9, align 4
br label %_Z15lsp_interpolatePfS_S_iii.exit143
_Z15lsp_interpolatePfS_S_iii.exit143: ; preds = %_Z15lsp_interpolatePfS_S_iii.exit143.loopexit, %_Z15lsp_interpolatePfS_S_iii.exit138, %1249
%1290 = phi i32 [ %.pre395, %_Z15lsp_interpolatePfS_S_iii.exit143.loopexit ], [ %.pre393, %_Z15lsp_interpolatePfS_S_iii.exit138 ], [ %1250, %1249 ]
%1291 = load float* %44, align 4
%1292 = fcmp olt float %1291, 0x3F60624DE0000000
br i1 %1292, label %1293, label %1294
; <label>:1293 ; preds = %_Z15lsp_interpolatePfS_S_iii.exit143
store float 0x3F60624DE0000000, float* %44, align 4
br label %1294
; <label>:1294 ; preds = %1293, %_Z15lsp_interpolatePfS_S_iii.exit143
%1295 = add nsw i32 %1290, -1
%1296 = getelementptr inbounds float* %44, i32 %1295
%1297 = load float* %1296, align 4
%1298 = fpext float %1297 to double
%1299 = fcmp ogt double %1298, 0x40091DE2C0CC2D18
br i1 %1299, label %1300, label %.preheader.i153
; <label>:1300 ; preds = %1294
store float 0x40091DE2C0000000, float* %1296, align 4
br label %.preheader.i153
.preheader.i153: ; preds = %1300, %1294
%1301 = icmp sgt i32 %1295, 1
br i1 %1301, label %.lr.ph.i157, label %_Z18lsp_enforce_marginPfif.exit162
.lr.ph.i157: ; preds = %.preheader.i153
%.pre.i155 = load float* %1216, align 4
%.pre2.i156 = load float* %44, align 4
br label %1302
; <label>:1302 ; preds = %.backedge.i160, %.lr.ph.i157
%1303 = phi float [ %.pre2.i156, %.lr.ph.i157 ], [ %1316, %.backedge.i160 ]
%1304 = phi float [ %.pre.i155, %.lr.ph.i157 ], [ %1313, %.backedge.i160 ]
%i.01.i158 = phi i32 [ 1, %.lr.ph.i157 ], [ %1311, %.backedge.i160 ]
%1305 = getelementptr inbounds float* %44, i32 %i.01.i158
%1306 = fadd float %1303, 0x3F60624DE0000000
%1307 = fcmp olt float %1304, %1306
br i1 %1307, label %1308, label %1309
; <label>:1308 ; preds = %1302
store float %1306, float* %1305, align 4
br label %1309
; <label>:1309 ; preds = %1308, %1302
%1310 = phi float [ %1306, %1308 ], [ %1304, %1302 ]
%1311 = add nsw i32 %i.01.i158, 1
%1312 = getelementptr inbounds float* %44, i32 %1311
%1313 = load float* %1312, align 4
%1314 = fadd float %1313, 0xBF60624DE0000000
%1315 = fcmp ogt float %1310, %1314
br i1 %1315, label %1317, label %.backedge.i160
.backedge.i160: ; preds = %1317, %1309
%1316 = phi float [ %1310, %1309 ], [ %1320, %1317 ]
%exitcond.i159 = icmp eq i32 %1311, %1295
br i1 %exitcond.i159, label %_Z18lsp_enforce_marginPfif.exit162, label %1302
; <label>:1317 ; preds = %1309
%1318 = fadd float %1310, %1313
%1319 = fadd float %1318, 0xBF60624DE0000000
%1320 = fmul float %1319, 5.000000e-01
store float %1320, float* %1305, align 4
br label %.backedge.i160
_Z18lsp_enforce_marginPfif.exit162: ; preds = %.backedge.i160, %.preheader.i153
%1321 = load i32* %9, align 4
%1322 = load float* %50, align 4
%1323 = fcmp olt float %1322, 0x3F60624DE0000000
br i1 %1323, label %1324, label %1325
; <label>:1324 ; preds = %_Z18lsp_enforce_marginPfif.exit162
store float 0x3F60624DE0000000, float* %50, align 4
br label %1325
; <label>:1325 ; preds = %1324, %_Z18lsp_enforce_marginPfif.exit162
%1326 = add nsw i32 %1321, -1
%1327 = getelementptr inbounds float* %50, i32 %1326
%1328 = load float* %1327, align 4
%1329 = fpext float %1328 to double
%1330 = fcmp ogt double %1329, 0x40091DE2C0CC2D18
br i1 %1330, label %1331, label %.preheader.i163
; <label>:1331 ; preds = %1325
store float 0x40091DE2C0000000, float* %1327, align 4
br label %.preheader.i163
.preheader.i163: ; preds = %1331, %1325
%1332 = icmp sgt i32 %1326, 1
br i1 %1332, label %.lr.ph.i167, label %_Z18lsp_enforce_marginPfif.exit172
.lr.ph.i167: ; preds = %.preheader.i163
%.pre.i165 = load float* %1217, align 4
%.pre2.i166 = load float* %50, align 4
br label %1333
; <label>:1333 ; preds = %.backedge.i170, %.lr.ph.i167
%1334 = phi float [ %.pre2.i166, %.lr.ph.i167 ], [ %1347, %.backedge.i170 ]
%1335 = phi float [ %.pre.i165, %.lr.ph.i167 ], [ %1344, %.backedge.i170 ]
%i.01.i168 = phi i32 [ 1, %.lr.ph.i167 ], [ %1342, %.backedge.i170 ]
%1336 = getelementptr inbounds float* %50, i32 %i.01.i168
%1337 = fadd float %1334, 0x3F60624DE0000000
%1338 = fcmp olt float %1335, %1337
br i1 %1338, label %1339, label %1340
; <label>:1339 ; preds = %1333
store float %1337, float* %1336, align 4
br label %1340
; <label>:1340 ; preds = %1339, %1333
%1341 = phi float [ %1337, %1339 ], [ %1335, %1333 ]
%1342 = add nsw i32 %i.01.i168, 1
%1343 = getelementptr inbounds float* %50, i32 %1342
%1344 = load float* %1343, align 4
%1345 = fadd float %1344, 0xBF60624DE0000000
%1346 = fcmp ogt float %1341, %1345
br i1 %1346, label %1348, label %.backedge.i170
.backedge.i170: ; preds = %1348, %1340
%1347 = phi float [ %1341, %1340 ], [ %1351, %1348 ]
%exitcond.i169 = icmp eq i32 %1342, %1326
br i1 %exitcond.i169, label %_Z18lsp_enforce_marginPfif.exit172, label %1333
; <label>:1348 ; preds = %1340
%1349 = fadd float %1341, %1344
%1350 = fadd float %1349, 0xBF60624DE0000000
%1351 = fmul float %1350, 5.000000e-01
store float %1351, float* %1336, align 4
br label %.backedge.i170
_Z18lsp_enforce_marginPfif.exit172: ; preds = %.backedge.i170, %.preheader.i163
%1352 = load i32* %9, align 4
call fastcc void @_Z10lsp_to_lpcPfS_iPc(float* %44, float* %56, i32 %1352, i8* %1203)
%1353 = load i32* %9, align 4
call fastcc void @_Z10lsp_to_lpcPfS_iPc(float* %50, float* %62, i32 %1353, i8* %1203)
%1354 = load i32* %9, align 4
%1355 = icmp sgt i32 %1354, 0
br i1 %1355, label %.lr.ph263, label %._crit_edge264
.lr.ph263: ; preds = %.lr.ph263, %_Z18lsp_enforce_marginPfif.exit172
%pi_g.0262 = phi float [ %1362, %.lr.ph263 ], [ 1.000000e+00, %_Z18lsp_enforce_marginPfif.exit172 ]
%i.12261 = phi i32 [ %1363, %.lr.ph263 ], [ 0, %_Z18lsp_enforce_marginPfif.exit172 ]
%1356 = or i32 %i.12261, 1
%1357 = getelementptr inbounds float* %62, i32 %1356
%1358 = load float* %1357, align 4
%1359 = getelementptr inbounds float* %62, i32 %i.12261
%1360 = load float* %1359, align 4
%1361 = fsub float %1358, %1360
%1362 = fadd float %pi_g.0262, %1361
%1363 = add nsw i32 %i.12261, 2
%1364 = icmp slt i32 %1363, %1354
br i1 %1364, label %.lr.ph263, label %._crit_edge264
._crit_edge264: ; preds = %.lr.ph263, %_Z18lsp_enforce_marginPfif.exit172
%pi_g.0.lcssa = phi float [ 1.000000e+00, %_Z18lsp_enforce_marginPfif.exit172 ], [ %1362, %.lr.ph263 ]
%1365 = load float** %1219, align 4
%1366 = getelementptr inbounds float* %1365, i32 %sub.0330
store float %pi_g.0.lcssa, float* %1366, align 4
%1367 = load float* %1221, align 4
%1368 = load i32* %9, align 4
%1369 = icmp sgt i32 %1368, 0
br i1 %1369, label %.lr.ph.i176, label %_Z6bw_lpcfPKfPfi.exit178
.lr.ph.i176: ; preds = %.lr.ph.i176, %._crit_edge264
%tmp.02.i173 = phi float [ %1374, %.lr.ph.i176 ], [ %1367, %._crit_edge264 ]
%i.01.i174 = phi i32 [ %1375, %.lr.ph.i176 ], [ 0, %._crit_edge264 ]
%1370 = getelementptr inbounds float* %56, i32 %i.01.i174
%1371 = load float* %1370, align 4
%1372 = fmul float %tmp.02.i173, %1371
%1373 = getelementptr inbounds float* %20, i32 %i.01.i174
store float %1372, float* %1373, align 4
%1374 = fmul float %tmp.02.i173, %1367
%1375 = add nsw i32 %i.01.i174, 1
%exitcond.i175 = icmp eq i32 %1375, %1368
br i1 %exitcond.i175, label %_Z6bw_lpcfPKfPfi.exit178thread-pre-split, label %.lr.ph.i176
_Z6bw_lpcfPKfPfi.exit178thread-pre-split: ; preds = %.lr.ph.i176
%.pr6 = load i32* %9, align 4
br label %_Z6bw_lpcfPKfPfi.exit178
_Z6bw_lpcfPKfPfi.exit178: ; preds = %_Z6bw_lpcfPKfPfi.exit178thread-pre-split, %._crit_edge264
%1376 = phi i32 [ %.pr6, %_Z6bw_lpcfPKfPfi.exit178thread-pre-split ], [ %1368, %._crit_edge264 ]
%1377 = load float* %1223, align 4
%1378 = fcmp ult float %1377, 0.000000e+00
%1379 = icmp sgt i32 %1376, 0
br i1 %1378, label %.preheader266, label %1380
.preheader266: ; preds = %_Z6bw_lpcfPKfPfi.exit178
br i1 %1379, label %.lr.ph269, label %_Z6bw_lpcfPKfPfi.exit184
; <label>:1380 ; preds = %_Z6bw_lpcfPKfPfi.exit178
br i1 %1379, label %.lr.ph.i182, label %_Z6bw_lpcfPKfPfi.exit184
.lr.ph.i182: ; preds = %.lr.ph.i182, %1380
%tmp.02.i179 = phi float [ %1385, %.lr.ph.i182 ], [ %1377, %1380 ]
%i.01.i180 = phi i32 [ %1386, %.lr.ph.i182 ], [ 0, %1380 ]
%1381 = getelementptr inbounds float* %56, i32 %i.01.i180
%1382 = load float* %1381, align 4
%1383 = fmul float %tmp.02.i179, %1382
%1384 = getelementptr inbounds float* %26, i32 %i.01.i180
store float %1383, float* %1384, align 4
%1385 = fmul float %tmp.02.i179, %1377
%1386 = add nsw i32 %i.01.i180, 1
%exitcond.i181 = icmp eq i32 %1386, %1376
br i1 %exitcond.i181, label %_Z6bw_lpcfPKfPfi.exit184, label %.lr.ph.i182
.lr.ph269: ; preds = %.lr.ph269, %.preheader266
%i.13268 = phi i32 [ %1388, %.lr.ph269 ], [ 0, %.preheader266 ]
%1387 = getelementptr inbounds float* %26, i32 %i.13268
store float 0.000000e+00, float* %1387, align 4
%1388 = add nsw i32 %i.13268, 1
%1389 = load i32* %9, align 4
%1390 = icmp slt i32 %1388, %1389
br i1 %1390, label %.lr.ph269, label %_Z6bw_lpcfPKfPfi.exit184
_Z6bw_lpcfPKfPfi.exit184: ; preds = %.lr.ph269, %.lr.ph.i182, %1380, %.preheader266
%1391 = load i32* %135, align 4
%1392 = load i32* %68, align 4
%1393 = sub nsw i32 %1391, %1392
%1394 = load i32* %1163, align 4
%1395 = icmp eq i32 %1393, %1394
br i1 %1395, label %1399, label %1396
; <label>:1396 ; preds = %_Z6bw_lpcfPKfPfi.exit184
%1397 = load %struct.__sFILE** @stderr, align 4
%1398 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %1397, i8* getelementptr inbounds ([43 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([81 x i8]* @.str142, i32 0, i32 0), i32 706, i8* getelementptr inbounds ([67 x i8]* @.str41, i32 0, i32 0))
call void @exit(i32 1)
%.pr7 = load i32* %1163, align 4
br label %1399
; <label>:1399 ; preds = %1396, %_Z6bw_lpcfPKfPfi.exit184
%1400 = phi i32 [ %.pr7, %1396 ], [ %1394, %_Z6bw_lpcfPKfPfi.exit184 ]
%1401 = icmp eq i32 %sub.0330, 0
%1402 = icmp sgt i32 %1400, 0
br i1 %1401, label %.preheader270, label %.preheader255
.preheader270: ; preds = %1399
br i1 %1402, label %.lr.ph274, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit216
.preheader255: ; preds = %1399
br i1 %1402, label %.lr.ph259, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit216
.lr.ph259: ; preds = %.preheader255
%1403 = add nsw i32 %sub.0330, -1
br label %1412
.lr.ph274: ; preds = %.lr.ph274, %.preheader270
%i.14273 = phi i32 [ %1409, %.lr.ph274 ], [ 0, %.preheader270 ]
%1404 = load float** %.pre-phi435, align 4
%1405 = getelementptr inbounds float* %1404, i32 %i.14273
%1406 = load float* %1405, align 4
%.sum61 = add i32 %i.14273, %1253
%1407 = getelementptr inbounds float* %1256, i32 %.sum61
store float %1406, float* %1407, align 4
%1408 = getelementptr inbounds float* %1198, i32 %i.14273
store float %1406, float* %1408, align 4
%1409 = add nsw i32 %i.14273, 1
%1410 = load i32* %1163, align 4
%1411 = icmp slt i32 %1409, %1410
br i1 %1411, label %.lr.ph274, label %.loopexit256
; <label>:1412 ; preds = %1412, %.lr.ph259
%1413 = phi i32 [ %1400, %.lr.ph259 ], [ %1421, %1412 ]
%i.15258 = phi i32 [ 0, %.lr.ph259 ], [ %1420, %1412 ]
%1414 = mul nsw i32 %1413, %1403
%1415 = add nsw i32 %1414, %i.15258
%1416 = getelementptr inbounds float* %1, i32 %1415
%1417 = load float* %1416, align 4
%.sum60 = add i32 %i.15258, %1253
%1418 = getelementptr inbounds float* %1256, i32 %.sum60
store float %1417, float* %1418, align 4
%1419 = getelementptr inbounds float* %1198, i32 %i.15258
store float %1417, float* %1419, align 4
%1420 = add nsw i32 %i.15258, 1
%1421 = load i32* %1163, align 4
%1422 = icmp slt i32 %1420, %1421
br i1 %1422, label %1412, label %.loopexit256
.loopexit256: ; preds = %1412, %.lr.ph274
%1423 = phi i32 [ %1421, %1412 ], [ %1410, %.lr.ph274 ]
%1424 = load float** %1225, align 4
%1425 = icmp sgt i32 %1423, 0
br i1 %1425, label %.lr.ph4.i209, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit216
.lr.ph4.i209: ; preds = %.loopexit256
%1426 = load i32* %9, align 4
%1427 = add nsw i32 %1426, -1
%1428 = icmp sgt i32 %1427, 0
%1429 = getelementptr inbounds float* %62, i32 %1427
%1430 = getelementptr inbounds float* %1424, i32 %1427
br label %1431
; <label>:1431 ; preds = %._crit_edge.i215, %.lr.ph4.i209
%i.02.i210 = phi i32 [ 0, %.lr.ph4.i209 ], [ %1446, %._crit_edge.i215 ]
%1432 = getelementptr inbounds float* %1198, i32 %i.02.i210
%1433 = load float* %1432, align 4
%1434 = load float* %1424, align 4
%1435 = fadd float %1433, %1434
br i1 %1428, label %.lr.ph.i213, label %._crit_edge.i215
.lr.ph.i213: ; preds = %.lr.ph.i213, %1431
%j.01.i211 = phi i32 [ %1436, %.lr.ph.i213 ], [ 0, %1431 ]
%1436 = add nsw i32 %j.01.i211, 1
%1437 = getelementptr inbounds float* %1424, i32 %1436
%1438 = load float* %1437, align 4
%1439 = getelementptr inbounds float* %62, i32 %j.01.i211
%1440 = load float* %1439, align 4
%1441 = fmul float %1440, %1433
%1442 = fadd float %1438, %1441
%1443 = getelementptr inbounds float* %1424, i32 %j.01.i211
store float %1442, float* %1443, align 4
%exitcond.i212 = icmp eq i32 %1436, %1427
br i1 %exitcond.i212, label %._crit_edge.i215, label %.lr.ph.i213
._crit_edge.i215: ; preds = %.lr.ph.i213, %1431
%1444 = load float* %1429, align 4
%1445 = fmul float %1444, %1433
store float %1445, float* %1430, align 4
store float %1435, float* %1432, align 4
%1446 = add nsw i32 %i.02.i210, 1
%exitcond6.i214 = icmp eq i32 %1446, %1423
br i1 %exitcond6.i214, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit216, label %1431
_Z9fir_mem16PKfS0_PfiiS1_Pc.exit216: ; preds = %._crit_edge.i215, %.loopexit256, %.preheader255, %.preheader270
%1447 = load i32* %1227, align 4
%1448 = icmp eq i32 %1447, 0
%1449 = zext i1 %1448 to i32
%.67 = ashr i32 %1251, %1449
%1450 = load i32* %9, align 4
call fastcc void @_Z24compute_impulse_responsePKfS0_S0_PfiiPc(float* %62, float* %20, float* %26, float* %1192, i32 %.67, i32 %1450, i8* %1203)
%1451 = load i32* %1163, align 4
%1452 = icmp slt i32 %.67, %1451
br i1 %1452, label %.lr.ph278, label %.loopexit276
.lr.ph278: ; preds = %.lr.ph278, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit216
%i.16277 = phi i32 [ %1454, %.lr.ph278 ], [ %.67, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit216 ]
%1453 = getelementptr inbounds float* %1192, i32 %i.16277
store float 0x3CD203AFA0000000, float* %1453, align 4
%1454 = add nsw i32 %i.16277, 1
%1455 = load i32* %1163, align 4
%1456 = icmp slt i32 %1454, %1455
br i1 %1456, label %.lr.ph278, label %.loopexit276
.loopexit276: ; preds = %.lr.ph278, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit216
%1457 = phi i32 [ %1451, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit216 ], [ %1455, %.lr.ph278 ]
%1458 = load i32* %9, align 4
%1459 = icmp sgt i32 %1458, 0
br i1 %1459, label %.lr.ph281, label %.loopexit279
.lr.ph281: ; preds = %.lr.ph281, %.loopexit276
%i.17280 = phi i32 [ %1464, %.lr.ph281 ], [ 0, %.loopexit276 ]
%1460 = load float** %1243, align 4
%1461 = getelementptr inbounds float* %1460, i32 %i.17280
%1462 = load float* %1461, align 4
%1463 = getelementptr inbounds float* %1205, i32 %i.17280
store float %1462, float* %1463, align 4
%1464 = add nsw i32 %i.17280, 1
%1465 = load i32* %9, align 4
%1466 = icmp slt i32 %1464, %1465
br i1 %1466, label %.lr.ph281, label %..loopexit279_crit_edge
..loopexit279_crit_edge: ; preds = %.lr.ph281
%.pre396 = load i32* %1163, align 4
br label %.loopexit279
.loopexit279: ; preds = %..loopexit279_crit_edge, %.loopexit276
%1467 = phi i32 [ %.pre396, %..loopexit279_crit_edge ], [ %1457, %.loopexit276 ]
%1468 = icmp sgt i32 %1467, 0
br i1 %1468, label %.lr.ph284, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader
.lr.ph284: ; preds = %.lr.ph284, %.loopexit279
%i.18283 = phi i32 [ %1470, %.lr.ph284 ], [ 0, %.loopexit279 ]
%1469 = getelementptr inbounds float* %1186, i32 %i.18283
store float 0x3CD203AFA0000000, float* %1469, align 4
%1470 = add nsw i32 %i.18283, 1
%1471 = load i32* %1163, align 4
%1472 = icmp slt i32 %1470, %1471
br i1 %1472, label %.lr.ph284, label %._crit_edge285
._crit_edge285: ; preds = %.lr.ph284
%1473 = icmp sgt i32 %1471, 0
br i1 %1473, label %.lr.ph4.i201, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader
.lr.ph4.i201: ; preds = %._crit_edge285
%1474 = load i32* %9, align 4
%1475 = add nsw i32 %1474, -1
%1476 = icmp sgt i32 %1475, 0
%1477 = getelementptr inbounds float* %62, i32 %1475
%1478 = getelementptr inbounds float* %1205, i32 %1475
br label %1479
; <label>:1479 ; preds = %._crit_edge.i207, %.lr.ph4.i201
%i.02.i202 = phi i32 [ 0, %.lr.ph4.i201 ], [ %1495, %._crit_edge.i207 ]
%1480 = getelementptr inbounds float* %1186, i32 %i.02.i202
%1481 = load float* %1480, align 4
%1482 = load float* %1205, align 4
%1483 = fadd float %1481, %1482
%1484 = fsub float -0.000000e+00, %1483
br i1 %1476, label %.lr.ph.i205, label %._crit_edge.i207
.lr.ph.i205: ; preds = %.lr.ph.i205, %1479
%j.01.i203 = phi i32 [ %1485, %.lr.ph.i205 ], [ 0, %1479 ]
%1485 = add nsw i32 %j.01.i203, 1
%1486 = getelementptr inbounds float* %1205, i32 %1485
%1487 = load float* %1486, align 4
%1488 = getelementptr inbounds float* %62, i32 %j.01.i203
%1489 = load float* %1488, align 4
%1490 = fmul float %1489, %1484
%1491 = fadd float %1487, %1490
%1492 = getelementptr inbounds float* %1205, i32 %j.01.i203
store float %1491, float* %1492, align 4
%exitcond.i204 = icmp eq i32 %1485, %1475
br i1 %exitcond.i204, label %._crit_edge.i207, label %.lr.ph.i205
._crit_edge.i207: ; preds = %.lr.ph.i205, %1479
%1493 = load float* %1477, align 4
%1494 = fmul float %1493, %1484
store float %1494, float* %1478, align 4
store float %1483, float* %1480, align 4
%1495 = add nsw i32 %i.02.i202, 1
%exitcond6.i206 = icmp eq i32 %1495, %1471
br i1 %exitcond6.i206, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader, label %1479
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader: ; preds = %._crit_edge.i207, %._crit_edge285, %.loopexit279
%1496 = load i32* %9, align 4
%1497 = icmp sgt i32 %1496, 0
br i1 %1497, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader._crit_edge
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader
%i.19288 = phi i32 [ %1502, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208 ], [ 0, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader ]
%1498 = load float** %1229, align 4
%1499 = getelementptr inbounds float* %1498, i32 %i.19288
%1500 = load float* %1499, align 4
%1501 = getelementptr inbounds float* %1205, i32 %i.19288
store float %1500, float* %1501, align 4
%1502 = add nsw i32 %i.19288, 1
%1503 = load i32* %9, align 4
%1504 = icmp slt i32 %1502, %1503
br i1 %1504, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader._crit_edge
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader._crit_edge: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader
%1505 = phi i32 [ %1496, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader ], [ %1503, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208 ]
%1506 = load i32* %1163, align 4
%1507 = icmp sgt i32 %1506, 0
br i1 %1507, label %.lr.ph4.i193, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader
.lr.ph4.i193: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader._crit_edge
%1508 = add nsw i32 %1505, -1
%1509 = icmp sgt i32 %1508, 0
%1510 = getelementptr inbounds float* %20, i32 %1508
%1511 = getelementptr inbounds float* %26, i32 %1508
%1512 = getelementptr inbounds float* %1205, i32 %1508
br label %1513
; <label>:1513 ; preds = %._crit_edge.i199, %.lr.ph4.i193
%i.02.i194 = phi i32 [ 0, %.lr.ph4.i193 ], [ %1536, %._crit_edge.i199 ]
%1514 = getelementptr inbounds float* %1186, i32 %i.02.i194
%1515 = load float* %1514, align 4
%1516 = load float* %1205, align 4
%1517 = fadd float %1515, %1516
%1518 = fsub float -0.000000e+00, %1517
br i1 %1509, label %.lr.ph.i197, label %._crit_edge.i199
.lr.ph.i197: ; preds = %.lr.ph.i197, %1513
%j.01.i195 = phi i32 [ %1519, %.lr.ph.i197 ], [ 0, %1513 ]
%1519 = add nsw i32 %j.01.i195, 1
%1520 = getelementptr inbounds float* %1205, i32 %1519
%1521 = load float* %1520, align 4
%1522 = getelementptr inbounds float* %20, i32 %j.01.i195
%1523 = load float* %1522, align 4
%1524 = fmul float %1523, %1515
%1525 = fadd float %1521, %1524
%1526 = getelementptr inbounds float* %26, i32 %j.01.i195
%1527 = load float* %1526, align 4
%1528 = fmul float %1527, %1518
%1529 = fadd float %1525, %1528
%1530 = getelementptr inbounds float* %1205, i32 %j.01.i195
store float %1529, float* %1530, align 4
%exitcond.i196 = icmp eq i32 %1519, %1508
br i1 %exitcond.i196, label %._crit_edge.i199, label %.lr.ph.i197
._crit_edge.i199: ; preds = %.lr.ph.i197, %1513
%1531 = load float* %1510, align 4
%1532 = fmul float %1531, %1515
%1533 = load float* %1511, align 4
%1534 = fmul float %1533, %1518
%1535 = fadd float %1532, %1534
store float %1535, float* %1512, align 4
store float %1517, float* %1514, align 4
%1536 = add nsw i32 %i.02.i194, 1
%exitcond6.i198 = icmp eq i32 %1536, %1506
br i1 %exitcond6.i198, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.loopexit, label %1513
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.loopexit: ; preds = %._crit_edge.i199
%.pre397 = load i32* %9, align 4
br label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.loopexit, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader._crit_edge
%1537 = phi i32 [ %1505, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit208.preheader._crit_edge ], [ %.pre397, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.loopexit ]
%1538 = icmp sgt i32 %1537, 0
br i1 %1538, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader._crit_edge
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader
%i.20292 = phi i32 [ %1543, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200 ], [ 0, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader ]
%1539 = load float** %1229, align 4
%1540 = getelementptr inbounds float* %1539, i32 %i.20292
%1541 = load float* %1540, align 4
%1542 = getelementptr inbounds float* %1205, i32 %i.20292
store float %1541, float* %1542, align 4
%1543 = add nsw i32 %i.20292, 1
%1544 = load i32* %9, align 4
%1545 = icmp slt i32 %1543, %1544
br i1 %1545, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader._crit_edge
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader._crit_edge: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader
%.lcssa291 = phi i32 [ %1537, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader ], [ %1544, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200 ]
%1546 = load i32* %1163, align 4
%1547 = icmp sgt i32 %1546, 0
br i1 %1547, label %.lr.ph4.i185, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit192
.lr.ph4.i185: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader._crit_edge
%1548 = add nsw i32 %.lcssa291, -1
%1549 = icmp sgt i32 %1548, 0
%1550 = getelementptr inbounds float* %20, i32 %1548
%1551 = getelementptr inbounds float* %26, i32 %1548
%1552 = getelementptr inbounds float* %1205, i32 %1548
br label %1553
; <label>:1553 ; preds = %._crit_edge.i191, %.lr.ph4.i185
%i.02.i186 = phi i32 [ 0, %.lr.ph4.i185 ], [ %1576, %._crit_edge.i191 ]
%.sum223 = add i32 %i.02.i186, %1253
%1554 = getelementptr inbounds float* %1256, i32 %.sum223
%1555 = load float* %1554, align 4
%1556 = load float* %1205, align 4
%1557 = fadd float %1555, %1556
%1558 = fsub float -0.000000e+00, %1557
br i1 %1549, label %.lr.ph.i189, label %._crit_edge.i191
.lr.ph.i189: ; preds = %.lr.ph.i189, %1553
%j.01.i187 = phi i32 [ %1559, %.lr.ph.i189 ], [ 0, %1553 ]
%1559 = add nsw i32 %j.01.i187, 1
%1560 = getelementptr inbounds float* %1205, i32 %1559
%1561 = load float* %1560, align 4
%1562 = getelementptr inbounds float* %20, i32 %j.01.i187
%1563 = load float* %1562, align 4
%1564 = fmul float %1563, %1555
%1565 = fadd float %1561, %1564
%1566 = getelementptr inbounds float* %26, i32 %j.01.i187
%1567 = load float* %1566, align 4
%1568 = fmul float %1567, %1558
%1569 = fadd float %1565, %1568
%1570 = getelementptr inbounds float* %1205, i32 %j.01.i187
store float %1569, float* %1570, align 4
%exitcond.i188 = icmp eq i32 %1559, %1548
br i1 %exitcond.i188, label %._crit_edge.i191, label %.lr.ph.i189
._crit_edge.i191: ; preds = %.lr.ph.i189, %1553
%1571 = load float* %1550, align 4
%1572 = fmul float %1571, %1555
%1573 = load float* %1551, align 4
%1574 = fmul float %1573, %1558
%1575 = fadd float %1572, %1574
store float %1575, float* %1552, align 4
store float %1557, float* %1554, align 4
%1576 = add nsw i32 %i.02.i186, 1
%exitcond6.i190 = icmp eq i32 %1576, %1546
br i1 %exitcond6.i190, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit192, label %1553
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit192: ; preds = %._crit_edge.i191, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit200.preheader._crit_edge
%1577 = load i32* %1227, align 4
%1578 = icmp eq i32 %1577, 0
br i1 %1578, label %.preheader295, label %.preheader299
.preheader295: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit192
%1579 = load i32* %9, align 4
%1580 = icmp sgt i32 %1579, 0
br i1 %1580, label %.lr.ph298, label %.preheader299
.lr.ph298: ; preds = %.lr.ph298, %.preheader295
%i.21297 = phi i32 [ %1585, %.lr.ph298 ], [ 0, %.preheader295 ]
%1581 = getelementptr inbounds float* %1205, i32 %i.21297
%1582 = load float* %1581, align 4
%1583 = load float** %1229, align 4
%1584 = getelementptr inbounds float* %1583, i32 %i.21297
store float %1582, float* %1584, align 4
%1585 = add nsw i32 %i.21297, 1
%1586 = load i32* %9, align 4
%1587 = icmp slt i32 %1585, %1586
br i1 %1587, label %.lr.ph298, label %.preheader299
.preheader299: ; preds = %.lr.ph298, %.preheader295, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit192
%1588 = load i32* %1163, align 4
%1589 = icmp sgt i32 %1588, 0
br i1 %1589, label %.lr.ph302, label %._crit_edge303
.lr.ph302: ; preds = %.lr.ph302, %.preheader299
%i.22301 = phi i32 [ %1596, %.lr.ph302 ], [ 0, %.preheader299 ]
%.sum59 = add i32 %i.22301, %1253
%1590 = getelementptr inbounds float* %1256, i32 %.sum59
%1591 = load float* %1590, align 4
%1592 = getelementptr inbounds float* %1186, i32 %i.22301
%1593 = load float* %1592, align 4
%1594 = fsub float %1591, %1593
%1595 = getelementptr inbounds float* %1168, i32 %i.22301
store float %1594, float* %1595, align 4
%1596 = add nsw i32 %i.22301, 1
%1597 = load i32* %1163, align 4
%1598 = icmp slt i32 %1596, %1597
br i1 %1598, label %.lr.ph302, label %._crit_edge303
._crit_edge303: ; preds = %.lr.ph302, %.preheader299
%.lcssa300 = phi i32 [ %1588, %.preheader299 ], [ %1597, %.lr.ph302 ]
%1599 = bitcast float* %1255 to i8*
%1600 = shl i32 %.lcssa300, 2
call void @llvm.memset.p0i8.i32(i8* %1599, i8 0, i32 %1600, i32 4, i1 false)
%1601 = load i32* %317, align 4
%1602 = load %struct.SpeexSubmode*** %320, align 4
%1603 = getelementptr inbounds %struct.SpeexSubmode** %1602, i32 %1601
%1604 = load %struct.SpeexSubmode** %1603, align 4
%1605 = getelementptr inbounds %struct.SpeexSubmode* %1604, i32 0, i32 6
%1606 = load i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)** %1605, align 4
%1607 = icmp eq i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* %1606, null
br i1 %1607, label %1608, label %1611
; <label>:1608 ; preds = %._crit_edge303
%1609 = load %struct.__sFILE** @stderr, align 4
%1610 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %1609, i8* getelementptr inbounds ([43 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([81 x i8]* @.str142, i32 0, i32 0), i32 758, i8* getelementptr inbounds ([37 x i8]* @.str243, i32 0, i32 0))
call void @exit(i32 1)
%.pre398 = load i32* %317, align 4
%.pre399 = load %struct.SpeexSubmode*** %320, align 4
%.phi.trans.insert400 = getelementptr inbounds %struct.SpeexSubmode** %.pre399, i32 %.pre398
%.pre401 = load %struct.SpeexSubmode** %.phi.trans.insert400, align 4
br label %1611
; <label>:1611 ; preds = %1608, %._crit_edge303
%1612 = phi %struct.SpeexSubmode* [ %1604, %._crit_edge303 ], [ %.pre401, %1608 ]
%1613 = getelementptr inbounds %struct.SpeexSubmode* %1612, i32 0, i32 0
%1614 = load i32* %1613, align 4
switch i32 %1614, label %1615 [
i32 -1, label %1626
i32 0, label %._crit_edge420
]
; <label>:1615 ; preds = %1611
%1616 = load i32* %1231, align 4
%1617 = add i32 %1614, -1
%1618 = add i32 %1617, %1616
%1619 = icmp slt i32 %ol_pitch.3329, %1618
%.ol_pitch.3 = select i1 %1619, i32 %1618, i32 %ol_pitch.3329
%1620 = load i32* %73, align 4
%1621 = sub nsw i32 %1620, %1614
%1622 = icmp sgt i32 %.ol_pitch.3, %1621
%ol_pitch.5 = select i1 %1622, i32 %1621, i32 %.ol_pitch.3
%1623 = sub i32 1, %1614
%1624 = add i32 %1623, %ol_pitch.5
%1625 = add nsw i32 %ol_pitch.5, %1614
br label %._crit_edge420
; <label>:1626 ; preds = %1611
%1627 = load i32* %1231, align 4
%1628 = load i32* %73, align 4
br label %._crit_edge420
._crit_edge420: ; preds = %1626, %1615, %1611
%ol_pitch.6 = phi i32 [ %ol_pitch.5, %1615 ], [ %ol_pitch.3329, %1626 ], [ %ol_pitch.3329, %1611 ]
%pit_min.0 = phi i32 [ %1624, %1615 ], [ %1627, %1626 ], [ %ol_pitch.3329, %1611 ]
%pit_max.0 = phi i32 [ %1625, %1615 ], [ %1628, %1626 ], [ %ol_pitch.3329, %1611 ]
%1629 = load i32* %1233, align 4
%1630 = icmp ne i32 %1629, 0
%1631 = icmp sgt i32 %pit_max.0, %1253
%or.cond68 = and i1 %1630, %1631
%pit_max.1 = select i1 %or.cond68, i32 %1253, i32 %pit_max.0
%1632 = getelementptr inbounds %struct.SpeexSubmode* %1612, i32 0, i32 6
%1633 = load i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)** %1632, align 4
%1634 = getelementptr inbounds %struct.SpeexSubmode* %1612, i32 0, i32 8
%1635 = load i8** %1634, align 4
%1636 = load i32* %9, align 4
%1637 = load i32* %1163, align 4
%1638 = load i32* %1227, align 4
%1639 = load i32* %1235, align 4
%1640 = call i32 %1633(float* %1168, float* %1257, float* %62, float* %20, float* %26, float* %1180, i8* %1635, i32 %pit_min.0, i32 %pit_max.1, float %ol_pitch_coef.1, i32 %1636, i32 %1637, %struct.SpeexBits* %bits, i8* %1203, float* %1255, float* %1192, i32 %1638, i32 0, i32 %1639, float* %1237)
%1641 = load i32** %1239, align 4
%1642 = getelementptr inbounds i32* %1641, i32 %sub.0330
store i32 %1640, i32* %1642, align 4
%1643 = load i32* %1163, align 4
%1644 = shl i32 %1643, 2
call void @llvm.memset.p0i8.i32(i8* %1173, i8 0, i32 %1644, i32 4, i1 false)
%1645 = load i32* %1163, align 4
%1646 = icmp sgt i32 %1645, 0
br i1 %1646, label %.lr.ph308, label %_Z13compute_rms16PKfi.exit152
.lr.ph308: ; preds = %.lr.ph308, %._crit_edge420
%i.23306 = phi i32 [ %1652, %.lr.ph308 ], [ 0, %._crit_edge420 ]
%1647 = getelementptr inbounds float* %1198, i32 %i.23306
%1648 = load float* %1647, align 4
%1649 = getelementptr inbounds float* %1180, i32 %i.23306
%1650 = load float* %1649, align 4
%1651 = fsub float %1648, %1650
store float %1651, float* %1647, align 4
%1652 = add nsw i32 %i.23306, 1
%1653 = load i32* %1163, align 4
%1654 = icmp slt i32 %1652, %1653
br i1 %1654, label %.lr.ph308, label %._crit_edge309
._crit_edge309: ; preds = %.lr.ph308
%1655 = icmp sgt i32 %1653, 0
br i1 %1655, label %.lr.ph.i.i150, label %_Z13compute_rms16PKfi.exit152
.lr.ph.i.i150: ; preds = %.lr.ph.i.i150, %._crit_edge309
%sum.02.i.i147 = phi float [ %1659, %.lr.ph.i.i150 ], [ 0.000000e+00, %._crit_edge309 ]
%i.01.i.i148 = phi i32 [ %1660, %.lr.ph.i.i150 ], [ 0, %._crit_edge309 ]
%1656 = getelementptr inbounds float* %1198, i32 %i.01.i.i148
%1657 = load float* %1656, align 4
%1658 = fmul float %1657, %1657
%1659 = fadd float %sum.02.i.i147, %1658
%1660 = add nsw i32 %i.01.i.i148, 1
%exitcond.i.i149 = icmp eq i32 %1660, %1653
br i1 %exitcond.i.i149, label %_Z13compute_rms16PKfi.exit152, label %.lr.ph.i.i150
_Z13compute_rms16PKfi.exit152: ; preds = %.lr.ph.i.i150, %._crit_edge309, %._crit_edge420
%.lcssa305438 = phi i32 [ %1653, %._crit_edge309 ], [ %1645, %._crit_edge420 ], [ %1653, %.lr.ph.i.i150 ]
%sum.0.lcssa.i.i151 = phi float [ 0.000000e+00, %._crit_edge309 ], [ 0.000000e+00, %._crit_edge420 ], [ %1659, %.lr.ph.i.i150 ]
%1661 = sitofp i32 %.lcssa305438 to float
%1662 = fdiv float %sum.0.lcssa.i.i151, %1661
%1663 = fpext float %1662 to double
%1664 = fadd double %1663, 1.000000e-01
%1665 = call double @sqrt(double %1664) nounwind readnone
%1666 = fptrunc double %1665 to float
%1667 = fdiv float %1666, %1144
%1668 = load i32* %317, align 4
%1669 = load %struct.SpeexSubmode*** %320, align 4
%1670 = getelementptr inbounds %struct.SpeexSubmode** %1669, i32 %1668
%1671 = load %struct.SpeexSubmode** %1670, align 4
%1672 = getelementptr inbounds %struct.SpeexSubmode* %1671, i32 0, i32 2
%1673 = load i32* %1672, align 4
switch i32 %1673, label %.preheader312 [
i32 0, label %1694
i32 3, label %.preheader254
]
.preheader254: ; preds = %1678, %_Z13compute_rms16PKfi.exit152
%.0.i144 = phi float* [ %1679, %1678 ], [ getelementptr inbounds ([7 x float]* @_ZL26exc_gain_quant_scal3_bound, i32 0, i32 0), %_Z13compute_rms16PKfi.exit152 ]
%i.0.i145 = phi i32 [ %1680, %1678 ], [ 0, %_Z13compute_rms16PKfi.exit152 ]
%1674 = icmp slt i32 %i.0.i145, 7
br i1 %1674, label %1675, label %_Z10scal_quantfPKfi.exit146
; <label>:1675 ; preds = %.preheader254
%1676 = load float* %.0.i144, align 4
%1677 = fcmp olt float %1676, %1667
br i1 %1677, label %1678, label %_Z10scal_quantfPKfi.exit146
; <label>:1678 ; preds = %1675
%1679 = getelementptr inbounds float* %.0.i144, i32 1
%1680 = add nsw i32 %i.0.i145, 1
br label %.preheader254
_Z10scal_quantfPKfi.exit146: ; preds = %1675, %.preheader254
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %i.0.i145, i32 3)
%1681 = getelementptr inbounds [8 x float]* @_ZL20exc_gain_quant_scal3, i32 0, i32 %i.0.i145
%1682 = load float* %1681, align 4
%1683 = fmul float %1682, %1144
br label %1694
.preheader312: ; preds = %1688, %_Z13compute_rms16PKfi.exit152
%.0.i = phi float* [ %1689, %1688 ], [ getelementptr inbounds ([1 x float]* @_ZL26exc_gain_quant_scal1_bound, i32 0, i32 0), %_Z13compute_rms16PKfi.exit152 ]
%i.0.i = phi i32 [ %1690, %1688 ], [ 0, %_Z13compute_rms16PKfi.exit152 ]
%1684 = icmp slt i32 %i.0.i, 1
br i1 %1684, label %1685, label %_Z10scal_quantfPKfi.exit
; <label>:1685 ; preds = %.preheader312
%1686 = load float* %.0.i, align 4
%1687 = fcmp olt float %1686, %1667
br i1 %1687, label %1688, label %_Z10scal_quantfPKfi.exit
; <label>:1688 ; preds = %1685
%1689 = getelementptr inbounds float* %.0.i, i32 1
%1690 = add nsw i32 %i.0.i, 1
br label %.preheader312
_Z10scal_quantfPKfi.exit: ; preds = %1685, %.preheader312
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %i.0.i, i32 1)
%1691 = getelementptr inbounds [2 x float]* @_ZL20exc_gain_quant_scal1, i32 0, i32 %i.0.i
%1692 = load float* %1691, align 4
%1693 = fmul float %1692, %1144
br label %1694
; <label>:1694 ; preds = %_Z10scal_quantfPKfi.exit, %_Z10scal_quantfPKfi.exit146, %_Z13compute_rms16PKfi.exit152
%ener.0 = phi float [ %1683, %_Z10scal_quantfPKfi.exit146 ], [ %1693, %_Z10scal_quantfPKfi.exit ], [ %1144, %_Z13compute_rms16PKfi.exit152 ]
%1695 = load i32* %1163, align 4
%1696 = fdiv float 1.000000e+00, %ener.0
%1697 = icmp sgt i32 %1695, 0
br i1 %1697, label %.lr.ph.i132, label %_Z10signal_divPKfPffi.exit
.lr.ph.i132: ; preds = %.lr.ph.i132, %1694
%i.01.i130 = phi i32 [ %1701, %.lr.ph.i132 ], [ 0, %1694 ]
%1698 = getelementptr inbounds float* %1168, i32 %i.01.i130
%1699 = load float* %1698, align 4
%1700 = fmul float %1696, %1699
store float %1700, float* %1698, align 4
%1701 = add nsw i32 %i.01.i130, 1
%exitcond.i131 = icmp eq i32 %1701, %1695
br i1 %exitcond.i131, label %_Z10signal_divPKfPffi.exit, label %.lr.ph.i132
_Z10signal_divPKfPffi.exit: ; preds = %.lr.ph.i132, %1694
%1702 = load i32* %317, align 4
%1703 = load %struct.SpeexSubmode*** %320, align 4
%1704 = getelementptr inbounds %struct.SpeexSubmode** %1703, i32 %1702
%1705 = load %struct.SpeexSubmode** %1704, align 4
%1706 = getelementptr inbounds %struct.SpeexSubmode* %1705, i32 0, i32 9
%1707 = load void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)** %1706, align 4
%1708 = icmp eq void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* %1707, null
br i1 %1708, label %1709, label %_Z10signal_divPKfPffi.exit._crit_edge
; <label>:1709 ; preds = %_Z10signal_divPKfPffi.exit
%1710 = load %struct.__sFILE** @stderr, align 4
%1711 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %1710, i8* getelementptr inbounds ([43 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([81 x i8]* @.str142, i32 0, i32 0), i32 840, i8* getelementptr inbounds ([44 x i8]* @.str344, i32 0, i32 0))
call void @exit(i32 1)
%.pre402 = load i32* %317, align 4
%.pre403 = load %struct.SpeexSubmode*** %320, align 4
%.phi.trans.insert404 = getelementptr inbounds %struct.SpeexSubmode** %.pre403, i32 %.pre402
%.pre405 = load %struct.SpeexSubmode** %.phi.trans.insert404, align 4
%.phi.trans.insert406 = getelementptr inbounds %struct.SpeexSubmode* %.pre405, i32 0, i32 9
%.pre407 = load void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)** %.phi.trans.insert406, align 4
br label %_Z10signal_divPKfPffi.exit._crit_edge
_Z10signal_divPKfPffi.exit._crit_edge: ; preds = %1709, %_Z10signal_divPKfPffi.exit
%1712 = phi void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* [ %.pre407, %1709 ], [ %1707, %_Z10signal_divPKfPffi.exit ]
%1713 = phi %struct.SpeexSubmode* [ %.pre405, %1709 ], [ %1705, %_Z10signal_divPKfPffi.exit ]
%1714 = getelementptr inbounds %struct.SpeexSubmode* %1713, i32 0, i32 11
%1715 = load i8** %1714, align 4
%1716 = load i32* %9, align 4
%1717 = load i32* %1163, align 4
%1718 = load i32* %1227, align 4
%1719 = getelementptr inbounds %struct.SpeexSubmode* %1713, i32 0, i32 3
%1720 = load i32* %1719, align 4
call void %1712(float* %1168, float* %62, float* %20, float* %26, i8* %1715, i32 %1716, i32 %1717, float* %1174, float* %1192, %struct.SpeexBits* %bits, i8* %1203, i32 %1718, i32 %1720)
%1721 = load i32* %1163, align 4
%1722 = icmp sgt i32 %1721, 0
br i1 %1722, label %.lr.ph.i106, label %_Z10signal_mulPKfPffi.exit108._crit_edge
.lr.ph.i106: ; preds = %.lr.ph.i106, %_Z10signal_divPKfPffi.exit._crit_edge
%i.01.i104 = phi i32 [ %1726, %.lr.ph.i106 ], [ 0, %_Z10signal_divPKfPffi.exit._crit_edge ]
%1723 = getelementptr inbounds float* %1174, i32 %i.01.i104
%1724 = load float* %1723, align 4
%1725 = fmul float %1724, %ener.0
store float %1725, float* %1723, align 4
%1726 = add nsw i32 %i.01.i104, 1
%exitcond.i105 = icmp eq i32 %1726, %1721
br i1 %exitcond.i105, label %_Z10signal_mulPKfPffi.exit108.preheader, label %.lr.ph.i106
_Z10signal_mulPKfPffi.exit108.preheader: ; preds = %.lr.ph.i106
%.pre408 = load i32* %1163, align 4
%1727 = icmp sgt i32 %.pre408, 0
br i1 %1727, label %_Z10signal_mulPKfPffi.exit108, label %_Z10signal_mulPKfPffi.exit108._crit_edge
_Z10signal_mulPKfPffi.exit108: ; preds = %_Z10signal_mulPKfPffi.exit108, %_Z10signal_mulPKfPffi.exit108.preheader
%i.24314 = phi i32 [ %1734, %_Z10signal_mulPKfPffi.exit108 ], [ 0, %_Z10signal_mulPKfPffi.exit108.preheader ]
%1728 = getelementptr inbounds float* %1180, i32 %i.24314
%1729 = load float* %1728, align 4
%1730 = getelementptr inbounds float* %1174, i32 %i.24314
%1731 = load float* %1730, align 4
%1732 = fadd float %1729, %1731
%.sum58 = add i32 %i.24314, %1253
%1733 = getelementptr inbounds float* %1254, i32 %.sum58
store float %1732, float* %1733, align 4
%1734 = add nsw i32 %i.24314, 1
%1735 = load i32* %1163, align 4
%1736 = icmp slt i32 %1734, %1735
br i1 %1736, label %_Z10signal_mulPKfPffi.exit108, label %_Z10signal_mulPKfPffi.exit108._crit_edge
_Z10signal_mulPKfPffi.exit108._crit_edge: ; preds = %_Z10signal_mulPKfPffi.exit108, %_Z10signal_mulPKfPffi.exit108.preheader, %_Z10signal_divPKfPffi.exit._crit_edge
%.pr217410 = phi i32 [ %.pre408, %_Z10signal_mulPKfPffi.exit108.preheader ], [ %1721, %_Z10signal_divPKfPffi.exit._crit_edge ], [ %1735, %_Z10signal_mulPKfPffi.exit108 ]
%1737 = load i32* %317, align 4
%1738 = load %struct.SpeexSubmode*** %320, align 4
%1739 = getelementptr inbounds %struct.SpeexSubmode** %1738, i32 %1737
%1740 = load %struct.SpeexSubmode** %1739, align 4
%1741 = getelementptr inbounds %struct.SpeexSubmode* %1740, i32 0, i32 3
%1742 = load i32* %1741, align 4
%1743 = icmp eq i32 %1742, 0
br i1 %1743, label %thread-pre-split, label %1744
; <label>:1744 ; preds = %_Z10signal_mulPKfPffi.exit108._crit_edge
%1745 = shl i32 %.pr217410, 2
%.sum56 = add i32 %1745, %.sum55
%1746 = getelementptr inbounds i8* %4, i32 %.sum56
call void @llvm.memset.p0i8.i32(i8* %1247, i8 0, i32 %1745, i32 4, i1 false)
%1747 = load i32* %1163, align 4
%1748 = icmp sgt i32 %1747, 0
br i1 %1748, label %.lr.ph320, label %._crit_edge321
.lr.ph320: ; preds = %.lr.ph320, %1744
%i.25318 = phi i32 [ %1752, %.lr.ph320 ], [ 0, %1744 ]
%1749 = getelementptr inbounds float* %1168, i32 %i.25318
%1750 = load float* %1749, align 4
%1751 = fmul float %1750, 0x40019999A0000000
store float %1751, float* %1749, align 4
%1752 = add nsw i32 %i.25318, 1
%1753 = load i32* %1163, align 4
%1754 = icmp slt i32 %1752, %1753
br i1 %1754, label %.lr.ph320, label %._crit_edge321
._crit_edge321: ; preds = %.lr.ph320, %1744
%.lcssa317 = phi i32 [ %1747, %1744 ], [ %1753, %.lr.ph320 ]
%1755 = load i32* %317, align 4
%1756 = load %struct.SpeexSubmode*** %320, align 4
%1757 = getelementptr inbounds %struct.SpeexSubmode** %1756, i32 %1755
%1758 = load %struct.SpeexSubmode** %1757, align 4
%1759 = getelementptr inbounds %struct.SpeexSubmode* %1758, i32 0, i32 9
%1760 = load void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)** %1759, align 4
%1761 = getelementptr inbounds %struct.SpeexSubmode* %1758, i32 0, i32 11
%1762 = load i8** %1761, align 4
%1763 = load i32* %9, align 4
%1764 = load i32* %1227, align 4
call void %1760(float* %1168, float* %62, float* %20, float* %26, i8* %1762, i32 %1763, i32 %.lcssa317, float* %1248, float* %1192, %struct.SpeexBits* %bits, i8* %1746, i32 %1764, i32 0)
%1765 = fmul float %ener.0, 0x3FDD1743E0000000
%1766 = load i32* %1163, align 4
%1767 = icmp sgt i32 %1766, 0
br i1 %1767, label %.lr.ph.i98, label %thread-pre-split
.lr.ph.i98: ; preds = %.lr.ph.i98, %._crit_edge321
%i.01.i96 = phi i32 [ %1771, %.lr.ph.i98 ], [ 0, %._crit_edge321 ]
%1768 = getelementptr inbounds float* %1248, i32 %i.01.i96
%1769 = load float* %1768, align 4
%1770 = fmul float %1769, %1765
store float %1770, float* %1768, align 4
%1771 = add nsw i32 %i.01.i96, 1
%exitcond.i97 = icmp eq i32 %1771, %1766
br i1 %exitcond.i97, label %_Z10signal_mulPKfPffi.exit.preheader, label %.lr.ph.i98
_Z10signal_mulPKfPffi.exit.preheader: ; preds = %.lr.ph.i98
%.pre412 = load i32* %1163, align 4
%1772 = icmp sgt i32 %.pre412, 0
br i1 %1772, label %_Z10signal_mulPKfPffi.exit, label %thread-pre-split
_Z10signal_mulPKfPffi.exit: ; preds = %_Z10signal_mulPKfPffi.exit, %_Z10signal_mulPKfPffi.exit.preheader
%i.26325 = phi i32 [ %1778, %_Z10signal_mulPKfPffi.exit ], [ 0, %_Z10signal_mulPKfPffi.exit.preheader ]
%1773 = getelementptr inbounds float* %1174, i32 %i.26325
%1774 = load float* %1773, align 4
%1775 = getelementptr inbounds float* %1248, i32 %i.26325
%1776 = load float* %1775, align 4
%1777 = fadd float %1774, %1776
store float %1777, float* %1773, align 4
%1778 = add nsw i32 %i.26325, 1
%1779 = load i32* %1163, align 4
%1780 = icmp slt i32 %1778, %1779
br i1 %1780, label %_Z10signal_mulPKfPffi.exit, label %thread-pre-split
thread-pre-split: ; preds = %1783, %_Z10signal_mulPKfPffi.exit, %_Z10signal_mulPKfPffi.exit.preheader, %._crit_edge321, %_Z10signal_mulPKfPffi.exit108._crit_edge
%1781 = phi i32 [ %.pr217.pre, %1783 ], [ %.pre412, %_Z10signal_mulPKfPffi.exit.preheader ], [ %1766, %._crit_edge321 ], [ %.pr217410, %_Z10signal_mulPKfPffi.exit108._crit_edge ], [ %1779, %_Z10signal_mulPKfPffi.exit ]
%i.27 = phi i32 [ %1790, %1783 ], [ 0, %_Z10signal_mulPKfPffi.exit ], [ 0, %_Z10signal_mulPKfPffi.exit108._crit_edge ], [ 0, %._crit_edge321 ], [ 0, %_Z10signal_mulPKfPffi.exit.preheader ]
%1782 = icmp slt i32 %i.27, %1781
br i1 %1782, label %1783, label %1791
; <label>:1783 ; preds = %thread-pre-split
%1784 = getelementptr inbounds float* %1180, i32 %i.27
%1785 = load float* %1784, align 4
%1786 = getelementptr inbounds float* %1174, i32 %i.27
%1787 = load float* %1786, align 4
%1788 = fadd float %1785, %1787
%.sum54 = add i32 %i.27, %1253
%1789 = getelementptr inbounds float* %1254, i32 %.sum54
store float %1788, float* %1789, align 4
%1790 = add nsw i32 %i.27, 1
%.pr217.pre = load i32* %1163, align 4
br label %thread-pre-split
; <label>:1791 ; preds = %thread-pre-split
%1792 = load float** %1241, align 4
%1793 = icmp eq float* %1792, null
br i1 %1793, label %1808, label %1794
; <label>:1794 ; preds = %1791
%1795 = icmp sgt i32 %1781, 0
br i1 %1795, label %.lr.ph.i89, label %_Z11compute_rmsPKfi.exit
.lr.ph.i89: ; preds = %.lr.ph.i89, %1794
%sum.02.i = phi float [ %1799, %.lr.ph.i89 ], [ 0.000000e+00, %1794 ]
%i.01.i87 = phi i32 [ %1800, %.lr.ph.i89 ], [ 0, %1794 ]
%1796 = getelementptr inbounds float* %1174, i32 %i.01.i87
%1797 = load float* %1796, align 4
%1798 = fmul float %1797, %1797
%1799 = fadd float %sum.02.i, %1798
%1800 = add nsw i32 %i.01.i87, 1
%exitcond.i88 = icmp eq i32 %1800, %1781
br i1 %exitcond.i88, label %_Z11compute_rmsPKfi.exit, label %.lr.ph.i89
_Z11compute_rmsPKfi.exit: ; preds = %.lr.ph.i89, %1794
%sum.0.lcssa.i = phi float [ 0.000000e+00, %1794 ], [ %1799, %.lr.ph.i89 ]
%1801 = sitofp i32 %1781 to float
%1802 = fdiv float %sum.0.lcssa.i, %1801
%1803 = fpext float %1802 to double
%1804 = fadd double %1803, 1.000000e-01
%1805 = call double @sqrt(double %1804) nounwind readnone
%1806 = fptrunc double %1805 to float
%1807 = getelementptr inbounds float* %1792, i32 %sub.0330
store float %1806, float* %1807, align 4
%.pre411 = load i32* %1163, align 4
br label %1808
; <label>:1808 ; preds = %_Z11compute_rmsPKfi.exit, %1791
%1809 = phi i32 [ %1781, %1791 ], [ %.pre411, %_Z11compute_rmsPKfi.exit ]
%1810 = load float** %1243, align 4
%1811 = icmp sgt i32 %1809, 0
br i1 %1811, label %.lr.ph4.i80, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit
.lr.ph4.i80: ; preds = %1808
%1812 = load i32* %9, align 4
%1813 = add nsw i32 %1812, -1
%1814 = icmp sgt i32 %1813, 0
%1815 = getelementptr inbounds float* %62, i32 %1813
%1816 = getelementptr inbounds float* %1810, i32 %1813
br label %1817
; <label>:1817 ; preds = %._crit_edge.i86, %.lr.ph4.i80
%i.02.i81 = phi i32 [ 0, %.lr.ph4.i80 ], [ %1834, %._crit_edge.i86 ]
%.sum221 = add i32 %i.02.i81, %1253
%1818 = getelementptr inbounds float* %1254, i32 %.sum221
%1819 = load float* %1818, align 4
%1820 = load float* %1810, align 4
%1821 = fadd float %1819, %1820
%1822 = fsub float -0.000000e+00, %1821
br i1 %1814, label %.lr.ph.i84, label %._crit_edge.i86
.lr.ph.i84: ; preds = %.lr.ph.i84, %1817
%j.01.i82 = phi i32 [ %1823, %.lr.ph.i84 ], [ 0, %1817 ]
%1823 = add nsw i32 %j.01.i82, 1
%1824 = getelementptr inbounds float* %1810, i32 %1823
%1825 = load float* %1824, align 4
%1826 = getelementptr inbounds float* %62, i32 %j.01.i82
%1827 = load float* %1826, align 4
%1828 = fmul float %1827, %1822
%1829 = fadd float %1825, %1828
%1830 = getelementptr inbounds float* %1810, i32 %j.01.i82
store float %1829, float* %1830, align 4
%exitcond.i83 = icmp eq i32 %1823, %1813
br i1 %exitcond.i83, label %._crit_edge.i86, label %.lr.ph.i84
._crit_edge.i86: ; preds = %.lr.ph.i84, %1817
%1831 = load float* %1815, align 4
%1832 = fmul float %1831, %1822
store float %1832, float* %1816, align 4
%1833 = getelementptr inbounds float* %1256, i32 %.sum221
store float %1821, float* %1833, align 4
%1834 = add nsw i32 %i.02.i81, 1
%exitcond6.i85 = icmp eq i32 %1834, %1809
br i1 %exitcond6.i85, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit, label %1817
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit: ; preds = %._crit_edge.i86, %1808
%1835 = load i32* %1227, align 4
%1836 = icmp eq i32 %1835, 0
br i1 %1836, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit, label %1837
; <label>:1837 ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit
%1838 = load i32* %1163, align 4
%1839 = load float** %1229, align 4
%1840 = icmp sgt i32 %1838, 0
br i1 %1840, label %.lr.ph4.i, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit
.lr.ph4.i: ; preds = %1837
%1841 = load i32* %9, align 4
%1842 = add nsw i32 %1841, -1
%1843 = icmp sgt i32 %1842, 0
%1844 = getelementptr inbounds float* %20, i32 %1842
%1845 = getelementptr inbounds float* %26, i32 %1842
%1846 = getelementptr inbounds float* %1839, i32 %1842
br label %1847
; <label>:1847 ; preds = %._crit_edge.i79, %.lr.ph4.i
%i.02.i76 = phi i32 [ 0, %.lr.ph4.i ], [ %1870, %._crit_edge.i79 ]
%.sum220 = add i32 %i.02.i76, %1253
%1848 = getelementptr inbounds float* %1256, i32 %.sum220
%1849 = load float* %1848, align 4
%1850 = load float* %1839, align 4
%1851 = fadd float %1849, %1850
%1852 = fsub float -0.000000e+00, %1851
br i1 %1843, label %.lr.ph.i78, label %._crit_edge.i79
.lr.ph.i78: ; preds = %.lr.ph.i78, %1847
%j.01.i = phi i32 [ %1853, %.lr.ph.i78 ], [ 0, %1847 ]
%1853 = add nsw i32 %j.01.i, 1
%1854 = getelementptr inbounds float* %1839, i32 %1853
%1855 = load float* %1854, align 4
%1856 = getelementptr inbounds float* %20, i32 %j.01.i
%1857 = load float* %1856, align 4
%1858 = fmul float %1857, %1849
%1859 = fadd float %1855, %1858
%1860 = getelementptr inbounds float* %26, i32 %j.01.i
%1861 = load float* %1860, align 4
%1862 = fmul float %1861, %1852
%1863 = fadd float %1859, %1862
%1864 = getelementptr inbounds float* %1839, i32 %j.01.i
store float %1863, float* %1864, align 4
%exitcond.i77 = icmp eq i32 %1853, %1842
br i1 %exitcond.i77, label %._crit_edge.i79, label %.lr.ph.i78
._crit_edge.i79: ; preds = %.lr.ph.i78, %1847
%1865 = load float* %1844, align 4
%1866 = fmul float %1865, %1849
%1867 = load float* %1845, align 4
%1868 = fmul float %1867, %1852
%1869 = fadd float %1866, %1868
store float %1869, float* %1846, align 4
store float %1851, float* %1848, align 4
%1870 = add nsw i32 %i.02.i76, 1
%exitcond6.i = icmp eq i32 %1870, %1838
br i1 %exitcond6.i, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit, label %1847
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit: ; preds = %._crit_edge.i79, %1837, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit
%1871 = add nsw i32 %sub.0330, 1
%1872 = load i32* %1207, align 4
%1873 = icmp slt i32 %1871, %1872
br i1 %1873, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit._crit_edge, label %._crit_edge421
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit._crit_edge: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit
%.pre427 = load i32* %1163, align 4
%.pre428 = load i32* %9, align 4
br label %1249
._crit_edge421: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit, %.loopexit244
%1874 = load i32* %317, align 4
%1875 = icmp sgt i32 %1874, 0
br i1 %1875, label %.preheader251, label %.thread
.preheader251: ; preds = %._crit_edge421
%1876 = load i32* %9, align 4
%1877 = icmp sgt i32 %1876, 0
br i1 %1877, label %.lr.ph253, label %.preheader247._crit_edge
.lr.ph253: ; preds = %.preheader251
%1878 = getelementptr inbounds i8* %state, i32 100
%1879 = bitcast i8* %1878 to float**
br label %1883
.preheader247: ; preds = %1883
%1880 = icmp sgt i32 %1889, 0
br i1 %1880, label %.lr.ph249, label %.preheader247._crit_edge
.lr.ph249: ; preds = %.preheader247
%1881 = getelementptr inbounds i8* %state, i32 104
%1882 = bitcast i8* %1881 to float**
br label %1891
; <label>:1883 ; preds = %1883, %.lr.ph253
%i.28252 = phi i32 [ 0, %.lr.ph253 ], [ %1888, %1883 ]
%1884 = getelementptr inbounds float* %32, i32 %i.28252
%1885 = load float* %1884, align 4
%1886 = load float** %1879, align 4
%1887 = getelementptr inbounds float* %1886, i32 %i.28252
store float %1885, float* %1887, align 4
%1888 = add nsw i32 %i.28252, 1
%1889 = load i32* %9, align 4
%1890 = icmp slt i32 %1888, %1889
br i1 %1890, label %1883, label %.preheader247
; <label>:1891 ; preds = %1891, %.lr.ph249
%i.29248 = phi i32 [ 0, %.lr.ph249 ], [ %1896, %1891 ]
%1892 = getelementptr inbounds float* %38, i32 %i.29248
%1893 = load float* %1892, align 4
%1894 = load float** %1882, align 4
%1895 = getelementptr inbounds float* %1894, i32 %i.29248
store float %1893, float* %1895, align 4
%1896 = add nsw i32 %i.29248, 1
%1897 = load i32* %9, align 4
%1898 = icmp slt i32 %1896, %1897
br i1 %1898, label %1891, label %.preheader247._crit_edge
.preheader247._crit_edge: ; preds = %1891, %.preheader247, %.preheader251
%.pr219 = load i32* %317, align 4
%1899 = icmp eq i32 %.pr219, 1
br i1 %1899, label %1900, label %.thread
; <label>:1900 ; preds = %.preheader247._crit_edge
%1901 = getelementptr inbounds i8* %state, i32 172
%1902 = bitcast i8* %1901 to i32*
%1903 = load i32* %1902, align 4
%1904 = icmp eq i32 %1903, 0
br i1 %1904, label %1906, label %1905
; <label>:1905 ; preds = %1900
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 15, i32 4)
br label %.thread
; <label>:1906 ; preds = %1900
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 0, i32 4)
br label %.thread
.thread: ; preds = %1906, %1905, %.preheader247._crit_edge, %._crit_edge421
store i32 0, i32* %249, align 4
%1907 = load float** %.pre-phi435, align 4
%1908 = bitcast float* %1907 to i8*
%1909 = load i32* %68, align 4
%1910 = shl nsw i32 %1909, 1
%1911 = load i32* %135, align 4
%.sum53 = sub i32 %1910, %1911
%1912 = getelementptr inbounds float* %1, i32 %.sum53
%1913 = bitcast float* %1912 to i8*
%1914 = sub nsw i32 %1911, %1909
%1915 = shl i32 %1914, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1908, i8* %1913, i32 %1915, i32 4, i1 false)
%1916 = load i32* %317, align 4
%1917 = load %struct.SpeexSubmode*** %320, align 4
%1918 = getelementptr inbounds %struct.SpeexSubmode** %1917, i32 %1916
%1919 = load %struct.SpeexSubmode** %1918, align 4
%1920 = getelementptr inbounds %struct.SpeexSubmode* %1919, i32 0, i32 9
%1921 = load void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)** %1920, align 4
%1922 = icmp eq void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* %1921, @_Z20noise_codebook_quantPfS_S_S_PKviiS_S_P9SpeexBitsPcii
%1923 = icmp eq i32 %1916, 0
%or.cond69 = or i1 %1922, %1923
%1924 = getelementptr inbounds i8* %state, i32 40
%1925 = bitcast i8* %1924 to i32*
br i1 %or.cond69, label %1926, label %1927
; <label>:1926 ; preds = %.thread
store i32 1, i32* %1925, align 4
br label %.loopexit334
; <label>:1927 ; preds = %.thread
store i32 0, i32* %1925, align 4
br label %.loopexit334
.loopexit334: ; preds = %1927, %1926, %1077, %1061
%.0 = phi i32 [ 1, %1927 ], [ 1, %1926 ], [ 0, %1061 ], [ 0, %1077 ]
ret i32 %.0
}
define internal i8* @_Z15nb_decoder_initPK9SpeexMode(%struct.SpeexMode.58* %m) nounwind {
%1 = getelementptr inbounds %struct.SpeexMode.58* %m, i32 0, i32 0
%2 = load i8** %1, align 4
%3 = tail call fastcc i8* @malloc(i32 508) nounwind
%4 = icmp eq i8* %3, null
br i1 %4, label %_Z11speex_alloci.exit, label %5
; <label>:5 ; preds = %0
%6 = getelementptr inbounds i8* %3, i32 -4
%7 = bitcast i8* %6 to i32*
%8 = load i32* %7, align 4
%9 = and i32 %8, 3
%10 = icmp eq i32 %9, 0
br i1 %10, label %12, label %11
; <label>:11 ; preds = %5
tail call void @llvm.memset.p0i8.i32(i8* %3, i8 0, i32 508, i32 1, i1 false) nounwind
br label %12
; <label>:12 ; preds = %11, %5
%13 = tail call fastcc i8* @malloc(i32 16000) nounwind
%14 = icmp eq i8* %13, null
br i1 %14, label %_Z19speex_alloc_scratchi.exit, label %15
; <label>:15 ; preds = %12
%16 = getelementptr inbounds i8* %13, i32 -4
%17 = bitcast i8* %16 to i32*
%18 = load i32* %17, align 4
%19 = and i32 %18, 3
%20 = icmp eq i32 %19, 0
br i1 %20, label %_Z19speex_alloc_scratchi.exit, label %21
; <label>:21 ; preds = %15
tail call void @llvm.memset.p0i8.i32(i8* %13, i8 0, i32 16000, i32 1, i1 false) nounwind
br label %_Z19speex_alloc_scratchi.exit
_Z19speex_alloc_scratchi.exit: ; preds = %21, %15, %12
%22 = getelementptr inbounds i8* %3, i32 44
%23 = bitcast i8* %22 to i8**
store i8* %13, i8** %23, align 4
%24 = bitcast i8* %3 to %struct.SpeexMode.58**
store %struct.SpeexMode.58* %m, %struct.SpeexMode.58** %24, align 4
%25 = getelementptr inbounds i8* %3, i32 124
%26 = bitcast i8* %25 to i32*
store i32 1, i32* %26, align 4
%27 = getelementptr inbounds i8* %3, i32 4
%28 = bitcast i8* %27 to i32*
store i32 1, i32* %28, align 4
%29 = bitcast i8* %2 to i32*
%30 = load i32* %29, align 4
%31 = getelementptr inbounds i8* %3, i32 12
%32 = bitcast i8* %31 to i32*
store i32 %30, i32* %32, align 4
%33 = load i32* %29, align 4
%34 = getelementptr inbounds i8* %2, i32 4
%35 = bitcast i8* %34 to i32*
%36 = load i32* %35, align 4
%37 = sdiv i32 %33, %36
%38 = getelementptr inbounds i8* %3, i32 20
%39 = bitcast i8* %38 to i32*
store i32 %37, i32* %39, align 4
%40 = load i32* %35, align 4
%41 = getelementptr inbounds i8* %3, i32 16
%42 = bitcast i8* %41 to i32*
store i32 %40, i32* %42, align 4
%43 = getelementptr inbounds i8* %2, i32 8
%44 = bitcast i8* %43 to i32*
%45 = load i32* %44, align 4
%46 = getelementptr inbounds i8* %3, i32 24
%47 = bitcast i8* %46 to i32*
store i32 %45, i32* %47, align 4
%48 = getelementptr inbounds i8* %2, i32 12
%49 = bitcast i8* %48 to i32*
%50 = load i32* %49, align 4
%51 = getelementptr inbounds i8* %3, i32 28
%52 = bitcast i8* %51 to i32*
store i32 %50, i32* %52, align 4
%53 = getelementptr inbounds i8* %2, i32 16
%54 = bitcast i8* %53 to i32*
%55 = load i32* %54, align 4
%56 = getelementptr inbounds i8* %3, i32 32
%57 = bitcast i8* %56 to i32*
store i32 %55, i32* %57, align 4
%58 = getelementptr inbounds i8* %2, i32 32
%59 = bitcast i8* %58 to %struct.SpeexSubmode**
%60 = getelementptr inbounds i8* %3, i32 128
%61 = bitcast i8* %60 to %struct.SpeexSubmode***
store %struct.SpeexSubmode** %59, %struct.SpeexSubmode*** %61, align 4
%62 = getelementptr inbounds i8* %2, i32 96
%63 = bitcast i8* %62 to i32*
%64 = load i32* %63, align 4
%65 = getelementptr inbounds i8* %3, i32 132
%66 = bitcast i8* %65 to i32*
store i32 %64, i32* %66, align 4
%67 = getelementptr inbounds i8* %3, i32 136
%68 = bitcast i8* %67 to i32*
store i32 1, i32* %68, align 4
%69 = shl i32 %55, 1
%70 = add i32 %40, %30
%71 = add i32 %70, %69
%72 = shl i32 %71, 2
%73 = add i32 %72, 48
%74 = tail call fastcc i8* @malloc(i32 %73) nounwind
%75 = icmp eq i8* %74, null
br i1 %75, label %_Z11speex_alloci.exit2, label %76
; <label>:76 ; preds = %_Z19speex_alloc_scratchi.exit
%77 = getelementptr inbounds i8* %74, i32 -4
%78 = bitcast i8* %77 to i32*
%79 = load i32* %78, align 4
%80 = and i32 %79, 3
%81 = icmp eq i32 %80, 0
br i1 %81, label %_Z11speex_alloci.exit2, label %82
; <label>:82 ; preds = %76
tail call void @llvm.memset.p0i8.i32(i8* %74, i8 0, i32 %73, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit2
_Z11speex_alloci.exit2: ; preds = %82, %76, %_Z19speex_alloc_scratchi.exit
%83 = bitcast i8* %74 to float*
%84 = getelementptr inbounds i8* %3, i32 48
%85 = bitcast i8* %84 to float**
store float* %83, float** %85, align 4
%86 = load i32* %57, align 4
%87 = shl i32 %86, 1
%88 = load i32* %42, align 4
%.sum = add i32 %88, 6
%.sum1 = add i32 %.sum, %87
%89 = getelementptr inbounds float* %83, i32 %.sum1
%90 = getelementptr inbounds i8* %3, i32 52
%91 = bitcast i8* %90 to float**
store float* %89, float** %91, align 4
%92 = load i32* %32, align 4
%93 = add nsw i32 %86, %92
%94 = shl i32 %93, 2
tail call void @llvm.memset.p0i8.i32(i8* %74, i8 0, i32 %94, i32 4, i1 false)
%95 = load i32* %47, align 4
%96 = shl i32 %95, 2
%97 = tail call fastcc i8* @malloc(i32 %96) nounwind
%98 = icmp eq i8* %97, null
br i1 %98, label %_Z11speex_alloci.exit3, label %99
; <label>:99 ; preds = %_Z11speex_alloci.exit2
%100 = getelementptr inbounds i8* %97, i32 -4
%101 = bitcast i8* %100 to i32*
%102 = load i32* %101, align 4
%103 = and i32 %102, 3
%104 = icmp eq i32 %103, 0
br i1 %104, label %_Z11speex_alloci.exit3, label %105
; <label>:105 ; preds = %99
tail call void @llvm.memset.p0i8.i32(i8* %97, i8 0, i32 %96, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit3
_Z11speex_alloci.exit3: ; preds = %105, %99, %_Z11speex_alloci.exit2
%106 = bitcast i8* %97 to float*
%107 = getelementptr inbounds i8* %3, i32 60
%108 = bitcast i8* %107 to float**
store float* %106, float** %108, align 4
%109 = load i32* %47, align 4
%110 = shl i32 %109, 2
%111 = tail call fastcc i8* @malloc(i32 %110) nounwind
%112 = icmp eq i8* %111, null
br i1 %112, label %_Z11speex_alloci.exit4, label %113
; <label>:113 ; preds = %_Z11speex_alloci.exit3
%114 = getelementptr inbounds i8* %111, i32 -4
%115 = bitcast i8* %114 to i32*
%116 = load i32* %115, align 4
%117 = and i32 %116, 3
%118 = icmp eq i32 %117, 0
br i1 %118, label %_Z11speex_alloci.exit4, label %119
; <label>:119 ; preds = %113
tail call void @llvm.memset.p0i8.i32(i8* %111, i8 0, i32 %110, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit4
_Z11speex_alloci.exit4: ; preds = %119, %113, %_Z11speex_alloci.exit3
%120 = bitcast i8* %111 to float*
%121 = getelementptr inbounds i8* %3, i32 56
%122 = bitcast i8* %121 to float**
store float* %120, float** %122, align 4
%123 = load i32* %47, align 4
%124 = shl i32 %123, 2
%125 = tail call fastcc i8* @malloc(i32 %124) nounwind
%126 = icmp eq i8* %125, null
br i1 %126, label %_Z11speex_alloci.exit5, label %127
; <label>:127 ; preds = %_Z11speex_alloci.exit4
%128 = getelementptr inbounds i8* %125, i32 -4
%129 = bitcast i8* %128 to i32*
%130 = load i32* %129, align 4
%131 = and i32 %130, 3
%132 = icmp eq i32 %131, 0
br i1 %132, label %_Z11speex_alloci.exit5, label %133
; <label>:133 ; preds = %127
tail call void @llvm.memset.p0i8.i32(i8* %125, i8 0, i32 %124, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit5
_Z11speex_alloci.exit5: ; preds = %133, %127, %_Z11speex_alloci.exit4
%134 = bitcast i8* %125 to float*
%135 = getelementptr inbounds i8* %3, i32 64
%136 = bitcast i8* %135 to float**
store float* %134, float** %136, align 4
%137 = load i32* %39, align 4
%138 = shl i32 %137, 2
%139 = tail call fastcc i8* @malloc(i32 %138) nounwind
%140 = icmp eq i8* %139, null
br i1 %140, label %_Z11speex_alloci.exit6, label %141
; <label>:141 ; preds = %_Z11speex_alloci.exit5
%142 = getelementptr inbounds i8* %139, i32 -4
%143 = bitcast i8* %142 to i32*
%144 = load i32* %143, align 4
%145 = and i32 %144, 3
%146 = icmp eq i32 %145, 0
br i1 %146, label %_Z11speex_alloci.exit6, label %147
; <label>:147 ; preds = %141
tail call void @llvm.memset.p0i8.i32(i8* %139, i8 0, i32 %138, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit6
_Z11speex_alloci.exit6: ; preds = %147, %141, %_Z11speex_alloci.exit5
%148 = bitcast i8* %139 to float*
%149 = getelementptr inbounds i8* %3, i32 76
%150 = bitcast i8* %149 to float**
store float* %148, float** %150, align 4
%151 = getelementptr inbounds i8* %3, i32 96
%152 = bitcast i8* %151 to i32*
store i32 40, i32* %152, align 4
%153 = getelementptr inbounds i8* %3, i32 8
%154 = bitcast i8* %153 to i32*
store i32 0, i32* %154, align 4
%155 = getelementptr inbounds i8* %3, i32 104
%156 = getelementptr inbounds i8* %3, i32 120
%157 = bitcast i8* %156 to i32*
call void @llvm.memset.p0i8.i64(i8* %155, i8 0, i64 16, i32 4, i1 false)
store i32 1000, i32* %157, align 4
%158 = getelementptr inbounds i8* %3, i32 36
%159 = bitcast i8* %158 to i32*
store i32 8000, i32* %159, align 4
%160 = getelementptr inbounds i8* %3, i32 40
%161 = bitcast i8* %160 to float*
store float 0.000000e+00, float* %161, align 4
%162 = getelementptr inbounds i8* %3, i32 464
%163 = bitcast i8* %162 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* @speex_default_user_handler, i32 (%struct.SpeexBits*, i8*, i8*)** %163, align 4
%164 = getelementptr inbounds i8* %3, i32 468
%165 = bitcast i8* %164 to i8**
store i8* null, i8** %165, align 4
%166 = getelementptr inbounds i8* %3, i32 144
%167 = bitcast i8* %166 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %167, align 4
%168 = getelementptr inbounds i8* %3, i32 164
%169 = bitcast i8* %168 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %169, align 4
%170 = getelementptr inbounds i8* %3, i32 184
%171 = bitcast i8* %170 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %171, align 4
%172 = getelementptr inbounds i8* %3, i32 204
%173 = bitcast i8* %172 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %173, align 4
%174 = getelementptr inbounds i8* %3, i32 224
%175 = bitcast i8* %174 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %175, align 4
%176 = getelementptr inbounds i8* %3, i32 244
%177 = bitcast i8* %176 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %177, align 4
%178 = getelementptr inbounds i8* %3, i32 264
%179 = bitcast i8* %178 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %179, align 4
%180 = getelementptr inbounds i8* %3, i32 284
%181 = bitcast i8* %180 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %181, align 4
%182 = getelementptr inbounds i8* %3, i32 304
%183 = bitcast i8* %182 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %183, align 4
%184 = getelementptr inbounds i8* %3, i32 324
%185 = bitcast i8* %184 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %185, align 4
%186 = getelementptr inbounds i8* %3, i32 344
%187 = bitcast i8* %186 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %187, align 4
%188 = getelementptr inbounds i8* %3, i32 364
%189 = bitcast i8* %188 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %189, align 4
%190 = getelementptr inbounds i8* %3, i32 384
%191 = bitcast i8* %190 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %191, align 4
%192 = getelementptr inbounds i8* %3, i32 404
%193 = bitcast i8* %192 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %193, align 4
%194 = getelementptr inbounds i8* %3, i32 424
%195 = bitcast i8* %194 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %195, align 4
%196 = getelementptr inbounds i8* %3, i32 444
%197 = bitcast i8* %196 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %197, align 4
%198 = getelementptr inbounds i8* %3, i32 480
%199 = getelementptr inbounds i8* %3, i32 504
%200 = bitcast i8* %199 to i32*
call void @llvm.memset.p0i8.i64(i8* %198, i8 0, i64 24, i32 4, i1 false)
store i32 1, i32* %200, align 4
br label %_Z11speex_alloci.exit
_Z11speex_alloci.exit: ; preds = %_Z11speex_alloci.exit6, %0
%.0 = phi i8* [ %3, %_Z11speex_alloci.exit6 ], [ null, %0 ]
ret i8* %.0
}
define internal void @_Z18nb_decoder_destroyPv(i8* %state) nounwind {
%1 = getelementptr inbounds i8* %state, i32 44
%2 = bitcast i8* %1 to i8**
%3 = load i8** %2, align 4
tail call void @free(i8* %3) nounwind
%4 = getelementptr inbounds i8* %state, i32 48
%5 = bitcast i8* %4 to float**
%6 = load float** %5, align 4
%7 = bitcast float* %6 to i8*
tail call void @free(i8* %7) nounwind
%8 = getelementptr inbounds i8* %state, i32 60
%9 = bitcast i8* %8 to float**
%10 = load float** %9, align 4
%11 = bitcast float* %10 to i8*
tail call void @free(i8* %11) nounwind
%12 = getelementptr inbounds i8* %state, i32 56
%13 = bitcast i8* %12 to float**
%14 = load float** %13, align 4
%15 = bitcast float* %14 to i8*
tail call void @free(i8* %15) nounwind
%16 = getelementptr inbounds i8* %state, i32 64
%17 = bitcast i8* %16 to float**
%18 = load float** %17, align 4
%19 = bitcast float* %18 to i8*
tail call void @free(i8* %19) nounwind
%20 = getelementptr inbounds i8* %state, i32 76
%21 = bitcast i8* %20 to float**
%22 = load float** %21, align 4
%23 = bitcast float* %22 to i8*
tail call void @free(i8* %23) nounwind
tail call void @free(i8* %state) nounwind
ret void
}
define internal i32 @_Z9nb_decodePvP9SpeexBitsS_(i8* %state, %struct.SpeexBits* %bits, i8* nocapture %vout) {
%pitch = alloca i32, align 4
%pitch_gain = alloca [3 x float], align 4
%1 = bitcast i8* %vout to float*
%2 = bitcast i8* %state to %struct.DecState*
%3 = getelementptr inbounds i8* %state, i32 44
%4 = bitcast i8* %3 to i8**
%5 = load i8** %4, align 4
%6 = icmp eq %struct.SpeexBits* %bits, null
br i1 %6, label %7, label %.critedge
; <label>:7 ; preds = %0
%8 = getelementptr inbounds i8* %state, i32 496
%9 = bitcast i8* %8 to i32*
%10 = load i32* %9, align 4
%11 = icmp eq i32 %10, 0
br i1 %11, label %15, label %12
; <label>:12 ; preds = %7
%13 = getelementptr inbounds i8* %state, i32 132
%14 = bitcast i8* %13 to i32*
store i32 0, i32* %14, align 4
br label %522
; <label>:15 ; preds = %7
%16 = getelementptr inbounds i8* %state, i32 8
%17 = bitcast i8* %16 to i32*
%18 = load i32* %17, align 4
%19 = icmp slt i32 %18, 10
br i1 %19, label %20, label %23
; <label>:20 ; preds = %15
%21 = getelementptr inbounds [10 x float]* @_ZL11attenuation, i32 0, i32 %18
%22 = load float* %21, align 4
br label %23
; <label>:23 ; preds = %20, %15
%fact.0.i = phi float [ %22, %20 ], [ 0.000000e+00, %15 ]
%24 = getelementptr inbounds i8* %state, i32 104
%25 = bitcast i8* %24 to float*
%26 = load float* %25, align 4
%27 = getelementptr inbounds i8* %state, i32 108
%28 = bitcast i8* %27 to float*
%29 = load float* %28, align 4
%30 = fcmp olt float %26, %29
%31 = getelementptr inbounds i8* %state, i32 112
%32 = bitcast i8* %31 to float*
%33 = load float* %32, align 4
br i1 %30, label %34, label %38
; <label>:34 ; preds = %23
%35 = fcmp olt float %29, %33
br i1 %35, label %42, label %36
; <label>:36 ; preds = %34
%37 = fcmp olt float %26, %33
%..i = select i1 %37, float %33, float %26
br label %42
; <label>:38 ; preds = %23
%39 = fcmp olt float %33, %29
br i1 %39, label %42, label %40
; <label>:40 ; preds = %38
%41 = fcmp olt float %33, %26
%.1.i = select i1 %41, float %33, float %26
br label %42
; <label>:42 ; preds = %40, %38, %36, %34
%43 = phi float [ %29, %34 ], [ %..i, %36 ], [ %29, %38 ], [ %.1.i, %40 ]
%44 = getelementptr inbounds i8* %state, i32 100
%45 = bitcast i8* %44 to float*
%46 = load float* %45, align 4
%47 = fcmp olt float %43, %46
br i1 %47, label %48, label %49
; <label>:48 ; preds = %42
store float %43, float* %45, align 4
br label %49
; <label>:49 ; preds = %48, %42
%50 = phi float [ %43, %48 ], [ %46, %42 ]
%51 = fpext float %50 to double
%52 = fcmp ogt double %51, 8.500000e-01
%pitch_gain.0.i = select i1 %52, float 0x3FEB333340000000, float %50
%53 = fmul float %fact.0.i, %pitch_gain.0.i
%54 = fadd float %53, 0x3CD203AFA0000000
%55 = getelementptr inbounds i8* %state, i32 52
%56 = bitcast i8* %55 to float**
%57 = load float** %56, align 4
%58 = getelementptr inbounds i8* %state, i32 12
%59 = bitcast i8* %58 to i32*
%60 = load i32* %59, align 4
%61 = icmp sgt i32 %60, 0
br i1 %61, label %.lr.ph.i.i.i, label %_Z13compute_rms16PKfi.exit.i
.lr.ph.i.i.i: ; preds = %.lr.ph.i.i.i, %49
%sum.02.i.i.i = phi float [ %65, %.lr.ph.i.i.i ], [ 0.000000e+00, %49 ]
%i.01.i.i.i = phi i32 [ %66, %.lr.ph.i.i.i ], [ 0, %49 ]
%62 = getelementptr inbounds float* %57, i32 %i.01.i.i.i
%63 = load float* %62, align 4
%64 = fmul float %63, %63
%65 = fadd float %sum.02.i.i.i, %64
%66 = add nsw i32 %i.01.i.i.i, 1
%exitcond.i.i.i = icmp eq i32 %66, %60
br i1 %exitcond.i.i.i, label %_Z13compute_rms16PKfi.exit.i, label %.lr.ph.i.i.i
_Z13compute_rms16PKfi.exit.i: ; preds = %.lr.ph.i.i.i, %49
%sum.0.lcssa.i.i.i = phi float [ 0.000000e+00, %49 ], [ %65, %.lr.ph.i.i.i ]
%67 = getelementptr inbounds i8* %state, i32 48
%68 = bitcast i8* %67 to float**
%69 = load float** %68, align 4
%70 = bitcast float* %69 to i8*
%71 = getelementptr inbounds float* %69, i32 %60
%72 = bitcast float* %71 to i8*
%73 = getelementptr inbounds i8* %state, i32 32
%74 = bitcast i8* %73 to i32*
%75 = load i32* %74, align 4
%76 = shl i32 %75, 1
%77 = getelementptr inbounds i8* %state, i32 16
%78 = bitcast i8* %77 to i32*
%79 = load i32* %78, align 4
%80 = add nsw i32 %76, %79
%81 = shl i32 %80, 2
%82 = add i32 %81, 48
call void @llvm.memmove.p0i8.p0i8.i32(i8* %70, i8* %72, i32 %82, i32 4, i1 false) nounwind
%83 = getelementptr inbounds i8* %state, i32 96
%84 = bitcast i8* %83 to i32*
%85 = load i32* %84, align 4
%86 = load i32* %17, align 4
%87 = add nsw i32 %86, 1
%88 = sitofp i32 %87 to float
%89 = getelementptr inbounds i8* %state, i32 120
%90 = bitcast i8* %89 to i32*
%91 = load i32* %90, align 4
%92 = mul nsw i32 %91, 1664525
%93 = add nsw i32 %92, 1013904223
store i32 %93, i32* %90, align 4
%94 = and i32 %93, 8388607
%95 = or i32 %94, 1065353216
%96 = bitcast i32 %95 to float
%97 = fadd float %96, -1.500000e+00
%98 = fpext float %88 to double
%99 = fmul double %98, 3.464200e+00
%100 = fpext float %97 to double
%101 = fmul double %99, %100
%102 = fptrunc double %101 to float
%103 = fptosi float %102 to i32
%104 = add nsw i32 %103, %85
%105 = load i32* %74, align 4
%106 = icmp sgt i32 %104, %105
%.2.i = select i1 %106, i32 %105, i32 %104
%107 = getelementptr inbounds i8* %state, i32 28
%108 = bitcast i8* %107 to i32*
%109 = load i32* %108, align 4
%110 = icmp slt i32 %.2.i, %109
%pitch_val.1.i = select i1 %110, i32 %109, i32 %.2.i
%111 = load i32* %59, align 4
%112 = icmp sgt i32 %111, 0
br i1 %112, label %.lr.ph.i, label %._crit_edge.i
.lr.ph.i: ; preds = %_Z13compute_rms16PKfi.exit.i
%113 = sitofp i32 %60 to float
%114 = fdiv float %sum.0.lcssa.i.i.i, %113
%115 = fpext float %114 to double
%116 = fmul float %54, %54
%117 = fadd double %115, 1.000000e-01
%118 = fsub float 1.000000e+00, %116
%119 = call double @sqrt(double %117) nounwind readnone
%120 = fmul float %fact.0.i, %118
%121 = fptrunc double %119 to float
%122 = fmul float %121, %120
%123 = fpext float %122 to double
%124 = fmul double %123, 3.464200e+00
br label %125
; <label>:125 ; preds = %._crit_edge3.i, %.lr.ph.i
%126 = phi i32 [ %93, %.lr.ph.i ], [ %.pre4.i, %._crit_edge3.i ]
%i.01.i = phi i32 [ 0, %.lr.ph.i ], [ %144, %._crit_edge3.i ]
%127 = sub nsw i32 %i.01.i, %pitch_val.1.i
%128 = load float** %56, align 4
%129 = getelementptr inbounds float* %128, i32 %127
%130 = load float* %129, align 4
%131 = fadd float %130, 0x3CD203AFA0000000
%132 = fmul float %54, %131
%133 = mul nsw i32 %126, 1664525
%134 = add nsw i32 %133, 1013904223
store i32 %134, i32* %90, align 4
%135 = and i32 %134, 8388607
%136 = or i32 %135, 1065353216
%137 = bitcast i32 %136 to float
%138 = fadd float %137, -1.500000e+00
%139 = fpext float %138 to double
%140 = fmul double %124, %139
%141 = fptrunc double %140 to float
%142 = fadd float %132, %141
%143 = getelementptr inbounds float* %128, i32 %i.01.i
store float %142, float* %143, align 4
%144 = add nsw i32 %i.01.i, 1
%145 = load i32* %59, align 4
%146 = icmp slt i32 %144, %145
br i1 %146, label %._crit_edge3.i, label %._crit_edge.i
._crit_edge3.i: ; preds = %125
%.pre4.i = load i32* %90, align 4
br label %125
._crit_edge.i: ; preds = %125, %_Z13compute_rms16PKfi.exit.i
%147 = phi i32 [ %111, %_Z13compute_rms16PKfi.exit.i ], [ %145, %125 ]
%148 = getelementptr inbounds i8* %state, i32 60
%149 = bitcast i8* %148 to float**
%150 = load float** %149, align 4
%151 = getelementptr inbounds i8* %state, i32 24
%152 = bitcast i8* %151 to i32*
%153 = load i32* %152, align 4
%154 = icmp sgt i32 %153, 0
br i1 %154, label %.lr.ph.i7.i, label %_Z6bw_lpcfPKfPfi.exit.i
.lr.ph.i7.i: ; preds = %.lr.ph.i7.i, %._crit_edge.i
%tmp.02.i.i = phi float [ %158, %.lr.ph.i7.i ], [ 0x3FEF5C2900000000, %._crit_edge.i ]
%i.01.i5.i = phi i32 [ %159, %.lr.ph.i7.i ], [ 0, %._crit_edge.i ]
%155 = getelementptr inbounds float* %150, i32 %i.01.i5.i
%156 = load float* %155, align 4
%157 = fmul float %tmp.02.i.i, %156
store float %157, float* %155, align 4
%158 = fmul float %tmp.02.i.i, 0x3FEF5C2900000000
%159 = add nsw i32 %i.01.i5.i, 1
%exitcond.i6.i = icmp eq i32 %159, %153
br i1 %exitcond.i6.i, label %_Z6bw_lpcfPKfPfi.exit.loopexit.i, label %.lr.ph.i7.i
_Z6bw_lpcfPKfPfi.exit.loopexit.i: ; preds = %.lr.ph.i7.i
%.pre.i = load float** %149, align 4
%.pre2.i = load i32* %59, align 4
br label %_Z6bw_lpcfPKfPfi.exit.i
_Z6bw_lpcfPKfPfi.exit.i: ; preds = %_Z6bw_lpcfPKfPfi.exit.loopexit.i, %._crit_edge.i
%160 = phi i32 [ %.pre2.i, %_Z6bw_lpcfPKfPfi.exit.loopexit.i ], [ %147, %._crit_edge.i ]
%161 = phi float* [ %.pre.i, %_Z6bw_lpcfPKfPfi.exit.loopexit.i ], [ %150, %._crit_edge.i ]
%162 = load i32* %78, align 4
%163 = load float** %56, align 4
%164 = getelementptr inbounds i8* %state, i32 64
%165 = bitcast i8* %164 to float**
%166 = load float** %165, align 4
%167 = icmp sgt i32 %160, 0
br i1 %167, label %.lr.ph4.i.i, label %_Z8highpassPKfPfiiS1_.exit.i
.lr.ph4.i.i: ; preds = %_Z6bw_lpcfPKfPfi.exit.i
%168 = load i32* %152, align 4
%169 = add nsw i32 %168, -1
%170 = icmp sgt i32 %169, 0
%171 = getelementptr inbounds float* %161, i32 %169
%172 = getelementptr inbounds float* %166, i32 %169
br label %173
; <label>:173 ; preds = %._crit_edge.i.i, %.lr.ph4.i.i
%i.02.i.i = phi i32 [ 0, %.lr.ph4.i.i ], [ %190, %._crit_edge.i.i ]
%.sum.i = sub i32 %i.02.i.i, %162
%174 = getelementptr inbounds float* %163, i32 %.sum.i
%175 = load float* %174, align 4
%176 = load float* %166, align 4
%177 = fadd float %175, %176
%178 = fsub float -0.000000e+00, %177
br i1 %170, label %.lr.ph.i4.i, label %._crit_edge.i.i
.lr.ph.i4.i: ; preds = %.lr.ph.i4.i, %173
%j.01.i.i = phi i32 [ %179, %.lr.ph.i4.i ], [ 0, %173 ]
%179 = add nsw i32 %j.01.i.i, 1
%180 = getelementptr inbounds float* %166, i32 %179
%181 = load float* %180, align 4
%182 = getelementptr inbounds float* %161, i32 %j.01.i.i
%183 = load float* %182, align 4
%184 = fmul float %183, %178
%185 = fadd float %181, %184
%186 = getelementptr inbounds float* %166, i32 %j.01.i.i
store float %185, float* %186, align 4
%exitcond.i3.i = icmp eq i32 %179, %169
br i1 %exitcond.i3.i, label %._crit_edge.i.i, label %.lr.ph.i4.i
._crit_edge.i.i: ; preds = %.lr.ph.i4.i, %173
%187 = load float* %171, align 4
%188 = fmul float %187, %178
store float %188, float* %172, align 4
%189 = getelementptr inbounds float* %1, i32 %i.02.i.i
store float %177, float* %189, align 4
%190 = add nsw i32 %i.02.i.i, 1
%exitcond6.i.i = icmp eq i32 %190, %160
br i1 %exitcond6.i.i, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.i, label %173
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.i: ; preds = %._crit_edge.i.i
%.pr.i = load i32* %59, align 4
%191 = getelementptr inbounds i8* %state, i32 68
%192 = bitcast i8* %191 to float*
%193 = icmp sgt i32 %.pr.i, 0
br i1 %193, label %.lr.ph.i.i, label %_Z8highpassPKfPfiiS1_.exit.i
.lr.ph.i.i: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.i
%194 = getelementptr inbounds i8* %state, i32 72
%195 = bitcast i8* %194 to float*
br label %196
; <label>:196 ; preds = %196, %.lr.ph.i.i
%i.01.i.i = phi i32 [ 0, %.lr.ph.i.i ], [ %211, %196 ]
%197 = getelementptr inbounds float* %1, i32 %i.01.i.i
%198 = load float* %197, align 4
%199 = fmul float %198, 0x3FEEDCDB40000000
%200 = load float* %192, align 4
%201 = fadd float %199, %200
%202 = load float* %195, align 4
%203 = fmul float %198, 0xBFFEDC52E0000000
%204 = fadd float %202, %203
%205 = fmul float %201, 0x3FFED44BC0000000
%206 = fadd float %204, %205
store float %206, float* %192, align 4
%207 = load float* %197, align 4
%208 = fmul float %207, 0x3FEEDCDB40000000
%209 = fmul float %201, 0xBFEDC86060000000
%210 = fadd float %208, %209
store float %210, float* %195, align 4
store float %201, float* %197, align 4
%211 = add nsw i32 %i.01.i.i, 1
%exitcond.i.i = icmp eq i32 %211, %.pr.i
br i1 %exitcond.i.i, label %_Z8highpassPKfPfiiS1_.exit.i, label %196
_Z8highpassPKfPfiiS1_.exit.i: ; preds = %196, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.i, %_Z6bw_lpcfPKfPfi.exit.i
%212 = getelementptr inbounds i8* %state, i32 4
%213 = bitcast i8* %212 to i32*
store i32 0, i32* %213, align 4
%214 = load i32* %17, align 4
%215 = add nsw i32 %214, 1
store i32 %215, i32* %17, align 4
%216 = getelementptr inbounds i8* %state, i32 116
%217 = bitcast i8* %216 to i32*
%218 = load i32* %217, align 4
%219 = add nsw i32 %218, 1
store i32 %219, i32* %217, align 4
%220 = getelementptr inbounds %struct.DecState* %2, i32 0, i32 25, i32 %218
store float %54, float* %220, align 4
%221 = load i32* %217, align 4
%222 = icmp sgt i32 %221, 2
br i1 %222, label %223, label %_ZL14nb_decode_lostP8DecStatePfPc.exit
; <label>:223 ; preds = %_Z8highpassPKfPfiiS1_.exit.i
store i32 0, i32* %217, align 4
br label %_ZL14nb_decode_lostP8DecStatePfPc.exit
.critedge: ; preds = %0
%224 = getelementptr inbounds i8* %state, i32 124
%225 = bitcast i8* %224 to i32*
%226 = load i32* %225, align 4
%227 = icmp eq i32 %226, 0
br i1 %227, label %.critedge._crit_edge, label %.thread188.preheader
.critedge._crit_edge: ; preds = %.critedge
%.pre369 = getelementptr inbounds i8* %state, i32 132
%.pre371 = bitcast i8* %.pre369 to i32*
br label %522
.thread188.preheader: ; preds = %.critedge
%228 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
%229 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%230 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%231 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%232 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%233 = getelementptr inbounds i8* %state, i32 140
%234 = bitcast i8* %233 to %struct.SpeexCallback*
%235 = getelementptr inbounds i8* %state, i32 464
%236 = bitcast i8* %235 to i32 (%struct.SpeexBits*, i8*, i8*)**
%237 = getelementptr inbounds i8* %state, i32 468
%238 = bitcast i8* %237 to i8**
br label %.thread188thread-pre-split
.thread188thread-pre-split: ; preds = %510, %speex_inband_handler.exit, %470, %.thread188.preheader
%.pr = load i32* %228, align 4
%phitmp20 = icmp eq i32 %.pr, 0
br i1 %phitmp20, label %speex_bits_remaining.exit, label %_ZL14nb_decode_lostP8DecStatePfPc.exit
speex_bits_remaining.exit: ; preds = %.thread188thread-pre-split
%239 = load i32* %229, align 4
%240 = load i32* %230, align 4
%241 = shl i32 %240, 3
%242 = load i32* %231, align 4
%.neg2.i = sub i32 %239, %241
%243 = sub i32 %.neg2.i, %242
%244 = icmp slt i32 %243, 5
br i1 %244, label %_ZL14nb_decode_lostP8DecStatePfPc.exit, label %245
; <label>:245 ; preds = %speex_bits_remaining.exit
%246 = or i32 %241, 1
%247 = add i32 %246, %242
%248 = icmp sgt i32 %247, %239
br i1 %248, label %.thread.i, label %.lr.ph.i30
.thread.i: ; preds = %245
store i32 1, i32* %228, align 4
br label %_ZL14nb_decode_lostP8DecStatePfPc.exit
.lr.ph.i30: ; preds = %245
%.pre.i29 = load i8** %232, align 4
%249 = getelementptr inbounds i8* %.pre.i29, i32 %240
%250 = load i8* %249, align 1
%251 = sext i8 %250 to i32
%252 = sub nsw i32 7, %242
%253 = add nsw i32 %242, 1
store i32 %253, i32* %231, align 4
%254 = icmp eq i32 %253, 8
br i1 %254, label %255, label %speex_bits_unpack_unsigned.exit
; <label>:255 ; preds = %.lr.ph.i30
store i32 0, i32* %231, align 4
%256 = add nsw i32 %240, 1
store i32 %256, i32* %230, align 4
br label %speex_bits_unpack_unsigned.exit
speex_bits_unpack_unsigned.exit: ; preds = %255, %.lr.ph.i30
%257 = phi i32 [ 0, %255 ], [ %253, %.lr.ph.i30 ]
%258 = phi i32 [ %256, %255 ], [ %240, %.lr.ph.i30 ]
%259 = shl i32 1, %252
%260 = and i32 %251, %259
%261 = icmp eq i32 %260, 0
br i1 %261, label %speex_bits_remaining.exit122, label %262
; <label>:262 ; preds = %speex_bits_unpack_unsigned.exit
%263 = shl i32 %258, 3
%264 = or i32 %263, 3
%265 = add i32 %264, %257
%266 = icmp sgt i32 %265, %239
br i1 %266, label %.thread.i45, label %.lr.ph.i49
.thread.i45: ; preds = %262
store i32 1, i32* %228, align 4
br label %speex_bits_unpack_unsigned.exit53
.lr.ph.i49: ; preds = %262
%267 = getelementptr inbounds i8* %.pre.i29, i32 %258
%268 = load i8* %267, align 1
%269 = sext i8 %268 to i32
%270 = sub nsw i32 7, %257
%271 = lshr i32 %269, %270
%272 = add nsw i32 %257, 1
store i32 %272, i32* %231, align 4
%273 = icmp eq i32 %272, 8
br i1 %273, label %274, label %276
; <label>:274 ; preds = %.lr.ph.i49
store i32 0, i32* %231, align 4
%275 = add nsw i32 %258, 1
store i32 %275, i32* %230, align 4
br label %276
; <label>:276 ; preds = %274, %.lr.ph.i49
%277 = phi i32 [ 0, %274 ], [ %272, %.lr.ph.i49 ]
%278 = phi i32 [ %275, %274 ], [ %258, %.lr.ph.i49 ]
%279 = shl i32 %271, 1
%280 = and i32 %279, 2
%281 = getelementptr inbounds i8* %.pre.i29, i32 %278
%282 = load i8* %281, align 1
%283 = sext i8 %282 to i32
%284 = sub nsw i32 7, %277
%285 = lshr i32 %283, %284
%286 = and i32 %285, 1
%287 = or i32 %286, %280
%288 = add nsw i32 %277, 1
store i32 %288, i32* %231, align 4
%289 = icmp eq i32 %288, 8
br i1 %289, label %1596, label %1598
speex_bits_unpack_unsigned.exit53: ; preds = %1611, %1598, %.thread.i45
%.pre4.i.i12 = phi i32 [ 1, %.thread.i45 ], [ 0, %1611 ], [ 0, %1598 ]
%.pre4.i78 = phi i1 [ false, %.thread.i45 ], [ true, %1611 ], [ true, %1598 ]
%290 = phi i32 [ %257, %.thread.i45 ], [ 0, %1611 ], [ %1609, %1598 ]
%291 = phi i32 [ %258, %.thread.i45 ], [ %1612, %1611 ], [ %1600, %1598 ]
%.0.i52 = phi i32 [ 0, %.thread.i45 ], [ %1608, %1611 ], [ %1608, %1598 ]
%292 = getelementptr inbounds [8 x i32]* @_ZL13wb_skip_table, i32 0, i32 %.0.i52
%293 = load i32* %292, align 4
%294 = shl i32 %291, 3
%295 = add i32 %293, -4
%296 = add i32 %295, %290
%297 = add i32 %296, %294
%298 = icmp sle i32 %297, %239
%or.cond = and i1 %298, %.pre4.i78
br i1 %or.cond, label %speex_bits_remaining.exit58, label %speex_bits_advance.exit.thread
speex_bits_advance.exit.thread: ; preds = %speex_bits_unpack_unsigned.exit53
store i32 1, i32* %228, align 4
br label %_ZL14nb_decode_lostP8DecStatePfPc.exit
speex_bits_remaining.exit58: ; preds = %speex_bits_unpack_unsigned.exit53
%299 = ashr i32 %296, 3
%300 = add nsw i32 %299, %291
store i32 %300, i32* %230, align 4
%301 = and i32 %296, 7
store i32 %301, i32* %231, align 4
%302 = shl i32 %300, 3
%.neg2.i56 = sub i32 %239, %302
%303 = sub i32 %.neg2.i56, %301
%304 = icmp slt i32 %303, 5
br i1 %304, label %_ZL14nb_decode_lostP8DecStatePfPc.exit, label %305
; <label>:305 ; preds = %speex_bits_remaining.exit58
%306 = or i32 %302, 1
%307 = add i32 %306, %301
%308 = icmp sgt i32 %307, %239
br i1 %308, label %.thread.i63, label %.lr.ph.i67
.thread.i63: ; preds = %305
store i32 1, i32* %228, align 4
br label %_ZL14nb_decode_lostP8DecStatePfPc.exit
.lr.ph.i67: ; preds = %305
%309 = getelementptr inbounds i8* %.pre.i29, i32 %300
%310 = load i8* %309, align 1
%311 = sext i8 %310 to i32
%312 = xor i32 %301, 7
%313 = add nsw i32 %301, 1
store i32 %313, i32* %231, align 4
%314 = icmp eq i32 %313, 8
br i1 %314, label %315, label %speex_bits_unpack_unsigned.exit71
; <label>:315 ; preds = %.lr.ph.i67
store i32 0, i32* %231, align 4
%316 = add nsw i32 %300, 1
store i32 %316, i32* %230, align 4
br label %speex_bits_unpack_unsigned.exit71
speex_bits_unpack_unsigned.exit71: ; preds = %315, %.lr.ph.i67
%317 = phi i32 [ 0, %315 ], [ %313, %.lr.ph.i67 ]
%318 = phi i32 [ %316, %315 ], [ %300, %.lr.ph.i67 ]
%319 = shl i32 1, %312
%320 = and i32 %311, %319
%321 = icmp eq i32 %320, 0
br i1 %321, label %speex_bits_remaining.exit122, label %322
; <label>:322 ; preds = %speex_bits_unpack_unsigned.exit71
%323 = shl i32 %318, 3
%324 = or i32 %323, 3
%325 = add i32 %324, %317
%326 = icmp sgt i32 %325, %239
br i1 %326, label %.thread.i77, label %.lr.ph.i81
.thread.i77: ; preds = %322
store i32 1, i32* %228, align 4
br label %speex_bits_unpack_unsigned.exit85
.lr.ph.i81: ; preds = %322
%327 = getelementptr inbounds i8* %.pre.i29, i32 %318
%328 = load i8* %327, align 1
%329 = sext i8 %328 to i32
%330 = sub nsw i32 7, %317
%331 = lshr i32 %329, %330
%332 = add nsw i32 %317, 1
store i32 %332, i32* %231, align 4
%333 = icmp eq i32 %332, 8
br i1 %333, label %334, label %336
; <label>:334 ; preds = %.lr.ph.i81
store i32 0, i32* %231, align 4
%335 = add nsw i32 %318, 1
store i32 %335, i32* %230, align 4
br label %336
; <label>:336 ; preds = %334, %.lr.ph.i81
%337 = phi i32 [ 0, %334 ], [ %332, %.lr.ph.i81 ]
%338 = phi i32 [ %335, %334 ], [ %318, %.lr.ph.i81 ]
%339 = shl i32 %331, 1
%340 = and i32 %339, 2
%341 = getelementptr inbounds i8* %.pre.i29, i32 %338
%342 = load i8* %341, align 1
%343 = sext i8 %342 to i32
%344 = sub nsw i32 7, %337
%345 = lshr i32 %343, %344
%346 = and i32 %345, 1
%347 = or i32 %346, %340
%348 = add nsw i32 %337, 1
store i32 %348, i32* %231, align 4
%349 = icmp eq i32 %348, 8
br i1 %349, label %1579, label %1581
speex_bits_unpack_unsigned.exit85: ; preds = %1594, %1581, %.thread.i77
%.pre4.i.i11 = phi i32 [ 1, %.thread.i77 ], [ %.pre4.i.i12, %1594 ], [ %.pre4.i.i12, %1581 ]
%350 = phi i1 [ false, %.thread.i77 ], [ true, %1594 ], [ true, %1581 ]
%351 = phi i32 [ %317, %.thread.i77 ], [ 0, %1594 ], [ %1592, %1581 ]
%352 = phi i32 [ %318, %.thread.i77 ], [ %1595, %1594 ], [ %1583, %1581 ]
%.0.i84 = phi i32 [ 0, %.thread.i77 ], [ %1591, %1594 ], [ %1591, %1581 ]
%353 = getelementptr inbounds [8 x i32]* @_ZL13wb_skip_table, i32 0, i32 %.0.i84
%354 = load i32* %353, align 4
%355 = shl i32 %352, 3
%356 = add i32 %354, -4
%357 = add i32 %356, %351
%358 = add i32 %357, %355
%359 = icmp sle i32 %358, %239
%or.cond374 = and i1 %359, %350
br i1 %or.cond374, label %360, label %._crit_edge.i87
._crit_edge.i87: ; preds = %speex_bits_unpack_unsigned.exit85
store i32 1, i32* %228, align 4
br label %speex_bits_advance.exit88
; <label>:360 ; preds = %speex_bits_unpack_unsigned.exit85
%361 = ashr i32 %357, 3
%362 = add nsw i32 %361, %352
store i32 %362, i32* %230, align 4
%363 = and i32 %357, 7
store i32 %363, i32* %231, align 4
br label %speex_bits_advance.exit88
speex_bits_advance.exit88: ; preds = %360, %._crit_edge.i87
%.pre4.i.i10 = phi i32 [ 1, %._crit_edge.i87 ], [ %.pre4.i.i11, %360 ]
%.pre4.i90 = phi i32 [ 1, %._crit_edge.i87 ], [ 0, %360 ]
%364 = phi i32 [ %351, %._crit_edge.i87 ], [ %363, %360 ]
%365 = phi i32 [ %352, %._crit_edge.i87 ], [ %362, %360 ]
%366 = shl i32 %365, 3
%367 = or i32 %366, 1
%368 = add i32 %367, %364
%369 = icmp sgt i32 %368, %239
br i1 %369, label %.thread.i89, label %370
.thread.i89: ; preds = %speex_bits_advance.exit88
store i32 1, i32* %228, align 4
br label %_ZL14nb_decode_lostP8DecStatePfPc.exit
; <label>:370 ; preds = %speex_bits_advance.exit88
%phitmp.i91 = icmp eq i32 %.pre4.i90, 0
br i1 %phitmp.i91, label %.lr.ph.i93, label %_ZL14nb_decode_lostP8DecStatePfPc.exit
.lr.ph.i93: ; preds = %370
%371 = getelementptr inbounds i8* %.pre.i29, i32 %365
%372 = load i8* %371, align 1
%373 = sext i8 %372 to i32
%374 = sub nsw i32 7, %364
%375 = add nsw i32 %364, 1
store i32 %375, i32* %231, align 4
%376 = icmp eq i32 %375, 8
br i1 %376, label %377, label %speex_bits_unpack_unsigned.exit97
; <label>:377 ; preds = %.lr.ph.i93
store i32 0, i32* %231, align 4
%378 = add nsw i32 %365, 1
store i32 %378, i32* %230, align 4
br label %speex_bits_unpack_unsigned.exit97
speex_bits_unpack_unsigned.exit97: ; preds = %377, %.lr.ph.i93
%379 = phi i32 [ 0, %377 ], [ %375, %.lr.ph.i93 ]
%380 = phi i32 [ %378, %377 ], [ %365, %.lr.ph.i93 ]
%381 = shl i32 1, %374
%382 = and i32 %373, %381
%383 = icmp eq i32 %382, 0
br i1 %383, label %speex_bits_remaining.exit122, label %384
; <label>:384 ; preds = %speex_bits_unpack_unsigned.exit97
%385 = load %struct.__sFILE** @stderr, align 4
%386 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %385, i8* getelementptr inbounds ([18 x i8]* @.str8, i32 0, i32 0), i8* getelementptr inbounds ([62 x i8]* @.str546, i32 0, i32 0)) nounwind
br label %_ZL14nb_decode_lostP8DecStatePfPc.exit
speex_bits_remaining.exit122: ; preds = %speex_bits_unpack_unsigned.exit97, %speex_bits_unpack_unsigned.exit71, %speex_bits_unpack_unsigned.exit
%.pre4.i.i = phi i32 [ %.pre4.i.i10, %speex_bits_unpack_unsigned.exit97 ], [ %.pre4.i.i12, %speex_bits_unpack_unsigned.exit71 ], [ 0, %speex_bits_unpack_unsigned.exit ]
%387 = phi i32 [ %379, %speex_bits_unpack_unsigned.exit97 ], [ %317, %speex_bits_unpack_unsigned.exit71 ], [ %257, %speex_bits_unpack_unsigned.exit ]
%388 = phi i32 [ %380, %speex_bits_unpack_unsigned.exit97 ], [ %318, %speex_bits_unpack_unsigned.exit71 ], [ %258, %speex_bits_unpack_unsigned.exit ]
%389 = shl i32 %388, 3
%.neg2.i120 = sub i32 %239, %389
%390 = sub i32 %.neg2.i120, %387
%391 = icmp slt i32 %390, 4
br i1 %391, label %_ZL14nb_decode_lostP8DecStatePfPc.exit, label %392
; <label>:392 ; preds = %speex_bits_remaining.exit122
%393 = or i32 %389, 4
%394 = add i32 %393, %387
%395 = icmp sgt i32 %394, %239
br i1 %395, label %.thread.i123, label %.lr.ph.i127
.thread.i123: ; preds = %392
store i32 1, i32* %228, align 4
br label %.thread
.lr.ph.i127: ; preds = %392
%396 = getelementptr inbounds i8* %.pre.i29, i32 %388
%397 = load i8* %396, align 1
%398 = sext i8 %397 to i32
%399 = sub nsw i32 7, %387
%400 = lshr i32 %398, %399
%401 = add nsw i32 %387, 1
store i32 %401, i32* %231, align 4
%402 = icmp eq i32 %401, 8
br i1 %402, label %403, label %405
; <label>:403 ; preds = %.lr.ph.i127
store i32 0, i32* %231, align 4
%404 = add nsw i32 %388, 1
store i32 %404, i32* %230, align 4
br label %405
; <label>:405 ; preds = %403, %.lr.ph.i127
%406 = phi i32 [ 0, %403 ], [ %401, %.lr.ph.i127 ]
%407 = phi i32 [ %404, %403 ], [ %388, %.lr.ph.i127 ]
%408 = shl i32 %400, 1
%409 = and i32 %408, 2
%410 = getelementptr inbounds i8* %.pre.i29, i32 %407
%411 = load i8* %410, align 1
%412 = sext i8 %411 to i32
%413 = sub nsw i32 7, %406
%414 = lshr i32 %412, %413
%415 = and i32 %414, 1
%416 = or i32 %415, %409
%417 = add nsw i32 %406, 1
store i32 %417, i32* %231, align 4
%418 = icmp eq i32 %417, 8
br i1 %418, label %1613, label %1615
; <label>:419 ; preds = %speex_bits_unpack_unsigned.exit131
%420 = shl i32 %1646, 3
%421 = or i32 %420, 4
%422 = add i32 %421, %1645
%423 = icmp sgt i32 %422, %239
br i1 %423, label %.thread.i.i, label %424
.thread.i.i: ; preds = %419
store i32 1, i32* %228, align 4
br label %speex_bits_unpack_unsigned.exit.i
; <label>:424 ; preds = %419
%phitmp.i.i = icmp eq i32 %.pre4.i.i, 0
br i1 %phitmp.i.i, label %.lr.ph.i.i1, label %speex_bits_unpack_unsigned.exit.i
.lr.ph.i.i1: ; preds = %424
%425 = getelementptr inbounds i8* %.pre.i29, i32 %1646
%426 = load i8* %425, align 1
%427 = sext i8 %426 to i32
%428 = sub nsw i32 7, %1645
%429 = lshr i32 %427, %428
%430 = add nsw i32 %1645, 1
store i32 %430, i32* %231, align 4
%431 = icmp eq i32 %430, 8
br i1 %431, label %432, label %434
; <label>:432 ; preds = %.lr.ph.i.i1
store i32 0, i32* %231, align 4
%433 = add nsw i32 %1646, 1
store i32 %433, i32* %230, align 4
br label %434
; <label>:434 ; preds = %432, %.lr.ph.i.i1
%435 = phi i32 [ 0, %432 ], [ %430, %.lr.ph.i.i1 ]
%436 = phi i32 [ %433, %432 ], [ %1646, %.lr.ph.i.i1 ]
%437 = shl i32 %429, 1
%438 = and i32 %437, 2
%439 = getelementptr inbounds i8* %.pre.i29, i32 %436
%440 = load i8* %439, align 1
%441 = sext i8 %440 to i32
%442 = sub nsw i32 7, %435
%443 = lshr i32 %441, %442
%444 = and i32 %443, 1
%445 = or i32 %444, %438
%446 = add nsw i32 %435, 1
store i32 %446, i32* %231, align 4
%447 = icmp eq i32 %446, 8
br i1 %447, label %474, label %476
speex_bits_unpack_unsigned.exit.i: ; preds = %504, %491, %424, %.thread.i.i
%448 = phi i32 [ %.pre4.i.i, %424 ], [ 1, %.thread.i.i ], [ 0, %504 ], [ 0, %491 ]
%449 = phi i32 [ %1645, %424 ], [ %1645, %.thread.i.i ], [ 0, %504 ], [ %502, %491 ]
%450 = phi i32 [ %1646, %424 ], [ %1646, %.thread.i.i ], [ %505, %504 ], [ %493, %491 ]
%.0.i.i = phi i32 [ 0, %424 ], [ 0, %.thread.i.i ], [ %501, %504 ], [ %501, %491 ]
%451 = getelementptr inbounds %struct.SpeexCallback* %234, i32 %.0.i.i, i32 1
%452 = load i32 (%struct.SpeexBits*, i8*, i8*)** %451, align 4
%453 = icmp eq i32 (%struct.SpeexBits*, i8*, i8*)* %452, null
br i1 %453, label %454, label %speex_inband_handler.exit
; <label>:454 ; preds = %speex_bits_unpack_unsigned.exit.i
%455 = icmp slt i32 %.0.i.i, 2
br i1 %455, label %464, label %456
; <label>:456 ; preds = %454
%457 = icmp slt i32 %.0.i.i, 8
br i1 %457, label %464, label %458
; <label>:458 ; preds = %456
%459 = icmp slt i32 %.0.i.i, 10
br i1 %459, label %464, label %460
; <label>:460 ; preds = %458
%461 = icmp slt i32 %.0.i.i, 12
br i1 %461, label %464, label %462
; <label>:462 ; preds = %460
%463 = icmp slt i32 %.0.i.i, 14
%..i2 = select i1 %463, i32 32, i32 64
br label %464
; <label>:464 ; preds = %462, %460, %458, %456, %454
%adv.0.i = phi i32 [ 1, %454 ], [ 4, %456 ], [ 8, %458 ], [ 16, %460 ], [ %..i2, %462 ]
%465 = shl i32 %450, 3
%466 = add i32 %449, %adv.0.i
%467 = add i32 %466, %465
%468 = icmp sle i32 %467, %239
%469 = icmp eq i32 %448, 0
%or.cond.i3 = and i1 %468, %469
br i1 %or.cond.i3, label %470, label %._crit_edge.i.i4
._crit_edge.i.i4: ; preds = %464
store i32 1, i32* %228, align 4
br label %_ZL14nb_decode_lostP8DecStatePfPc.exit
; <label>:470 ; preds = %464
%471 = ashr i32 %466, 3
%472 = add nsw i32 %471, %450
store i32 %472, i32* %230, align 4
%473 = and i32 %466, 7
store i32 %473, i32* %231, align 4
br label %.thread188thread-pre-split
; <label>:474 ; preds = %434
store i32 0, i32* %231, align 4
%475 = add nsw i32 %436, 1
store i32 %475, i32* %230, align 4
br label %476
; <label>:476 ; preds = %474, %434
%477 = phi i32 [ 0, %474 ], [ %446, %434 ]
%478 = phi i32 [ %475, %474 ], [ %436, %434 ]
%479 = shl nuw nsw i32 %445, 1
%480 = getelementptr inbounds i8* %.pre.i29, i32 %478
%481 = load i8* %480, align 1
%482 = sext i8 %481 to i32
%483 = sub nsw i32 7, %477
%484 = lshr i32 %482, %483
%485 = and i32 %484, 1
%486 = or i32 %485, %479
%487 = add nsw i32 %477, 1
store i32 %487, i32* %231, align 4
%488 = icmp eq i32 %487, 8
br i1 %488, label %489, label %491
; <label>:489 ; preds = %476
store i32 0, i32* %231, align 4
%490 = add nsw i32 %478, 1
store i32 %490, i32* %230, align 4
br label %491
; <label>:491 ; preds = %489, %476
%492 = phi i32 [ 0, %489 ], [ %487, %476 ]
%493 = phi i32 [ %490, %489 ], [ %478, %476 ]
%494 = shl nuw nsw i32 %486, 1
%495 = getelementptr inbounds i8* %.pre.i29, i32 %493
%496 = load i8* %495, align 1
%497 = sext i8 %496 to i32
%498 = sub nsw i32 7, %492
%499 = lshr i32 %497, %498
%500 = and i32 %499, 1
%501 = or i32 %500, %494
%502 = add nsw i32 %492, 1
store i32 %502, i32* %231, align 4
%503 = icmp eq i32 %502, 8
br i1 %503, label %504, label %speex_bits_unpack_unsigned.exit.i
; <label>:504 ; preds = %491
store i32 0, i32* %231, align 4
%505 = add nsw i32 %493, 1
store i32 %505, i32* %230, align 4
br label %speex_bits_unpack_unsigned.exit.i
speex_inband_handler.exit: ; preds = %speex_bits_unpack_unsigned.exit.i
%506 = getelementptr inbounds %struct.SpeexCallback* %234, i32 %.0.i.i, i32 2
%507 = load i8** %506, align 4
%508 = call i32 %452(%struct.SpeexBits* %bits, i8* %state, i8* %507)
%509 = icmp eq i32 %508, 0
br i1 %509, label %.thread188thread-pre-split, label %_ZL14nb_decode_lostP8DecStatePfPc.exit
; <label>:510 ; preds = %speex_bits_unpack_unsigned.exit131
%511 = load i32 (%struct.SpeexBits*, i8*, i8*)** %236, align 4
%512 = load i8** %238, align 4
%513 = call i32 %511(%struct.SpeexBits* %bits, i8* %state, i8* %512)
%514 = icmp eq i32 %513, 0
br i1 %514, label %.thread188thread-pre-split, label %_ZL14nb_decode_lostP8DecStatePfPc.exit
; <label>:515 ; preds = %speex_bits_unpack_unsigned.exit131
%516 = icmp ugt i32 %1640, 8
br i1 %516, label %517, label %.thread
; <label>:517 ; preds = %515
%518 = load %struct.__sFILE** @stderr, align 4
%519 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %518, i8* getelementptr inbounds ([18 x i8]* @.str8, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str89, i32 0, i32 0)) nounwind
br label %_ZL14nb_decode_lostP8DecStatePfPc.exit
.thread: ; preds = %515, %.thread.i123
%.0.i130187.ph = phi i32 [ %1640, %515 ], [ 0, %.thread.i123 ]
%520 = getelementptr inbounds i8* %state, i32 132
%521 = bitcast i8* %520 to i32*
store i32 %.0.i130187.ph, i32* %521, align 4
br label %522
; <label>:522 ; preds = %.thread, %.critedge._crit_edge, %12
%.pre-phi372 = phi i32* [ %.pre371, %.critedge._crit_edge ], [ %521, %.thread ], [ %14, %12 ]
%523 = getelementptr inbounds i8* %state, i32 48
%524 = bitcast i8* %523 to float**
%525 = load float** %524, align 4
%526 = bitcast float* %525 to i8*
%527 = getelementptr inbounds i8* %state, i32 12
%528 = bitcast i8* %527 to i32*
%529 = load i32* %528, align 4
%530 = getelementptr inbounds float* %525, i32 %529
%531 = bitcast float* %530 to i8*
%532 = getelementptr inbounds i8* %state, i32 32
%533 = bitcast i8* %532 to i32*
%534 = load i32* %533, align 4
%535 = shl i32 %534, 1
%536 = getelementptr inbounds i8* %state, i32 16
%537 = bitcast i8* %536 to i32*
%538 = load i32* %537, align 4
%539 = add nsw i32 %535, %538
%540 = shl i32 %539, 2
%541 = add i32 %540, 48
call void @llvm.memmove.p0i8.p0i8.i32(i8* %526, i8* %531, i32 %541, i32 4, i1 false)
%542 = load i32* %.pre-phi372, align 4
%543 = getelementptr inbounds i8* %state, i32 128
%544 = bitcast i8* %543 to %struct.SpeexSubmode***
%545 = load %struct.SpeexSubmode*** %544, align 4
%546 = getelementptr inbounds %struct.SpeexSubmode** %545, i32 %542
%547 = load %struct.SpeexSubmode** %546, align 4
%548 = icmp eq %struct.SpeexSubmode* %547, null
%549 = ptrtoint i8* %5 to i32
%550 = sub i32 0, %549
%551 = and i32 %550, 3
%552 = getelementptr inbounds i8* %state, i32 24
%553 = bitcast i8* %552 to i32*
%554 = load i32* %553, align 4
%555 = shl i32 %554, 2
%.sum = or i32 %555, %551
%556 = getelementptr inbounds i8* %5, i32 %.sum
%.sum1 = sub i32 %.sum, %555
%557 = getelementptr inbounds i8* %5, i32 %.sum1
%558 = bitcast i8* %557 to float*
br i1 %548, label %559, label %639
; <label>:559 ; preds = %522
%560 = getelementptr inbounds i8* %state, i32 60
%561 = bitcast i8* %560 to float**
%562 = load float** %561, align 4
%563 = icmp sgt i32 %554, 0
br i1 %563, label %.lr.ph.i134, label %_Z6bw_lpcfPKfPfi.exit
.lr.ph.i134: ; preds = %.lr.ph.i134, %559
%tmp.02.i = phi float [ %568, %.lr.ph.i134 ], [ 0x3FEDC28F60000000, %559 ]
%i.01.i132 = phi i32 [ %569, %.lr.ph.i134 ], [ 0, %559 ]
%564 = getelementptr inbounds float* %562, i32 %i.01.i132
%565 = load float* %564, align 4
%566 = fmul float %tmp.02.i, %565
%567 = getelementptr inbounds float* %558, i32 %i.01.i132
store float %566, float* %567, align 4
%568 = fmul float %tmp.02.i, 0x3FEDC28F60000000
%569 = add nsw i32 %i.01.i132, 1
%exitcond.i133 = icmp eq i32 %569, %554
br i1 %exitcond.i133, label %_Z6bw_lpcfPKfPfi.exit, label %.lr.ph.i134
_Z6bw_lpcfPKfPfi.exit: ; preds = %.lr.ph.i134, %559
%570 = getelementptr inbounds i8* %state, i32 52
%571 = bitcast i8* %570 to float**
%572 = load float** %571, align 4
%573 = load i32* %528, align 4
%574 = icmp sgt i32 %573, 0
br i1 %574, label %.lr.ph.i.i175, label %.thread373
.lr.ph.i.i175: ; preds = %.lr.ph.i.i175, %_Z6bw_lpcfPKfPfi.exit
%sum.02.i.i172 = phi float [ %578, %.lr.ph.i.i175 ], [ 0.000000e+00, %_Z6bw_lpcfPKfPfi.exit ]
%i.01.i.i173 = phi i32 [ %579, %.lr.ph.i.i175 ], [ 0, %_Z6bw_lpcfPKfPfi.exit ]
%575 = getelementptr inbounds float* %572, i32 %i.01.i.i173
%576 = load float* %575, align 4
%577 = fmul float %576, %576
%578 = fadd float %sum.02.i.i172, %577
%579 = add nsw i32 %i.01.i.i173, 1
%exitcond.i.i174 = icmp eq i32 %579, %573
br i1 %exitcond.i.i174, label %.lr.ph286, label %.lr.ph.i.i175
.lr.ph286: ; preds = %.lr.ph.i.i175
%580 = sitofp i32 %573 to float
%581 = fdiv float %578, %580
%582 = fpext float %581 to double
%583 = fadd double %582, 1.000000e-01
%584 = call double @sqrt(double %583) nounwind readnone
%585 = fptrunc double %584 to float
%586 = getelementptr inbounds i8* %state, i32 120
%587 = bitcast i8* %586 to i32*
%588 = fpext float %585 to double
%589 = fmul double %588, 3.464200e+00
br label %._crit_edge348
._crit_edge348: ; preds = %._crit_edge348, %.lr.ph286
%590 = phi float* [ %572, %.lr.ph286 ], [ %.pre349, %._crit_edge348 ]
%i.0285 = phi i32 [ 0, %.lr.ph286 ], [ %602, %._crit_edge348 ]
%591 = load i32* %587, align 4
%592 = mul nsw i32 %591, 1664525
%593 = add nsw i32 %592, 1013904223
store i32 %593, i32* %587, align 4
%594 = and i32 %593, 8388607
%595 = or i32 %594, 1065353216
%596 = bitcast i32 %595 to float
%597 = fadd float %596, -1.500000e+00
%598 = fpext float %597 to double
%599 = fmul double %589, %598
%600 = fptrunc double %599 to float
%601 = getelementptr inbounds float* %590, i32 %i.0285
store float %600, float* %601, align 4
%602 = add nsw i32 %i.0285, 1
%603 = load i32* %528, align 4
%604 = icmp slt i32 %602, %603
%.pre349 = load float** %571, align 4
br i1 %604, label %._crit_edge348, label %607
.thread373: ; preds = %_Z6bw_lpcfPKfPfi.exit
%605 = getelementptr inbounds i8* %state, i32 4
%606 = bitcast i8* %605 to i32*
store i32 1, i32* %606, align 4
br label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit185
; <label>:607 ; preds = %._crit_edge348
%608 = getelementptr inbounds i8* %state, i32 4
%609 = bitcast i8* %608 to i32*
store i32 1, i32* %609, align 4
%610 = getelementptr inbounds i8* %state, i32 64
%611 = bitcast i8* %610 to float**
%612 = load float** %611, align 4
%613 = icmp sgt i32 %603, 0
br i1 %613, label %.lr.ph4.i178, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit185
.lr.ph4.i178: ; preds = %607
%614 = load i32* %553, align 4
%615 = add nsw i32 %614, -1
%616 = icmp sgt i32 %615, 0
%617 = getelementptr inbounds float* %558, i32 %615
%618 = getelementptr inbounds float* %612, i32 %615
br label %619
; <label>:619 ; preds = %._crit_edge.i184, %.lr.ph4.i178
%i.02.i179 = phi i32 [ 0, %.lr.ph4.i178 ], [ %636, %._crit_edge.i184 ]
%620 = getelementptr inbounds float* %.pre349, i32 %i.02.i179
%621 = load float* %620, align 4
%622 = load float* %612, align 4
%623 = fadd float %621, %622
%624 = fsub float -0.000000e+00, %623
br i1 %616, label %.lr.ph.i182, label %._crit_edge.i184
.lr.ph.i182: ; preds = %.lr.ph.i182, %619
%j.01.i180 = phi i32 [ %625, %.lr.ph.i182 ], [ 0, %619 ]
%625 = add nsw i32 %j.01.i180, 1
%626 = getelementptr inbounds float* %612, i32 %625
%627 = load float* %626, align 4
%628 = getelementptr inbounds float* %558, i32 %j.01.i180
%629 = load float* %628, align 4
%630 = fmul float %629, %624
%631 = fadd float %627, %630
%632 = getelementptr inbounds float* %612, i32 %j.01.i180
store float %631, float* %632, align 4
%exitcond.i181 = icmp eq i32 %625, %615
br i1 %exitcond.i181, label %._crit_edge.i184, label %.lr.ph.i182
._crit_edge.i184: ; preds = %.lr.ph.i182, %619
%633 = load float* %617, align 4
%634 = fmul float %633, %624
store float %634, float* %618, align 4
%635 = getelementptr inbounds float* %1, i32 %i.02.i179
store float %623, float* %635, align 4
%636 = add nsw i32 %i.02.i179, 1
%exitcond6.i183 = icmp eq i32 %636, %603
br i1 %exitcond6.i183, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit185, label %619
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit185: ; preds = %._crit_edge.i184, %607, %.thread373
%637 = getelementptr inbounds i8* %state, i32 8
%638 = bitcast i8* %637 to i32*
store i32 0, i32* %638, align 4
br label %_ZL14nb_decode_lostP8DecStatePfPc.exit
; <label>:639 ; preds = %522
%640 = getelementptr inbounds %struct.SpeexSubmode* %547, i32 0, i32 5
%641 = load void (float*, i32, %struct.SpeexBits*)** %640, align 4
call void %641(float* %558, i32 %554, %struct.SpeexBits* %bits)
%642 = getelementptr inbounds i8* %state, i32 8
%643 = bitcast i8* %642 to i32*
%644 = load i32* %643, align 4
%645 = icmp eq i32 %644, 0
br i1 %645, label %.loopexit, label %.preheader
.preheader: ; preds = %639
%646 = load i32* %553, align 4
%647 = icmp sgt i32 %646, 0
br i1 %647, label %.lr.ph219, label %665
.lr.ph219: ; preds = %.preheader
%648 = getelementptr inbounds i8* %state, i32 56
%649 = bitcast i8* %648 to float**
%650 = load float** %649, align 4
br label %651
; <label>:651 ; preds = %660, %.lr.ph219
%i.1218 = phi i32 [ 0, %.lr.ph219 ], [ %663, %660 ]
%lsp_dist.0217 = phi float [ 0.000000e+00, %.lr.ph219 ], [ %662, %660 ]
%652 = getelementptr inbounds float* %650, i32 %i.1218
%653 = load float* %652, align 4
%654 = getelementptr inbounds float* %558, i32 %i.1218
%655 = load float* %654, align 4
%656 = fsub float %653, %655
%657 = fcmp olt float %656, 0.000000e+00
br i1 %657, label %658, label %660
; <label>:658 ; preds = %651
%659 = fsub float -0.000000e+00, %656
br label %660
; <label>:660 ; preds = %658, %651
%661 = phi float [ %659, %658 ], [ %656, %651 ]
%662 = fadd float %lsp_dist.0217, %661
%663 = add nsw i32 %i.1218, 1
%664 = icmp slt i32 %663, %646
br i1 %664, label %651, label %._crit_edge
._crit_edge: ; preds = %660
%phitmp = fpext float %662 to double
%phitmp291 = fmul double %phitmp, -2.000000e-01
br label %665
; <label>:665 ; preds = %._crit_edge, %.preheader
%lsp_dist.0.lcssa = phi double [ %phitmp291, %._crit_edge ], [ -0.000000e+00, %.preheader ]
%666 = call double @exp(double %lsp_dist.0.lcssa)
%667 = fmul double %666, 6.000000e-01
%668 = fptrunc double %667 to float
%669 = load i32* %553, align 4
%670 = icmp sgt i32 %669, 0
br i1 %670, label %.lr.ph, label %.loopexit
.lr.ph: ; preds = %665
%671 = getelementptr inbounds i8* %state, i32 64
%672 = bitcast i8* %671 to float**
br label %673
; <label>:673 ; preds = %673, %.lr.ph
%i.2216 = phi i32 [ 0, %.lr.ph ], [ %678, %673 ]
%674 = load float** %672, align 4
%675 = getelementptr inbounds float* %674, i32 %i.2216
%676 = load float* %675, align 4
%677 = fmul float %668, %676
store float %677, float* %675, align 4
%678 = add nsw i32 %i.2216, 1
%679 = load i32* %553, align 4
%680 = icmp slt i32 %678, %679
br i1 %680, label %673, label %.loopexit
.loopexit: ; preds = %673, %665, %639
%681 = getelementptr inbounds i8* %state, i32 4
%682 = bitcast i8* %681 to i32*
%683 = load i32* %682, align 4
%684 = icmp eq i32 %683, 0
br i1 %684, label %685, label %.preheader220
; <label>:685 ; preds = %.loopexit
%686 = load i32* %643, align 4
%687 = icmp eq i32 %686, 0
br i1 %687, label %.loopexit221, label %.preheader220
.preheader220: ; preds = %685, %.loopexit
%688 = load i32* %553, align 4
%689 = icmp sgt i32 %688, 0
br i1 %689, label %.lr.ph223, label %.loopexit221
.lr.ph223: ; preds = %.preheader220
%690 = getelementptr inbounds i8* %state, i32 56
%691 = bitcast i8* %690 to float**
br label %692
; <label>:692 ; preds = %692, %.lr.ph223
%i.3222 = phi i32 [ 0, %.lr.ph223 ], [ %697, %692 ]
%693 = getelementptr inbounds float* %558, i32 %i.3222
%694 = load float* %693, align 4
%695 = load float** %691, align 4
%696 = getelementptr inbounds float* %695, i32 %i.3222
store float %694, float* %696, align 4
%697 = add nsw i32 %i.3222, 1
%698 = load i32* %553, align 4
%699 = icmp slt i32 %697, %698
br i1 %699, label %692, label %.loopexit221
.loopexit221: ; preds = %692, %.preheader220, %685
%700 = load i32* %.pre-phi372, align 4
%701 = load %struct.SpeexSubmode*** %544, align 4
%702 = getelementptr inbounds %struct.SpeexSubmode** %701, i32 %700
%703 = load %struct.SpeexSubmode** %702, align 4
%704 = getelementptr inbounds %struct.SpeexSubmode* %703, i32 0, i32 0
%705 = load i32* %704, align 4
%706 = icmp eq i32 %705, -1
br i1 %706, label %.loopexit221._crit_edge, label %707
.loopexit221._crit_edge: ; preds = %.loopexit221
%.phi.trans.insert350.phi.trans.insert = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%.pre351.pre = load i32* %.phi.trans.insert350.phi.trans.insert, align 4
br label %748
; <label>:707 ; preds = %.loopexit221
%708 = getelementptr inbounds i8* %state, i32 28
%709 = bitcast i8* %708 to i32*
%710 = load i32* %709, align 4
%711 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%712 = load i32* %711, align 4
%713 = shl i32 %712, 3
%714 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%715 = load i32* %714, align 4
%716 = or i32 %713, 7
%717 = add i32 %716, %715
%718 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%719 = load i32* %718, align 4
%720 = icmp sgt i32 %717, %719
%721 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
br i1 %720, label %.thread.i163, label %722
.thread.i163: ; preds = %707
store i32 1, i32* %721, align 4
br label %speex_bits_unpack_unsigned.exit171
; <label>:722 ; preds = %707
%.pre4.i164 = load i32* %721, align 4
%phitmp.i165 = icmp eq i32 %.pre4.i164, 0
br i1 %phitmp.i165, label %.lr.ph.i167, label %speex_bits_unpack_unsigned.exit171
.lr.ph.i167: ; preds = %722
%723 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre.i166 = load i8** %723, align 4
%724 = getelementptr inbounds i8* %.pre.i166, i32 %712
%725 = load i8* %724, align 1
%726 = sext i8 %725 to i32
%727 = sub nsw i32 7, %715
%728 = lshr i32 %726, %727
%729 = add nsw i32 %715, 1
store i32 %729, i32* %714, align 4
%730 = icmp eq i32 %729, 8
br i1 %730, label %731, label %733
; <label>:731 ; preds = %.lr.ph.i167
store i32 0, i32* %714, align 4
%732 = add nsw i32 %712, 1
store i32 %732, i32* %711, align 4
br label %733
; <label>:733 ; preds = %731, %.lr.ph.i167
%734 = phi i32 [ 0, %731 ], [ %729, %.lr.ph.i167 ]
%735 = phi i32 [ %732, %731 ], [ %712, %.lr.ph.i167 ]
%736 = shl i32 %728, 1
%737 = and i32 %736, 2
%738 = getelementptr inbounds i8* %.pre.i166, i32 %735
%739 = load i8* %738, align 1
%740 = sext i8 %739 to i32
%741 = sub nsw i32 7, %734
%742 = lshr i32 %740, %741
%743 = and i32 %742, 1
%744 = or i32 %743, %737
%745 = add nsw i32 %734, 1
store i32 %745, i32* %714, align 4
%746 = icmp eq i32 %745, 8
br i1 %746, label %1647, label %1649
speex_bits_unpack_unsigned.exit171: ; preds = %1722, %1709, %722, %.thread.i163
%.pre35119 = phi i32 [ %712, %722 ], [ %712, %.thread.i163 ], [ %1723, %1722 ], [ %1711, %1709 ]
%.0.i170 = phi i32 [ 0, %722 ], [ 0, %.thread.i163 ], [ %1719, %1722 ], [ %1719, %1709 ]
%747 = add i32 %.0.i170, %710
%.pre312 = load i32* %.pre-phi372, align 4
%.pre313 = load %struct.SpeexSubmode*** %544, align 4
%.phi.trans.insert = getelementptr inbounds %struct.SpeexSubmode** %.pre313, i32 %.pre312
%.pre314 = load %struct.SpeexSubmode** %.phi.trans.insert, align 4
br label %748
; <label>:748 ; preds = %speex_bits_unpack_unsigned.exit171, %.loopexit221._crit_edge
%.pre351 = phi i32 [ %.pre35119, %speex_bits_unpack_unsigned.exit171 ], [ %.pre351.pre, %.loopexit221._crit_edge ]
%749 = phi %struct.SpeexSubmode* [ %.pre314, %speex_bits_unpack_unsigned.exit171 ], [ %703, %.loopexit221._crit_edge ]
%ol_pitch.0 = phi i32 [ %747, %speex_bits_unpack_unsigned.exit171 ], [ 0, %.loopexit221._crit_edge ]
%750 = getelementptr inbounds %struct.SpeexSubmode* %749, i32 0, i32 1
%751 = load i32* %750, align 4
%752 = icmp eq i32 %751, 0
%.phi.trans.insert350 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
br i1 %752, label %._crit_edge347, label %753
._crit_edge347: ; preds = %748
%.phi.trans.insert352 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%.pre353 = load i32* %.phi.trans.insert352, align 4
%.phi.trans.insert354 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%.pre355 = load i32* %.phi.trans.insert354, align 4
%.pre358 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
br label %speex_bits_unpack_unsigned.exit162
; <label>:753 ; preds = %748
%754 = shl i32 %.pre351, 3
%755 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%756 = load i32* %755, align 4
%757 = or i32 %754, 4
%758 = add i32 %757, %756
%759 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%760 = load i32* %759, align 4
%761 = icmp sgt i32 %758, %760
%762 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
br i1 %761, label %.thread.i154, label %763
.thread.i154: ; preds = %753
store i32 1, i32* %762, align 4
br label %speex_bits_unpack_unsigned.exit162
; <label>:763 ; preds = %753
%.pre4.i155 = load i32* %762, align 4
%phitmp.i156 = icmp eq i32 %.pre4.i155, 0
br i1 %phitmp.i156, label %.lr.ph.i158, label %speex_bits_unpack_unsigned.exit162
.lr.ph.i158: ; preds = %763
%764 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre.i157 = load i8** %764, align 4
%765 = getelementptr inbounds i8* %.pre.i157, i32 %.pre351
%766 = load i8* %765, align 1
%767 = sext i8 %766 to i32
%768 = sub nsw i32 7, %756
%769 = lshr i32 %767, %768
%770 = add nsw i32 %756, 1
store i32 %770, i32* %755, align 4
%771 = icmp eq i32 %770, 8
br i1 %771, label %772, label %774
; <label>:772 ; preds = %.lr.ph.i158
store i32 0, i32* %755, align 4
%773 = add nsw i32 %.pre351, 1
store i32 %773, i32* %.phi.trans.insert350, align 4
br label %774
; <label>:774 ; preds = %772, %.lr.ph.i158
%775 = phi i32 [ 0, %772 ], [ %770, %.lr.ph.i158 ]
%776 = phi i32 [ %773, %772 ], [ %.pre351, %.lr.ph.i158 ]
%777 = shl i32 %769, 1
%778 = and i32 %777, 2
%779 = getelementptr inbounds i8* %.pre.i157, i32 %776
%780 = load i8* %779, align 1
%781 = sext i8 %780 to i32
%782 = sub nsw i32 7, %775
%783 = lshr i32 %781, %782
%784 = and i32 %783, 1
%785 = or i32 %784, %778
%786 = add nsw i32 %775, 1
store i32 %786, i32* %755, align 4
%787 = icmp eq i32 %786, 8
br i1 %787, label %1724, label %1726
speex_bits_unpack_unsigned.exit162: ; preds = %speex_bits_unpack_unsigned.exit162.loopexit, %763, %.thread.i154, %._crit_edge347
%.pre-phi = phi i32* [ %.pre358, %._crit_edge347 ], [ %762, %speex_bits_unpack_unsigned.exit162.loopexit ], [ %762, %763 ], [ %762, %.thread.i154 ]
%788 = phi i32 [ %.pre355, %._crit_edge347 ], [ %760, %speex_bits_unpack_unsigned.exit162.loopexit ], [ %760, %763 ], [ %760, %.thread.i154 ]
%789 = phi i32 [ %.pre353, %._crit_edge347 ], [ %1756, %speex_bits_unpack_unsigned.exit162.loopexit ], [ %756, %763 ], [ %756, %.thread.i154 ]
%790 = phi i32 [ %.pre351, %._crit_edge347 ], [ %1757, %speex_bits_unpack_unsigned.exit162.loopexit ], [ %.pre351, %763 ], [ %.pre351, %.thread.i154 ]
%ol_pitch_coef.0 = phi float [ 0.000000e+00, %._crit_edge347 ], [ %phitmp294, %speex_bits_unpack_unsigned.exit162.loopexit ], [ 0.000000e+00, %763 ], [ 0.000000e+00, %.thread.i154 ]
%791 = shl i32 %790, 3
%792 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%793 = or i32 %791, 5
%794 = add i32 %793, %789
%795 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%796 = icmp sgt i32 %794, %788
br i1 %796, label %.thread.i145, label %797
.thread.i145: ; preds = %speex_bits_unpack_unsigned.exit162
store i32 1, i32* %.pre-phi, align 4
br label %speex_bits_unpack_unsigned.exit153
; <label>:797 ; preds = %speex_bits_unpack_unsigned.exit162
%.pre4.i146 = load i32* %.pre-phi, align 4
%phitmp.i147 = icmp eq i32 %.pre4.i146, 0
br i1 %phitmp.i147, label %.lr.ph.i149, label %speex_bits_unpack_unsigned.exit153
.lr.ph.i149: ; preds = %797
%798 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre.i148 = load i8** %798, align 4
%799 = getelementptr inbounds i8* %.pre.i148, i32 %790
%800 = load i8* %799, align 1
%801 = sext i8 %800 to i32
%802 = sub nsw i32 7, %789
%803 = lshr i32 %801, %802
%804 = add nsw i32 %789, 1
store i32 %804, i32* %792, align 4
%805 = icmp eq i32 %804, 8
br i1 %805, label %806, label %808
; <label>:806 ; preds = %.lr.ph.i149
store i32 0, i32* %792, align 4
%807 = add nsw i32 %790, 1
store i32 %807, i32* %.phi.trans.insert350, align 4
br label %808
; <label>:808 ; preds = %806, %.lr.ph.i149
%809 = phi i32 [ 0, %806 ], [ %804, %.lr.ph.i149 ]
%810 = phi i32 [ %807, %806 ], [ %790, %.lr.ph.i149 ]
%811 = shl i32 %803, 1
%812 = and i32 %811, 2
%813 = getelementptr inbounds i8* %.pre.i148, i32 %810
%814 = load i8* %813, align 1
%815 = sext i8 %814 to i32
%816 = sub nsw i32 7, %809
%817 = lshr i32 %815, %816
%818 = and i32 %817, 1
%819 = or i32 %818, %812
%820 = add nsw i32 %809, 1
store i32 %820, i32* %792, align 4
%821 = icmp eq i32 %820, 8
br i1 %821, label %1758, label %1760
speex_bits_unpack_unsigned.exit153: ; preds = %speex_bits_unpack_unsigned.exit153.loopexit, %797, %.thread.i145
%.0.i152 = phi double [ 0.000000e+00, %797 ], [ 0.000000e+00, %.thread.i145 ], [ %phitmp295, %speex_bits_unpack_unsigned.exit153.loopexit ]
%822 = fdiv double %.0.i152, 3.500000e+00
%823 = call double @exp(double %822)
%824 = fptrunc double %823 to float
%825 = ptrtoint i8* %556 to i32
%826 = sub i32 0, %825
%827 = and i32 %826, 3
%.sum2 = add i32 %827, %.sum
%828 = load i32* %553, align 4
%829 = shl i32 %828, 2
%.sum3 = add i32 %829, %.sum2
%830 = getelementptr inbounds i8* %5, i32 %.sum3
%831 = getelementptr inbounds i8* %5, i32 %.sum2
%832 = bitcast i8* %831 to float*
%833 = ptrtoint i8* %830 to i32
%834 = sub i32 0, %833
%835 = and i32 %834, 3
%.sum5 = add i32 %835, %.sum3
%836 = load i32* %537, align 4
%837 = shl i32 %836, 2
%.sum6 = add i32 %.sum5, %837
%838 = getelementptr inbounds i8* %5, i32 %.sum6
%839 = getelementptr inbounds i8* %5, i32 %.sum5
%840 = bitcast i8* %839 to float*
%841 = ptrtoint i8* %838 to i32
%842 = sub i32 0, %841
%843 = and i32 %842, 3
%.sum8 = add i32 %843, %.sum6
%.sum9 = add i32 %.sum8, %837
%844 = getelementptr inbounds i8* %5, i32 %.sum9
%845 = getelementptr inbounds i8* %5, i32 %.sum8
%846 = bitcast i8* %845 to float*
%847 = load i32* %.pre-phi372, align 4
%848 = icmp eq i32 %847, 1
br i1 %848, label %849, label %887
; <label>:849 ; preds = %speex_bits_unpack_unsigned.exit153
%850 = load i32* %.phi.trans.insert350, align 4
%851 = shl i32 %850, 3
%852 = load i32* %792, align 4
%853 = or i32 %851, 4
%854 = add i32 %853, %852
%855 = load i32* %795, align 4
%856 = icmp sgt i32 %854, %855
br i1 %856, label %.thread.i136, label %857
.thread.i136: ; preds = %849
store i32 1, i32* %.pre-phi, align 4
br label %speex_bits_unpack_unsigned.exit144.thread
; <label>:857 ; preds = %849
%.pre4.i137 = load i32* %.pre-phi, align 4
%phitmp.i138 = icmp eq i32 %.pre4.i137, 0
br i1 %phitmp.i138, label %.lr.ph.i140, label %speex_bits_unpack_unsigned.exit144.thread
.lr.ph.i140: ; preds = %857
%858 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre.i139 = load i8** %858, align 4
%859 = getelementptr inbounds i8* %.pre.i139, i32 %850
%860 = load i8* %859, align 1
%861 = sext i8 %860 to i32
%862 = sub nsw i32 7, %852
%863 = lshr i32 %861, %862
%864 = add nsw i32 %852, 1
store i32 %864, i32* %792, align 4
%865 = icmp eq i32 %864, 8
br i1 %865, label %866, label %868
; <label>:866 ; preds = %.lr.ph.i140
store i32 0, i32* %792, align 4
%867 = add nsw i32 %850, 1
store i32 %867, i32* %.phi.trans.insert350, align 4
br label %868
; <label>:868 ; preds = %866, %.lr.ph.i140
%869 = phi i32 [ 0, %866 ], [ %864, %.lr.ph.i140 ]
%870 = phi i32 [ %867, %866 ], [ %850, %.lr.ph.i140 ]
%871 = shl i32 %863, 1
%872 = and i32 %871, 2
%873 = getelementptr inbounds i8* %.pre.i139, i32 %870
%874 = load i8* %873, align 1
%875 = sext i8 %874 to i32
%876 = sub nsw i32 7, %869
%877 = lshr i32 %875, %876
%878 = and i32 %877, 1
%879 = or i32 %878, %872
%880 = add nsw i32 %869, 1
store i32 %880, i32* %792, align 4
%881 = icmp eq i32 %880, 8
br i1 %881, label %1805, label %1807
speex_bits_unpack_unsigned.exit144.thread: ; preds = %857, %.thread.i136
%882 = getelementptr inbounds i8* %state, i32 496
%883 = bitcast i8* %882 to i32*
br label %885
; <label>:884 ; preds = %speex_bits_unpack_unsigned.exit144
store i32 1, i32* %1839, align 4
br label %thread-pre-split
; <label>:885 ; preds = %speex_bits_unpack_unsigned.exit144, %speex_bits_unpack_unsigned.exit144.thread
%886 = phi i32* [ %883, %speex_bits_unpack_unsigned.exit144.thread ], [ %1839, %speex_bits_unpack_unsigned.exit144 ]
store i32 0, i32* %886, align 4
br label %thread-pre-split
thread-pre-split: ; preds = %885, %884
%.pr192 = load i32* %.pre-phi372, align 4
br label %887
; <label>:887 ; preds = %thread-pre-split, %speex_bits_unpack_unsigned.exit153
%888 = phi i32 [ %.pr192, %thread-pre-split ], [ %847, %speex_bits_unpack_unsigned.exit153 ]
%889 = icmp sgt i32 %888, 1
br i1 %889, label %890, label %.preheader273
; <label>:890 ; preds = %887
%891 = getelementptr inbounds i8* %state, i32 496
%892 = bitcast i8* %891 to i32*
store i32 0, i32* %892, align 4
br label %.preheader273
.preheader273: ; preds = %890, %887
%893 = getelementptr inbounds i8* %state, i32 20
%894 = bitcast i8* %893 to i32*
%895 = load i32* %894, align 4
%896 = icmp sgt i32 %895, 0
br i1 %896, label %.lr.ph280, label %.preheader273._crit_edge
.preheader273._crit_edge: ; preds = %.preheader273
%.pre359 = ptrtoint i8* %844 to i32
%.pre361 = sub i32 0, %.pre359
%.pre363 = and i32 %.pre361, 3
%.sum11.pre = add i32 %.pre363, %.sum9
%.pre365 = getelementptr inbounds i8* %5, i32 %.sum11.pre
%.pre367 = bitcast i8* %.pre365 to float*
br label %1289
.lr.ph280: ; preds = %.preheader273
%897 = getelementptr inbounds i8* %state, i32 52
%898 = bitcast i8* %897 to float**
%899 = getelementptr inbounds i8* %state, i32 80
%900 = bitcast i8* %899 to float**
%901 = getelementptr inbounds i8* %state, i32 28
%902 = bitcast i8* %901 to i32*
%903 = getelementptr inbounds [3 x float]* %pitch_gain, i32 0, i32 0
%904 = getelementptr inbounds i8* %state, i32 100
%905 = bitcast i8* %904 to float*
%906 = getelementptr inbounds [3 x float]* %pitch_gain, i32 0, i32 1
%907 = getelementptr inbounds [3 x float]* %pitch_gain, i32 0, i32 2
%908 = getelementptr inbounds i8* %state, i32 120
%909 = bitcast i8* %908 to i32*
%910 = ptrtoint i8* %844 to i32
%911 = sub i32 0, %910
%912 = and i32 %911, 3
%.sum17 = add i32 %912, %.sum9
%913 = getelementptr inbounds i8* %5, i32 %.sum17
%914 = bitcast i8* %913 to float*
%915 = fadd float %ol_pitch_coef.0, 0xBFC99999A0000000
%916 = fmul float %915, 1.500000e+00
%917 = fcmp olt float %916, 0.000000e+00
%g.0 = select i1 %917, float 0.000000e+00, float %916
%918 = fcmp ogt float %g.0, 1.000000e+00
%g.1 = select i1 %918, float 1.000000e+00, float %g.0
%919 = getelementptr inbounds i8* %state, i32 492
%920 = bitcast i8* %919 to i32*
%921 = getelementptr inbounds i8* %state, i32 480
%922 = bitcast i8* %921 to float*
%923 = fmul float %g.1, 0x3FEB333340000000
%924 = fsub float 1.000000e+00, %923
%925 = fmul float %g.1, 0x3FC3333340000000
%926 = getelementptr inbounds i8* %state, i32 484
%927 = bitcast i8* %926 to float*
%928 = getelementptr inbounds i8* %state, i32 488
%929 = bitcast i8* %928 to float*
%930 = sitofp i32 %ol_pitch.0 to float
%931 = fmul float %930, 2.000000e+00
%932 = fmul float %g.1, %824
%933 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre315 = load i32* %537, align 4
br label %934
; <label>:934 ; preds = %.loopexit269, %.lr.ph280
%935 = phi i32 [ %.pre315, %.lr.ph280 ], [ %1285, %.loopexit269 ]
%sub.0279 = phi i32 [ 0, %.lr.ph280 ], [ %1286, %.loopexit269 ]
%best_pitch.0278 = phi i32 [ 40, %.lr.ph280 ], [ %best_pitch.1, %.loopexit269 ]
%best_pitch_gain.0276 = phi float [ 0.000000e+00, %.lr.ph280 ], [ %best_pitch_gain.1, %.loopexit269 ]
%pitch_average.0275 = phi float [ 0.000000e+00, %.lr.ph280 ], [ %1017, %.loopexit269 ]
%936 = mul nsw i32 %935, %sub.0279
%937 = load float** %898, align 4
%938 = getelementptr inbounds float* %937, i32 %936
%939 = load float** %900, align 4
%940 = icmp eq float* %939, null
br i1 %940, label %943, label %941
; <label>:941 ; preds = %934
%942 = getelementptr inbounds float* %939, i32 %936
br label %943
; <label>:943 ; preds = %941, %934
%innov_save.0 = phi float* [ %942, %941 ], [ null, %934 ]
%944 = bitcast float* %938 to i8*
%945 = shl i32 %935, 2
call void @llvm.memset.p0i8.i32(i8* %944, i8 0, i32 %945, i32 4, i1 false)
%946 = load i32* %.pre-phi372, align 4
%947 = load %struct.SpeexSubmode*** %544, align 4
%948 = getelementptr inbounds %struct.SpeexSubmode** %947, i32 %946
%949 = load %struct.SpeexSubmode** %948, align 4
%950 = getelementptr inbounds %struct.SpeexSubmode* %949, i32 0, i32 7
%951 = load void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)** %950, align 4
%952 = icmp eq void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)* %951, null
br i1 %952, label %953, label %956
; <label>:953 ; preds = %943
%954 = load %struct.__sFILE** @stderr, align 4
%955 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %954, i8* getelementptr inbounds ([43 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([81 x i8]* @.str142, i32 0, i32 0), i32 1319, i8* getelementptr inbounds ([39 x i8]* @.str647, i32 0, i32 0))
call void @exit(i32 1)
%.pre316 = load i32* %.pre-phi372, align 4
%.pre317 = load %struct.SpeexSubmode*** %544, align 4
%.phi.trans.insert318 = getelementptr inbounds %struct.SpeexSubmode** %.pre317, i32 %.pre316
%.pre319 = load %struct.SpeexSubmode** %.phi.trans.insert318, align 4
br label %956
; <label>:956 ; preds = %953, %943
%957 = phi %struct.SpeexSubmode* [ %949, %943 ], [ %.pre319, %953 ]
%958 = getelementptr inbounds %struct.SpeexSubmode* %957, i32 0, i32 0
%959 = load i32* %958, align 4
switch i32 %959, label %960 [
i32 -1, label %968
i32 0, label %._crit_edge346
]
; <label>:960 ; preds = %956
%961 = sub nsw i32 %ol_pitch.0, %959
%962 = add nsw i32 %961, 1
%963 = load i32* %902, align 4
%964 = icmp slt i32 %962, %963
%. = select i1 %964, i32 %963, i32 %962
%965 = add nsw i32 %959, %ol_pitch.0
%966 = load i32* %533, align 4
%967 = icmp sgt i32 %965, %966
%.21 = select i1 %967, i32 %966, i32 %965
br label %._crit_edge346
; <label>:968 ; preds = %956
%969 = load i32* %902, align 4
%970 = load i32* %533, align 4
br label %._crit_edge346
._crit_edge346: ; preds = %968, %960, %956
%pit_min.1 = phi i32 [ %969, %968 ], [ %., %960 ], [ %ol_pitch.0, %956 ]
%pit_max.0 = phi i32 [ %970, %968 ], [ %.21, %960 ], [ %ol_pitch.0, %956 ]
%971 = getelementptr inbounds %struct.SpeexSubmode* %957, i32 0, i32 7
%972 = load void (float*, float*, i32, i32, float, i8*, i32, i32*, float*, %struct.SpeexBits*, i8*, i32, i32, float, i32)** %971, align 4
%973 = getelementptr inbounds %struct.SpeexSubmode* %957, i32 0, i32 8
%974 = load i8** %973, align 4
%975 = load i32* %537, align 4
%976 = load i32* %643, align 4
%977 = load float* %905, align 4
call void %972(float* %938, float* %846, i32 %pit_min.1, i32 %pit_max.0, float %ol_pitch_coef.0, i8* %974, i32 %975, i32* %pitch, float* %903, %struct.SpeexBits* %bits, i8* %844, i32 %976, i32 %936, float %977, i32 0)
%978 = load i32* %537, align 4
%979 = icmp sgt i32 %978, 0
br i1 %979, label %.lr.ph.i117, label %_Z17sanitize_values32Pfffi.exit
.lr.ph.i117: ; preds = %991, %._crit_edge346
%i.01.i116 = phi i32 [ %992, %991 ], [ 0, %._crit_edge346 ]
%980 = getelementptr inbounds float* %846, i32 %i.01.i116
%981 = load float* %980, align 4
%982 = fcmp ult float %981, -3.200000e+04
%983 = fcmp ugt float %981, 3.200000e+04
%or.cond.i = or i1 %982, %983
br i1 %or.cond.i, label %984, label %991
; <label>:984 ; preds = %.lr.ph.i117
%985 = fcmp olt float %981, -3.200000e+04
br i1 %985, label %986, label %987
; <label>:986 ; preds = %984
store float -3.200000e+04, float* %980, align 4
br label %991
; <label>:987 ; preds = %984
%988 = fcmp ogt float %981, 3.200000e+04
br i1 %988, label %989, label %990
; <label>:989 ; preds = %987
store float 3.200000e+04, float* %980, align 4
br label %991
; <label>:990 ; preds = %987
store float 0.000000e+00, float* %980, align 4
br label %991
; <label>:991 ; preds = %990, %989, %986, %.lr.ph.i117
%992 = add nsw i32 %i.01.i116, 1
%exitcond.i118 = icmp eq i32 %992, %978
br i1 %exitcond.i118, label %_Z17sanitize_values32Pfffi.exit, label %.lr.ph.i117
_Z17sanitize_values32Pfffi.exit: ; preds = %991, %._crit_edge346
%993 = load float* %906, align 4
%994 = fcmp olt float %993, 0.000000e+00
br i1 %994, label %995, label %997
; <label>:995 ; preds = %_Z17sanitize_values32Pfffi.exit
%996 = fsub float -0.000000e+00, %993
br label %997
; <label>:997 ; preds = %995, %_Z17sanitize_values32Pfffi.exit
%998 = phi float [ %996, %995 ], [ %993, %_Z17sanitize_values32Pfffi.exit ]
%999 = fpext float %998 to double
%1000 = load float* %903, align 4
%1001 = fcmp ogt float %1000, 0.000000e+00
%1002 = fpext float %1000 to double
br i1 %1001, label %1005, label %1003
; <label>:1003 ; preds = %997
%1004 = fmul double %1002, -5.000000e-01
br label %1005
; <label>:1005 ; preds = %1003, %997
%1006 = phi double [ %1004, %1003 ], [ %1002, %997 ]
%1007 = fadd double %999, %1006
%1008 = load float* %907, align 4
%1009 = fcmp ogt float %1008, 0.000000e+00
%1010 = fpext float %1008 to double
br i1 %1009, label %1013, label %1011
; <label>:1011 ; preds = %1005
%1012 = fmul double %1010, -5.000000e-01
br label %1013
; <label>:1013 ; preds = %1011, %1005
%1014 = phi double [ %1012, %1011 ], [ %1010, %1005 ]
%1015 = fadd double %1007, %1014
%1016 = fptrunc double %1015 to float
%1017 = fadd float %pitch_average.0275, %1016
%1018 = fcmp ogt float %1016, %best_pitch_gain.0276
br i1 %1018, label %1019, label %1041
; <label>:1019 ; preds = %1013
%1020 = shl nsw i32 %best_pitch.0278, 1
%1021 = load i32* %pitch, align 4
%1022 = sub nsw i32 %1020, %1021
%1023 = icmp slt i32 %1022, 0
%1024 = sub nsw i32 0, %1022
%1025 = select i1 %1023, i32 %1024, i32 %1022
%1026 = icmp sgt i32 %1025, 2
br i1 %1026, label %1027, label %1041
; <label>:1027 ; preds = %1019
%1028 = mul nsw i32 %best_pitch.0278, 3
%1029 = sub nsw i32 %1028, %1021
%1030 = icmp slt i32 %1029, 0
%1031 = sub nsw i32 0, %1029
%1032 = select i1 %1030, i32 %1031, i32 %1029
%1033 = icmp sgt i32 %1032, 3
br i1 %1033, label %1034, label %1041
; <label>:1034 ; preds = %1027
%1035 = shl nsw i32 %best_pitch.0278, 2
%1036 = sub nsw i32 %1035, %1021
%1037 = icmp slt i32 %1036, 0
%1038 = sub nsw i32 0, %1036
%1039 = select i1 %1037, i32 %1038, i32 %1036
%1040 = icmp sgt i32 %1039, 4
br i1 %1040, label %.thread193, label %1041
; <label>:1041 ; preds = %1034, %1027, %1019, %1013
%1042 = fpext float %1016 to double
%1043 = fpext float %best_pitch_gain.0276 to double
%1044 = fmul double %1043, 6.000000e-01
%1045 = fcmp ogt double %1042, %1044
br i1 %1045, label %1046, label %1068
; <label>:1046 ; preds = %1041
%1047 = load i32* %pitch, align 4
%1048 = shl nsw i32 %1047, 1
%1049 = sub nsw i32 %best_pitch.0278, %1048
%1050 = icmp slt i32 %1049, 0
%1051 = sub nsw i32 0, %1049
%1052 = select i1 %1050, i32 %1051, i32 %1049
%1053 = icmp slt i32 %1052, 3
br i1 %1053, label %1093, label %1054
; <label>:1054 ; preds = %1046
%1055 = mul i32 %1047, -3
%1056 = add i32 %1055, %best_pitch.0278
%1057 = icmp slt i32 %1056, 0
%1058 = sub nsw i32 0, %1056
%1059 = select i1 %1057, i32 %1058, i32 %1056
%1060 = icmp slt i32 %1059, 4
br i1 %1060, label %1093, label %1061
; <label>:1061 ; preds = %1054
%1062 = shl nsw i32 %1047, 2
%1063 = sub nsw i32 %best_pitch.0278, %1062
%1064 = icmp slt i32 %1063, 0
%1065 = sub nsw i32 0, %1063
%1066 = select i1 %1064, i32 %1065, i32 %1063
%1067 = icmp slt i32 %1066, 5
br i1 %1067, label %1093, label %1068
; <label>:1068 ; preds = %1061, %1041
%1069 = fmul double %1042, 6.700000e-01
%1070 = fcmp ogt double %1069, %1043
br i1 %1070, label %1071, label %._crit_edge343
; <label>:1071 ; preds = %1068
%1072 = shl nsw i32 %best_pitch.0278, 1
%1073 = load i32* %pitch, align 4
%1074 = sub nsw i32 %1072, %1073
%1075 = icmp slt i32 %1074, 0
%1076 = sub nsw i32 0, %1074
%1077 = select i1 %1075, i32 %1076, i32 %1074
%1078 = icmp slt i32 %1077, 3
br i1 %1078, label %1093, label %1079
; <label>:1079 ; preds = %1071
%1080 = mul nsw i32 %best_pitch.0278, 3
%1081 = sub nsw i32 %1080, %1073
%1082 = icmp slt i32 %1081, 0
%1083 = sub nsw i32 0, %1081
%1084 = select i1 %1082, i32 %1083, i32 %1081
%1085 = icmp slt i32 %1084, 4
br i1 %1085, label %1093, label %1086
; <label>:1086 ; preds = %1079
%1087 = shl nsw i32 %best_pitch.0278, 2
%1088 = sub nsw i32 %1087, %1073
%1089 = icmp slt i32 %1088, 0
%1090 = sub nsw i32 0, %1088
%1091 = select i1 %1089, i32 %1090, i32 %1088
%1092 = icmp slt i32 %1091, 5
br i1 %1092, label %1093, label %._crit_edge343
; <label>:1093 ; preds = %1086, %1079, %1071, %1061, %1054, %1046
%1094 = phi i32 [ %1073, %1086 ], [ %1073, %1079 ], [ %1073, %1071 ], [ %1047, %1061 ], [ %1047, %1054 ], [ %1047, %1046 ]
br i1 %1018, label %.thread193, label %._crit_edge343
.thread193: ; preds = %1093, %1034
%1095 = phi i32 [ %1094, %1093 ], [ %1021, %1034 ]
br label %._crit_edge343
._crit_edge343: ; preds = %.thread193, %1093, %1086, %1068
%best_pitch_gain.1 = phi float [ %1016, %.thread193 ], [ %best_pitch_gain.0276, %1068 ], [ %best_pitch_gain.0276, %1086 ], [ %best_pitch_gain.0276, %1093 ]
%best_pitch.1 = phi i32 [ %1095, %.thread193 ], [ %best_pitch.0278, %1068 ], [ %best_pitch.0278, %1086 ], [ %1094, %1093 ]
%1096 = load i32* %537, align 4
%1097 = shl i32 %1096, 2
call void @llvm.memset.p0i8.i32(i8* %839, i8 0, i32 %1097, i32 4, i1 false)
%1098 = load i32* %.pre-phi372, align 4
%1099 = load %struct.SpeexSubmode*** %544, align 4
%1100 = getelementptr inbounds %struct.SpeexSubmode** %1099, i32 %1098
%1101 = load %struct.SpeexSubmode** %1100, align 4
%1102 = getelementptr inbounds %struct.SpeexSubmode* %1101, i32 0, i32 2
%1103 = load i32* %1102, align 4
switch i32 %1103, label %1161 [
i32 3, label %1104
i32 1, label %1139
]
; <label>:1104 ; preds = %._crit_edge343
%1105 = load i32* %.phi.trans.insert350, align 4
%1106 = shl i32 %1105, 3
%1107 = load i32* %792, align 4
%1108 = or i32 %1106, 3
%1109 = add i32 %1108, %1107
%1110 = load i32* %795, align 4
%1111 = icmp sgt i32 %1109, %1110
br i1 %1111, label %.thread.i107, label %1112
.thread.i107: ; preds = %1104
store i32 1, i32* %.pre-phi, align 4
br label %speex_bits_unpack_unsigned.exit115
; <label>:1112 ; preds = %1104
%.pre4.i108 = load i32* %.pre-phi, align 4
%phitmp.i109 = icmp eq i32 %.pre4.i108, 0
br i1 %phitmp.i109, label %.lr.ph.i111, label %speex_bits_unpack_unsigned.exit115
.lr.ph.i111: ; preds = %1112
%.pre.i110 = load i8** %933, align 4
%1113 = getelementptr inbounds i8* %.pre.i110, i32 %1105
%1114 = load i8* %1113, align 1
%1115 = sext i8 %1114 to i32
%1116 = sub nsw i32 7, %1107
%1117 = lshr i32 %1115, %1116
%1118 = add nsw i32 %1107, 1
store i32 %1118, i32* %792, align 4
%1119 = icmp eq i32 %1118, 8
br i1 %1119, label %1120, label %1122
; <label>:1120 ; preds = %.lr.ph.i111
store i32 0, i32* %792, align 4
%1121 = add nsw i32 %1105, 1
store i32 %1121, i32* %.phi.trans.insert350, align 4
br label %1122
; <label>:1122 ; preds = %1120, %.lr.ph.i111
%1123 = phi i32 [ 0, %1120 ], [ %1118, %.lr.ph.i111 ]
%1124 = phi i32 [ %1121, %1120 ], [ %1105, %.lr.ph.i111 ]
%1125 = shl i32 %1117, 1
%1126 = and i32 %1125, 2
%1127 = getelementptr inbounds i8* %.pre.i110, i32 %1124
%1128 = load i8* %1127, align 1
%1129 = sext i8 %1128 to i32
%1130 = sub nsw i32 7, %1123
%1131 = lshr i32 %1129, %1130
%1132 = and i32 %1131, 1
%1133 = or i32 %1132, %1126
%1134 = add nsw i32 %1123, 1
store i32 %1134, i32* %792, align 4
%1135 = icmp eq i32 %1134, 8
br i1 %1135, label %1840, label %1842
speex_bits_unpack_unsigned.exit115: ; preds = %1855, %1842, %1112, %.thread.i107
%.0.i114 = phi i32 [ 0, %1112 ], [ 0, %.thread.i107 ], [ %1852, %1855 ], [ %1852, %1842 ]
%1136 = getelementptr inbounds [8 x float]* @_ZL20exc_gain_quant_scal3, i32 0, i32 %.0.i114
%1137 = load float* %1136, align 4
%1138 = fmul float %1137, %824
br label %1161
; <label>:1139 ; preds = %._crit_edge343
%1140 = load i32* %.phi.trans.insert350, align 4
%1141 = shl i32 %1140, 3
%1142 = load i32* %792, align 4
%1143 = or i32 %1141, 1
%1144 = add i32 %1143, %1142
%1145 = load i32* %795, align 4
%1146 = icmp sgt i32 %1144, %1145
br i1 %1146, label %.thread.i98, label %1147
.thread.i98: ; preds = %1139
store i32 1, i32* %.pre-phi, align 4
br label %speex_bits_unpack_unsigned.exit106
; <label>:1147 ; preds = %1139
%.pre4.i99 = load i32* %.pre-phi, align 4
%phitmp.i100 = icmp eq i32 %.pre4.i99, 0
br i1 %phitmp.i100, label %.lr.ph.i102, label %speex_bits_unpack_unsigned.exit106
.lr.ph.i102: ; preds = %1147
%.pre.i101 = load i8** %933, align 4
%1148 = getelementptr inbounds i8* %.pre.i101, i32 %1140
%1149 = load i8* %1148, align 1
%1150 = sext i8 %1149 to i32
%1151 = sub nsw i32 7, %1142
%1152 = lshr i32 %1150, %1151
%1153 = and i32 %1152, 1
%1154 = add nsw i32 %1142, 1
store i32 %1154, i32* %792, align 4
%1155 = icmp eq i32 %1154, 8
br i1 %1155, label %1156, label %speex_bits_unpack_unsigned.exit106
; <label>:1156 ; preds = %.lr.ph.i102
store i32 0, i32* %792, align 4
%1157 = add nsw i32 %1140, 1
store i32 %1157, i32* %.phi.trans.insert350, align 4
br label %speex_bits_unpack_unsigned.exit106
speex_bits_unpack_unsigned.exit106: ; preds = %1156, %.lr.ph.i102, %1147, %.thread.i98
%.0.i105 = phi i32 [ 0, %1147 ], [ 0, %.thread.i98 ], [ %1153, %1156 ], [ %1153, %.lr.ph.i102 ]
%1158 = getelementptr inbounds [2 x float]* @_ZL20exc_gain_quant_scal1, i32 0, i32 %.0.i105
%1159 = load float* %1158, align 4
%1160 = fmul float %1159, %824
br label %1161
; <label>:1161 ; preds = %speex_bits_unpack_unsigned.exit106, %speex_bits_unpack_unsigned.exit115, %._crit_edge343
%ener.0 = phi float [ %1138, %speex_bits_unpack_unsigned.exit115 ], [ %1160, %speex_bits_unpack_unsigned.exit106 ], [ %824, %._crit_edge343 ]
%1162 = load i32* %.pre-phi372, align 4
%1163 = load %struct.SpeexSubmode*** %544, align 4
%1164 = getelementptr inbounds %struct.SpeexSubmode** %1163, i32 %1162
%1165 = load %struct.SpeexSubmode** %1164, align 4
%1166 = getelementptr inbounds %struct.SpeexSubmode* %1165, i32 0, i32 10
%1167 = load void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)** %1166, align 4
%1168 = icmp eq void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* %1167, null
br i1 %1168, label %1169, label %1172
; <label>:1169 ; preds = %1161
%1170 = load %struct.__sFILE** @stderr, align 4
%1171 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %1170, i8* getelementptr inbounds ([43 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([81 x i8]* @.str142, i32 0, i32 0), i32 1395, i8* getelementptr inbounds ([46 x i8]* @.str748, i32 0, i32 0))
call void @exit(i32 1)
%.pre320 = load i32* %.pre-phi372, align 4
%.pre321 = load %struct.SpeexSubmode*** %544, align 4
%.phi.trans.insert322 = getelementptr inbounds %struct.SpeexSubmode** %.pre321, i32 %.pre320
%.pre323 = load %struct.SpeexSubmode** %.phi.trans.insert322, align 4
%.phi.trans.insert324 = getelementptr inbounds %struct.SpeexSubmode* %.pre323, i32 0, i32 10
%.pre325 = load void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)** %.phi.trans.insert324, align 4
br label %1172
; <label>:1172 ; preds = %1169, %1161
%1173 = phi void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)* [ %1167, %1161 ], [ %.pre325, %1169 ]
%1174 = phi %struct.SpeexSubmode* [ %1165, %1161 ], [ %.pre323, %1169 ]
%1175 = getelementptr inbounds %struct.SpeexSubmode* %1174, i32 0, i32 11
%1176 = load i8** %1175, align 4
%1177 = load i32* %537, align 4
call void %1173(float* %840, i8* %1176, i32 %1177, %struct.SpeexBits* %bits, i8* %844, i32* %909)
%1178 = load i32* %537, align 4
%1179 = icmp sgt i32 %1178, 0
br i1 %1179, label %.lr.ph.i74, label %_Z10signal_mulPKfPffi.exit76
.lr.ph.i74: ; preds = %.lr.ph.i74, %1172
%i.01.i72 = phi i32 [ %1183, %.lr.ph.i74 ], [ 0, %1172 ]
%1180 = getelementptr inbounds float* %840, i32 %i.01.i72
%1181 = load float* %1180, align 4
%1182 = fmul float %1181, %ener.0
store float %1182, float* %1180, align 4
%1183 = add nsw i32 %i.01.i72, 1
%exitcond.i73 = icmp eq i32 %1183, %1178
br i1 %exitcond.i73, label %_Z10signal_mulPKfPffi.exit76.loopexit, label %.lr.ph.i74
_Z10signal_mulPKfPffi.exit76.loopexit: ; preds = %.lr.ph.i74
%.pre356.pre = load i32* %537, align 4
br label %_Z10signal_mulPKfPffi.exit76
_Z10signal_mulPKfPffi.exit76: ; preds = %_Z10signal_mulPKfPffi.exit76.loopexit, %1172
%.pre356 = phi i32 [ %.pre356.pre, %_Z10signal_mulPKfPffi.exit76.loopexit ], [ %1178, %1172 ]
%1184 = load i32* %.pre-phi372, align 4
%1185 = load %struct.SpeexSubmode*** %544, align 4
%1186 = getelementptr inbounds %struct.SpeexSubmode** %1185, i32 %1184
%1187 = load %struct.SpeexSubmode** %1186, align 4
%1188 = getelementptr inbounds %struct.SpeexSubmode* %1187, i32 0, i32 3
%1189 = load i32* %1188, align 4
%1190 = icmp eq i32 %1189, 0
br i1 %1190, label %.preheader252, label %1191
; <label>:1191 ; preds = %_Z10signal_mulPKfPffi.exit76
%1192 = shl i32 %.pre356, 2
%.sum18 = add i32 %1192, %.sum17
%1193 = getelementptr inbounds i8* %5, i32 %.sum18
call void @llvm.memset.p0i8.i32(i8* %913, i8 0, i32 %1192, i32 4, i1 false)
%1194 = load i32* %.pre-phi372, align 4
%1195 = load %struct.SpeexSubmode*** %544, align 4
%1196 = getelementptr inbounds %struct.SpeexSubmode** %1195, i32 %1194
%1197 = load %struct.SpeexSubmode** %1196, align 4
%1198 = getelementptr inbounds %struct.SpeexSubmode* %1197, i32 0, i32 10
%1199 = load void (float*, i8*, i32, %struct.SpeexBits*, i8*, i32*)** %1198, align 4
%1200 = getelementptr inbounds %struct.SpeexSubmode* %1197, i32 0, i32 11
%1201 = load i8** %1200, align 4
%1202 = load i32* %537, align 4
call void %1199(float* %914, i8* %1201, i32 %1202, %struct.SpeexBits* %bits, i8* %1193, i32* %909)
%1203 = fmul float %ener.0, 0x3FDD1743E0000000
%1204 = load i32* %537, align 4
%1205 = icmp sgt i32 %1204, 0
br i1 %1205, label %.lr.ph.i61, label %._crit_edge342
.lr.ph.i61: ; preds = %.lr.ph.i61, %1191
%i.01.i59 = phi i32 [ %1209, %.lr.ph.i61 ], [ 0, %1191 ]
%1206 = getelementptr inbounds float* %914, i32 %i.01.i59
%1207 = load float* %1206, align 4
%1208 = fmul float %1207, %1203
store float %1208, float* %1206, align 4
%1209 = add nsw i32 %i.01.i59, 1
%exitcond.i60 = icmp eq i32 %1209, %1204
br i1 %exitcond.i60, label %_Z10signal_mulPKfPffi.exit.preheader, label %.lr.ph.i61
_Z10signal_mulPKfPffi.exit.preheader: ; preds = %.lr.ph.i61
%.pre328 = load i32* %537, align 4
%1210 = icmp sgt i32 %.pre328, 0
br i1 %1210, label %_Z10signal_mulPKfPffi.exit, label %._crit_edge342
_Z10signal_mulPKfPffi.exit: ; preds = %_Z10signal_mulPKfPffi.exit, %_Z10signal_mulPKfPffi.exit.preheader
%i.4250 = phi i32 [ %1216, %_Z10signal_mulPKfPffi.exit ], [ 0, %_Z10signal_mulPKfPffi.exit.preheader ]
%1211 = getelementptr inbounds float* %840, i32 %i.4250
%1212 = load float* %1211, align 4
%1213 = getelementptr inbounds float* %914, i32 %i.4250
%1214 = load float* %1213, align 4
%1215 = fadd float %1212, %1214
store float %1215, float* %1211, align 4
%1216 = add nsw i32 %i.4250, 1
%1217 = load i32* %537, align 4
%1218 = icmp slt i32 %1216, %1217
br i1 %1218, label %_Z10signal_mulPKfPffi.exit, label %.preheader252
.preheader252: ; preds = %_Z10signal_mulPKfPffi.exit, %_Z10signal_mulPKfPffi.exit76
%1219 = phi i32 [ %.pre356, %_Z10signal_mulPKfPffi.exit76 ], [ %1217, %_Z10signal_mulPKfPffi.exit ]
%1220 = icmp sgt i32 %1219, 0
br i1 %1220, label %.lr.ph254, label %._crit_edge342
.lr.ph254: ; preds = %.lr.ph254, %.preheader252
%i.5253 = phi i32 [ %1227, %.lr.ph254 ], [ 0, %.preheader252 ]
%1221 = getelementptr inbounds float* %846, i32 %i.5253
%1222 = load float* %1221, align 4
%1223 = getelementptr inbounds float* %840, i32 %i.5253
%1224 = load float* %1223, align 4
%1225 = fadd float %1222, %1224
%.sum16 = add i32 %i.5253, %936
%1226 = getelementptr inbounds float* %937, i32 %.sum16
store float %1225, float* %1226, align 4
%1227 = add nsw i32 %i.5253, 1
%1228 = load i32* %537, align 4
%1229 = icmp slt i32 %1227, %1228
br i1 %1229, label %.lr.ph254, label %._crit_edge255
._crit_edge255: ; preds = %.lr.ph254
%1230 = icmp ne float* %innov_save.0, null
%1231 = icmp sgt i32 %1228, 0
%or.cond375 = and i1 %1230, %1231
br i1 %or.cond375, label %.lr.ph259, label %._crit_edge342
.lr.ph259: ; preds = %.lr.ph259, %._crit_edge255
%i.6258 = phi i32 [ %1235, %.lr.ph259 ], [ 0, %._crit_edge255 ]
%1232 = getelementptr inbounds float* %840, i32 %i.6258
%1233 = load float* %1232, align 4
%1234 = getelementptr inbounds float* %innov_save.0, i32 %i.6258
store float %1233, float* %1234, align 4
%1235 = add nsw i32 %i.6258, 1
%1236 = load i32* %537, align 4
%1237 = icmp slt i32 %1235, %1236
br i1 %1237, label %.lr.ph259, label %._crit_edge342
._crit_edge342: ; preds = %.lr.ph259, %._crit_edge255, %.preheader252, %_Z10signal_mulPKfPffi.exit.preheader, %1191
%1238 = phi i32 [ %1204, %1191 ], [ %.pre328, %_Z10signal_mulPKfPffi.exit.preheader ], [ %1219, %.preheader252 ], [ %1228, %._crit_edge255 ], [ %1236, %.lr.ph259 ]
%1239 = load i32* %.pre-phi372, align 4
%1240 = icmp eq i32 %1239, 1
br i1 %1240, label %1241, label %.loopexit269
; <label>:1241 ; preds = %._crit_edge342
%1242 = shl i32 %1238, 2
call void @llvm.memset.p0i8.i32(i8* %944, i8 0, i32 %1242, i32 4, i1 false)
%1243 = load i32* %920, align 4
%1244 = load i32* %537, align 4
%1245 = icmp slt i32 %1243, %1244
br i1 %1245, label %.lr.ph264, label %._crit_edge265
.lr.ph264: ; preds = %1253, %1241
%1246 = phi i32 [ %1254, %1253 ], [ %1244, %1241 ]
%1247 = phi i32 [ %1256, %1253 ], [ %1243, %1241 ]
%1248 = icmp sgt i32 %1247, -1
br i1 %1248, label %1249, label %1253
; <label>:1249 ; preds = %.lr.ph264
%1250 = call float @sqrtf(float %931) nounwind readnone
%1251 = fmul float %1250, %932
%.sum15 = add i32 %1247, %936
%1252 = getelementptr inbounds float* %937, i32 %.sum15
store float %1251, float* %1252, align 4
%.pre326 = load i32* %920, align 4
%.pre327 = load i32* %537, align 4
br label %1253
; <label>:1253 ; preds = %1249, %.lr.ph264
%1254 = phi i32 [ %.pre327, %1249 ], [ %1246, %.lr.ph264 ]
%1255 = phi i32 [ %.pre326, %1249 ], [ %1247, %.lr.ph264 ]
%1256 = add nsw i32 %1255, %ol_pitch.0
store i32 %1256, i32* %920, align 4
%1257 = icmp slt i32 %1256, %1254
br i1 %1257, label %.lr.ph264, label %._crit_edge265
._crit_edge265: ; preds = %1253, %1241
%1258 = phi i32 [ %1244, %1241 ], [ %1254, %1253 ]
%.lcssa261 = phi i32 [ %1243, %1241 ], [ %1256, %1253 ]
%1259 = sub nsw i32 %.lcssa261, %1258
store i32 %1259, i32* %920, align 4
%1260 = icmp sgt i32 %1258, 0
br i1 %1260, label %.lr.ph272, label %.loopexit269
.lr.ph272: ; preds = %.lr.ph272, %._crit_edge265
%i.7270 = phi i32 [ %1282, %.lr.ph272 ], [ 0, %._crit_edge265 ]
%.sum14 = add i32 %i.7270, %936
%1261 = getelementptr inbounds float* %937, i32 %.sum14
%1262 = load float* %1261, align 4
%1263 = fmul float %1262, 0x3FE6666660000000
%1264 = load float* %922, align 4
%1265 = fmul float %1264, 0x3FD3333340000000
%1266 = fadd float %1263, %1265
%1267 = getelementptr inbounds float* %840, i32 %i.7270
%1268 = load float* %1267, align 4
%1269 = fmul float %924, %1268
%1270 = load float* %927, align 4
%1271 = fmul float %925, %1270
%1272 = fsub float %1269, %1271
%1273 = fadd float %1266, %1272
store float %1273, float* %1261, align 4
store float %1262, float* %922, align 4
%1274 = load float* %1267, align 4
store float %1274, float* %927, align 4
%1275 = load float* %929, align 4
%1276 = fmul float %1275, 0x3FE99999A0000000
%1277 = load float* %1261, align 4
%1278 = fmul float %1277, 0x3FC99999A0000000
%1279 = fadd float %1276, %1278
store float %1279, float* %929, align 4
%1280 = load float* %1261, align 4
%1281 = fsub float %1280, %1279
store float %1281, float* %1261, align 4
%1282 = add nsw i32 %i.7270, 1
%1283 = load i32* %537, align 4
%1284 = icmp slt i32 %1282, %1283
br i1 %1284, label %.lr.ph272, label %.loopexit269
.loopexit269: ; preds = %.lr.ph272, %._crit_edge265, %._crit_edge342
%1285 = phi i32 [ %1238, %._crit_edge342 ], [ %1258, %._crit_edge265 ], [ %1283, %.lr.ph272 ]
%1286 = add nsw i32 %sub.0279, 1
%1287 = load i32* %894, align 4
%1288 = icmp slt i32 %1286, %1287
br i1 %1288, label %934, label %._crit_edge281
._crit_edge281: ; preds = %.loopexit269
%phitmp296 = fmul float %1017, 2.500000e-01
br label %1289
; <label>:1289 ; preds = %._crit_edge281, %.preheader273._crit_edge
%.pre-phi368 = phi float* [ %.pre367, %.preheader273._crit_edge ], [ %914, %._crit_edge281 ]
%.sum11.pre-phi = phi i32 [ %.sum11.pre, %.preheader273._crit_edge ], [ %.sum17, %._crit_edge281 ]
%best_pitch.0.lcssa = phi i32 [ 40, %.preheader273._crit_edge ], [ %best_pitch.1, %._crit_edge281 ]
%pitch_average.0.lcssa = phi float [ 0.000000e+00, %.preheader273._crit_edge ], [ %phitmp296, %._crit_edge281 ]
%1290 = load i32* %553, align 4
%1291 = shl i32 %1290, 2
%.sum12 = add i32 %1291, %.sum11.pre-phi
%1292 = getelementptr inbounds i8* %5, i32 %.sum12
%1293 = getelementptr inbounds i8* %state, i32 136
%1294 = bitcast i8* %1293 to i32*
%1295 = load i32* %1294, align 4
%1296 = icmp eq i32 %1295, 0
br i1 %1296, label %._crit_edge340, label %1297
; <label>:1297 ; preds = %1289
%1298 = load i32* %.pre-phi372, align 4
%1299 = load %struct.SpeexSubmode*** %544, align 4
%1300 = getelementptr inbounds %struct.SpeexSubmode** %1299, i32 %1298
%1301 = load %struct.SpeexSubmode** %1300, align 4
%1302 = getelementptr inbounds %struct.SpeexSubmode* %1301, i32 0, i32 12
%1303 = load float* %1302, align 4
%1304 = fcmp ogt float %1303, 0.000000e+00
br i1 %1304, label %1305, label %._crit_edge340
; <label>:1305 ; preds = %1297
%1306 = load i32* %643, align 4
%1307 = icmp eq i32 %1306, 0
br i1 %1307, label %1308, label %._crit_edge340
; <label>:1308 ; preds = %1305
%1309 = getelementptr inbounds i8* %state, i32 52
%1310 = bitcast i8* %1309 to float**
%1311 = load float** %1310, align 4
%1312 = load i32* %537, align 4
%1313 = sub i32 0, %1312
%1314 = getelementptr inbounds float* %1311, i32 %1313
%1315 = shl nsw i32 %1312, 1
call fastcc void @_Z9multicombPfS_S_iiiifPc(float* %1314, float* %1, i32 %1315, i32 %best_pitch.0.lcssa, float %1303, i8* %1292)
%1316 = load float** %1310, align 4
%1317 = load i32* %537, align 4
%1318 = getelementptr inbounds float* %1316, i32 %1317
%1319 = shl nsw i32 %1317, 1
%1320 = getelementptr inbounds float* %1, i32 %1319
%1321 = load i32* %.pre-phi372, align 4
%1322 = load %struct.SpeexSubmode*** %544, align 4
%1323 = getelementptr inbounds %struct.SpeexSubmode** %1322, i32 %1321
%1324 = load %struct.SpeexSubmode** %1323, align 4
%1325 = getelementptr inbounds %struct.SpeexSubmode* %1324, i32 0, i32 12
%1326 = load float* %1325, align 4
call fastcc void @_Z9multicombPfS_S_iiiifPc(float* %1318, float* %1320, i32 %1319, i32 %best_pitch.0.lcssa, float %1326, i8* %1292)
br label %1336
._crit_edge340: ; preds = %1305, %1297, %1289
%1327 = load i32* %537, align 4
%1328 = sub nsw i32 0, %1327
%1329 = getelementptr inbounds i8* %state, i32 52
%1330 = bitcast i8* %1329 to float**
%1331 = load float** %1330, align 4
%1332 = getelementptr inbounds float* %1331, i32 %1328
%1333 = bitcast float* %1332 to i8*
%1334 = load i32* %528, align 4
%1335 = shl i32 %1334, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %vout, i8* %1333, i32 %1335, i32 4, i1 false)
br label %1336
; <label>:1336 ; preds = %._crit_edge340, %1308
%1337 = load i32* %643, align 4
%1338 = icmp eq i32 %1337, 0
br i1 %1338, label %.preheader243, label %1339
; <label>:1339 ; preds = %1336
%1340 = getelementptr inbounds i8* %state, i32 52
%1341 = bitcast i8* %1340 to float**
%1342 = load float** %1341, align 4
%1343 = load i32* %528, align 4
%1344 = icmp sgt i32 %1343, 0
br i1 %1344, label %.lr.ph.i.i44, label %_Z13compute_rms16PKfi.exit
.lr.ph.i.i44: ; preds = %.lr.ph.i.i44, %1339
%sum.02.i.i = phi float [ %1348, %.lr.ph.i.i44 ], [ 0.000000e+00, %1339 ]
%i.01.i.i42 = phi i32 [ %1349, %.lr.ph.i.i44 ], [ 0, %1339 ]
%1345 = getelementptr inbounds float* %1342, i32 %i.01.i.i42
%1346 = load float* %1345, align 4
%1347 = fmul float %1346, %1346
%1348 = fadd float %sum.02.i.i, %1347
%1349 = add nsw i32 %i.01.i.i42, 1
%exitcond.i.i43 = icmp eq i32 %1349, %1343
br i1 %exitcond.i.i43, label %_Z13compute_rms16PKfi.exit, label %.lr.ph.i.i44
_Z13compute_rms16PKfi.exit: ; preds = %.lr.ph.i.i44, %1339
%sum.0.lcssa.i.i = phi float [ 0.000000e+00, %1339 ], [ %1348, %.lr.ph.i.i44 ]
%1350 = sitofp i32 %1343 to float
%1351 = fdiv float %sum.0.lcssa.i.i, %1350
%1352 = fpext float %1351 to double
%1353 = fadd double %1352, 1.000000e-01
%1354 = call double @sqrt(double %1353) nounwind readnone
%1355 = fptrunc double %1354 to float
%1356 = fadd float %1355, 1.000000e+00
%1357 = fdiv float %824, %1356
%1358 = fcmp ogt float %1357, 2.000000e+00
%gain32.0 = select i1 %1358, float 2.000000e+00, float %1357
br i1 %1344, label %.lr.ph230, label %.preheader243
.lr.ph230: ; preds = %._crit_edge337, %_Z13compute_rms16PKfi.exit
%1359 = phi float* [ %.pre357, %._crit_edge337 ], [ %1342, %_Z13compute_rms16PKfi.exit ]
%i.8229 = phi i32 [ %1369, %._crit_edge337 ], [ 0, %_Z13compute_rms16PKfi.exit ]
%1360 = getelementptr inbounds float* %1359, i32 %i.8229
%1361 = load float* %1360, align 4
%1362 = fmul float %gain32.0, %1361
store float %1362, float* %1360, align 4
%1363 = load i32* %537, align 4
%1364 = sub nsw i32 %i.8229, %1363
%1365 = load float** %1341, align 4
%1366 = getelementptr inbounds float* %1365, i32 %1364
%1367 = load float* %1366, align 4
%1368 = getelementptr inbounds float* %1, i32 %i.8229
store float %1367, float* %1368, align 4
%1369 = add nsw i32 %i.8229, 1
%1370 = load i32* %528, align 4
%1371 = icmp slt i32 %1369, %1370
br i1 %1371, label %._crit_edge337, label %.preheader243
._crit_edge337: ; preds = %.lr.ph230
%.pre357 = load float** %1341, align 4
br label %.lr.ph230
.preheader243: ; preds = %.lr.ph230, %_Z13compute_rms16PKfi.exit, %1336
%1372 = load i32* %894, align 4
%1373 = icmp sgt i32 %1372, 0
br i1 %1373, label %.lr.ph245, label %._crit_edge246
.lr.ph245: ; preds = %.preheader243
%1374 = getelementptr inbounds i8* %state, i32 56
%1375 = bitcast i8* %1374 to float**
%.sum196 = add i32 %.sum11.pre-phi, 4
%.phi.trans.insert.i = getelementptr inbounds i8* %5, i32 %.sum196
%1376 = bitcast i8* %.phi.trans.insert.i to float*
%1377 = getelementptr inbounds i8* %state, i32 76
%1378 = bitcast i8* %1377 to float**
%1379 = getelementptr inbounds i8* %state, i32 60
%1380 = bitcast i8* %1379 to float**
%1381 = getelementptr inbounds i8* %state, i32 64
%1382 = bitcast i8* %1381 to float**
%.pre329 = load i32* %553, align 4
br label %._crit_edge338
._crit_edge338: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit._crit_edge, %.lr.ph245
%1383 = phi i32 [ %.pre329, %.lr.ph245 ], [ %1484, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit._crit_edge ]
%1384 = phi i32 [ %1372, %.lr.ph245 ], [ %1486, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit._crit_edge ]
%sub.1244 = phi i32 [ 0, %.lr.ph245 ], [ %1485, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit._crit_edge ]
%1385 = load i32* %537, align 4
%1386 = mul nsw i32 %1385, %sub.1244
%1387 = load float** %1375, align 4
%1388 = sitofp i32 %sub.1244 to float
%1389 = fadd float %1388, 1.000000e+00
%1390 = sitofp i32 %1384 to float
%1391 = fdiv float %1389, %1390
%1392 = icmp sgt i32 %1383, 0
br i1 %1392, label %.lr.ph.i38, label %_Z15lsp_interpolatePfS_S_iii.exit
.lr.ph.i38: ; preds = %._crit_edge338
%1393 = fsub float 1.000000e+00, %1391
br label %1394
; <label>:1394 ; preds = %1394, %.lr.ph.i38
%i.01.i39 = phi i32 [ 0, %.lr.ph.i38 ], [ %1403, %1394 ]
%1395 = getelementptr inbounds float* %1387, i32 %i.01.i39
%1396 = load float* %1395, align 4
%1397 = fmul float %1393, %1396
%1398 = getelementptr inbounds float* %558, i32 %i.01.i39
%1399 = load float* %1398, align 4
%1400 = fmul float %1391, %1399
%1401 = fadd float %1397, %1400
%1402 = getelementptr inbounds float* %.pre-phi368, i32 %i.01.i39
store float %1401, float* %1402, align 4
%1403 = add nsw i32 %i.01.i39, 1
%exitcond.i40 = icmp eq i32 %1403, %1383
br i1 %exitcond.i40, label %_Z15lsp_interpolatePfS_S_iii.exit.loopexit, label %1394
_Z15lsp_interpolatePfS_S_iii.exit.loopexit: ; preds = %1394
%.pre330 = load i32* %553, align 4
br label %_Z15lsp_interpolatePfS_S_iii.exit
_Z15lsp_interpolatePfS_S_iii.exit: ; preds = %_Z15lsp_interpolatePfS_S_iii.exit.loopexit, %._crit_edge338
%1404 = phi i32 [ %.pre330, %_Z15lsp_interpolatePfS_S_iii.exit.loopexit ], [ %1383, %._crit_edge338 ]
%1405 = load float* %.pre-phi368, align 4
%1406 = fcmp olt float %1405, 0x3F60624DE0000000
br i1 %1406, label %1407, label %1408
; <label>:1407 ; preds = %_Z15lsp_interpolatePfS_S_iii.exit
store float 0x3F60624DE0000000, float* %.pre-phi368, align 4
br label %1408
; <label>:1408 ; preds = %1407, %_Z15lsp_interpolatePfS_S_iii.exit
%1409 = add nsw i32 %1404, -1
%1410 = getelementptr inbounds float* %.pre-phi368, i32 %1409
%1411 = load float* %1410, align 4
%1412 = fpext float %1411 to double
%1413 = fcmp ogt double %1412, 0x40091DE2C0CC2D18
br i1 %1413, label %1414, label %.preheader.i
; <label>:1414 ; preds = %1408
store float 0x40091DE2C0000000, float* %1410, align 4
br label %.preheader.i
.preheader.i: ; preds = %1414, %1408
%1415 = icmp sgt i32 %1409, 1
br i1 %1415, label %.lr.ph.i34, label %_Z18lsp_enforce_marginPfif.exit
.lr.ph.i34: ; preds = %.preheader.i
%.pre.i32 = load float* %1376, align 4
%.pre2.i33 = load float* %.pre-phi368, align 4
br label %1416
; <label>:1416 ; preds = %.backedge.i, %.lr.ph.i34
%1417 = phi float [ %.pre2.i33, %.lr.ph.i34 ], [ %1430, %.backedge.i ]
%1418 = phi float [ %.pre.i32, %.lr.ph.i34 ], [ %1427, %.backedge.i ]
%i.01.i35 = phi i32 [ 1, %.lr.ph.i34 ], [ %1425, %.backedge.i ]
%1419 = getelementptr inbounds float* %.pre-phi368, i32 %i.01.i35
%1420 = fadd float %1417, 0x3F60624DE0000000
%1421 = fcmp olt float %1418, %1420
br i1 %1421, label %1422, label %1423
; <label>:1422 ; preds = %1416
store float %1420, float* %1419, align 4
br label %1423
; <label>:1423 ; preds = %1422, %1416
%1424 = phi float [ %1420, %1422 ], [ %1418, %1416 ]
%1425 = add nsw i32 %i.01.i35, 1
%1426 = getelementptr inbounds float* %.pre-phi368, i32 %1425
%1427 = load float* %1426, align 4
%1428 = fadd float %1427, 0xBF60624DE0000000
%1429 = fcmp ogt float %1424, %1428
br i1 %1429, label %1431, label %.backedge.i
.backedge.i: ; preds = %1431, %1423
%1430 = phi float [ %1424, %1423 ], [ %1434, %1431 ]
%exitcond.i36 = icmp eq i32 %1425, %1409
br i1 %exitcond.i36, label %_Z18lsp_enforce_marginPfif.exit, label %1416
; <label>:1431 ; preds = %1423
%1432 = fadd float %1424, %1427
%1433 = fadd float %1432, 0xBF60624DE0000000
%1434 = fmul float %1433, 5.000000e-01
store float %1434, float* %1419, align 4
br label %.backedge.i
_Z18lsp_enforce_marginPfif.exit: ; preds = %.backedge.i, %.preheader.i
%1435 = load i32* %553, align 4
call fastcc void @_Z10lsp_to_lpcPfS_iPc(float* %.pre-phi368, float* %832, i32 %1435, i8* %1292)
%1436 = load i32* %553, align 4
%1437 = icmp sgt i32 %1436, 0
br i1 %1437, label %.lr.ph238, label %._crit_edge239
.lr.ph238: ; preds = %.lr.ph238, %_Z18lsp_enforce_marginPfif.exit
%pi_g.0237 = phi float [ %1444, %.lr.ph238 ], [ 1.000000e+00, %_Z18lsp_enforce_marginPfif.exit ]
%i.9236 = phi i32 [ %1445, %.lr.ph238 ], [ 0, %_Z18lsp_enforce_marginPfif.exit ]
%1438 = or i32 %i.9236, 1
%1439 = getelementptr inbounds float* %832, i32 %1438
%1440 = load float* %1439, align 4
%1441 = getelementptr inbounds float* %832, i32 %i.9236
%1442 = load float* %1441, align 4
%1443 = fsub float %1440, %1442
%1444 = fadd float %pi_g.0237, %1443
%1445 = add nsw i32 %i.9236, 2
%1446 = icmp slt i32 %1445, %1436
br i1 %1446, label %.lr.ph238, label %._crit_edge239
._crit_edge239: ; preds = %.lr.ph238, %_Z18lsp_enforce_marginPfif.exit
%pi_g.0.lcssa = phi float [ 1.000000e+00, %_Z18lsp_enforce_marginPfif.exit ], [ %1444, %.lr.ph238 ]
%1447 = load float** %1378, align 4
%1448 = getelementptr inbounds float* %1447, i32 %sub.1244
store float %pi_g.0.lcssa, float* %1448, align 4
%1449 = load float** %1380, align 4
%1450 = load i32* %537, align 4
%1451 = load float** %1382, align 4
%1452 = icmp sgt i32 %1450, 0
br i1 %1452, label %.lr.ph4.i, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader
.lr.ph4.i: ; preds = %._crit_edge239
%1453 = load i32* %553, align 4
%1454 = add nsw i32 %1453, -1
%1455 = icmp sgt i32 %1454, 0
%1456 = getelementptr inbounds float* %1449, i32 %1454
%1457 = getelementptr inbounds float* %1451, i32 %1454
br label %1458
; <label>:1458 ; preds = %._crit_edge.i27, %.lr.ph4.i
%i.02.i = phi i32 [ 0, %.lr.ph4.i ], [ %1474, %._crit_edge.i27 ]
%.sum195 = add i32 %i.02.i, %1386
%1459 = getelementptr inbounds float* %1, i32 %.sum195
%1460 = load float* %1459, align 4
%1461 = load float* %1451, align 4
%1462 = fadd float %1460, %1461
%1463 = fsub float -0.000000e+00, %1462
br i1 %1455, label %.lr.ph.i26, label %._crit_edge.i27
.lr.ph.i26: ; preds = %.lr.ph.i26, %1458
%j.01.i = phi i32 [ %1464, %.lr.ph.i26 ], [ 0, %1458 ]
%1464 = add nsw i32 %j.01.i, 1
%1465 = getelementptr inbounds float* %1451, i32 %1464
%1466 = load float* %1465, align 4
%1467 = getelementptr inbounds float* %1449, i32 %j.01.i
%1468 = load float* %1467, align 4
%1469 = fmul float %1468, %1463
%1470 = fadd float %1466, %1469
%1471 = getelementptr inbounds float* %1451, i32 %j.01.i
store float %1470, float* %1471, align 4
%exitcond.i25 = icmp eq i32 %1464, %1454
br i1 %exitcond.i25, label %._crit_edge.i27, label %.lr.ph.i26
._crit_edge.i27: ; preds = %.lr.ph.i26, %1458
%1472 = load float* %1456, align 4
%1473 = fmul float %1472, %1463
store float %1473, float* %1457, align 4
store float %1462, float* %1459, align 4
%1474 = add nsw i32 %i.02.i, 1
%exitcond6.i = icmp eq i32 %1474, %1450
br i1 %exitcond6.i, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader, label %1458
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.preheader: ; preds = %._crit_edge.i27, %._crit_edge239
%1475 = load i32* %553, align 4
%1476 = icmp sgt i32 %1475, 0
br i1 %1476, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit._crit_edge
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit, %_Z9iir_mem16PKf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment