Skip to content

Instantly share code, notes, and snippets.

@paleozogt
Created December 10, 2012 18:07
Show Gist options
  • Save paleozogt/4252211 to your computer and use it in GitHub Desktop.
Save paleozogt/4252211 to your computer and use it in GitHub Desktop.
emscripten #742
$ EMCC_DEBUG=1 make speex_test
[ 92%] Built target speex
Linking CXX executable ../bin/speex_test.js
emcc invocation: /Users/asimmons/Development/emscripten/emcc -O3 -DNDEBUG -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/speex_test.dir/speex_test.cpp.o -o ../bin/speex_test.js ../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/tmpWTDU75/speex_test.cpp_0.o', '/tmp/tmpWTDU75/libspeex_1.a', '/Users/asimmons/.emscripten_cache/libcxx.bc', '/Users/asimmons/.emscripten_cache/libcxxabi.bc', '/Users/asimmons/.emscripten_cache/dlmalloc.bc']
emcc: saving intermediate processing steps to /tmp/emscripten_temp
emcc: LLVM -O3
emcc: step took 5.48 seconds
emcc: LLVM linktime: ['-strip-debug', '-std-link-opts']
emcc: step took 1.12 seconds
emcc: step took 0.16 seconds
emcc: LLVM => JS
emscript: ll=>js
emscript: scan took 0.0118789672852 seconds
emscript: split took 0.0606560707092 seconds
undefined:441
throw '// interfailzzzzzzzzzzzzzz ' + dump(value.item) + ' ::: ' + dump(val
^
// interfailzzzzzzzzzzzzzz ::: // {
// "text": ","
// }
Traceback (most recent call last):
File "/Users/asimmons/Development/emscripten/emscripten.py", line 401, in <module>
temp_files.run_and_clean(lambda: main(keywords))
File "/Users/asimmons/Development/emscripten/tools/shared.py", line 420, in run_and_clean
func()
File "/Users/asimmons/Development/emscripten/emscripten.py", line 401, in <lambda>
temp_files.run_and_clean(lambda: main(keywords))
File "/Users/asimmons/Development/emscripten/emscripten.py", line 357, in main
emscript(args.infile, settings, args.outfile, libraries)
File "/Users/asimmons/Development/emscripten/emscripten.py", line 152, in emscript
pre, forwarded_data = out.split('//FORWARDED_DATA:')
ValueError: need more than 1 value to unpack
Traceback (most recent call last):
File "/Users/asimmons/Development/emscripten/emcc", line 1073, in <module>
final = shared.Building.emscripten(final, append_ext=False, extra_args=extra_args)
File "/Users/asimmons/Development/emscripten/tools/shared.py", line 888, in emscripten
assert os.path.exists(filename + '.o.js') and len(open(filename + '.o.js', 'r').read()) > 0, 'Emscripten failed to generate .js: ' + str(compiler_output)
AssertionError: Emscripten failed to generate .js:
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/tmpWTDU75/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 }
%struct._objc_module = type { i32, i32, i8*, %struct._objc_symtab* }
%struct._objc_symtab = type { i32, i8*, i16, i16, [0 x i8*] }
%"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.std::type_info" = type { i32 (...)**, i8* }
%"class.__cxxabiv1::__class_type_info" = type { %"class.__cxxabiv1::__shim_type_info" }
%"class.__cxxabiv1::__shim_type_info" = type { %"class.std::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 [82 x i8] c"/Users/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*
@"\01L_OBJC_CLASS_NAME_" = internal global [1 x i8] zeroinitializer, section "__TEXT,__cstring,cstring_literals", align 1
@"\01L_OBJC_MODULES" = internal global %struct._objc_module { i32 7, i32 16, i8* getelementptr inbounds ([1 x i8]* @"\01L_OBJC_CLASS_NAME_", i32 0, i32 0), %struct._objc_symtab* null }, section "__OBJC,__module_info,regular,no_dead_strip", align 4
@llvm.used = appending global [2 x i8*] [i8* getelementptr inbounds ([1 x i8]* @"\01L_OBJC_CLASS_NAME_", i32 0, i32 0), i8* bitcast (%struct._objc_module* @"\01L_OBJC_MODULES" to i8*)], section "llvm.metadata"
@__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_a291 }]
@_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_errorD1Ev 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_errorD1Ev 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::length_error"*)* @_ZNSt12length_errorD1Ev 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_errorD1Ev 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_base7failureD1Ev 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_baseD1Ev 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__impD1Ev 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__15ctypeIcED1Ev 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_tED1Ev 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__18numpunctIcED1Ev 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__18numpunctIwED1Ev 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__16locale5facetD1Ev 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::ctype"*)* @_ZNSt3__15ctypeIwED1Ev 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::codecvt"*)* @_ZNSt3__17codecvtIcc10_mbstate_tED1Ev 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::codecvt"*)* @_ZNSt3__17codecvtIDsc10_mbstate_tED1Ev 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::codecvt"*)* @_ZNSt3__17codecvtIDic10_mbstate_tED1Ev 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 (%"struct.std::__1::__narrow_to_utf8.53"*)* @_ZNSt3__116__narrow_to_utf8ILj32EED1Ev 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 (%"struct.std::__1::__widen_from_utf8.54"*)* @_ZNSt3__117__widen_from_utf8ILj32EED1Ev 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_castD1Ev 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::__class_type_info"*)* @_ZN10__cxxabiv117__class_type_infoD1Ev 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::__si_class_type_info"*)* @_ZN10__cxxabiv120__si_class_type_infoD1Ev 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::__vmi_class_type_info"*)* @_ZN10__cxxabiv121__vmi_class_type_infoD1Ev 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_allocD1Ev 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() ssp {
entry:
%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
%arraydecay = getelementptr inbounds [1024 x i8]* %speex_encoding_parameters, i32 0, i32 0
%call = call i32 (i8*, i8*, ...)* @sprintf(i8* %arraydecay, 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)
%0 = bitcast i32* %tmp.i to i8*
call void @llvm.lifetime.start(i64 -1, i8* %0)
%1 = bitcast i32* %seed.i to i8*
call void @llvm.lifetime.start(i64 -1, i8* %1)
%call.i.i = call fastcc i8* @malloc(i32 6944) nounwind
%vbr_enabled.i.i = getelementptr inbounds i8* %call.i.i, i32 4
%mode.i.i = getelementptr inbounds i8* %call.i.i, i32 32
%2 = bitcast i8* %mode.i.i to %struct.SpeexMode**
store %struct.SpeexMode* null, %struct.SpeexMode** %2, align 4
%rate.i.i = getelementptr inbounds i8* %call.i.i, i32 6076
%3 = bitcast i8* %rate.i.i to i32*
store i32 0, i32* %3, align 4
%chan.i.i = getelementptr inbounds i8* %call.i.i, i32 6084
%4 = bitcast i8* %chan.i.i to i32*
call void @llvm.memset.p0i8.i64(i8* %vbr_enabled.i.i, i8 0, i64 24, i32 4, i1 false) nounwind
store i32 1, i32* %4, align 4
%fmt.i.i = getelementptr inbounds i8* %call.i.i, i32 6088
%5 = bitcast i8* %fmt.i.i to i32*
store i32 16, i32* %5, align 4
%quality.i.i = getelementptr inbounds i8* %call.i.i, i32 6092
%6 = bitcast i8* %quality.i.i to i32*
store i32 -1, i32* %6, align 4
%vbr_quality.i.i = getelementptr inbounds i8* %call.i.i, i32 6096
%7 = bitcast i8* %vbr_quality.i.i to float*
store float -1.000000e+00, float* %7, align 4
%lsb.i.i = getelementptr inbounds i8* %call.i.i, i32 6100
%8 = bitcast i8* %lsb.i.i to i32*
store i32 1, i32* %8, align 4
%id.i.i = getelementptr inbounds i8* %call.i.i, i32 6512
%9 = bitcast i8* %id.i.i to i32*
store i32 -1, i32* %9, align 4
%nframes.i.i = getelementptr inbounds i8* %call.i.i, i32 6596
%10 = bitcast i8* %nframes.i.i to i32*
store i32 1, i32* %10, align 4
%complexity.i.i = getelementptr inbounds i8* %call.i.i, i32 6600
%11 = bitcast i8* %complexity.i.i to i32*
store i32 3, i32* %11, align 4
%eos.i.i = getelementptr inbounds i8* %call.i.i, i32 6712
%ppst.i.i = getelementptr inbounds i8* %call.i.i, i32 6940
%12 = bitcast i8* %ppst.i.i to %struct.SpeexPreprocessState_**
store %struct.SpeexPreprocessState_* null, %struct.SpeexPreprocessState_** %12, align 4
%vendor_string.i.i = getelementptr inbounds i8* %call.i.i, i32 6604
call void @llvm.memset.p0i8.i64(i8* %eos.i.i, i8 0, i64 24, i32 4, i1 false) nounwind
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %vendor_string.i.i, i8* getelementptr inbounds ([23 x i8]* @.str163, i32 0, i32 0), i32 23, i32 1, i1 false) nounwind
%13 = getelementptr inbounds [500 x i8]* %tparams.i.i, i32 0, i32 0
call void @llvm.lifetime.start(i64 -1, i8* %13) nounwind
%14 = bitcast i8** %tokptr.i.i to i8*
call void @llvm.lifetime.start(i64 -1, i8* %14) nounwind
%call.i3.i = call i8* @strcpy(i8* %13, i8* %arraydecay) nounwind
%call2.i4.i = call i8* @strtok_r(i8* %13, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%cmp34.i.i = icmp eq i8* %call2.i4.i, null
br i1 %cmp34.i.i, label %while.end.i.i, label %while.body.lr.ph.i.i
while.body.lr.ph.i.i: ; preds = %entry
%error.i.i = getelementptr inbounds i8* %call.i.i, i32 6936
%15 = bitcast i8* %error.i.i to i32*
%16 = getelementptr inbounds i8* %call.i.i, i32 6736
%bitrate.i8.i = getelementptr inbounds i8* %call.i.i, i32 6716
%17 = bitcast i8* %bitrate.i8.i to i32*
%18 = bitcast i8* %vbr_enabled.i.i to i32*
%abr_enabled.i.i = getelementptr inbounds i8* %call.i.i, i32 8
%19 = bitcast i8* %abr_enabled.i.i to i32*
%denoise_enabled.i10.i = getelementptr inbounds i8* %call.i.i, i32 20
%20 = bitcast i8* %denoise_enabled.i10.i to i32*
%agc_enabled.i11.i = getelementptr inbounds i8* %call.i.i, i32 24
%21 = bitcast i8* %agc_enabled.i11.i to i32*
%vad_enabled.i.i = getelementptr inbounds i8* %call.i.i, i32 12
%22 = bitcast i8* %vad_enabled.i.i to i32*
%dtx_enabled.i.i = getelementptr inbounds i8* %call.i.i, i32 16
%23 = bitcast i8* %dtx_enabled.i.i to i32*
br label %while.body.i.i
while.body.i.i: ; preds = %if.end162.i.i, %while.body.lr.ph.i.i
%tmpstr.05.i.i = phi i8* [ %call2.i4.i, %while.body.lr.ph.i.i ], [ %call163.i.i, %if.end162.i.i ]
%call4.i18.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([10 x i8]* @.str2165, i32 0, i32 0)) nounwind
%cmp5.i.i = icmp eq i32 %call4.i18.i, 0
br i1 %cmp5.i.i, label %if.then6.i.i, label %if.else26.i.i
if.then6.i.i: ; preds = %while.body.i.i
%call7.i19.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call8.i.i = call i32 @strcmp(i8* %call7.i19.i, i8* getelementptr inbounds ([11 x i8]* @.str3166, i32 0, i32 0)) nounwind
%cmp9.i.i = icmp eq i32 %call8.i.i, 0
br i1 %cmp9.i.i, label %if.then10.i.i, label %if.else.i.i
if.then10.i.i: ; preds = %if.then6.i.i
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** %2, align 4
br label %if.end162.i.i
if.else.i.i: ; preds = %if.then6.i.i
%call11.i.i = call i32 @strcmp(i8* %call7.i19.i, i8* getelementptr inbounds ([9 x i8]* @.str4167, i32 0, i32 0)) nounwind
%cmp12.i.i = icmp eq i32 %call11.i.i, 0
br i1 %cmp12.i.i, label %if.then13.i.i, label %if.else15.i.i
if.then13.i.i: ; preds = %if.else.i.i
store %struct.SpeexMode* @speex_wb_mode, %struct.SpeexMode** %2, align 4
br label %if.end162.i.i
if.else15.i.i: ; preds = %if.else.i.i
%call16.i.i = call i32 @strcmp(i8* %call7.i19.i, i8* getelementptr inbounds ([15 x i8]* @.str5168, i32 0, i32 0)) nounwind
%cmp17.i.i = icmp eq i32 %call16.i.i, 0
br i1 %cmp17.i.i, label %if.then18.i.i, label %if.else20.i.i
if.then18.i.i: ; preds = %if.else15.i.i
store %struct.SpeexMode* @speex_uwb_mode, %struct.SpeexMode** %2, align 4
br label %if.end162.i.i
if.else20.i.i: ; preds = %if.else15.i.i
store i32 1, i32* %15, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* getelementptr inbounds ([22 x i8]* @.str6169, i32 0, i32 0), i32 22, i32 1, i1 false) nounwind
br label %if.end162.i.i
if.else26.i.i: ; preds = %while.body.i.i
%call27.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([9 x i8]* @.str7170, i32 0, i32 0)) nounwind
%cmp28.i.i = icmp eq i32 %call27.i.i, 0
br i1 %cmp28.i.i, label %if.then29.i.i, label %if.else33.i.i
if.then29.i.i: ; preds = %if.else26.i.i
%call30.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call31.i.i = call i32 @atoi(i8* %call30.i.i) nounwind
store i32 %call31.i.i, i32* %6, align 4
%call32.i.i = call double @atof(i8* %call30.i.i) nounwind
%conv.i20.i = fptrunc double %call32.i.i to float
store float %conv.i20.i, float* %7, align 4
br label %if.end162.i.i
if.else33.i.i: ; preds = %if.else26.i.i
%call34.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([9 x i8]* @.str8171, i32 0, i32 0)) nounwind
%cmp35.i.i = icmp eq i32 %call34.i.i, 0
br i1 %cmp35.i.i, label %if.then36.i.i, label %if.else39.i.i
if.then36.i.i: ; preds = %if.else33.i.i
%call37.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call38.i.i = call i32 @atoi(i8* %call37.i.i) nounwind
store i32 %call38.i.i, i32* %17, align 4
br label %if.end162.i.i
if.else39.i.i: ; preds = %if.else33.i.i
%call40.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([5 x i8]* @.str9172, i32 0, i32 0)) nounwind
%cmp41.i.i = icmp eq i32 %call40.i.i, 0
br i1 %cmp41.i.i, label %if.then42.i.i, label %if.else45.i.i
if.then42.i.i: ; preds = %if.else39.i.i
%call43.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call44.i.i = call i32 @atoi(i8* %call43.i.i) nounwind
store i32 %call44.i.i, i32* %18, align 4
br label %if.end162.i.i
if.else45.i.i: ; preds = %if.else39.i.i
%call46.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([5 x i8]* @.str10173, i32 0, i32 0)) nounwind
%cmp47.i.i = icmp eq i32 %call46.i.i, 0
br i1 %cmp47.i.i, label %if.then48.i.i, label %if.else51.i.i
if.then48.i.i: ; preds = %if.else45.i.i
%call49.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call50.i.i = call i32 @atoi(i8* %call49.i.i) nounwind
store i32 %call50.i.i, i32* %19, align 4
br label %if.end162.i.i
if.else51.i.i: ; preds = %if.else45.i.i
%call52.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([9 x i8]* @.str11174, i32 0, i32 0)) nounwind
%cmp53.i.i = icmp eq i32 %call52.i.i, 0
br i1 %cmp53.i.i, label %if.then54.i.i, label %if.else57.i.i
if.then54.i.i: ; preds = %if.else51.i.i
%call55.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call56.i.i = call i32 @atoi(i8* %call55.i.i) nounwind
store i32 %call56.i.i, i32* %20, align 4
br label %if.end162.i.i
if.else57.i.i: ; preds = %if.else51.i.i
%call58.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([5 x i8]* @.str12, i32 0, i32 0)) nounwind
%cmp59.i.i = icmp eq i32 %call58.i.i, 0
br i1 %cmp59.i.i, label %if.then60.i.i, label %if.else63.i.i
if.then60.i.i: ; preds = %if.else57.i.i
%call61.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call62.i.i = call i32 @atoi(i8* %call61.i.i) nounwind
store i32 %call62.i.i, i32* %21, align 4
br label %if.end162.i.i
if.else63.i.i: ; preds = %if.else57.i.i
%call64.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([12 x i8]* @.str13175, i32 0, i32 0)) nounwind
%cmp65.i.i = icmp eq i32 %call64.i.i, 0
br i1 %cmp65.i.i, label %if.then66.i.i, label %if.else69.i.i
if.then66.i.i: ; preds = %if.else63.i.i
%call67.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call68.i.i = call i32 @atoi(i8* %call67.i.i) nounwind
store i32 %call68.i.i, i32* %11, align 4
br label %if.end162.i.i
if.else69.i.i: ; preds = %if.else63.i.i
%call70.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([5 x i8]* @.str14, i32 0, i32 0)) nounwind
%cmp71.i.i = icmp eq i32 %call70.i.i, 0
br i1 %cmp71.i.i, label %if.then72.i.i, label %if.else75.i.i
if.then72.i.i: ; preds = %if.else69.i.i
%call73.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call74.i.i = call i32 @atoi(i8* %call73.i.i) nounwind
store i32 %call74.i.i, i32* %22, align 4
br label %if.end162.i.i
if.else75.i.i: ; preds = %if.else69.i.i
%call76.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([5 x i8]* @.str15176, i32 0, i32 0)) nounwind
%cmp77.i.i = icmp eq i32 %call76.i.i, 0
br i1 %cmp77.i.i, label %if.then78.i.i, label %if.else81.i.i
if.then78.i.i: ; preds = %if.else75.i.i
%call79.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call80.i.i = call i32 @atoi(i8* %call79.i.i) nounwind
store i32 %call80.i.i, i32* %23, align 4
br label %if.end162.i.i
if.else81.i.i: ; preds = %if.else75.i.i
%call82.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([6 x i8]* @.str16177, i32 0, i32 0)) nounwind
%cmp83.i.i = icmp eq i32 %call82.i.i, 0
br i1 %cmp83.i.i, label %if.then84.i.i, label %if.else87.i.i
if.then84.i.i: ; preds = %if.else81.i.i
%call85.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call86.i.i = call i32 @atoi(i8* %call85.i.i) nounwind
store i32 %call86.i.i, i32* %3, align 4
br label %if.end162.i.i
if.else87.i.i: ; preds = %if.else81.i.i
%call88.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([8 x i8]* @.str17178, i32 0, i32 0)) nounwind
%cmp89.i.i = icmp eq i32 %call88.i.i, 0
br i1 %cmp89.i.i, label %if.then90.i.i, label %if.else98.i.i
if.then90.i.i: ; preds = %if.else87.i.i
%call91.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call92.i.i = call i32 @atoi(i8* %call91.i.i) nounwind
%cmp93.i.i = icmp eq i32 %call92.i.i, 1
br i1 %cmp93.i.i, label %if.then94.i.i, label %if.else95.i.i
if.then94.i.i: ; preds = %if.then90.i.i
store i32 2, i32* %4, align 4
br label %if.end162.i.i
if.else95.i.i: ; preds = %if.then90.i.i
store i32 1, i32* %4, align 4
br label %if.end162.i.i
if.else98.i.i: ; preds = %if.else87.i.i
%call99.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([8 x i8]* @.str18, i32 0, i32 0)) nounwind
%cmp100.i.i = icmp eq i32 %call99.i.i, 0
br i1 %cmp100.i.i, label %if.then101.i.i, label %if.else115.i.i
if.then101.i.i: ; preds = %if.else98.i.i
%call102.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call103.i.i = call i32 @strcmp(i8* %call102.i.i, i8* getelementptr inbounds ([3 x i8]* @.str19, i32 0, i32 0)) nounwind
%cmp104.i.i = icmp eq i32 %call103.i.i, 0
br i1 %cmp104.i.i, label %if.then105.i.i, label %if.else106.i.i
if.then105.i.i: ; preds = %if.then101.i.i
store i32 0, i32* %8, align 4
br label %if.end162.i.i
if.else106.i.i: ; preds = %if.then101.i.i
%call107.i.i = call i32 @strcmp(i8* %call102.i.i, i8* getelementptr inbounds ([3 x i8]* @.str20, i32 0, i32 0)) nounwind
%cmp108.i.i = icmp eq i32 %call107.i.i, 0
br i1 %cmp108.i.i, label %if.then109.i.i, label %if.else111.i.i
if.then109.i.i: ; preds = %if.else106.i.i
store i32 1, i32* %8, align 4
br label %if.end162.i.i
if.else111.i.i: ; preds = %if.else106.i.i
%call112.i.i = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([32 x i8]* @.str21, i32 0, i32 0), i8* %call102.i.i) nounwind
br label %if.end162.i.i
if.else115.i.i: ; preds = %if.else98.i.i
%call116.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([6 x i8]* @.str22, i32 0, i32 0)) nounwind
%cmp117.i.i = icmp eq i32 %call116.i.i, 0
br i1 %cmp117.i.i, label %if.then118.i.i, label %if.else132.i.i
if.then118.i.i: ; preds = %if.else115.i.i
%call119.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call120.i.i = call i32 @strcmp(i8* %call119.i.i, i8* getelementptr inbounds ([2 x i8]* @.str23, i32 0, i32 0)) nounwind
%cmp121.i.i = icmp eq i32 %call120.i.i, 0
br i1 %cmp121.i.i, label %if.then122.i.i, label %if.else123.i.i
if.then122.i.i: ; preds = %if.then118.i.i
store i32 8, i32* %5, align 4
br label %if.end162.i.i
if.else123.i.i: ; preds = %if.then118.i.i
%call124.i.i = call i32 @strcmp(i8* %call119.i.i, i8* getelementptr inbounds ([3 x i8]* @.str24, i32 0, i32 0)) nounwind
%cmp125.i.i = icmp eq i32 %call124.i.i, 0
br i1 %cmp125.i.i, label %if.then126.i.i, label %if.else128.i.i
if.then126.i.i: ; preds = %if.else123.i.i
store i32 16, i32* %5, align 4
br label %if.end162.i.i
if.else128.i.i: ; preds = %if.else123.i.i
%call129.i.i = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([23 x i8]* @.str25, i32 0, i32 0), i8* %call119.i.i) nounwind
br label %if.end162.i.i
if.else132.i.i: ; preds = %if.else115.i.i
%call133.i.i = call i32 @strcmp(i8* %tmpstr.05.i.i, i8* getelementptr inbounds ([9 x i8]* @.str26179, i32 0, i32 0)) nounwind
%cmp134.i.i = icmp eq i32 %call133.i.i, 0
br i1 %cmp134.i.i, label %if.then135.i.i, label %if.end162.i.i
if.then135.i.i: ; preds = %if.else132.i.i
%call136.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%call137.i.i = call i32 @atoi(i8* %call136.i.i) nounwind
%cmp139.i.i = icmp slt i32 %call137.i.i, 1
%.call137.i.i = select i1 %cmp139.i.i, i32 1, i32 %call137.i.i
store i32 %.call137.i.i, i32* %10, align 4
%cmp144.i.i = icmp sgt i32 %.call137.i.i, 10
br i1 %cmp144.i.i, label %if.then145.i.i, label %if.end162.i.i
if.then145.i.i: ; preds = %if.then135.i.i
store i32 10, i32* %10, align 4
br label %if.end162.i.i
if.end162.i.i: ; preds = %if.then145.i.i, %if.then135.i.i, %if.else132.i.i, %if.else128.i.i, %if.then126.i.i, %if.then122.i.i, %if.else111.i.i, %if.then109.i.i, %if.then105.i.i, %if.else95.i.i, %if.then94.i.i, %if.then84.i.i, %if.then78.i.i, %if.then72.i.i, %if.then66.i.i, %if.then60.i.i, %if.then54.i.i, %if.then48.i.i, %if.then42.i.i, %if.then36.i.i, %if.then29.i.i, %if.else20.i.i, %if.then18.i.i, %if.then13.i.i, %if.then10.i.i
%call163.i.i = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8]* @.str1164, i32 0, i32 0), i8** %tokptr.i.i) nounwind
%cmp3.i.i = icmp eq i8* %call163.i.i, null
br i1 %cmp3.i.i, label %while.end.i.i, label %while.body.i.i
while.end.i.i: ; preds = %if.end162.i.i, %entry
%24 = load %struct.SpeexMode** %2, align 4
%tobool.i21.i = icmp eq %struct.SpeexMode* %24, null
%25 = load i32* %3, align 4
%tobool166.i.i = icmp eq i32 %25, 0
br i1 %tobool.i21.i, label %land.lhs.true.i.i, label %if.else202.i.i
land.lhs.true.i.i: ; preds = %while.end.i.i
br i1 %tobool166.i.i, label %if.else202.thread.i.i, label %if.then173.i.i
if.else202.thread.i.i: ; preds = %land.lhs.true.i.i
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** %2, align 4
store i32 8000, i32* %3, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
if.then173.i.i: ; preds = %land.lhs.true.i.i
%.off.i.i = add i32 %25, -6000
%26 = icmp ugt i32 %.off.i.i, 42000
br i1 %26, label %if.then178.i.i, label %if.else183.i.i
if.then178.i.i: ; preds = %if.then173.i.i
%error179.i.i = getelementptr inbounds i8* %call.i.i, i32 6936
%27 = bitcast i8* %error179.i.i to i32*
store i32 1, i32* %27, align 4
%28 = getelementptr inbounds i8* %call.i.i, i32 6736
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %28, 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
if.else183.i.i: ; preds = %if.then173.i.i
%cmp185.i.i = icmp sgt i32 %25, 25000
br i1 %cmp185.i.i, label %if.then186.i.i, label %if.else188.i.i
if.then186.i.i: ; preds = %if.else183.i.i
store %struct.SpeexMode* @speex_uwb_mode, %struct.SpeexMode** %2, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
if.else188.i.i: ; preds = %if.else183.i.i
%cmp190.i.i = icmp sgt i32 %25, 12500
br i1 %cmp190.i.i, label %if.then191.i.i, label %if.else193.i.i
if.then191.i.i: ; preds = %if.else188.i.i
store %struct.SpeexMode* @speex_wb_mode, %struct.SpeexMode** %2, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
if.else193.i.i: ; preds = %if.else188.i.i
%cmp195.i.i = icmp sgt i32 %25, 5999
br i1 %cmp195.i.i, label %if.then196.i.i, label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
if.then196.i.i: ; preds = %if.else193.i.i
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** %2, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
if.else202.i.i: ; preds = %while.end.i.i
br i1 %tobool166.i.i, label %if.then205.i.i, label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
if.then205.i.i: ; preds = %if.else202.i.i
%cmp207.i.i = icmp eq %struct.SpeexMode* %24, 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 %cmp207.i.i, label %if.then208.i.i, label %if.else210.i.i
if.then208.i.i: ; preds = %if.then205.i.i
store i32 8000, i32* %3, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
if.else210.i.i: ; preds = %if.then205.i.i
%cmp212.i.i = icmp eq %struct.SpeexMode* %24, @speex_wb_mode
br i1 %cmp212.i.i, label %if.then213.i.i, label %if.else215.i.i
if.then213.i.i: ; preds = %if.else210.i.i
store i32 16000, i32* %3, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
if.else215.i.i: ; preds = %if.else210.i.i
%cmp217.i.i = icmp eq %struct.SpeexMode* %24, @speex_uwb_mode
br i1 %cmp217.i.i, label %if.then218.i.i, label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
if.then218.i.i: ; preds = %if.else215.i.i
store i32 32000, i32* %3, align 4
br label %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i: ; preds = %if.then218.i.i, %if.else215.i.i, %if.then213.i.i, %if.then208.i.i, %if.else202.i.i, %if.then196.i.i, %if.else193.i.i, %if.then191.i.i, %if.then186.i.i, %if.then178.i.i, %if.else202.thread.i.i
call void @llvm.lifetime.end(i64 -1, i8* %13) nounwind
call void @llvm.lifetime.end(i64 -1, i8* %14) nounwind
%call.i1.i = call i32 @strlen(i8* %vendor_string.i.i) nounwind
%add.i.i = add nsw i32 %call.i1.i, 4
%add1.i.i = add nsw i32 %call.i1.i, 8
%call2.i.i = call fastcc i8* @malloc(i32 %add1.i.i) nounwind
%shr1.i.i = lshr i32 %call.i1.i, 24
%conv.i.i = trunc i32 %shr1.i.i to i8
%arrayidx.i.i = getelementptr inbounds i8* %call2.i.i, i32 3
store i8 %conv.i.i, i8* %arrayidx.i.i, align 1
%shr32.i.i = lshr i32 %call.i1.i, 16
%conv5.i.i = trunc i32 %shr32.i.i to i8
%arrayidx6.i.i = getelementptr inbounds i8* %call2.i.i, i32 2
store i8 %conv5.i.i, i8* %arrayidx6.i.i, align 1
%shr73.i.i = lshr i32 %call.i1.i, 8
%conv9.i.i = trunc i32 %shr73.i.i to i8
%arrayidx10.i.i = getelementptr inbounds i8* %call2.i.i, i32 1
store i8 %conv9.i.i, i8* %arrayidx10.i.i, align 1
%conv12.i.i = trunc i32 %call.i1.i to i8
store i8 %conv12.i.i, i8* %call2.i.i, align 1
%add.ptr.i.i = getelementptr inbounds i8* %call2.i.i, i32 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %add.ptr.i.i, i8* %vendor_string.i.i, i32 %call.i1.i, i32 1, i1 false) nounwind
%add21.i.i = add nsw i32 %call.i1.i, 7
%arrayidx22.i.i = getelementptr inbounds i8* %call2.i.i, i32 %add21.i.i
store i8 0, i8* %arrayidx22.i.i, align 1
%add27.i.i = add nsw i32 %call.i1.i, 6
%arrayidx28.i.i = getelementptr inbounds i8* %call2.i.i, i32 %add27.i.i
store i8 0, i8* %arrayidx28.i.i, align 1
%add33.i.i = add nsw i32 %call.i1.i, 5
%arrayidx34.i.i = getelementptr inbounds i8* %call2.i.i, i32 %add33.i.i
store i8 0, i8* %arrayidx34.i.i, align 1
%arrayidx38.i.i = getelementptr inbounds i8* %call2.i.i, i32 %add.i.i
store i8 0, i8* %arrayidx38.i.i, align 1
%comments_length.i.i = getelementptr inbounds i8* %call.i.i, i32 6708
%29 = bitcast i8* %comments_length.i.i to i32*
store i32 %add1.i.i, i32* %29, align 4
%comments.i.i = getelementptr inbounds i8* %call.i.i, i32 6704
%30 = bitcast i8* %comments.i.i to i8**
store i8* %call2.i.i, i8** %30, align 4
%call4.i = call i32 @time(i32* null)
store i32 %call4.i, i32* %seed.i, align 4
call void @srand(i32 %call4.i)
%os.i = getelementptr inbounds i8* %call.i.i, i32 6104
%31 = bitcast i8* %os.i to %struct.ogg_stream_state*
%call5.i = call i32 @rand_r(i32* %seed.i)
%tobool.i.i = icmp eq i8* %os.i, null
br i1 %tobool.i.i, label %ogg_stream_init.exit.i, label %if.then.i3.i
if.then.i3.i: ; preds = %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
call void @llvm.memset.p0i8.i32(i8* %os.i, i8 0, i32 360, i32 4, i1 false) nounwind
%body_storage.i.i = getelementptr inbounds i8* %call.i.i, i32 6108
%32 = bitcast i8* %body_storage.i.i to i32*
store i32 16384, i32* %32, align 4
%call.i2.i = call fastcc i8* @malloc(i32 16384) nounwind
%body_data.i.i = bitcast i8* %os.i to i8**
store i8* %call.i2.i, i8** %body_data.i.i, align 4
%lacing_storage.i.i = getelementptr inbounds i8* %call.i.i, i32 6128
%33 = bitcast i8* %lacing_storage.i.i to i32*
store i32 1024, i32* %33, align 4
%call4.i.i = call fastcc i8* @malloc(i32 4096) nounwind
%34 = bitcast i8* %call4.i.i to i32*
%lacing_vals.i.i = getelementptr inbounds i8* %call.i.i, i32 6120
%35 = bitcast i8* %lacing_vals.i.i to i32**
store i32* %34, i32** %35, align 4
%36 = load i32* %33, align 4
%mul6.i.i = shl i32 %36, 3
%call7.i.i = call fastcc i8* @malloc(i32 %mul6.i.i) nounwind
%37 = bitcast i8* %call7.i.i to i64*
%granule_vals.i.i = getelementptr inbounds i8* %call.i.i, i32 6124
%38 = bitcast i8* %granule_vals.i.i to i64**
store i64* %37, i64** %38, align 4
%serialno8.i.i = getelementptr inbounds i8* %call.i.i, i32 6440
%39 = bitcast i8* %serialno8.i.i to i32*
store i32 %call5.i, i32* %39, align 4
br label %ogg_stream_init.exit.i
ogg_stream_init.exit.i: ; preds = %if.then.i3.i, %_Z24speex_set_encoder_paramsPcP15speex_econfig_s.exit.i
%header.i = getelementptr inbounds i8* %call.i.i, i32 6516
%40 = load i32* %3, align 4
%41 = load %struct.SpeexMode** %2, align 4
store i8 83, i8* %header.i, align 1
%42 = getelementptr inbounds i8* %call.i.i, i32 6517
store i8 112, i8* %42, align 1
%43 = getelementptr inbounds i8* %call.i.i, i32 6518
store i8 101, i8* %43, align 1
%44 = getelementptr inbounds i8* %call.i.i, i32 6519
store i8 101, i8* %44, align 1
%45 = getelementptr inbounds i8* %call.i.i, i32 6520
store i8 120, i8* %45, align 1
%46 = getelementptr inbounds i8* %call.i.i, i32 6521
store i8 32, i8* %46, align 1
%47 = getelementptr inbounds i8* %call.i.i, i32 6522
store i8 32, i8* %47, align 1
%48 = getelementptr inbounds i8* %call.i.i, i32 6523
store i8 32, i8* %48, align 1
%49 = getelementptr inbounds i8* %call.i.i, i32 6524
store i8 115, i8* %49, align 1
%50 = getelementptr inbounds i8* %call.i.i, i32 6525
store i8 112, i8* %50, align 1
%51 = getelementptr inbounds i8* %call.i.i, i32 6526
store i8 101, i8* %51, align 1
%52 = getelementptr inbounds i8* %call.i.i, i32 6527
store i8 101, i8* %52, align 1
%53 = getelementptr inbounds i8* %call.i.i, i32 6528
store i8 120, i8* %53, align 1
%54 = getelementptr inbounds i8* %call.i.i, i32 6529
store i8 45, i8* %54, align 1
%55 = getelementptr inbounds i8* %call.i.i, i32 6530
store i8 49, i8* %55, align 1
%56 = getelementptr inbounds i8* %call.i.i, i32 6531
store i8 46, i8* %56, align 1
%57 = getelementptr inbounds i8* %call.i.i, i32 6532
store i8 50, i8* %57, align 1
%58 = getelementptr inbounds i8* %call.i.i, i32 6533
store i8 98, i8* %58, align 1
%59 = getelementptr inbounds i8* %call.i.i, i32 6534
store i8 101, i8* %59, align 1
%60 = getelementptr inbounds i8* %call.i.i, i32 6535
store i8 116, i8* %60, align 1
%61 = getelementptr inbounds i8* %call.i.i, i32 6536
store i8 97, i8* %61, align 1
%62 = getelementptr inbounds i8* %call.i.i, i32 6537
store i8 51, i8* %62, align 1
%63 = getelementptr i8* %call.i.i, i32 6538
call void @llvm.memset.p0i8.i32(i8* %63, i8 0, i32 6, i32 1, i1 false)
%speex_version_id.i.i = getelementptr inbounds i8* %call.i.i, i32 6544
%64 = bitcast i8* %speex_version_id.i.i to i32*
store i32 1, i32* %64, align 4
%header_size.i.i = getelementptr inbounds i8* %call.i.i, i32 6548
%65 = bitcast i8* %header_size.i.i to i32*
store i32 80, i32* %65, align 4
%rate19.i.i = getelementptr inbounds i8* %call.i.i, i32 6552
%66 = bitcast i8* %rate19.i.i to i32*
store i32 %40, i32* %66, align 4
%modeID.i.i = getelementptr inbounds %struct.SpeexMode* %41, i32 0, i32 3
%67 = load i32* %modeID.i.i, align 4
%mode.i4.i = getelementptr inbounds i8* %call.i.i, i32 6556
%68 = bitcast i8* %mode.i4.i to i32*
store i32 %67, i32* %68, align 4
%bitstream_version.i.i = getelementptr inbounds %struct.SpeexMode* %41, i32 0, i32 4
%69 = load i32* %bitstream_version.i.i, align 4
%mode_bitstream_version.i.i = getelementptr inbounds i8* %call.i.i, i32 6560
%70 = bitcast i8* %mode_bitstream_version.i.i to i32*
store i32 %69, i32* %70, align 4
%71 = load i32* %modeID.i.i, align 4
%cmp21.i.i = icmp slt i32 %71, 0
br i1 %cmp21.i.i, label %if.then.i5.i, label %speex_init_header.exit.i
if.then.i5.i: ; preds = %ogg_stream_init.exit.i
%72 = load %struct.__sFILE** @stderr, align 4
%call.i.i.i = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %72, 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 = %if.then.i5.i, %ogg_stream_init.exit.i
%nb_channels22.i.i = getelementptr inbounds i8* %call.i.i, i32 6564
%73 = bitcast i8* %nb_channels22.i.i to i32*
store i32 1, i32* %73, align 4
%bitrate.i.i = getelementptr inbounds i8* %call.i.i, i32 6568
%74 = bitcast i8* %bitrate.i.i to i32*
store i32 -1, i32* %74, align 4
%frame_size.i.i = getelementptr inbounds i8* %call.i.i, i32 6572
%75 = getelementptr inbounds %struct.SpeexMode* %41, i32 0, i32 1
%76 = load i32 (i8*, i32, i8*)** %75, align 4
%mode1.i.i.i = getelementptr inbounds %struct.SpeexMode* %41, i32 0, i32 0
%77 = load i8** %mode1.i.i.i, align 4
%call.i1.i.i = call i32 %76(i8* %77, i32 0, i8* %frame_size.i.i)
%vbr.i.i = getelementptr inbounds i8* %call.i.i, i32 6576
call void @llvm.memset.p0i8.i64(i8* %vbr.i.i, i8 0, i64 20, i32 4, i1 false)
%78 = load i32* %10, align 4
%frames_per_packet.i = getelementptr inbounds i8* %call.i.i, i32 6580
%79 = bitcast i8* %frames_per_packet.i to i32*
store i32 %78, i32* %79, align 4
%80 = bitcast i8* %vbr_enabled.i.i to i32*
%81 = load i32* %80, align 4
%82 = bitcast i8* %vbr.i.i to i32*
store i32 %81, i32* %82, align 4
%83 = load i32* %4, align 4
store i32 %83, i32* %73, align 4
%84 = load %struct.SpeexMode** %2, align 4
%85 = bitcast %struct.SpeexMode* %84 to %struct.SpeexMode.117*
%enc_init.i.i = getelementptr inbounds %struct.SpeexMode* %84, i32 0, i32 5
%86 = load i8* (%struct.SpeexMode*)** %enc_init.i.i, align 4
%87 = bitcast i8* (%struct.SpeexMode*)* %86 to i8* (%struct.SpeexMode.117*)*
%call.i6.i = call i8* %87(%struct.SpeexMode.117* %85)
%st.i = getelementptr inbounds i8* %call.i.i, i32 36
%88 = bitcast i8* %st.i to i8**
store i8* %call.i6.i, i8** %88, align 4
%agc_enabled.i = getelementptr inbounds i8* %call.i.i, i32 24
%89 = bitcast i8* %agc_enabled.i to i32*
%90 = load i32* %89, align 4
%tobool.i = icmp eq i32 %90, 0
%denoise_enabled.i = getelementptr inbounds i8* %call.i.i, i32 20
%91 = bitcast i8* %denoise_enabled.i to i32*
br i1 %tobool.i, label %lor.lhs.false.i, label %speex_preprocess_ctl.exit.i
lor.lhs.false.i: ; preds = %speex_init_header.exit.i
%92 = load i32* %91, align 4
%tobool12.i = icmp eq i32 %92, 0
br i1 %tobool12.i, label %if.end.i, label %speex_preprocess_ctl.exit.i
speex_preprocess_ctl.exit.i: ; preds = %lor.lhs.false.i, %speex_init_header.exit.i
%frame_size.i = bitcast i8* %call.i.i to i32*
%93 = load i32* %frame_size.i, align 4
%94 = load i32* %3, align 4
%call.i.i.i22.i = call fastcc i8* @malloc(i32 212) nounwind
%cmp4.i.i.i23.i = icmp eq i8* %call.i.i.i22.i, null
br i1 %cmp4.i.i.i23.i, label %_Z11speex_alloci.exit.i32.i, label %land.lhs.true5.i.i.i27.i
land.lhs.true5.i.i.i27.i: ; preds = %speex_preprocess_ctl.exit.i
%head.i.i.i24.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 -4
%95 = bitcast i8* %head.i.i.i24.i to i32*
%96 = load i32* %95, align 4
%and6.i.i.i25.i = and i32 %96, 3
%cmp7.i.i.i26.i = icmp eq i32 %and6.i.i.i25.i, 0
br i1 %cmp7.i.i.i26.i, label %_Z11speex_alloci.exit.i32.i, label %if.then8.i.i.i28.i
if.then8.i.i.i28.i: ; preds = %land.lhs.true5.i.i.i27.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i.i22.i, i8 0, i32 212, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit.i32.i
_Z11speex_alloci.exit.i32.i: ; preds = %if.then8.i.i.i28.i, %land.lhs.true5.i.i.i27.i, %speex_preprocess_ctl.exit.i
%97 = bitcast i8* %call.i.i.i22.i to %struct.SpeexPreprocessState_*
%frame_size1.i.i = bitcast i8* %call.i.i.i22.i to i32*
store i32 %93, i32* %frame_size1.i.i, align 4
%ps_size.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 4
%98 = bitcast i8* %ps_size.i.i to i32*
store i32 %93, i32* %98, align 4
%mul.i.i = shl nsw i32 %93, 1
%sampling_rate7.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 8
%99 = bitcast i8* %sampling_rate7.i.i to i32*
store i32 %94, i32* %99, align 4
%denoise_enabled.i29.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 20
%100 = bitcast i8* %denoise_enabled.i29.i to i32*
store i32 1, i32* %100, align 4
%vad_enabled.i30.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 24
%noise_suppress.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 48
%101 = bitcast i8* %noise_suppress.i.i to i32*
call void @llvm.memset.p0i8.i64(i8* %vad_enabled.i30.i, i8 0, i64 16, i32 4, i1 false)
store i32 -15, i32* %101, align 4
%echo_suppress.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 52
%102 = bitcast i8* %echo_suppress.i.i to i32*
store i32 -40, i32* %102, align 4
%echo_suppress_active.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 56
%103 = bitcast i8* %echo_suppress_active.i.i to i32*
store i32 -15, i32* %103, align 4
%speech_prob_start.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 40
%104 = bitcast i8* %speech_prob_start.i.i to float*
store float 0x3FD6666660000000, float* %104, align 4
%speech_prob_continue.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 44
%105 = bitcast i8* %speech_prob_continue.i.i to float*
store float 0x3FC99999A0000000, float* %105, align 4
%echo_state.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 60
%106 = bitcast i8* %echo_state.i.i to %struct.SpeexEchoState_**
store %struct.SpeexEchoState_* null, %struct.SpeexEchoState_** %106, align 4
%nbands.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 12
%107 = bitcast i8* %nbands.i.i to i32*
store i32 24, i32* %107, align 4
%conv.i31.i = sitofp i32 %94 to float
%conv.i1.i.i = sitofp i32 %93 to float
%mul.i2.i.i = fmul float %conv.i1.i.i, 2.000000e+00
%div.i3.i.i = fdiv float %conv.i31.i, %mul.i2.i.i
%div1.i.i.i = fmul float %conv.i31.i, 5.000000e-01
%mul2.i.i.i = fmul float %div1.i.i.i, 0x3F483F91E0000000
%conv3.i.i.i = fpext float %mul2.i.i.i to double
%call.i4.i.i = call double @atan(double %conv3.i.i.i)
%mul4.i.i.i = fmul double %call.i4.i.i, 0x402A333340000000
%mul7.i.i.i = fmul float %div1.i.i.i, %div1.i.i.i
%mul8.i.i.i = fmul float %mul7.i.i.i, 0x3E53DD3DC0000000
%conv9.i.i.i = fpext float %mul8.i.i.i to double
%call10.i.i.i = call double @atan(double %conv9.i.i.i)
%mul11.i.i.i = fmul double %call10.i.i.i, 0x4001EB8520000000
%add.i5.i.i = fadd double %mul4.i.i.i, %mul11.i.i.i
%mul13.i.i.i = fmul float %div1.i.i.i, 0x3F1A36E2E0000000
%conv14.i.i.i = fpext float %mul13.i.i.i to double
%add15.i.i.i = fadd double %add.i5.i.i, %conv14.i.i.i
%conv16.i6.i.i = fptrunc double %add15.i.i.i to float
%div18.i.i.i = fdiv float %conv16.i6.i.i, 2.300000e+01
%call.i.i.i7.i.i = call fastcc i8* @malloc(i32 28) nounwind
%cmp4.i.i.i8.i.i = icmp eq i8* %call.i.i.i7.i.i, null
br i1 %cmp4.i.i.i8.i.i, label %_Z11speex_alloci.exit.i.i.i, label %land.lhs.true5.i.i.i12.i.i
land.lhs.true5.i.i.i12.i.i: ; preds = %_Z11speex_alloci.exit.i32.i
%head.i.i.i9.i.i = getelementptr inbounds i8* %call.i.i.i7.i.i, i32 -4
%108 = bitcast i8* %head.i.i.i9.i.i to i32*
%109 = load i32* %108, align 4
%and6.i.i.i10.i.i = and i32 %109, 3
%cmp7.i.i.i11.i.i = icmp eq i32 %and6.i.i.i10.i.i, 0
br i1 %cmp7.i.i.i11.i.i, label %_Z11speex_alloci.exit.i.i.i, label %if.then8.i.i.i13.i.i
if.then8.i.i.i13.i.i: ; preds = %land.lhs.true5.i.i.i12.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i.i7.i.i, i8 0, i32 28, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit.i.i.i
_Z11speex_alloci.exit.i.i.i: ; preds = %if.then8.i.i.i13.i.i, %land.lhs.true5.i.i.i12.i.i, %_Z11speex_alloci.exit.i32.i
%110 = bitcast i8* %call.i.i.i7.i.i to %struct.FilterBank*
%nb_banks.i.i.i = getelementptr inbounds i8* %call.i.i.i7.i.i, i32 20
%111 = bitcast i8* %nb_banks.i.i.i to i32*
store i32 24, i32* %111, align 4
%len20.i.i.i = getelementptr inbounds i8* %call.i.i.i7.i.i, i32 24
%112 = bitcast i8* %len20.i.i.i to i32*
store i32 %93, i32* %112, align 4
%mul21.i.i.i = shl i32 %93, 2
%call.i.i1.i.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i2.i.i.i = icmp eq i8* %call.i.i1.i.i.i, null
br i1 %cmp4.i.i2.i.i.i, label %_Z11speex_alloci.exit8.i.i.i, label %land.lhs.true5.i.i6.i.i.i
land.lhs.true5.i.i6.i.i.i: ; preds = %_Z11speex_alloci.exit.i.i.i
%head.i.i3.i.i.i = getelementptr inbounds i8* %call.i.i1.i.i.i, i32 -4
%113 = bitcast i8* %head.i.i3.i.i.i to i32*
%114 = load i32* %113, align 4
%and6.i.i4.i.i.i = and i32 %114, 3
%cmp7.i.i5.i.i.i = icmp eq i32 %and6.i.i4.i.i.i, 0
br i1 %cmp7.i.i5.i.i.i, label %_Z11speex_alloci.exit8.i.i.i, label %if.then8.i.i7.i.i.i
if.then8.i.i7.i.i.i: ; preds = %land.lhs.true5.i.i6.i.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i1.i.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit8.i.i.i
_Z11speex_alloci.exit8.i.i.i: ; preds = %if.then8.i.i7.i.i.i, %land.lhs.true5.i.i6.i.i.i, %_Z11speex_alloci.exit.i.i.i
%115 = bitcast i8* %call.i.i1.i.i.i to i32*
%bank_left.i.i.i = bitcast i8* %call.i.i.i7.i.i to i32**
store i32* %115, i32** %bank_left.i.i.i, align 4
%call.i.i9.i.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i10.i.i.i = icmp eq i8* %call.i.i9.i.i.i, null
br i1 %cmp4.i.i10.i.i.i, label %_Z11speex_alloci.exit16.i.i.i, label %land.lhs.true5.i.i14.i.i.i
land.lhs.true5.i.i14.i.i.i: ; preds = %_Z11speex_alloci.exit8.i.i.i
%head.i.i11.i.i.i = getelementptr inbounds i8* %call.i.i9.i.i.i, i32 -4
%116 = bitcast i8* %head.i.i11.i.i.i to i32*
%117 = load i32* %116, align 4
%and6.i.i12.i.i.i = and i32 %117, 3
%cmp7.i.i13.i.i.i = icmp eq i32 %and6.i.i12.i.i.i, 0
br i1 %cmp7.i.i13.i.i.i, label %_Z11speex_alloci.exit16.i.i.i, label %if.then8.i.i15.i.i.i
if.then8.i.i15.i.i.i: ; preds = %land.lhs.true5.i.i14.i.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i9.i.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit16.i.i.i
_Z11speex_alloci.exit16.i.i.i: ; preds = %if.then8.i.i15.i.i.i, %land.lhs.true5.i.i14.i.i.i, %_Z11speex_alloci.exit8.i.i.i
%118 = bitcast i8* %call.i.i9.i.i.i to i32*
%bank_right.i.i.i = getelementptr inbounds i8* %call.i.i.i7.i.i, i32 4
%119 = bitcast i8* %bank_right.i.i.i to i32**
store i32* %118, i32** %119, align 4
%call.i.i17.i.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i18.i.i.i = icmp eq i8* %call.i.i17.i.i.i, null
br i1 %cmp4.i.i18.i.i.i, label %_Z11speex_alloci.exit24.i.i.i, label %land.lhs.true5.i.i22.i.i.i
land.lhs.true5.i.i22.i.i.i: ; preds = %_Z11speex_alloci.exit16.i.i.i
%head.i.i19.i.i.i = getelementptr inbounds i8* %call.i.i17.i.i.i, i32 -4
%120 = bitcast i8* %head.i.i19.i.i.i to i32*
%121 = load i32* %120, align 4
%and6.i.i20.i.i.i = and i32 %121, 3
%cmp7.i.i21.i.i.i = icmp eq i32 %and6.i.i20.i.i.i, 0
br i1 %cmp7.i.i21.i.i.i, label %_Z11speex_alloci.exit24.i.i.i, label %if.then8.i.i23.i.i.i
if.then8.i.i23.i.i.i: ; preds = %land.lhs.true5.i.i22.i.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i17.i.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit24.i.i.i
_Z11speex_alloci.exit24.i.i.i: ; preds = %if.then8.i.i23.i.i.i, %land.lhs.true5.i.i22.i.i.i, %_Z11speex_alloci.exit16.i.i.i
%122 = bitcast i8* %call.i.i17.i.i.i to float*
%filter_left.i.i.i = getelementptr inbounds i8* %call.i.i.i7.i.i, i32 8
%123 = bitcast i8* %filter_left.i.i.i to float**
store float* %122, float** %123, align 4
%call.i.i25.i.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i26.i.i.i = icmp eq i8* %call.i.i25.i.i.i, null
br i1 %cmp4.i.i26.i.i.i, label %_Z11speex_alloci.exit32.i.i.i, label %land.lhs.true5.i.i30.i.i.i
land.lhs.true5.i.i30.i.i.i: ; preds = %_Z11speex_alloci.exit24.i.i.i
%head.i.i27.i.i.i = getelementptr inbounds i8* %call.i.i25.i.i.i, i32 -4
%124 = bitcast i8* %head.i.i27.i.i.i to i32*
%125 = load i32* %124, align 4
%and6.i.i28.i.i.i = and i32 %125, 3
%cmp7.i.i29.i.i.i = icmp eq i32 %and6.i.i28.i.i.i, 0
br i1 %cmp7.i.i29.i.i.i, label %_Z11speex_alloci.exit32.i.i.i, label %if.then8.i.i31.i.i.i
if.then8.i.i31.i.i.i: ; preds = %land.lhs.true5.i.i30.i.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i25.i.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit32.i.i.i
_Z11speex_alloci.exit32.i.i.i: ; preds = %if.then8.i.i31.i.i.i, %land.lhs.true5.i.i30.i.i.i, %_Z11speex_alloci.exit24.i.i.i
%126 = bitcast i8* %call.i.i25.i.i.i to float*
%filter_right.i.i.i = getelementptr inbounds i8* %call.i.i.i7.i.i, i32 12
%127 = bitcast i8* %filter_right.i.i.i to float**
store float* %126, float** %127, align 4
%call.i.i33.i.i.i = call fastcc i8* @malloc(i32 96) nounwind
%cmp4.i.i34.i.i.i = icmp eq i8* %call.i.i33.i.i.i, null
br i1 %cmp4.i.i34.i.i.i, label %_Z11speex_alloci.exit40.i.i.i, label %land.lhs.true5.i.i38.i.i.i
land.lhs.true5.i.i38.i.i.i: ; preds = %_Z11speex_alloci.exit32.i.i.i
%head.i.i35.i.i.i = getelementptr inbounds i8* %call.i.i33.i.i.i, i32 -4
%128 = bitcast i8* %head.i.i35.i.i.i to i32*
%129 = load i32* %128, align 4
%and6.i.i36.i.i.i = and i32 %129, 3
%cmp7.i.i37.i.i.i = icmp eq i32 %and6.i.i36.i.i.i, 0
br i1 %cmp7.i.i37.i.i.i, label %_Z11speex_alloci.exit40.i.i.i, label %if.then8.i.i39.i.i.i
if.then8.i.i39.i.i.i: ; preds = %land.lhs.true5.i.i38.i.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i33.i.i.i, i8 0, i32 96, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit40.i.i.i
_Z11speex_alloci.exit40.i.i.i: ; preds = %if.then8.i.i39.i.i.i, %land.lhs.true5.i.i38.i.i.i, %_Z11speex_alloci.exit32.i.i.i
%130 = bitcast i8* %call.i.i33.i.i.i to float*
%scaling.i.i.i = getelementptr inbounds i8* %call.i.i.i7.i.i, i32 16
%131 = bitcast i8* %scaling.i.i.i to float**
store float* %130, float** %131, align 4
br label %for.cond.i.i.i
for.cond.i.i.i: ; preds = %if.end60.i.i.i, %_Z11speex_alloci.exit40.i.i.i
%i.0.i.i.i = phi i32 [ 0, %_Z11speex_alloci.exit40.i.i.i ], [ %inc.i17.i.i, %if.end60.i.i.i ]
%cmp.i.i.i = icmp slt i32 %i.0.i.i.i, %93
br i1 %cmp.i.i.i, label %for.body.i14.i.i, label %for.cond70.preheader.i.i.i
for.cond70.preheader.i.i.i: ; preds = %for.body.i14.i.i, %for.cond.i.i.i
%132 = load i32* %111, align 4
%cmp7245.i.i.i = icmp sgt i32 %132, 0
br i1 %cmp7245.i.i.i, label %for.body73.i.i.i, label %for.cond79.preheader.i.i.i
for.body.i14.i.i: ; preds = %for.cond.i.i.i
%conv31.i.i.i = sitofp i32 %i.0.i.i.i to float
%mul32.i.i.i = fmul float %conv31.i.i.i, %div.i3.i.i
%mul33.i.i.i = fmul float %mul32.i.i.i, 0x3F483F91E0000000
%conv34.i.i.i = fpext float %mul33.i.i.i to double
%call35.i.i.i = call double @atan(double %conv34.i.i.i)
%mul36.i.i.i = fmul double %call35.i.i.i, 0x402A333340000000
%mul37.i.i.i = fmul float %mul32.i.i.i, %mul32.i.i.i
%mul38.i.i.i = fmul float %mul37.i.i.i, 0x3E53DD3DC0000000
%conv39.i.i.i = fpext float %mul38.i.i.i to double
%call40.i.i.i = call double @atan(double %conv39.i.i.i)
%mul41.i.i.i = fmul double %call40.i.i.i, 0x4001EB8520000000
%add42.i.i.i = fadd double %mul36.i.i.i, %mul41.i.i.i
%mul43.i.i.i = fmul float %mul32.i.i.i, 0x3F1A36E2E0000000
%conv44.i.i.i = fpext float %mul43.i.i.i to double
%add45.i.i.i = fadd double %add42.i.i.i, %conv44.i.i.i
%conv46.i.i.i = fptrunc double %add45.i.i.i to float
%cmp47.i.i.i = fcmp ogt float %conv46.i.i.i, %conv16.i6.i.i
br i1 %cmp47.i.i.i, label %for.cond70.preheader.i.i.i, label %if.end.i.i.i
if.end.i.i.i: ; preds = %for.body.i14.i.i
%div48.i.i.i = fdiv float %conv46.i.i.i, %div18.i.i.i
%floorf.i.i.i = call float @floorf(float %div48.i.i.i)
%conv51.i.i.i = fptosi float %floorf.i.i.i to i32
%cmp53.i.i.i = icmp sgt i32 %conv51.i.i.i, 22
br i1 %cmp53.i.i.i, label %if.end60.i.i.i, label %if.else.i15.i.i
if.else.i15.i.i: ; preds = %if.end.i.i.i
%conv56.i.i.i = sitofp i32 %conv51.i.i.i to float
%mul57.i.i.i = fmul float %conv56.i.i.i, %div18.i.i.i
%sub58.i.i.i = fsub float %conv46.i.i.i, %mul57.i.i.i
%div59.i.i.i = fdiv float %sub58.i.i.i, %div18.i.i.i
br label %if.end60.i.i.i
if.end60.i.i.i: ; preds = %if.else.i15.i.i, %if.end.i.i.i
%id1.0.i.i.i = phi i32 [ %conv51.i.i.i, %if.else.i15.i.i ], [ 22, %if.end.i.i.i ]
%val.0.i.i.i = phi float [ %div59.i.i.i, %if.else.i15.i.i ], [ 1.000000e+00, %if.end.i.i.i ]
%add61.i.i.i = add nsw i32 %id1.0.i.i.i, 1
%133 = load i32** %bank_left.i.i.i, align 4
%arrayidx.i16.i.i = getelementptr inbounds i32* %133, i32 %i.0.i.i.i
store i32 %id1.0.i.i.i, i32* %arrayidx.i16.i.i, align 4
%sub63.i.i.i = fsub float 1.000000e+00, %val.0.i.i.i
%134 = load float** %123, align 4
%arrayidx65.i.i.i = getelementptr inbounds float* %134, i32 %i.0.i.i.i
store float %sub63.i.i.i, float* %arrayidx65.i.i.i, align 4
%135 = load i32** %119, align 4
%arrayidx67.i.i.i = getelementptr inbounds i32* %135, i32 %i.0.i.i.i
store i32 %add61.i.i.i, i32* %arrayidx67.i.i.i, align 4
%136 = load float** %127, align 4
%arrayidx69.i.i.i = getelementptr inbounds float* %136, i32 %i.0.i.i.i
store float %val.0.i.i.i, float* %arrayidx69.i.i.i, align 4
%inc.i17.i.i = add nsw i32 %i.0.i.i.i, 1
br label %for.cond.i.i.i
for.cond79.preheader.i.i.i: ; preds = %for.body73.i.i.i, %for.cond70.preheader.i.i.i
%137 = phi i32 [ %132, %for.cond70.preheader.i.i.i ], [ %140, %for.body73.i.i.i ]
%138 = load i32* %112, align 4
%cmp8143.i.i.i = icmp sgt i32 %138, 0
br i1 %cmp8143.i.i.i, label %for.body82.i.i.i, label %for.cond100.preheader.i.i.i
for.body73.i.i.i: ; preds = %for.body73.i.i.i, %for.cond70.preheader.i.i.i
%i.146.i.i.i = phi i32 [ 0, %for.cond70.preheader.i.i.i ], [ %inc77.i.i.i, %for.body73.i.i.i ]
%139 = load float** %131, align 4
%arrayidx75.i.i.i = getelementptr inbounds float* %139, i32 %i.146.i.i.i
store float 0.000000e+00, float* %arrayidx75.i.i.i, align 4
%inc77.i.i.i = add nsw i32 %i.146.i.i.i, 1
%140 = load i32* %111, align 4
%cmp72.i.i.i = icmp slt i32 %inc77.i.i.i, %140
br i1 %cmp72.i.i.i, label %for.body73.i.i.i, label %for.cond79.preheader.i.i.i
for.cond79.for.cond100.preheader_crit_edge.i.i.i: ; preds = %for.body82.i.i.i
%.pre.i.i.i = load i32* %111, align 4
br label %for.cond100.preheader.i.i.i
for.cond100.preheader.i.i.i: ; preds = %for.cond79.for.cond100.preheader_crit_edge.i.i.i, %for.cond79.preheader.i.i.i
%141 = phi i32 [ %.pre.i.i.i, %for.cond79.for.cond100.preheader_crit_edge.i.i.i ], [ %137, %for.cond79.preheader.i.i.i ]
%cmp10241.i.i.i = icmp sgt i32 %141, 0
br i1 %cmp10241.i.i.i, label %for.body103.i.i.i, label %_Z14filterbank_newifii.exit.i.i
for.body82.i.i.i: ; preds = %for.body82.i.i.i, %for.cond79.preheader.i.i.i
%i.244.i.i.i = phi i32 [ 0, %for.cond79.preheader.i.i.i ], [ %inc98.i.i.i, %for.body82.i.i.i ]
%142 = load i32** %bank_left.i.i.i, align 4
%arrayidx84.i.i.i = getelementptr inbounds i32* %142, i32 %i.244.i.i.i
%143 = load i32* %arrayidx84.i.i.i, align 4
%144 = load float** %123, align 4
%arrayidx86.i.i.i = getelementptr inbounds float* %144, i32 %i.244.i.i.i
%145 = load float* %arrayidx86.i.i.i, align 4
%146 = load float** %131, align 4
%arrayidx88.i.i.i = getelementptr inbounds float* %146, i32 %143
%147 = load float* %arrayidx88.i.i.i, align 4
%add89.i.i.i = fadd float %147, %145
store float %add89.i.i.i, float* %arrayidx88.i.i.i, align 4
%148 = load i32** %119, align 4
%arrayidx91.i.i.i = getelementptr inbounds i32* %148, i32 %i.244.i.i.i
%149 = load i32* %arrayidx91.i.i.i, align 4
%150 = load float** %127, align 4
%arrayidx93.i.i.i = getelementptr inbounds float* %150, i32 %i.244.i.i.i
%151 = load float* %arrayidx93.i.i.i, align 4
%152 = load float** %131, align 4
%arrayidx95.i.i.i = getelementptr inbounds float* %152, i32 %149
%153 = load float* %arrayidx95.i.i.i, align 4
%add96.i.i.i = fadd float %153, %151
store float %add96.i.i.i, float* %arrayidx95.i.i.i, align 4
%inc98.i.i.i = add nsw i32 %i.244.i.i.i, 1
%154 = load i32* %112, align 4
%cmp81.i.i.i = icmp slt i32 %inc98.i.i.i, %154
br i1 %cmp81.i.i.i, label %for.body82.i.i.i, label %for.cond79.for.cond100.preheader_crit_edge.i.i.i
for.body103.i.i.i: ; preds = %for.body103.i.i.i, %for.cond100.preheader.i.i.i
%i.342.i.i.i = phi i32 [ 0, %for.cond100.preheader.i.i.i ], [ %inc110.i.i.i, %for.body103.i.i.i ]
%155 = load float** %131, align 4
%arrayidx105.i.i.i = getelementptr inbounds float* %155, i32 %i.342.i.i.i
%156 = load float* %arrayidx105.i.i.i, align 4
%div106.i.i.i = fdiv float 1.000000e+00, %156
store float %div106.i.i.i, float* %arrayidx105.i.i.i, align 4
%inc110.i.i.i = add nsw i32 %i.342.i.i.i, 1
%157 = load i32* %111, align 4
%cmp102.i.i.i = icmp slt i32 %inc110.i.i.i, %157
br i1 %cmp102.i.i.i, label %for.body103.i.i.i, label %_Z14filterbank_newifii.exit.i.i
_Z14filterbank_newifii.exit.i.i: ; preds = %for.body103.i.i.i, %for.cond100.preheader.i.i.i
%bank.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 16
%158 = bitcast i8* %bank.i.i to %struct.FilterBank**
store %struct.FilterBank* %110, %struct.FilterBank** %158, align 4
%mul11.i.i = shl i32 %93, 3
%call.i.i1.i.i = call fastcc i8* @malloc(i32 %mul11.i.i) nounwind
%cmp4.i.i2.i.i = icmp eq i8* %call.i.i1.i.i, null
br i1 %cmp4.i.i2.i.i, label %_Z11speex_alloci.exit8.i.i, label %land.lhs.true5.i.i6.i.i
land.lhs.true5.i.i6.i.i: ; preds = %_Z14filterbank_newifii.exit.i.i
%head.i.i3.i.i = getelementptr inbounds i8* %call.i.i1.i.i, i32 -4
%159 = bitcast i8* %head.i.i3.i.i to i32*
%160 = load i32* %159, align 4
%and6.i.i4.i.i = and i32 %160, 3
%cmp7.i.i5.i.i = icmp eq i32 %and6.i.i4.i.i, 0
br i1 %cmp7.i.i5.i.i, label %_Z11speex_alloci.exit8.i.i, label %if.then8.i.i7.i.i
if.then8.i.i7.i.i: ; preds = %land.lhs.true5.i.i6.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i1.i.i, i8 0, i32 %mul11.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit8.i.i
_Z11speex_alloci.exit8.i.i: ; preds = %if.then8.i.i7.i.i, %land.lhs.true5.i.i6.i.i, %_Z14filterbank_newifii.exit.i.i
%161 = bitcast i8* %call.i.i1.i.i to float*
%frame.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 68
%162 = bitcast i8* %frame.i.i to float**
store float* %161, float** %162, align 4
%call.i.i9.i.i = call fastcc i8* @malloc(i32 %mul11.i.i) nounwind
%cmp4.i.i10.i.i = icmp eq i8* %call.i.i9.i.i, null
br i1 %cmp4.i.i10.i.i, label %_Z11speex_alloci.exit16.i.i, label %land.lhs.true5.i.i14.i.i
land.lhs.true5.i.i14.i.i: ; preds = %_Z11speex_alloci.exit8.i.i
%head.i.i11.i.i = getelementptr inbounds i8* %call.i.i9.i.i, i32 -4
%163 = bitcast i8* %head.i.i11.i.i to i32*
%164 = load i32* %163, align 4
%and6.i.i12.i.i = and i32 %164, 3
%cmp7.i.i13.i.i = icmp eq i32 %and6.i.i12.i.i, 0
br i1 %cmp7.i.i13.i.i, label %_Z11speex_alloci.exit16.i.i, label %if.then8.i.i15.i.i
if.then8.i.i15.i.i: ; preds = %land.lhs.true5.i.i14.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i9.i.i, i8 0, i32 %mul11.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit16.i.i
_Z11speex_alloci.exit16.i.i: ; preds = %if.then8.i.i15.i.i, %land.lhs.true5.i.i14.i.i, %_Z11speex_alloci.exit8.i.i
%165 = bitcast i8* %call.i.i9.i.i to float*
%window.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 88
%166 = bitcast i8* %window.i.i to float**
store float* %165, float** %166, align 4
%call.i.i17.i.i = call fastcc i8* @malloc(i32 %mul11.i.i) nounwind
%cmp4.i.i18.i.i = icmp eq i8* %call.i.i17.i.i, null
br i1 %cmp4.i.i18.i.i, label %_Z11speex_alloci.exit24.i.i, label %land.lhs.true5.i.i22.i.i
land.lhs.true5.i.i22.i.i: ; preds = %_Z11speex_alloci.exit16.i.i
%head.i.i19.i.i = getelementptr inbounds i8* %call.i.i17.i.i, i32 -4
%167 = bitcast i8* %head.i.i19.i.i to i32*
%168 = load i32* %167, align 4
%and6.i.i20.i.i = and i32 %168, 3
%cmp7.i.i21.i.i = icmp eq i32 %and6.i.i20.i.i, 0
br i1 %cmp7.i.i21.i.i, label %_Z11speex_alloci.exit24.i.i, label %if.then8.i.i23.i.i
if.then8.i.i23.i.i: ; preds = %land.lhs.true5.i.i22.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i17.i.i, i8 0, i32 %mul11.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit24.i.i
_Z11speex_alloci.exit24.i.i: ; preds = %if.then8.i.i23.i.i, %land.lhs.true5.i.i22.i.i, %_Z11speex_alloci.exit16.i.i
%169 = bitcast i8* %call.i.i17.i.i to float*
%ft.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 72
%170 = bitcast i8* %ft.i.i to float**
store float* %169, float** %170, align 4
%add.i33.i = add nsw i32 %93, 24
%mul19.i.i = shl i32 %add.i33.i, 2
%call.i.i25.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i26.i.i = icmp eq i8* %call.i.i25.i.i, null
br i1 %cmp4.i.i26.i.i, label %_Z11speex_alloci.exit32.i.i, label %land.lhs.true5.i.i30.i.i
land.lhs.true5.i.i30.i.i: ; preds = %_Z11speex_alloci.exit24.i.i
%head.i.i27.i.i = getelementptr inbounds i8* %call.i.i25.i.i, i32 -4
%171 = bitcast i8* %head.i.i27.i.i to i32*
%172 = load i32* %171, align 4
%and6.i.i28.i.i = and i32 %172, 3
%cmp7.i.i29.i.i = icmp eq i32 %and6.i.i28.i.i, 0
br i1 %cmp7.i.i29.i.i, label %_Z11speex_alloci.exit32.i.i, label %if.then8.i.i31.i.i
if.then8.i.i31.i.i: ; preds = %land.lhs.true5.i.i30.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i25.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit32.i.i
_Z11speex_alloci.exit32.i.i: ; preds = %if.then8.i.i31.i.i, %land.lhs.true5.i.i30.i.i, %_Z11speex_alloci.exit24.i.i
%173 = bitcast i8* %call.i.i25.i.i to float*
%ps.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 76
%174 = bitcast i8* %ps.i.i to float**
store float* %173, float** %174, align 4
%call.i.i33.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i34.i.i = icmp eq i8* %call.i.i33.i.i, null
br i1 %cmp4.i.i34.i.i, label %_Z11speex_alloci.exit40.i.i, label %land.lhs.true5.i.i38.i.i
land.lhs.true5.i.i38.i.i: ; preds = %_Z11speex_alloci.exit32.i.i
%head.i.i35.i.i = getelementptr inbounds i8* %call.i.i33.i.i, i32 -4
%175 = bitcast i8* %head.i.i35.i.i to i32*
%176 = load i32* %175, align 4
%and6.i.i36.i.i = and i32 %176, 3
%cmp7.i.i37.i.i = icmp eq i32 %and6.i.i36.i.i, 0
br i1 %cmp7.i.i37.i.i, label %_Z11speex_alloci.exit40.i.i, label %if.then8.i.i39.i.i
if.then8.i.i39.i.i: ; preds = %land.lhs.true5.i.i38.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i33.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit40.i.i
_Z11speex_alloci.exit40.i.i: ; preds = %if.then8.i.i39.i.i, %land.lhs.true5.i.i38.i.i, %_Z11speex_alloci.exit32.i.i
%177 = bitcast i8* %call.i.i33.i.i to float*
%noise.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 92
%178 = bitcast i8* %noise.i.i to float**
store float* %177, float** %178, align 4
%call.i.i41.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i42.i.i = icmp eq i8* %call.i.i41.i.i, null
br i1 %cmp4.i.i42.i.i, label %_Z11speex_alloci.exit48.i.i, label %land.lhs.true5.i.i46.i.i
land.lhs.true5.i.i46.i.i: ; preds = %_Z11speex_alloci.exit40.i.i
%head.i.i43.i.i = getelementptr inbounds i8* %call.i.i41.i.i, i32 -4
%179 = bitcast i8* %head.i.i43.i.i to i32*
%180 = load i32* %179, align 4
%and6.i.i44.i.i = and i32 %180, 3
%cmp7.i.i45.i.i = icmp eq i32 %and6.i.i44.i.i, 0
br i1 %cmp7.i.i45.i.i, label %_Z11speex_alloci.exit48.i.i, label %if.then8.i.i47.i.i
if.then8.i.i47.i.i: ; preds = %land.lhs.true5.i.i46.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i41.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit48.i.i
_Z11speex_alloci.exit48.i.i: ; preds = %if.then8.i.i47.i.i, %land.lhs.true5.i.i46.i.i, %_Z11speex_alloci.exit40.i.i
%181 = bitcast i8* %call.i.i41.i.i to float*
%echo_noise.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 136
%182 = bitcast i8* %echo_noise.i.i to float**
store float* %181, float** %182, align 4
%call.i.i49.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i50.i.i = icmp eq i8* %call.i.i49.i.i, null
br i1 %cmp4.i.i50.i.i, label %_Z11speex_alloci.exit56.i.i, label %land.lhs.true5.i.i54.i.i
land.lhs.true5.i.i54.i.i: ; preds = %_Z11speex_alloci.exit48.i.i
%head.i.i51.i.i = getelementptr inbounds i8* %call.i.i49.i.i, i32 -4
%183 = bitcast i8* %head.i.i51.i.i to i32*
%184 = load i32* %183, align 4
%and6.i.i52.i.i = and i32 %184, 3
%cmp7.i.i53.i.i = icmp eq i32 %and6.i.i52.i.i, 0
br i1 %cmp7.i.i53.i.i, label %_Z11speex_alloci.exit56.i.i, label %if.then8.i.i55.i.i
if.then8.i.i55.i.i: ; preds = %land.lhs.true5.i.i54.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i49.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit56.i.i
_Z11speex_alloci.exit56.i.i: ; preds = %if.then8.i.i55.i.i, %land.lhs.true5.i.i54.i.i, %_Z11speex_alloci.exit48.i.i
%185 = bitcast i8* %call.i.i49.i.i to float*
%residual_echo.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 140
%186 = bitcast i8* %residual_echo.i.i to float**
store float* %185, float** %186, align 4
%call.i.i57.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i58.i.i = icmp eq i8* %call.i.i57.i.i, null
br i1 %cmp4.i.i58.i.i, label %_Z11speex_alloci.exit64.i.i, label %land.lhs.true5.i.i62.i.i
land.lhs.true5.i.i62.i.i: ; preds = %_Z11speex_alloci.exit56.i.i
%head.i.i59.i.i = getelementptr inbounds i8* %call.i.i57.i.i, i32 -4
%187 = bitcast i8* %head.i.i59.i.i to i32*
%188 = load i32* %187, align 4
%and6.i.i60.i.i = and i32 %188, 3
%cmp7.i.i61.i.i = icmp eq i32 %and6.i.i60.i.i, 0
br i1 %cmp7.i.i61.i.i, label %_Z11speex_alloci.exit64.i.i, label %if.then8.i.i63.i.i
if.then8.i.i63.i.i: ; preds = %land.lhs.true5.i.i62.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i57.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit64.i.i
_Z11speex_alloci.exit64.i.i: ; preds = %if.then8.i.i63.i.i, %land.lhs.true5.i.i62.i.i, %_Z11speex_alloci.exit56.i.i
%189 = bitcast i8* %call.i.i57.i.i to float*
%reverb_estimate.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 96
%190 = bitcast i8* %reverb_estimate.i.i to float**
store float* %189, float** %190, align 4
%call.i.i65.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i66.i.i = icmp eq i8* %call.i.i65.i.i, null
br i1 %cmp4.i.i66.i.i, label %_Z11speex_alloci.exit72.i.i, label %land.lhs.true5.i.i70.i.i
land.lhs.true5.i.i70.i.i: ; preds = %_Z11speex_alloci.exit64.i.i
%head.i.i67.i.i = getelementptr inbounds i8* %call.i.i65.i.i, i32 -4
%191 = bitcast i8* %head.i.i67.i.i to i32*
%192 = load i32* %191, align 4
%and6.i.i68.i.i = and i32 %192, 3
%cmp7.i.i69.i.i = icmp eq i32 %and6.i.i68.i.i, 0
br i1 %cmp7.i.i69.i.i, label %_Z11speex_alloci.exit72.i.i, label %if.then8.i.i71.i.i
if.then8.i.i71.i.i: ; preds = %land.lhs.true5.i.i70.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i65.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit72.i.i
_Z11speex_alloci.exit72.i.i: ; preds = %if.then8.i.i71.i.i, %land.lhs.true5.i.i70.i.i, %_Z11speex_alloci.exit64.i.i
%193 = bitcast i8* %call.i.i65.i.i to float*
%old_ps.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 100
%194 = bitcast i8* %old_ps.i.i to float**
store float* %193, float** %194, align 4
%call.i.i73.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i74.i.i = icmp eq i8* %call.i.i73.i.i, null
br i1 %cmp4.i.i74.i.i, label %_Z11speex_alloci.exit80.i.i, label %land.lhs.true5.i.i78.i.i
land.lhs.true5.i.i78.i.i: ; preds = %_Z11speex_alloci.exit72.i.i
%head.i.i75.i.i = getelementptr inbounds i8* %call.i.i73.i.i, i32 -4
%195 = bitcast i8* %head.i.i75.i.i to i32*
%196 = load i32* %195, align 4
%and6.i.i76.i.i = and i32 %196, 3
%cmp7.i.i77.i.i = icmp eq i32 %and6.i.i76.i.i, 0
br i1 %cmp7.i.i77.i.i, label %_Z11speex_alloci.exit80.i.i, label %if.then8.i.i79.i.i
if.then8.i.i79.i.i: ; preds = %land.lhs.true5.i.i78.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i73.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit80.i.i
_Z11speex_alloci.exit80.i.i: ; preds = %if.then8.i.i79.i.i, %land.lhs.true5.i.i78.i.i, %_Z11speex_alloci.exit72.i.i
%197 = bitcast i8* %call.i.i73.i.i to float*
%prior.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 108
%198 = bitcast i8* %prior.i.i to float**
store float* %197, float** %198, align 4
%call.i.i81.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i82.i.i = icmp eq i8* %call.i.i81.i.i, null
br i1 %cmp4.i.i82.i.i, label %_Z11speex_alloci.exit88.i.i, label %land.lhs.true5.i.i86.i.i
land.lhs.true5.i.i86.i.i: ; preds = %_Z11speex_alloci.exit80.i.i
%head.i.i83.i.i = getelementptr inbounds i8* %call.i.i81.i.i, i32 -4
%199 = bitcast i8* %head.i.i83.i.i to i32*
%200 = load i32* %199, align 4
%and6.i.i84.i.i = and i32 %200, 3
%cmp7.i.i85.i.i = icmp eq i32 %and6.i.i84.i.i, 0
br i1 %cmp7.i.i85.i.i, label %_Z11speex_alloci.exit88.i.i, label %if.then8.i.i87.i.i
if.then8.i.i87.i.i: ; preds = %land.lhs.true5.i.i86.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i81.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit88.i.i
_Z11speex_alloci.exit88.i.i: ; preds = %if.then8.i.i87.i.i, %land.lhs.true5.i.i86.i.i, %_Z11speex_alloci.exit80.i.i
%201 = bitcast i8* %call.i.i81.i.i to float*
%post.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 112
%202 = bitcast i8* %post.i.i to float**
store float* %201, float** %202, align 4
%call.i.i89.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i90.i.i = icmp eq i8* %call.i.i89.i.i, null
br i1 %cmp4.i.i90.i.i, label %_Z11speex_alloci.exit96.i.i, label %land.lhs.true5.i.i94.i.i
land.lhs.true5.i.i94.i.i: ; preds = %_Z11speex_alloci.exit88.i.i
%head.i.i91.i.i = getelementptr inbounds i8* %call.i.i89.i.i, i32 -4
%203 = bitcast i8* %head.i.i91.i.i to i32*
%204 = load i32* %203, align 4
%and6.i.i92.i.i = and i32 %204, 3
%cmp7.i.i93.i.i = icmp eq i32 %and6.i.i92.i.i, 0
br i1 %cmp7.i.i93.i.i, label %_Z11speex_alloci.exit96.i.i, label %if.then8.i.i95.i.i
if.then8.i.i95.i.i: ; preds = %land.lhs.true5.i.i94.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i89.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit96.i.i
_Z11speex_alloci.exit96.i.i: ; preds = %if.then8.i.i95.i.i, %land.lhs.true5.i.i94.i.i, %_Z11speex_alloci.exit88.i.i
%205 = bitcast i8* %call.i.i89.i.i to float*
%gain.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 104
%206 = bitcast i8* %gain.i.i to float**
store float* %205, float** %206, align 4
%call.i.i97.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i98.i.i = icmp eq i8* %call.i.i97.i.i, null
br i1 %cmp4.i.i98.i.i, label %_Z11speex_alloci.exit104.i.i, label %land.lhs.true5.i.i102.i.i
land.lhs.true5.i.i102.i.i: ; preds = %_Z11speex_alloci.exit96.i.i
%head.i.i99.i.i = getelementptr inbounds i8* %call.i.i97.i.i, i32 -4
%207 = bitcast i8* %head.i.i99.i.i to i32*
%208 = load i32* %207, align 4
%and6.i.i100.i.i = and i32 %208, 3
%cmp7.i.i101.i.i = icmp eq i32 %and6.i.i100.i.i, 0
br i1 %cmp7.i.i101.i.i, label %_Z11speex_alloci.exit104.i.i, label %if.then8.i.i103.i.i
if.then8.i.i103.i.i: ; preds = %land.lhs.true5.i.i102.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i97.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit104.i.i
_Z11speex_alloci.exit104.i.i: ; preds = %if.then8.i.i103.i.i, %land.lhs.true5.i.i102.i.i, %_Z11speex_alloci.exit96.i.i
%209 = bitcast i8* %call.i.i97.i.i to float*
%gain2.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 80
%210 = bitcast i8* %gain2.i.i to float**
store float* %209, float** %210, align 4
%call.i.i105.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i106.i.i = icmp eq i8* %call.i.i105.i.i, null
br i1 %cmp4.i.i106.i.i, label %_Z11speex_alloci.exit112.i.i, label %land.lhs.true5.i.i110.i.i
land.lhs.true5.i.i110.i.i: ; preds = %_Z11speex_alloci.exit104.i.i
%head.i.i107.i.i = getelementptr inbounds i8* %call.i.i105.i.i, i32 -4
%211 = bitcast i8* %head.i.i107.i.i to i32*
%212 = load i32* %211, align 4
%and6.i.i108.i.i = and i32 %212, 3
%cmp7.i.i109.i.i = icmp eq i32 %and6.i.i108.i.i, 0
br i1 %cmp7.i.i109.i.i, label %_Z11speex_alloci.exit112.i.i, label %if.then8.i.i111.i.i
if.then8.i.i111.i.i: ; preds = %land.lhs.true5.i.i110.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i105.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit112.i.i
_Z11speex_alloci.exit112.i.i: ; preds = %if.then8.i.i111.i.i, %land.lhs.true5.i.i110.i.i, %_Z11speex_alloci.exit104.i.i
%213 = bitcast i8* %call.i.i105.i.i to float*
%gain_floor.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 84
%214 = bitcast i8* %gain_floor.i.i to float**
store float* %213, float** %214, align 4
%call.i.i113.i.i = call fastcc i8* @malloc(i32 %mul19.i.i) nounwind
%cmp4.i.i114.i.i = icmp eq i8* %call.i.i113.i.i, null
br i1 %cmp4.i.i114.i.i, label %_Z11speex_alloci.exit120.i.i, label %land.lhs.true5.i.i118.i.i
land.lhs.true5.i.i118.i.i: ; preds = %_Z11speex_alloci.exit112.i.i
%head.i.i115.i.i = getelementptr inbounds i8* %call.i.i113.i.i, i32 -4
%215 = bitcast i8* %head.i.i115.i.i to i32*
%216 = load i32* %215, align 4
%and6.i.i116.i.i = and i32 %216, 3
%cmp7.i.i117.i.i = icmp eq i32 %and6.i.i116.i.i, 0
br i1 %cmp7.i.i117.i.i, label %_Z11speex_alloci.exit120.i.i, label %if.then8.i.i119.i.i
if.then8.i.i119.i.i: ; preds = %land.lhs.true5.i.i118.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i113.i.i, i8 0, i32 %mul19.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit120.i.i
_Z11speex_alloci.exit120.i.i: ; preds = %if.then8.i.i119.i.i, %land.lhs.true5.i.i118.i.i, %_Z11speex_alloci.exit112.i.i
%217 = bitcast i8* %call.i.i113.i.i to float*
%zeta.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 132
%218 = bitcast i8* %zeta.i.i to float**
store float* %217, float** %218, align 4
%call.i.i121.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i122.i.i = icmp eq i8* %call.i.i121.i.i, null
br i1 %cmp4.i.i122.i.i, label %_Z11speex_alloci.exit128.i.i, label %land.lhs.true5.i.i126.i.i
land.lhs.true5.i.i126.i.i: ; preds = %_Z11speex_alloci.exit120.i.i
%head.i.i123.i.i = getelementptr inbounds i8* %call.i.i121.i.i, i32 -4
%219 = bitcast i8* %head.i.i123.i.i to i32*
%220 = load i32* %219, align 4
%and6.i.i124.i.i = and i32 %220, 3
%cmp7.i.i125.i.i = icmp eq i32 %and6.i.i124.i.i, 0
br i1 %cmp7.i.i125.i.i, label %_Z11speex_alloci.exit128.i.i, label %if.then8.i.i127.i.i
if.then8.i.i127.i.i: ; preds = %land.lhs.true5.i.i126.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i121.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit128.i.i
_Z11speex_alloci.exit128.i.i: ; preds = %if.then8.i.i127.i.i, %land.lhs.true5.i.i126.i.i, %_Z11speex_alloci.exit120.i.i
%221 = bitcast i8* %call.i.i121.i.i to float*
%S.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 116
%222 = bitcast i8* %S.i.i to float**
store float* %221, float** %222, align 4
%call.i.i129.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i130.i.i = icmp eq i8* %call.i.i129.i.i, null
br i1 %cmp4.i.i130.i.i, label %_Z11speex_alloci.exit136.i.i, label %land.lhs.true5.i.i134.i.i
land.lhs.true5.i.i134.i.i: ; preds = %_Z11speex_alloci.exit128.i.i
%head.i.i131.i.i = getelementptr inbounds i8* %call.i.i129.i.i, i32 -4
%223 = bitcast i8* %head.i.i131.i.i to i32*
%224 = load i32* %223, align 4
%and6.i.i132.i.i = and i32 %224, 3
%cmp7.i.i133.i.i = icmp eq i32 %and6.i.i132.i.i, 0
br i1 %cmp7.i.i133.i.i, label %_Z11speex_alloci.exit136.i.i, label %if.then8.i.i135.i.i
if.then8.i.i135.i.i: ; preds = %land.lhs.true5.i.i134.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i129.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit136.i.i
_Z11speex_alloci.exit136.i.i: ; preds = %if.then8.i.i135.i.i, %land.lhs.true5.i.i134.i.i, %_Z11speex_alloci.exit128.i.i
%225 = bitcast i8* %call.i.i129.i.i to float*
%Smin.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 120
%226 = bitcast i8* %Smin.i.i to float**
store float* %225, float** %226, align 4
%call.i.i137.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i138.i.i = icmp eq i8* %call.i.i137.i.i, null
br i1 %cmp4.i.i138.i.i, label %_Z11speex_alloci.exit144.i.i, label %land.lhs.true5.i.i142.i.i
land.lhs.true5.i.i142.i.i: ; preds = %_Z11speex_alloci.exit136.i.i
%head.i.i139.i.i = getelementptr inbounds i8* %call.i.i137.i.i, i32 -4
%227 = bitcast i8* %head.i.i139.i.i to i32*
%228 = load i32* %227, align 4
%and6.i.i140.i.i = and i32 %228, 3
%cmp7.i.i141.i.i = icmp eq i32 %and6.i.i140.i.i, 0
br i1 %cmp7.i.i141.i.i, label %_Z11speex_alloci.exit144.i.i, label %if.then8.i.i143.i.i
if.then8.i.i143.i.i: ; preds = %land.lhs.true5.i.i142.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i137.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit144.i.i
_Z11speex_alloci.exit144.i.i: ; preds = %if.then8.i.i143.i.i, %land.lhs.true5.i.i142.i.i, %_Z11speex_alloci.exit136.i.i
%229 = bitcast i8* %call.i.i137.i.i to float*
%Stmp.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 124
%230 = bitcast i8* %Stmp.i.i to float**
store float* %229, float** %230, align 4
%call.i.i145.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i146.i.i = icmp eq i8* %call.i.i145.i.i, null
br i1 %cmp4.i.i146.i.i, label %_Z11speex_alloci.exit152.i.i, label %land.lhs.true5.i.i150.i.i
land.lhs.true5.i.i150.i.i: ; preds = %_Z11speex_alloci.exit144.i.i
%head.i.i147.i.i = getelementptr inbounds i8* %call.i.i145.i.i, i32 -4
%231 = bitcast i8* %head.i.i147.i.i to i32*
%232 = load i32* %231, align 4
%and6.i.i148.i.i = and i32 %232, 3
%cmp7.i.i149.i.i = icmp eq i32 %and6.i.i148.i.i, 0
br i1 %cmp7.i.i149.i.i, label %_Z11speex_alloci.exit152.i.i, label %if.then8.i.i151.i.i
if.then8.i.i151.i.i: ; preds = %land.lhs.true5.i.i150.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i145.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit152.i.i
_Z11speex_alloci.exit152.i.i: ; preds = %if.then8.i.i151.i.i, %land.lhs.true5.i.i150.i.i, %_Z11speex_alloci.exit144.i.i
%233 = bitcast i8* %call.i.i145.i.i to i32*
%update_prob.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 128
%234 = bitcast i8* %update_prob.i.i to i32**
store i32* %233, i32** %234, align 4
%call.i.i153.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i154.i.i = icmp eq i8* %call.i.i153.i.i, null
br i1 %cmp4.i.i154.i.i, label %_Z11speex_alloci.exit160.i.i, label %land.lhs.true5.i.i158.i.i
land.lhs.true5.i.i158.i.i: ; preds = %_Z11speex_alloci.exit152.i.i
%head.i.i155.i.i = getelementptr inbounds i8* %call.i.i153.i.i, i32 -4
%235 = bitcast i8* %head.i.i155.i.i to i32*
%236 = load i32* %235, align 4
%and6.i.i156.i.i = and i32 %236, 3
%cmp7.i.i157.i.i = icmp eq i32 %and6.i.i156.i.i, 0
br i1 %cmp7.i.i157.i.i, label %_Z11speex_alloci.exit160.i.i, label %if.then8.i.i159.i.i
if.then8.i.i159.i.i: ; preds = %land.lhs.true5.i.i158.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i153.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit160.i.i
_Z11speex_alloci.exit160.i.i: ; preds = %if.then8.i.i159.i.i, %land.lhs.true5.i.i158.i.i, %_Z11speex_alloci.exit152.i.i
%237 = bitcast i8* %call.i.i153.i.i to float*
%inbuf.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 144
%238 = bitcast i8* %inbuf.i.i to float**
store float* %237, float** %238, align 4
%call.i.i161.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i162.i.i = icmp eq i8* %call.i.i161.i.i, null
br i1 %cmp4.i.i162.i.i, label %_Z11speex_alloci.exit168.i.i, label %land.lhs.true5.i.i166.i.i
land.lhs.true5.i.i166.i.i: ; preds = %_Z11speex_alloci.exit160.i.i
%head.i.i163.i.i = getelementptr inbounds i8* %call.i.i161.i.i, i32 -4
%239 = bitcast i8* %head.i.i163.i.i to i32*
%240 = load i32* %239, align 4
%and6.i.i164.i.i = and i32 %240, 3
%cmp7.i.i165.i.i = icmp eq i32 %and6.i.i164.i.i, 0
br i1 %cmp7.i.i165.i.i, label %_Z11speex_alloci.exit168.i.i, label %if.then8.i.i167.i.i
if.then8.i.i167.i.i: ; preds = %land.lhs.true5.i.i166.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i161.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit168.i.i
_Z11speex_alloci.exit168.i.i: ; preds = %if.then8.i.i167.i.i, %land.lhs.true5.i.i166.i.i, %_Z11speex_alloci.exit160.i.i
%241 = bitcast i8* %call.i.i161.i.i to float*
%outbuf.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 148
%242 = bitcast i8* %outbuf.i.i to float**
store float* %241, float** %242, align 4
%243 = load float** %166, align 4
%cmp1.i.i.i = icmp sgt i32 %mul.i.i, 0
br i1 %cmp1.i.i.i, label %for.body.lr.ph.i.i.i, label %for.cond.preheader.i.i
for.body.lr.ph.i.i.i: ; preds = %_Z11speex_alloci.exit168.i.i
%conv2.i.i.i = sitofp i32 %mul.i.i to float
br label %for.body.i.i.i
for.body.i.i.i: ; preds = %if.end29.i.i.i, %for.body.lr.ph.i.i.i
%i.02.i.i.i = phi i32 [ 0, %for.body.lr.ph.i.i.i ], [ %inc.i.i.i, %if.end29.i.i.i ]
%conv.i.i.i = sitofp i32 %i.02.i.i.i to float
%mul.i.i.i = fmul float %conv.i.i.i, 4.000000e+00
%div.i.i.i = fdiv float %mul.i.i.i, %conv2.i.i.i
%cmp4.i.i.i = fcmp olt float %div.i.i.i, 1.000000e+00
br i1 %cmp4.i.i.i, label %if.end14.i.i.i, label %if.else.i.i.i
if.else.i.i.i: ; preds = %for.body.i.i.i
%cmp5.i.i.i = fcmp olt float %div.i.i.i, 2.000000e+00
br i1 %cmp5.i.i.i, label %if.then6.i.i.i, label %if.else7.i.i.i
if.then6.i.i.i: ; preds = %if.else.i.i.i
%sub.i.i.i = fsub float 2.000000e+00, %div.i.i.i
br label %if.end14.i.i.i
if.else7.i.i.i: ; preds = %if.else.i.i.i
%cmp8.i.i.i = fcmp olt float %div.i.i.i, 3.000000e+00
br i1 %cmp8.i.i.i, label %if.then9.i.i.i, label %if.else11.i.i.i
if.then9.i.i.i: ; preds = %if.else7.i.i.i
%sub10.i.i.i = fadd float %div.i.i.i, -2.000000e+00
br label %if.end14.i.i.i
if.else11.i.i.i: ; preds = %if.else7.i.i.i
%sub12.i.i.i = fsub float 2.000000e+00, %div.i.i.i
%add.i.i.i = fadd float %sub12.i.i.i, 2.000000e+00
br label %if.end14.i.i.i
if.end14.i.i.i: ; preds = %if.else11.i.i.i, %if.then9.i.i.i, %if.then6.i.i.i, %for.body.i.i.i
%x.0.i.i.i = phi float [ %div.i.i.i, %for.body.i.i.i ], [ %sub.i.i.i, %if.then6.i.i.i ], [ %sub10.i.i.i, %if.then9.i.i.i ], [ %add.i.i.i, %if.else11.i.i.i ]
%inv.0.i.i.i = phi i1 [ false, %for.body.i.i.i ], [ true, %if.then6.i.i.i ], [ true, %if.then9.i.i.i ], [ false, %if.else11.i.i.i ]
%mul15.i.i.i = fmul float %x.0.i.i.i, 0x3FF459B700000000
%conv16.i.i.i = fpext float %mul15.i.i.i to double
%mul17.i.i.i = fmul double %conv16.i.i.i, 0x3FF921FB54442D18
%call.i.i34.i = call double @cos(double %mul17.i.i.i) nounwind readnone
%mul18.i.i.i = fmul double %call.i.i34.i, 5.000000e-01
%sub19.i.i.i = fsub double 5.000000e-01, %mul18.i.i.i
%mul25.i.i.i = fmul double %sub19.i.i.i, %sub19.i.i.i
%conv26.i.i.i = fptrunc double %mul25.i.i.i to float
br i1 %inv.0.i.i.i, label %if.then27.i.i.i, label %if.end29.i.i.i
if.then27.i.i.i: ; preds = %if.end14.i.i.i
%sub28.i.i.i = fsub float 1.000000e+00, %conv26.i.i.i
br label %if.end29.i.i.i
if.end29.i.i.i: ; preds = %if.then27.i.i.i, %if.end14.i.i.i
%tmp.0.i.i.i = phi float [ %sub28.i.i.i, %if.then27.i.i.i ], [ %conv26.i.i.i, %if.end14.i.i.i ]
%conv32.i.i.i = call float @sqrtf(float %tmp.0.i.i.i) nounwind readnone
%arrayidx.i.i.i = getelementptr inbounds float* %243, i32 %i.02.i.i.i
store float %conv32.i.i.i, float* %arrayidx.i.i.i, align 4
%inc.i.i.i = add nsw i32 %i.02.i.i.i, 1
%exitcond.i.i.i = icmp eq i32 %inc.i.i.i, %mul.i.i
br i1 %exitcond.i.i.i, label %for.cond.preheader.i.i, label %for.body.i.i.i
for.cond.preheader.i.i: ; preds = %if.end29.i.i.i, %_Z11speex_alloci.exit168.i.i
%244 = load i32* %98, align 4
%mul70188.i.i = shl nsw i32 %244, 1
%cmp189.i.i = icmp slt i32 %mul.i.i, %mul70188.i.i
br i1 %cmp189.i.i, label %for.body.i.i, label %for.cond89.preheader.i.i
for.body.i.i: ; preds = %for.body.i.i, %for.cond.preheader.i.i
%i.0190.i.i = phi i32 [ %mul.i.i, %for.cond.preheader.i.i ], [ %inc.i.i, %for.body.i.i ]
%245 = load float** %166, align 4
%arrayidx.i35.i = getelementptr inbounds float* %245, i32 %i.0190.i.i
store float 1.000000e+00, float* %arrayidx.i35.i, align 4
%inc.i.i = add nsw i32 %i.0190.i.i, 1
%246 = load i32* %98, align 4
%mul70.i.i = shl nsw i32 %246, 1
%cmp.i36.i = icmp slt i32 %inc.i.i, %mul70.i.i
br i1 %cmp.i36.i, label %for.body.i.i, label %for.cond89.preheader.i.i
for.cond89.preheader.i.i: ; preds = %for.body.i.i, %for.cond.preheader.i.i
%cmp91183.i.i = icmp sgt i32 %add.i33.i, 0
br i1 %cmp91183.i.i, label %for.body92.i.i, label %for.cond108.preheader.i.i
for.cond108.preheader.i.i: ; preds = %for.body92.i.i, %for.cond89.preheader.i.i
%cmp109181.i.i = icmp sgt i32 %93, 0
br i1 %cmp109181.i.i, label %for.body110.i.i, label %for.end125.i.i
for.body92.i.i: ; preds = %for.body92.i.i, %for.cond89.preheader.i.i
%i.2184.i.i = phi i32 [ %inc106.i.i, %for.body92.i.i ], [ 0, %for.cond89.preheader.i.i ]
%247 = load float** %178, align 4
%arrayidx94.i.i = getelementptr inbounds float* %247, i32 %i.2184.i.i
store float 1.000000e+00, float* %arrayidx94.i.i, align 4
%248 = load float** %190, align 4
%arrayidx96.i.i = getelementptr inbounds float* %248, i32 %i.2184.i.i
store float 0.000000e+00, float* %arrayidx96.i.i, align 4
%249 = load float** %194, align 4
%arrayidx98.i.i = getelementptr inbounds float* %249, i32 %i.2184.i.i
store float 1.000000e+00, float* %arrayidx98.i.i, align 4
%250 = load float** %206, align 4
%arrayidx100.i.i = getelementptr inbounds float* %250, i32 %i.2184.i.i
store float 1.000000e+00, float* %arrayidx100.i.i, align 4
%251 = load float** %202, align 4
%arrayidx102.i.i = getelementptr inbounds float* %251, i32 %i.2184.i.i
store float 1.000000e+00, float* %arrayidx102.i.i, align 4
%252 = load float** %198, align 4
%arrayidx104.i.i = getelementptr inbounds float* %252, i32 %i.2184.i.i
store float 1.000000e+00, float* %arrayidx104.i.i, align 4
%inc106.i.i = add nsw i32 %i.2184.i.i, 1
%exitcond193.i.i = icmp eq i32 %inc106.i.i, %add.i33.i
br i1 %exitcond193.i.i, label %for.cond108.preheader.i.i, label %for.body92.i.i
for.body110.i.i: ; preds = %for.body110.i.i, %for.cond108.preheader.i.i
%i.3182.i.i = phi i32 [ %inc114.i.i, %for.body110.i.i ], [ 0, %for.cond108.preheader.i.i ]
%253 = load i32** %234, align 4
%arrayidx112.i.i = getelementptr inbounds i32* %253, i32 %i.3182.i.i
store i32 1, i32* %arrayidx112.i.i, align 4
%inc114.i.i = add nsw i32 %i.3182.i.i, 1
%exitcond192.i.i = icmp eq i32 %inc114.i.i, %93
br i1 %exitcond192.i.i, label %for.body118.i.i, label %for.body110.i.i
for.body118.i.i: ; preds = %for.body118.i.i, %for.body110.i.i
%i.4180.i.i = phi i32 [ %inc124.i.i, %for.body118.i.i ], [ 0, %for.body110.i.i ]
%254 = load float** %238, align 4
%arrayidx120.i.i = getelementptr inbounds float* %254, i32 %i.4180.i.i
store float 0.000000e+00, float* %arrayidx120.i.i, align 4
%255 = load float** %242, align 4
%arrayidx122.i.i = getelementptr inbounds float* %255, i32 %i.4180.i.i
store float 0.000000e+00, float* %arrayidx122.i.i, align 4
%inc124.i.i = add nsw i32 %i.4180.i.i, 1
%exitcond191.i.i = icmp eq i32 %inc124.i.i, %93
br i1 %exitcond191.i.i, label %for.end125.i.i, label %for.body118.i.i
for.end125.i.i: ; preds = %for.body118.i.i, %for.cond108.preheader.i.i
%agc_enabled.i37.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 152
%256 = bitcast i8* %agc_enabled.i37.i to i32*
store i32 0, i32* %256, align 4
%agc_level.i38.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 156
%257 = bitcast i8* %agc_level.i38.i to float*
store float 8.000000e+03, float* %257, align 4
%call.i.i169.i.i = call fastcc i8* @malloc(i32 %mul21.i.i.i) nounwind
%cmp4.i.i170.i.i = icmp eq i8* %call.i.i169.i.i, null
br i1 %cmp4.i.i170.i.i, label %_Z11speex_alloci.exit176.i.i, label %land.lhs.true5.i.i174.i.i
land.lhs.true5.i.i174.i.i: ; preds = %for.end125.i.i
%head.i.i171.i.i = getelementptr inbounds i8* %call.i.i169.i.i, i32 -4
%258 = bitcast i8* %head.i.i171.i.i to i32*
%259 = load i32* %258, align 4
%and6.i.i172.i.i = and i32 %259, 3
%cmp7.i.i173.i.i = icmp eq i32 %and6.i.i172.i.i, 0
br i1 %cmp7.i.i173.i.i, label %_Z11speex_alloci.exit176.i.i, label %if.then8.i.i175.i.i
if.then8.i.i175.i.i: ; preds = %land.lhs.true5.i.i174.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i169.i.i, i8 0, i32 %mul21.i.i.i, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit176.i.i
_Z11speex_alloci.exit176.i.i: ; preds = %if.then8.i.i175.i.i, %land.lhs.true5.i.i174.i.i, %for.end125.i.i
%260 = bitcast i8* %call.i.i169.i.i to float*
%loudness_weight.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 164
%261 = bitcast i8* %loudness_weight.i.i to float**
store float* %260, float** %261, align 4
br i1 %cmp109181.i.i, label %for.body130.lr.ph.i.i, label %for.end169.i.i
for.body130.lr.ph.i.i: ; preds = %_Z11speex_alloci.exit176.i.i
%conv134.i.i = sitofp i32 %94 to double
%conv137.i.i = fpext float %conv.i1.i.i to double
br label %for.body130.i.i
for.body130.i.i: ; preds = %if.end161.i.i, %for.body130.lr.ph.i.i
%i.5178.i.i = phi i32 [ 0, %for.body130.lr.ph.i.i ], [ %inc168.i.i, %if.end161.i.i ]
%conv131.i.i = sitofp i32 %i.5178.i.i to float
%conv132.i.i = fpext float %conv131.i.i to double
%mul133.i.i = fmul double %conv132.i.i, 5.000000e-01
%mul135.i.i = fmul double %mul133.i.i, %conv134.i.i
%div.i.i = fdiv double %mul135.i.i, %conv137.i.i
%conv138.i.i = fptrunc double %div.i.i to float
%mul139.i.i = fmul float %conv138.i.i, 0x3FD6666660000000
%div140.i.i = fdiv float %mul139.i.i, 1.600000e+04
%sub141.i.i = fsub float 0x3FD6666660000000, %div140.i.i
%conv142.i.i = fpext float %sub141.i.i to double
%sub143.i.i = fadd float %conv138.i.i, -3.800000e+03
%mul144.i.i = fmul float %sub143.i.i, -5.000000e-01
%mul146.i.i = fmul float %mul144.i.i, %sub143.i.i
%div147.i.i = fdiv float %mul146.i.i, 9.000000e+05
%conv148.i.i = fpext float %div147.i.i to double
%call149.i.i = call double @exp(double %conv148.i.i)
%mul150.i.i = fmul double %call149.i.i, 0x3FE75C2900000000
%add151.i.i = fadd double %conv142.i.i, %mul150.i.i
%conv152.i.i = fptrunc double %add151.i.i to float
%262 = load float** %261, align 4
%arrayidx154.i.i = getelementptr inbounds float* %262, i32 %i.5178.i.i
store float %conv152.i.i, float* %arrayidx154.i.i, align 4
%263 = load float** %261, align 4
%arrayidx156.i.i = getelementptr inbounds float* %263, i32 %i.5178.i.i
%264 = load float* %arrayidx156.i.i, align 4
%cmp157.i.i = fcmp olt float %264, 0x3F847AE140000000
br i1 %cmp157.i.i, label %if.then158.i.i, label %if.end161.i.i
if.then158.i.i: ; preds = %for.body130.i.i
store float 0x3F847AE140000000, float* %arrayidx156.i.i, align 4
%.pre.i.i = load float** %261, align 4
%arrayidx163.phi.trans.insert.i.i = getelementptr inbounds float* %.pre.i.i, i32 %i.5178.i.i
%.pre194.i.i = load float* %arrayidx163.phi.trans.insert.i.i, align 4
br label %if.end161.i.i
if.end161.i.i: ; preds = %if.then158.i.i, %for.body130.i.i
%265 = phi float [ %.pre194.i.i, %if.then158.i.i ], [ %264, %for.body130.i.i ]
%266 = phi float* [ %.pre.i.i, %if.then158.i.i ], [ %263, %for.body130.i.i ]
%arrayidx163.i.i = getelementptr inbounds float* %266, i32 %i.5178.i.i
%mul166.i.i = fmul float %265, %265
store float %mul166.i.i, float* %arrayidx163.i.i, align 4
%inc168.i.i = add nsw i32 %i.5178.i.i, 1
%exitcond.i.i = icmp eq i32 %inc168.i.i, %93
br i1 %exitcond.i.i, label %for.end169.i.i, label %for.body130.i.i
for.end169.i.i: ; preds = %if.end161.i.i, %_Z11speex_alloci.exit176.i.i
%loudness.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 168
%267 = bitcast i8* %loudness.i.i to float*
store float 0x3CD203AFA0000000, float* %267, align 4
%agc_gain.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 172
%268 = bitcast i8* %agc_gain.i.i to float*
store float 1.000000e+00, float* %268, align 4
%max_gain.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 176
%269 = bitcast i8* %max_gain.i.i to float*
store float 3.000000e+01, float* %269, align 4
%270 = load i32* %frame_size1.i.i, align 4
%conv171.i.i = sitofp i32 %270 to double
%mul172.i.i = fmul double %conv171.i.i, 0x3FF61ADEA8000000
%271 = load i32* %99, align 4
%conv174.i.i = sitofp i32 %271 to double
%div175.i.i = fdiv double %mul172.i.i, %conv174.i.i
%call176.i.i = call double @exp(double %div175.i.i)
%conv177.i.i = fptrunc double %call176.i.i to float
%max_increase_step.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 180
%272 = bitcast i8* %max_increase_step.i.i to float*
store float %conv177.i.i, float* %272, align 4
%273 = load i32* %frame_size1.i.i, align 4
%conv179.i.i = sitofp i32 %273 to double
%mul180.i.i = fmul double %conv179.i.i, 0xC0126BB98C000000
%274 = load i32* %99, align 4
%conv182.i.i = sitofp i32 %274 to double
%div183.i.i = fdiv double %mul180.i.i, %conv182.i.i
%call184.i.i = call double @exp(double %div183.i.i)
%conv185.i.i = fptrunc double %call184.i.i to float
%max_decrease_step.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 184
%275 = bitcast i8* %max_decrease_step.i.i to float*
store float %conv185.i.i, float* %275, align 4
%prev_loudness.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 188
%276 = bitcast i8* %prev_loudness.i.i to float*
store float 1.000000e+00, float* %276, align 4
%init_max.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 192
%277 = bitcast i8* %init_max.i.i to float*
store float 1.000000e+00, float* %277, align 4
%was_speech.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 200
%278 = bitcast i8* %was_speech.i.i to i32*
store i32 0, i32* %278, align 4
%call.i.i.i.i.i = call fastcc i8* @malloc(i32 12) nounwind
%cmp4.i.i.i.i.i = icmp eq i8* %call.i.i.i.i.i, null
br i1 %cmp4.i.i.i.i.i, label %speex_preprocess_state_init.exit.i, label %land.lhs.true5.i.i.i.i.i
land.lhs.true5.i.i.i.i.i: ; preds = %for.end169.i.i
%head.i.i.i.i.i = getelementptr inbounds i8* %call.i.i.i.i.i, i32 -4
%279 = bitcast i8* %head.i.i.i.i.i to i32*
%280 = load i32* %279, align 4
%and6.i.i.i.i.i = and i32 %280, 3
%cmp7.i.i.i.i.i = icmp eq i32 %and6.i.i.i.i.i, 0
br i1 %cmp7.i.i.i.i.i, label %speex_preprocess_state_init.exit.i, label %if.then8.i.i.i.i.i
if.then8.i.i.i.i.i: ; preds = %land.lhs.true5.i.i.i.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i.i.i.i, i8 0, i32 12, i32 1, i1 false) nounwind
br label %speex_preprocess_state_init.exit.i
speex_preprocess_state_init.exit.i: ; preds = %if.then8.i.i.i.i.i, %land.lhs.true5.i.i.i.i.i, %for.end169.i.i
%call1.i.i.i = call fastcc %struct.kiss_fftr_state* @kiss_fftr_alloc(i32 %mul.i.i, i32 0)
%forward.i.i.i = bitcast i8* %call.i.i.i.i.i to %struct.kiss_fftr_state**
store %struct.kiss_fftr_state* %call1.i.i.i, %struct.kiss_fftr_state** %forward.i.i.i, align 4
%call2.i.i.i = call fastcc %struct.kiss_fftr_state* @kiss_fftr_alloc(i32 %mul.i.i, i32 1)
%backward.i.i.i = getelementptr inbounds i8* %call.i.i.i.i.i, i32 4
%281 = bitcast i8* %backward.i.i.i to %struct.kiss_fftr_state**
store %struct.kiss_fftr_state* %call2.i.i.i, %struct.kiss_fftr_state** %281, align 4
%N.i.i.i = getelementptr inbounds i8* %call.i.i.i.i.i, i32 8
%282 = bitcast i8* %N.i.i.i to i32*
store i32 %mul.i.i, i32* %282, align 4
%fft_lookup.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 208
%283 = bitcast i8* %fft_lookup.i.i to i8**
store i8* %call.i.i.i.i.i, i8** %283, align 4
%nb_adapt.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 196
%284 = bitcast i8* %nb_adapt.i.i to i32*
store i32 0, i32* %284, align 4
%min_count.i.i = getelementptr inbounds i8* %call.i.i.i22.i, i32 204
%285 = bitcast i8* %min_count.i.i to i32*
store i32 0, i32* %285, align 4
store %struct.SpeexPreprocessState_* %97, %struct.SpeexPreprocessState_** %12, align 4
%286 = load i32* %91, align 4
store i32 %286, i32* %100, align 4
%287 = load %struct.SpeexPreprocessState_** %12, align 4
%288 = load i32* %89, align 4
%agc_enabled.i.i = getelementptr inbounds %struct.SpeexPreprocessState_* %287, i32 0, i32 38
store i32 %288, i32* %agc_enabled.i.i, align 4
%289 = load %struct.SpeexPreprocessState_** %12, align 4
%agc_level.i.i = getelementptr inbounds %struct.SpeexPreprocessState_* %289, i32 0, i32 39
store float 2.000000e+04, float* %agc_level.i.i, align 4
br label %if.end.i
if.end.i: ; preds = %speex_preprocess_state_init.exit.i, %lor.lhs.false.i
%call.i.i.i.i = call fastcc i8* @malloc(i32 80) nounwind
%cmp4.i.i.i.i = icmp eq i8* %call.i.i.i.i, null
br i1 %cmp4.i.i.i.i, label %speex_header_to_packet.exit.i, label %land.lhs.true5.i.i.i.i
land.lhs.true5.i.i.i.i: ; preds = %if.end.i
%head.i.i.i.i = getelementptr inbounds i8* %call.i.i.i.i, i32 -4
%290 = bitcast i8* %head.i.i.i.i to i32*
%291 = load i32* %290, align 4
%and6.i.i.i.i = and i32 %291, 3
%cmp7.i.i.i.i = icmp eq i32 %and6.i.i.i.i, 0
br i1 %cmp7.i.i.i.i, label %speex_header_to_packet.exit.i, label %if.then8.i.i.i.i
if.then8.i.i.i.i: ; preds = %land.lhs.true5.i.i.i.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i.i.i, i8 0, i32 80, i32 1, i1 false) nounwind
br label %speex_header_to_packet.exit.i
speex_header_to_packet.exit.i: ; preds = %if.then8.i.i.i.i, %land.lhs.true5.i.i.i.i, %if.end.i
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %call.i.i.i.i, i8* %header.i, i32 80, i32 4, i1 false) nounwind
%op.i = getelementptr inbounds i8* %call.i.i, i32 6480
%292 = bitcast i8* %op.i to %struct.ogg_packet*
%packet.i = bitcast i8* %op.i to i8**
store i8* %call.i.i.i.i, i8** %packet.i, align 4
%bytes.i = getelementptr inbounds i8* %call.i.i, i32 6484
%293 = bitcast i8* %bytes.i to i32*
store i32 80, i32* %293, align 4
%b_o_s.i = getelementptr inbounds i8* %call.i.i, i32 6488
%294 = bitcast i8* %b_o_s.i to i32*
store i32 1, i32* %294, align 4
%e_o_s.i = getelementptr inbounds i8* %call.i.i, i32 6492
%packetno.i = getelementptr inbounds i8* %call.i.i, i32 6504
%295 = bitcast i8* %packetno.i to i64*
call void @llvm.memset.p0i8.i64(i8* %e_o_s.i, i8 0, i64 20, i32 4, i1 false)
call fastcc void @ogg_stream_packetin(%struct.ogg_stream_state* %31, %struct.ogg_packet* %292)
%296 = load i8** %packet.i, align 4
call void @free(i8* %296) nounwind
%297 = load i8** %30, align 4
store i8* %297, i8** %packet.i, align 4
%298 = load i32* %29, align 4
store i32 %298, i32* %293, align 4
call void @llvm.memset.p0i8.i64(i8* %b_o_s.i, i8 0, i64 16, i32 4, i1 false)
store i64 1, i64* %295, align 4
call fastcc void @ogg_stream_packetin(%struct.ogg_stream_state* %31, %struct.ogg_packet* %292)
%299 = load i8** %30, align 4
call void @free(i8* %299) nounwind
%300 = load i8** %88, align 4
%301 = bitcast i8* %300 to %struct.SpeexMode.117**
%302 = load %struct.SpeexMode.117** %301, align 4
%enc_ctl.i.i = getelementptr inbounds %struct.SpeexMode.117* %302, i32 0, i32 11
%303 = load i32 (i8*, i32, i8*)** %enc_ctl.i.i, align 4
%call.i11.i = call i32 %303(i8* %300, i32 3, i8* %call.i.i)
%304 = load i8** %88, align 4
%305 = bitcast i8* %304 to %struct.SpeexMode.117**
%306 = load %struct.SpeexMode.117** %305, align 4
%enc_ctl.i12.i = getelementptr inbounds %struct.SpeexMode.117* %306, i32 0, i32 11
%307 = load i32 (i8*, i32, i8*)** %enc_ctl.i12.i, align 4
%call.i13.i = call i32 %307(i8* %304, i32 16, i8* %complexity.i.i)
%308 = load i8** %88, align 4
%309 = bitcast i8* %308 to %struct.SpeexMode.117**
%310 = load %struct.SpeexMode.117** %309, align 4
%enc_ctl.i14.i = getelementptr inbounds %struct.SpeexMode.117* %310, i32 0, i32 11
%311 = load i32 (i8*, i32, i8*)** %enc_ctl.i14.i, align 4
%call.i15.i = call i32 %311(i8* %308, i32 24, i8* %rate.i.i)
%312 = load i32* %6, align 4
%cmp.i = icmp sgt i32 %312, -1
br i1 %cmp.i, label %if.then59.i, label %if.end69.i
if.then59.i: ; preds = %speex_header_to_packet.exit.i
%313 = load i32* %80, align 4
%tobool61.i = icmp eq i32 %313, 0
%314 = load i8** %88, align 4
%315 = bitcast i8* %314 to %struct.SpeexMode.117**
%316 = load %struct.SpeexMode.117** %315, align 4
%enc_ctl.i18.i = getelementptr inbounds %struct.SpeexMode.117* %316, i32 0, i32 11
%317 = load i32 (i8*, i32, i8*)** %enc_ctl.i18.i, align 4
br i1 %tobool61.i, label %if.else.i, label %if.then62.i
if.then62.i: ; preds = %if.then59.i
%call.i17.i = call i32 %317(i8* %314, i32 14, i8* %vbr_quality.i.i)
br label %if.end69.i
if.else.i: ; preds = %if.then59.i
%call.i19.i = call i32 %317(i8* %314, i32 4, i8* %quality.i.i)
br label %if.end69.i
if.end69.i: ; preds = %if.else.i, %if.then62.i, %speex_header_to_packet.exit.i
%bitrate.i = getelementptr inbounds i8* %call.i.i, i32 6716
%318 = bitcast i8* %bitrate.i to i32*
%319 = load i32* %318, align 4
%tobool70.i = icmp eq i32 %319, 0
br i1 %tobool70.i, label %if.end75.i, label %if.then71.i
if.then71.i: ; preds = %if.end69.i
%320 = load i8** %88, align 4
%321 = bitcast i8* %320 to %struct.SpeexMode.117**
%322 = load %struct.SpeexMode.117** %321, align 4
%enc_ctl.i20.i = getelementptr inbounds %struct.SpeexMode.117* %322, i32 0, i32 11
%323 = load i32 (i8*, i32, i8*)** %enc_ctl.i20.i, align 4
%call.i21.i = call i32 %323(i8* %320, i32 18, i8* %bitrate.i)
br label %if.end75.i
if.end75.i: ; preds = %if.then71.i, %if.end69.i
%324 = load i32* %80, align 4
%tobool77.i = icmp eq i32 %324, 0
br i1 %tobool77.i, label %if.else81.i, label %if.then78.i
if.then78.i: ; preds = %if.end75.i
store i32 1, i32* %tmp.i, align 4
%325 = load i8** %88, align 4
%326 = bitcast i8* %325 to %struct.SpeexMode.117**
%327 = load %struct.SpeexMode.117** %326, align 4
%enc_ctl.i22.i = getelementptr inbounds %struct.SpeexMode.117* %327, i32 0, i32 11
%328 = load i32 (i8*, i32, i8*)** %enc_ctl.i22.i, align 4
%call.i23.i = call i32 %328(i8* %325, i32 12, i8* %0)
br label %if.end87.i
if.else81.i: ; preds = %if.end75.i
%vad_enabled.i = getelementptr inbounds i8* %call.i.i, i32 12
%329 = bitcast i8* %vad_enabled.i to i32*
%330 = load i32* %329, align 4
%tobool82.i = icmp eq i32 %330, 0
br i1 %tobool82.i, label %if.end87.i, label %if.then83.i
if.then83.i: ; preds = %if.else81.i
store i32 1, i32* %tmp.i, align 4
%331 = load i8** %88, align 4
%332 = bitcast i8* %331 to %struct.SpeexMode.117**
%333 = load %struct.SpeexMode.117** %332, align 4
%enc_ctl.i24.i = getelementptr inbounds %struct.SpeexMode.117* %333, i32 0, i32 11
%334 = load i32 (i8*, i32, i8*)** %enc_ctl.i24.i, align 4
%call.i25.i = call i32 %334(i8* %331, i32 30, i8* %0)
br label %if.end87.i
if.end87.i: ; preds = %if.then83.i, %if.else81.i, %if.then78.i
%dtx_enabled.i = getelementptr inbounds i8* %call.i.i, i32 16
%335 = bitcast i8* %dtx_enabled.i to i32*
%336 = load i32* %335, align 4
%tobool88.i = icmp eq i32 %336, 0
br i1 %tobool88.i, label %if.end92.i, label %if.then89.i
if.then89.i: ; preds = %if.end87.i
%337 = load i8** %88, align 4
%338 = bitcast i8* %337 to %struct.SpeexMode.117**
%339 = load %struct.SpeexMode.117** %338, align 4
%enc_ctl.i26.i = getelementptr inbounds %struct.SpeexMode.117* %339, i32 0, i32 11
%340 = load i32 (i8*, i32, i8*)** %enc_ctl.i26.i, align 4
%call.i27.i = call i32 %340(i8* %337, i32 34, i8* %0)
br label %if.end92.i
if.end92.i: ; preds = %if.then89.i, %if.end87.i
%abr_enabled.i = getelementptr inbounds i8* %call.i.i, i32 8
%341 = bitcast i8* %abr_enabled.i to i32*
%342 = load i32* %341, align 4
%tobool93.i = icmp eq i32 %342, 0
br i1 %tobool93.i, label %if.end98.i, label %if.then94.i
if.then94.i: ; preds = %if.end92.i
%343 = load i8** %88, align 4
%344 = bitcast i8* %343 to %struct.SpeexMode.117**
%345 = load %struct.SpeexMode.117** %344, align 4
%enc_ctl.i28.i = getelementptr inbounds %struct.SpeexMode.117* %345, i32 0, i32 11
%346 = load i32 (i8*, i32, i8*)** %enc_ctl.i28.i, align 4
%call.i29.i = call i32 %346(i8* %343, i32 32, i8* %abr_enabled.i)
br label %if.end98.i
if.end98.i: ; preds = %if.then94.i, %if.end92.i
%bits.i = getelementptr inbounds i8* %call.i.i, i32 40
%call.i.i.i30.i = call fastcc i8* @malloc(i32 2000) nounwind
%cmp4.i.i.i31.i = icmp eq i8* %call.i.i.i30.i, null
br i1 %cmp4.i.i.i31.i, label %_Z11speex_alloci.exit.i.i, label %land.lhs.true5.i.i.i35.i
land.lhs.true5.i.i.i35.i: ; preds = %if.end98.i
%head.i.i.i32.i = getelementptr inbounds i8* %call.i.i.i30.i, i32 -4
%347 = bitcast i8* %head.i.i.i32.i to i32*
%348 = load i32* %347, align 4
%and6.i.i.i33.i = and i32 %348, 3
%cmp7.i.i.i34.i = icmp eq i32 %and6.i.i.i33.i, 0
br i1 %cmp7.i.i.i34.i, label %if.end.i.i, label %if.then8.i.i.i36.i
if.then8.i.i.i36.i: ; preds = %land.lhs.true5.i.i.i35.i
call void @llvm.memset.p0i8.i32(i8* %call.i.i.i30.i, i8 0, i32 2000, i32 1, i1 false) nounwind
br label %if.end.i.i
_Z11speex_alloci.exit.i.i: ; preds = %if.end98.i
%chars.i.i = bitcast i8* %bits.i to i8**
store i8* null, i8** %chars.i.i, align 4
br label %_Z14raw2speex_initP15speex_econfig_sPc.exit
if.end.i.i: ; preds = %if.then8.i.i.i36.i, %land.lhs.true5.i.i.i35.i
%chars1.i.i = bitcast i8* %bits.i to i8**
store i8* %call.i.i.i30.i, i8** %chars1.i.i, align 4
%buf_size.i.i = getelementptr inbounds i8* %call.i.i, i32 64
%349 = bitcast i8* %buf_size.i.i to i32*
store i32 2000, i32* %349, align 4
%owner.i.i = getelementptr inbounds i8* %call.i.i, i32 56
%350 = bitcast i8* %owner.i.i to i32*
store i32 1, i32* %350, align 4
store i8 0, i8* %call.i.i.i30.i, align 1
%nbBits.i.i.i = getelementptr inbounds i8* %call.i.i, i32 44
%351 = bitcast i8* %nbBits.i.i.i to i32*
store i32 0, i32* %351, align 4
%charPtr.i.i.i = getelementptr inbounds i8* %call.i.i, i32 48
%352 = bitcast i8* %charPtr.i.i.i to i32*
store i32 0, i32* %352, align 4
%bitPtr.i.i.i = getelementptr inbounds i8* %call.i.i, i32 52
%353 = bitcast i8* %bitPtr.i.i.i to i32*
store i32 0, i32* %353, align 4
%overflow.i.i.i = getelementptr inbounds i8* %call.i.i, i32 60
%354 = bitcast i8* %overflow.i.i.i to i32*
store i32 0, i32* %354, align 4
br label %_Z14raw2speex_initP15speex_econfig_sPc.exit
_Z14raw2speex_initP15speex_econfig_sPc.exit: ; preds = %if.end.i.i, %_Z11speex_alloci.exit.i.i
call void @llvm.lifetime.end(i64 -1, i8* %0)
call void @llvm.lifetime.end(i64 -1, i8* %1)
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) ssp {
entry:
%and = and i32 %nfft, 1
%tobool = icmp eq i32 %and, 0
br i1 %tobool, label %if.end9, label %if.then
if.then: ; preds = %entry
%0 = load %struct.__sFILE** @stderr, align 4
%1 = tail call i32 @fwrite(i8* getelementptr inbounds ([37 x i8]* @.str2, i32 0, i32 0), i32 36, i32 1, %struct.__sFILE* %0)
br label %return
if.end9: ; preds = %entry
%shr = ashr i32 %nfft, 1
%2 = shl i32 %nfft, 2
%sub.i52 = add i32 %2, 264
%add.i = and i32 %sub.i52, -8
%mul = shl i32 %nfft, 3
%add57 = or i32 %mul, 12
%add3 = add i32 %add57, %add.i
%call5 = tail call fastcc i8* @malloc(i32 %add3) nounwind
%3 = bitcast i8* %call5 to %struct.kiss_fftr_state*
%tobool10 = icmp eq i8* %call5, null
br i1 %tobool10, label %return, label %if.end.i5
if.end.i5: ; preds = %if.end9
%add.ptr = getelementptr inbounds i8* %call5, i32 12
%4 = bitcast i8* %add.ptr to %struct.kiss_fft_state*
%substate = bitcast i8* %call5 to %struct.kiss_fft_state**
store %struct.kiss_fft_state* %4, %struct.kiss_fft_state** %substate, align 4
%add.ptr.sum = add i32 %add.i, 12
%add.ptr14 = getelementptr inbounds i8* %call5, i32 %add.ptr.sum
%5 = bitcast i8* %add.ptr14 to %struct.kiss_fft_cpx*
%tmpbuf = getelementptr inbounds i8* %call5, i32 4
%6 = bitcast i8* %tmpbuf to %struct.kiss_fft_cpx**
store %struct.kiss_fft_cpx* %5, %struct.kiss_fft_cpx** %6, align 4
%add.ptr16 = getelementptr inbounds %struct.kiss_fft_cpx* %5, i32 %shr
%super_twiddles = getelementptr inbounds i8* %call5, i32 8
%7 = bitcast i8* %super_twiddles to %struct.kiss_fft_cpx**
store %struct.kiss_fft_cpx* %add.ptr16, %struct.kiss_fft_cpx** %7, align 4
%tobool.i = icmp eq i8* %add.ptr, null
br i1 %tobool.i, label %for.cond.preheader, label %if.then4.i
if.then4.i: ; preds = %if.end.i5
%8 = bitcast i8* %add.ptr to %struct.kiss_fft_state**
%shr.c = inttoptr i32 %shr to %struct.kiss_fft_state*
store %struct.kiss_fft_state* %shr.c, %struct.kiss_fft_state** %8, align 4
%inverse.i = getelementptr inbounds i8* %call5, i32 16
%9 = bitcast i8* %inverse.i to %struct.kiss_fft_cpx**
%10 = bitcast i8* %inverse.i 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** %9, align 4
%cmp66.i = icmp sgt i32 %shr, 0
%conv.i = sitofp i32 %shr to double
br i1 %cmp66.i, label %for.body.lr.ph.i, label %for.end.i25
for.body.lr.ph.i: ; preds = %if.then4.i
%div.i = fdiv double 0xC01921FB54442D18, %conv.i
br label %for.body.i
for.body.i: ; preds = %if.end13.for.body_crit_edge.i22, %for.body.lr.ph.i
%11 = phi i32 [ %inverse_fft, %for.body.lr.ph.i ], [ %.pre.i21, %if.end13.for.body_crit_edge.i22 ]
%i.07.i = phi i32 [ 0, %for.body.lr.ph.i ], [ %inc.i18, %if.end13.for.body_crit_edge.i22 ]
%conv7.i6 = sitofp i32 %i.07.i to double
%mul8.i7 = fmul double %div.i, %conv7.i6
%tobool10.i8 = icmp eq i32 %11, 0
br i1 %tobool10.i8, label %if.end13.i20, label %if.then11.i10
if.then11.i10: ; preds = %for.body.i
%mul12.i9 = fmul double %mul8.i7, -1.000000e+00
br label %if.end13.i20
if.end13.i20: ; preds = %if.then11.i10, %for.body.i
%phase.0.i11 = phi double [ %mul12.i9, %if.then11.i10 ], [ %mul8.i7, %for.body.i ]
%call.i.i12 = tail call double @cos(double %phase.0.i11) nounwind readnone
%conv.i.i13 = fptrunc double %call.i.i12 to float
%r.i.i14 = getelementptr inbounds %struct.kiss_fft_state* %4, i32 0, i32 3, i32 %i.07.i, i32 0
store float %conv.i.i13, float* %r.i.i14, align 4
%call1.i.i15 = tail call double @sin(double %phase.0.i11) nounwind readnone
%conv2.i.i16 = fptrunc double %call1.i.i15 to float
%i.i.i17 = getelementptr inbounds %struct.kiss_fft_state* %4, i32 0, i32 3, i32 %i.07.i, i32 1
store float %conv2.i.i16, float* %i.i.i17, align 4
%inc.i18 = add nsw i32 %i.07.i, 1
%exitcond.i19 = icmp eq i32 %inc.i18, %shr
br i1 %exitcond.i19, label %for.end.i25, label %if.end13.for.body_crit_edge.i22
if.end13.for.body_crit_edge.i22: ; preds = %if.end13.i20
%.pre.i21 = load i32* %10, align 4
br label %for.body.i
for.end.i25: ; preds = %if.end13.i20, %if.then4.i
%arraydecay14.i = getelementptr inbounds i8* %call5, i32 20
%12 = bitcast i8* %arraydecay14.i to i32*
%call.i2.i23 = tail call double @sqrt(double %conv.i) nounwind readnone
%call1.i3.i24 = tail call double @floor(double %call.i2.i23)
br label %while.cond.outer.i.i29
while.cond.outer.i.i29: ; preds = %if.then.i.i43, %sw.epilog.i.i42, %for.end.i25
%p.0.ph.i.i26 = phi i32 [ 4, %for.end.i25 ], [ %n.addr.0.i.i31, %if.then.i.i43 ], [ %p.1.i.i39, %sw.epilog.i.i42 ]
%facbuf.addr.0.ph.i.i27 = phi i32* [ %12, %for.end.i25 ], [ %facbuf.addr.0.i.i30, %sw.epilog.i.i42 ], [ %facbuf.addr.0.i.i30, %if.then.i.i43 ]
%n.addr.0.ph.i.i28 = phi i32 [ %shr, %for.end.i25 ], [ %n.addr.0.i.i31, %sw.epilog.i.i42 ], [ %n.addr.0.i.i31, %if.then.i.i43 ]
br label %while.cond.i.i34
while.cond.i.i34: ; preds = %while.end.i.i48, %while.cond.outer.i.i29
%facbuf.addr.0.i.i30 = phi i32* [ %incdec.ptr4.i.i46, %while.end.i.i48 ], [ %facbuf.addr.0.ph.i.i27, %while.cond.outer.i.i29 ]
%n.addr.0.i.i31 = phi i32 [ %div.i.i44, %while.end.i.i48 ], [ %n.addr.0.ph.i.i28, %while.cond.outer.i.i29 ]
%rem.i.i32 = srem i32 %n.addr.0.i.i31, %p.0.ph.i.i26
%tobool.i.i33 = icmp eq i32 %rem.i.i32, 0
br i1 %tobool.i.i33, label %while.end.i.i48, label %while.body.i.i35
while.body.i.i35: ; preds = %while.cond.i.i34
switch i32 %p.0.ph.i.i26, label %sw.default.i.i38 [
i32 4, label %sw.epilog.i.i42
i32 2, label %sw.bb2.i.i36
]
sw.bb2.i.i36: ; preds = %while.body.i.i35
br label %sw.epilog.i.i42
sw.default.i.i38: ; preds = %while.body.i.i35
%add.i.i37 = add nsw i32 %p.0.ph.i.i26, 2
br label %sw.epilog.i.i42
sw.epilog.i.i42: ; preds = %sw.default.i.i38, %sw.bb2.i.i36, %while.body.i.i35
%p.1.i.i39 = phi i32 [ %add.i.i37, %sw.default.i.i38 ], [ 3, %sw.bb2.i.i36 ], [ 2, %while.body.i.i35 ]
%conv3.i.i40 = sitofp i32 %p.1.i.i39 to double
%cmp.i.i41 = fcmp ogt double %conv3.i.i40, %call1.i3.i24
br i1 %cmp.i.i41, label %if.then.i.i43, label %while.cond.outer.i.i29
if.then.i.i43: ; preds = %sw.epilog.i.i42
br label %while.cond.outer.i.i29
while.end.i.i48: ; preds = %while.cond.i.i34
%div.i.i44 = sdiv i32 %n.addr.0.i.i31, %p.0.ph.i.i26
%incdec.ptr.i.i45 = getelementptr inbounds i32* %facbuf.addr.0.i.i30, i32 1
store i32 %p.0.ph.i.i26, i32* %facbuf.addr.0.i.i30, align 4
%incdec.ptr4.i.i46 = getelementptr inbounds i32* %facbuf.addr.0.i.i30, i32 2
store i32 %div.i.i44, i32* %incdec.ptr.i.i45, align 4
%cmp5.i.i47 = icmp sgt i32 %div.i.i44, 1
br i1 %cmp5.i.i47, label %while.cond.i.i34, label %for.cond.preheader
for.cond.preheader: ; preds = %while.end.i.i48, %if.end.i5
%cmp1955 = icmp sgt i32 %shr, 0
br i1 %cmp1955, label %for.body.lr.ph, label %return
for.body.lr.ph: ; preds = %for.cond.preheader
%conv20 = sitofp i32 %shr to double
%tobool23 = icmp eq i32 %inverse_fft, 0
br i1 %tobool23, label %if.end26.us, label %if.end26
if.end26.us: ; preds = %if.end26.us, %for.body.lr.ph
%i.056.us = phi i32 [ 0, %for.body.lr.ph ], [ %inc.us, %if.end26.us ]
%conv.us = sitofp i32 %i.056.us to double
%div.us = fdiv double %conv.us, %conv20
%add21.us = fadd double %div.us, 5.000000e-01
%mul22.us = fmul double %add21.us, 0xC00921FB54442D18
%13 = load %struct.kiss_fft_cpx** %7, align 4
%call.i.us = tail call double @cos(double %mul22.us) nounwind readnone
%conv.i50.us = fptrunc double %call.i.us to float
%r.i.us = getelementptr inbounds %struct.kiss_fft_cpx* %13, i32 %i.056.us, i32 0
store float %conv.i50.us, float* %r.i.us, align 4
%call1.i.us = tail call double @sin(double %mul22.us) nounwind readnone
%conv2.i.us = fptrunc double %call1.i.us to float
%i.i.us = getelementptr inbounds %struct.kiss_fft_cpx* %13, i32 %i.056.us, i32 1
store float %conv2.i.us, float* %i.i.us, align 4
%inc.us = add nsw i32 %i.056.us, 1
%exitcond = icmp eq i32 %inc.us, %shr
br i1 %exitcond, label %return, label %if.end26.us
if.end26: ; preds = %if.end26, %for.body.lr.ph
%i.056 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %if.end26 ]
%conv = sitofp i32 %i.056 to double
%div = fdiv double %conv, %conv20
%add21 = fadd double %div, 5.000000e-01
%mul22 = fmul double %add21, 0xC00921FB54442D18
%mul25 = fmul double %mul22, -1.000000e+00
%14 = load %struct.kiss_fft_cpx** %7, align 4
%call.i = tail call double @cos(double %mul25) nounwind readnone
%conv.i50 = fptrunc double %call.i to float
%r.i = getelementptr inbounds %struct.kiss_fft_cpx* %14, i32 %i.056, i32 0
store float %conv.i50, float* %r.i, align 4
%call1.i = tail call double @sin(double %mul25) nounwind readnone
%conv2.i = fptrunc double %call1.i to float
%i.i = getelementptr inbounds %struct.kiss_fft_cpx* %14, i32 %i.056, i32 1
store float %conv2.i, float* %i.i, align 4
%inc = add nsw i32 %i.056, 1
%exitcond60 = icmp eq i32 %inc, %shr
br i1 %exitcond60, label %return, label %if.end26
return: ; preds = %if.end26, %if.end26.us, %for.cond.preheader, %if.end9, %if.then
%retval.0 = phi %struct.kiss_fftr_state* [ null, %if.then ], [ null, %if.end9 ], [ %3, %for.cond.preheader ], [ %3, %if.end26 ], [ %3, %if.end26.us ]
ret %struct.kiss_fftr_state* %retval.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 ssp {
entry:
%charPtr = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%0 = load i32* %charPtr, align 4
%bitPtr = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%1 = load i32* %bitPtr, align 4
%add = add nsw i32 %1, %nbBits
%shr = ashr i32 %add, 3
%add1 = add nsw i32 %shr, %0
%buf_size = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 6
%2 = load i32* %buf_size, align 4
%cmp = icmp slt i32 %add1, %2
br i1 %cmp, label %while.cond.preheader, label %if.then
while.cond.preheader: ; preds = %if.then7, %entry
%tobool135 = icmp eq i32 %nbBits, 0
br i1 %tobool135, label %while.end, label %while.body.lr.ph
while.body.lr.ph: ; preds = %while.cond.preheader
%chars19 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%nbBits32 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
br label %while.body
if.then: ; preds = %entry
%3 = load %struct.__sFILE** @stderr, align 4
%call.i = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %3, i8* getelementptr inbounds ([18 x i8]* @.str8, i32 0, i32 0), i8* getelementptr inbounds ([30 x i8]* @.str47, i32 0, i32 0)) nounwind
%owner = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 4
%4 = load i32* %owner, align 4
%tobool = icmp eq i32 %4, 0
br i1 %tobool, label %if.else10, label %if.then2
if.then2: ; preds = %if.then
%5 = load i32* %buf_size, align 4
%6 = mul i32 %5, 3
%mul = add i32 %6, 15
%shr5 = ashr i32 %mul, 1
%chars = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%7 = load i8** %chars, align 4
%call.i2 = tail call fastcc i8* @realloc(i8* %7, i32 %shr5) nounwind
%tobool6 = icmp eq i8* %call.i2, null
br i1 %tobool6, label %if.else, label %if.then7
if.then7: ; preds = %if.then2
store i32 %shr5, i32* %buf_size, align 4
store i8* %call.i2, i8** %chars, align 4
br label %while.cond.preheader
if.else: ; preds = %if.then2
%8 = load %struct.__sFILE** @stderr, align 4
%call.i3 = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %8, 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 %while.end
if.else10: ; preds = %if.then
%9 = load %struct.__sFILE** @stderr, align 4
%call.i4 = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %9, 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 %while.end
while.body: ; preds = %if.end31, %while.body.lr.ph
%nbBits.addr.06 = phi i32 [ %nbBits, %while.body.lr.ph ], [ %sub, %if.end31 ]
%sub = add nsw i32 %nbBits.addr.06, -1
%shr15 = lshr i32 %data, %sub
%and = and i32 %shr15, 1
%10 = load i32* %bitPtr, align 4
%sub17 = sub nsw i32 7, %10
%shl = shl i32 %and, %sub17
%11 = load i32* %charPtr, align 4
%12 = load i8** %chars19, align 4
%arrayidx = getelementptr inbounds i8* %12, i32 %11
%13 = load i8* %arrayidx, align 1
%conv1 = zext i8 %13 to i32
%or = or i32 %conv1, %shl
%conv20 = trunc i32 %or to i8
store i8 %conv20, i8* %arrayidx, align 1
%14 = load i32* %bitPtr, align 4
%inc = add nsw i32 %14, 1
store i32 %inc, i32* %bitPtr, align 4
%cmp23 = icmp eq i32 %inc, 8
br i1 %cmp23, label %if.then24, label %if.end31
if.then24: ; preds = %while.body
store i32 0, i32* %bitPtr, align 4
%15 = load i32* %charPtr, align 4
%inc27 = add nsw i32 %15, 1
store i32 %inc27, i32* %charPtr, align 4
%16 = load i8** %chars19, align 4
%arrayidx30 = getelementptr inbounds i8* %16, i32 %inc27
store i8 0, i8* %arrayidx30, align 1
br label %if.end31
if.end31: ; preds = %if.then24, %while.body
%17 = load i32* %nbBits32, align 4
%inc33 = add nsw i32 %17, 1
store i32 %inc33, i32* %nbBits32, align 4
%tobool13 = icmp eq i32 %sub, 0
br i1 %tobool13, label %while.end, label %while.body
while.end: ; preds = %if.end31, %if.else10, %if.else, %while.cond.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 ssp {
entry:
%cmp = icmp sgt i32 %complexity, 10
%complexity.op = shl i32 %complexity, 1
%mul = select i1 %cmp, i32 20, i32 %complexity.op
%div = sdiv i32 %mul, 3
%cmp22 = icmp slt i32 %mul, 3
%N.1 = select i1 %cmp22, i32 1, i32 %div
%cmp25 = icmp eq i32 %N.1, 1
br i1 %cmp25, label %if.then26, label %if.end27
if.then26: ; preds = %entry
%subvect_size1.i = bitcast i8* %par to i32*
%0 = load i32* %subvect_size1.i, align 4
%nb_subvect2.i = getelementptr inbounds i8* %par, i32 4
%1 = bitcast i8* %nb_subvect2.i to i32*
%2 = load i32* %1, align 4
%shape_bits.i = getelementptr inbounds i8* %par, i32 12
%3 = bitcast i8* %shape_bits.i to i32*
%4 = load i32* %3, align 4
%shl.i = shl i32 1, %4
%shape_cb3.i = getelementptr inbounds i8* %par, i32 8
%5 = bitcast i8* %shape_cb3.i to i8**
%6 = load i8** %5, align 4
%have_sign4.i = getelementptr inbounds i8* %par, i32 16
%7 = bitcast i8* %have_sign4.i to i32*
%8 = load i32* %7, align 4
%9 = ptrtoint i8* %stack to i32
%10 = sub i32 0, %9
%and.i = and i32 %10, 3
%mul.i = shl i32 %0, %4
%mul5.i = shl i32 %mul.i, 2
%add.ptr.sum.i = or i32 %mul5.i, %and.i
%add.ptr6.i = getelementptr inbounds i8* %stack, i32 %add.ptr.sum.i
%add.ptr6.sum.i = sub i32 %add.ptr.sum.i, %mul5.i
%add.ptr9.i = getelementptr inbounds i8* %stack, i32 %add.ptr6.sum.i
%11 = bitcast i8* %add.ptr9.i to float*
%12 = ptrtoint i8* %add.ptr6.i to i32
%13 = sub i32 0, %12
%and11.i = and i32 %13, 3
%add.ptr6.sum1.i = add i32 %and11.i, %add.ptr.sum.i
%mul13.i = shl i32 %shl.i, 2
%add.ptr12.sum.i = add i32 %add.ptr6.sum1.i, %mul13.i
%add.ptr14.i = getelementptr inbounds i8* %stack, i32 %add.ptr12.sum.i
%add.ptr17.i = getelementptr inbounds i8* %stack, i32 %add.ptr6.sum1.i
%14 = bitcast i8* %add.ptr17.i to float*
%15 = ptrtoint i8* %add.ptr14.i to i32
%16 = sub i32 0, %15
%and19.i = and i32 %16, 3
%add.ptr14.sum2.i = add i32 %and19.i, %add.ptr12.sum.i
%mul21.i = shl i32 %nsf, 2
%add.ptr20.sum.i = add i32 %add.ptr14.sum2.i, %mul21.i
%add.ptr22.i = getelementptr inbounds i8* %stack, i32 %add.ptr20.sum.i
%add.ptr25.i = getelementptr inbounds i8* %stack, i32 %add.ptr14.sum2.i
%17 = bitcast i8* %add.ptr25.i to float*
%18 = ptrtoint i8* %add.ptr22.i to i32
%19 = sub i32 0, %18
%and27.i = and i32 %19, 3
%add.ptr22.sum3.i = add i32 %and27.i, %add.ptr20.sum.i
%add.ptr28.sum.i = add i32 %add.ptr22.sum3.i, %mul21.i
%add.ptr30.i = getelementptr inbounds i8* %stack, i32 %add.ptr28.sum.i
%add.ptr33.i = getelementptr inbounds i8* %stack, i32 %add.ptr22.sum3.i
%20 = bitcast i8* %add.ptr33.i to float*
%21 = bitcast float* %target to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %add.ptr25.i, i8* %21, i32 %mul21.i, i32 4, i1 false) nounwind
%22 = ptrtoint i8* %add.ptr30.i to i32
%23 = sub i32 0, %22
%and.i.i = and i32 %23, 3
%mul.i.i = shl i32 %0, 2
%add.ptr.sum.i.i = or i32 %and.i.i, %mul.i.i
%add.ptr1.sum.i.i = sub i32 %add.ptr28.sum.i, %mul.i.i
%add.ptr30.sum.i = add i32 %add.ptr1.sum.i.i, %add.ptr.sum.i.i
%add.ptr3.i.i = getelementptr inbounds i8* %stack, i32 %add.ptr30.sum.i
%24 = bitcast i8* %add.ptr3.i.i to float*
%cmp8.i.i = icmp sgt i32 %shl.i, 0
br i1 %cmp8.i.i, label %for.body.lr.ph.i.i, label %for.cond.preheader.i
for.body.lr.ph.i.i: ; preds = %if.then26
%cmp71.i.i = icmp sgt i32 %0, 0
br label %for.body.i.i
for.body.i.i: ; preds = %for.inc35.i.i, %for.body.lr.ph.i.i
%i.09.i.i = phi i32 [ 0, %for.body.lr.ph.i.i ], [ %inc36.i.i, %for.inc35.i.i ]
%mul4.i.i = mul nsw i32 %i.09.i.i, %0
br i1 %cmp71.i.i, label %for.body8.i.i, label %for.end.thread.i.i
for.end.thread.i.i: ; preds = %for.body.i.i
%arrayidx1113.i.i = getelementptr inbounds float* %14, i32 %i.09.i.i
store float 0.000000e+00, float* %arrayidx1113.i.i, align 4
br label %for.inc35.i.i
for.body8.i.i: ; preds = %for.body8.i.i, %for.body.i.i
%k.02.i.i = phi i32 [ %inc.i.i, %for.body8.i.i ], [ 0, %for.body.i.i ]
%add.i.i = add nsw i32 %k.02.i.i, %mul4.i.i
%arrayidx.i.i = getelementptr inbounds i8* %6, i32 %add.i.i
%25 = load i8* %arrayidx.i.i, align 1
%conv.i.i = sitofp i8 %25 to float
%arrayidx10.i.i = getelementptr inbounds float* %24, i32 %k.02.i.i
store float %conv.i.i, float* %arrayidx10.i.i, align 4
%inc.i.i = add nsw i32 %k.02.i.i, 1
%exitcond.i.i = icmp eq i32 %inc.i.i, %0
br i1 %exitcond.i.i, label %for.body17.lr.ph.i.preheader.i, label %for.body8.i.i
for.body17.lr.ph.i.preheader.i: ; preds = %for.body8.i.i
%arrayidx11.i.i = getelementptr inbounds float* %14, i32 %i.09.i.i
store float 0.000000e+00, float* %arrayidx11.i.i, align 4
br label %for.body17.lr.ph.i.i
for.body17.lr.ph.i.i: ; preds = %for.end25.i.i, %for.body17.lr.ph.i.preheader.i
%indvars.iv.i = phi i32 [ 1, %for.body17.lr.ph.i.preheader.i ], [ %indvars.iv.next.i, %for.end25.i.i ]
%j.07.i.i = phi i32 [ 0, %for.body17.lr.ph.i.preheader.i ], [ %inc33.i.i, %for.end25.i.i ]
br label %for.body17.i.i
for.body17.i.i: ; preds = %for.body17.i.i, %for.body17.lr.ph.i.i
%resj.05.i.i = phi float [ 0.000000e+00, %for.body17.lr.ph.i.i ], [ %add22.i.i, %for.body17.i.i ]
%k.14.i.i = phi i32 [ 0, %for.body17.lr.ph.i.i ], [ %inc24.i.i, %for.body17.i.i ]
%arrayidx18.i.i = getelementptr inbounds float* %24, i32 %k.14.i.i
%26 = load float* %arrayidx18.i.i, align 4
%sub19.i.i = sub nsw i32 %j.07.i.i, %k.14.i.i
%arrayidx20.i.i = getelementptr inbounds float* %r, i32 %sub19.i.i
%27 = load float* %arrayidx20.i.i, align 4
%mul21.i.i = fmul float %26, %27
%add22.i.i = fadd float %resj.05.i.i, %mul21.i.i
%inc24.i.i = add nsw i32 %k.14.i.i, 1
%exitcond78.i = icmp eq i32 %inc24.i.i, %indvars.iv.i
br i1 %exitcond78.i, label %for.end25.i.i, label %for.body17.i.i
for.end25.i.i: ; preds = %for.body17.i.i
%phitmp.i.i = fmul float %add22.i.i, 3.125000e-02
%28 = load float* %arrayidx11.i.i, align 4
%mul28.i.i = fmul float %phitmp.i.i, %phitmp.i.i
%add29.i.i = fadd float %28, %mul28.i.i
store float %add29.i.i, float* %arrayidx11.i.i, align 4
%add.ptr5.sum.i.i = add i32 %j.07.i.i, %mul4.i.i
%arrayidx31.i.i = getelementptr inbounds float* %11, i32 %add.ptr5.sum.i.i
store float %phitmp.i.i, float* %arrayidx31.i.i, align 4
%inc33.i.i = add nsw i32 %j.07.i.i, 1
%exitcond10.i.i = icmp eq i32 %inc33.i.i, %0
%indvars.iv.next.i = add i32 %indvars.iv.i, 1
br i1 %exitcond10.i.i, label %for.inc35.i.i, label %for.body17.lr.ph.i.i
for.inc35.i.i: ; preds = %for.end25.i.i, %for.end.thread.i.i
%inc36.i.i = add nsw i32 %i.09.i.i, 1
%exitcond11.i.i = icmp eq i32 %inc36.i.i, %shl.i
br i1 %exitcond11.i.i, label %for.cond.preheader.i, label %for.body.i.i
for.cond.preheader.i: ; preds = %for.inc35.i.i, %if.then26
%cmp69.i = icmp sgt i32 %2, 0
br i1 %cmp69.i, label %for.body.lr.ph.i, label %for.cond123.preheader.i
for.body.lr.ph.i: ; preds = %for.cond.preheader.i
%tobool.i = icmp eq i32 %8, 0
%cmp21.i22.i = icmp sgt i32 %0, 0
br label %for.body.i
for.cond123.preheader.i: ; preds = %for.inc120.i, %for.cond.preheader.i
%cmp12457.i = icmp sgt i32 %nsf, 0
br i1 %cmp12457.i, label %for.body125.i, label %for.end132.i
for.body.i: ; preds = %for.inc120.i, %for.body.lr.ph.i
%sub.i36.i90 = phi float [ undef, %for.body.lr.ph.i ], [ %sub.i36.i91, %for.inc120.i ]
%i.08.i.i84 = phi i32 [ undef, %for.body.lr.ph.i ], [ %i.08.i.i85, %for.inc120.i ]
%i.070.i = phi i32 [ 0, %for.body.lr.ph.i ], [ %inc121.pre-phi.i, %for.inc120.i ]
%mul36.i = mul nsw i32 %i.070.i, %0
br i1 %tobool.i, label %if.else.i, label %if.then.i
if.then.i: ; preds = %for.body.i
br i1 %cmp8.i.i, label %for.cond1.preheader.i.i, label %if.end.i
for.cond1.preheader.i.i: ; preds = %for.inc37.i.i, %if.then.i
%sub.i36.i87 = phi float [ %sub.i36.i92, %for.inc37.i.i ], [ %sub.i36.i90, %if.then.i ]
%i.08.i.i81 = phi i32 [ %i.08.i.i86, %for.inc37.i.i ], [ %i.08.i.i84, %if.then.i ]
%codebook.addr.09.i.i = phi float* [ %codebook.addr.1.lcssa12.i.i, %for.inc37.i.i ], [ %11, %if.then.i ]
%i.07.i.i = phi i32 [ %inc38.i.i, %for.inc37.i.i ], [ 0, %if.then.i ]
br i1 %cmp21.i22.i, label %for.body3.i.i, label %if.end.i.i
for.body3.i.i: ; preds = %for.body3.i.i, %for.cond1.preheader.i.i
%dist.04.i.i = phi float [ %add.i8.i, %for.body3.i.i ], [ 0.000000e+00, %for.cond1.preheader.i.i ]
%codebook.addr.13.i.i = phi float* [ %incdec.ptr.i.i, %for.body3.i.i ], [ %codebook.addr.09.i.i, %for.cond1.preheader.i.i ]
%j.02.i.i = phi i32 [ %inc.i9.i, %for.body3.i.i ], [ 0, %for.cond1.preheader.i.i ]
%add.ptr37.sum.i = add i32 %j.02.i.i, %mul36.i
%arrayidx.i6.i = getelementptr inbounds float* %17, i32 %add.ptr37.sum.i
%29 = load float* %arrayidx.i6.i, align 4
%incdec.ptr.i.i = getelementptr inbounds float* %codebook.addr.13.i.i, i32 1
%30 = load float* %codebook.addr.13.i.i, align 4
%mul.i7.i = fmul float %29, %30
%add.i8.i = fadd float %dist.04.i.i, %mul.i7.i
%inc.i9.i = add nsw i32 %j.02.i.i, 1
%exitcond.i10.i = icmp eq i32 %inc.i9.i, %0
br i1 %exitcond.i10.i, label %for.end.i11.i, label %for.body3.i.i
for.end.i11.i: ; preds = %for.body3.i.i
%scevgep.i.i = getelementptr float* %codebook.addr.09.i.i, i32 %0
%cmp4.i.i = fcmp ogt float %add.i8.i, 0.000000e+00
br i1 %cmp4.i.i, label %if.then.i.i, label %if.end.i.i
if.then.i.i: ; preds = %for.end.i11.i
%sub.i.i = fsub float -0.000000e+00, %add.i8.i
br label %if.end.i.i
if.end.i.i: ; preds = %if.then.i.i, %for.end.i11.i, %for.cond1.preheader.i.i
%codebook.addr.1.lcssa12.i.i = phi float* [ %scevgep.i.i, %if.then.i.i ], [ %scevgep.i.i, %for.end.i11.i ], [ %codebook.addr.09.i.i, %for.cond1.preheader.i.i ]
%sign.0.i.i = phi i32 [ 0, %if.then.i.i ], [ 1, %for.end.i11.i ], [ 1, %for.cond1.preheader.i.i ]
%dist.1.i.i = phi float [ %sub.i.i, %if.then.i.i ], [ %add.i8.i, %for.end.i11.i ], [ 0.000000e+00, %for.cond1.preheader.i.i ]
%arrayidx5.i.i = getelementptr inbounds float* %14, i32 %i.07.i.i
%31 = load float* %arrayidx5.i.i, align 4
%mul6.i.i = fmul float %31, 5.000000e-01
%add7.i.i = fadd float %dist.1.i.i, %mul6.i.i
%cmp8.i12.i = icmp slt i32 %i.07.i.i, 1
%cmp11.i.i = fcmp olt float %add7.i.i, %sub.i36.i87
%or.cond = or i1 %cmp8.i12.i, %cmp11.i.i
br i1 %or.cond, label %for.end28.i.i, label %for.inc37.i.i
for.end28.i.i: ; preds = %if.end.i.i
%tobool.i.i = icmp eq i32 %sign.0.i.i, 0
%add34.i.i = select i1 %tobool.i.i, i32 0, i32 %shl.i
%i.07.i.i.add34.i.i = add nsw i32 %add34.i.i, %i.07.i.i
br label %for.inc37.i.i
for.inc37.i.i: ; preds = %for.end28.i.i, %if.end.i.i
%sub.i36.i92 = phi float [ %sub.i36.i87, %if.end.i.i ], [ %add7.i.i, %for.end28.i.i ]
%i.08.i.i86 = phi i32 [ %i.08.i.i81, %if.end.i.i ], [ %i.07.i.i.add34.i.i, %for.end28.i.i ]
%inc38.i.i = add nsw i32 %i.07.i.i, 1
%exitcond10.i14.i = icmp eq i32 %inc38.i.i, %shl.i
br i1 %exitcond10.i14.i, label %if.end.i, label %for.cond1.preheader.i.i
if.else.i: ; preds = %for.body.i
br i1 %cmp8.i.i, label %for.cond1.preheader.i24.i, label %if.end.i
for.cond1.preheader.i24.i: ; preds = %for.end.i38.i, %if.else.i
%sub.i36.i89 = phi float [ %sub.i36.i88, %for.end.i38.i ], [ %sub.i36.i90, %if.else.i ]
%i.08.i.i83 = phi i32 [ %i.08.i.i82, %for.end.i38.i ], [ %i.08.i.i84, %if.else.i ]
%codebook.addr.010.i.i = phi float* [ %codebook.addr.1.lcssa.i.i, %for.end.i38.i ], [ %11, %if.else.i ]
%i.08.i.i = phi i32 [ %inc30.i.i, %for.end.i38.i ], [ 0, %if.else.i ]
br i1 %cmp21.i22.i, label %for.body3.i34.i, label %for.end.i38.i
for.body3.i34.i: ; preds = %for.body3.i34.i, %for.cond1.preheader.i24.i
%dist.04.i25.i = phi float [ %add.i31.i, %for.body3.i34.i ], [ 0.000000e+00, %for.cond1.preheader.i24.i ]
%codebook.addr.13.i26.i = phi float* [ %incdec.ptr.i29.i, %for.body3.i34.i ], [ %codebook.addr.010.i.i, %for.cond1.preheader.i24.i ]
%j.02.i27.i = phi i32 [ %inc.i32.i, %for.body3.i34.i ], [ 0, %for.cond1.preheader.i24.i ]
%add.ptr37.sum52.i = add i32 %j.02.i27.i, %mul36.i
%arrayidx.i28.i = getelementptr inbounds float* %17, i32 %add.ptr37.sum52.i
%32 = load float* %arrayidx.i28.i, align 4
%incdec.ptr.i29.i = getelementptr inbounds float* %codebook.addr.13.i26.i, i32 1
%33 = load float* %codebook.addr.13.i26.i, align 4
%mul.i30.i = fmul float %32, %33
%add.i31.i = fadd float %dist.04.i25.i, %mul.i30.i
%inc.i32.i = add nsw i32 %j.02.i27.i, 1
%exitcond.i33.i = icmp eq i32 %inc.i32.i, %0
br i1 %exitcond.i33.i, label %for.cond1.for.end_crit_edge.i.i, label %for.body3.i34.i
for.cond1.for.end_crit_edge.i.i: ; preds = %for.body3.i34.i
%scevgep.i35.i = getelementptr float* %codebook.addr.010.i.i, i32 %0
br label %for.end.i38.i
for.end.i38.i: ; preds = %for.cond1.for.end_crit_edge.i.i, %for.cond1.preheader.i24.i
%dist.0.lcssa.i.i = phi float [ %add.i31.i, %for.cond1.for.end_crit_edge.i.i ], [ 0.000000e+00, %for.cond1.preheader.i24.i ]
%codebook.addr.1.lcssa.i.i = phi float* [ %scevgep.i35.i, %for.cond1.for.end_crit_edge.i.i ], [ %codebook.addr.010.i.i, %for.cond1.preheader.i24.i ]
%arrayidx4.i.i = getelementptr inbounds float* %14, i32 %i.08.i.i
%34 = load float* %arrayidx4.i.i, align 4
%mul5.i.i = fmul float %34, 5.000000e-01
%sub.i36.i = fsub float %mul5.i.i, %dist.0.lcssa.i.i
%cmp6.i37.i = icmp slt i32 %i.08.i.i, 1
%cmp9.i.i = fcmp olt float %sub.i36.i, %sub.i36.i89
%or.cond93 = or i1 %cmp6.i37.i, %cmp9.i.i
%sub.i36.i88 = select i1 %or.cond93, float %sub.i36.i, float %sub.i36.i89
%i.08.i.i82 = select i1 %or.cond93, i32 %i.08.i.i, i32 %i.08.i.i83
%inc30.i.i = add nsw i32 %i.08.i.i, 1
%exitcond11.i51.i = icmp eq i32 %inc30.i.i, %shl.i
br i1 %exitcond11.i51.i, label %if.end.i, label %for.cond1.preheader.i24.i
if.end.i: ; preds = %for.end.i38.i, %if.else.i, %for.inc37.i.i, %if.then.i
%sub.i36.i91 = phi float [ %sub.i36.i90, %if.else.i ], [ %sub.i36.i90, %if.then.i ], [ %sub.i36.i88, %for.end.i38.i ], [ %sub.i36.i92, %for.inc37.i.i ]
%i.08.i.i85 = phi i32 [ %i.08.i.i84, %if.else.i ], [ %i.08.i.i84, %if.then.i ], [ %i.08.i.i82, %for.end.i38.i ], [ %i.08.i.i86, %for.inc37.i.i ]
%35 = load i32* %3, align 4
%add39.i = add nsw i32 %35, %8
tail call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %i.08.i.i85, i32 %add39.i) nounwind
%cmp40.i = icmp slt i32 %i.08.i.i85, %shl.i
%sub42.i = select i1 %cmp40.i, i32 0, i32 %shl.i
%rind.0.i = sub nsw i32 %i.08.i.i85, %sub42.i
%mul44.i = mul nsw i32 %rind.0.i, %0
br i1 %cmp40.i, label %for.cond48.preheader.i, label %for.cond59.preheader.i
for.cond59.preheader.i: ; preds = %if.end.i
br i1 %cmp21.i22.i, label %for.body61.i, label %for.cond91.loopexit.for.inc120_crit_edge.i
for.cond48.preheader.i: ; preds = %if.end.i
br i1 %cmp21.i22.i, label %for.body50.i, label %for.cond91.loopexit.for.inc120_crit_edge.i
for.body50.i: ; preds = %for.body50.i, %for.cond48.preheader.i
%m.060.i = phi i32 [ %inc.i, %for.body50.i ], [ 0, %for.cond48.preheader.i ]
%add52.i = add nsw i32 %m.060.i, %mul36.i
%arrayidx.i = getelementptr inbounds float* %17, i32 %add52.i
%36 = load float* %arrayidx.i, align 4
%add.ptr45.sum5.i = add i32 %m.060.i, %mul44.i
%arrayidx53.i = getelementptr inbounds float* %11, i32 %add.ptr45.sum5.i
%37 = load float* %arrayidx53.i, align 4
%sub54.i = fsub float %36, %37
store float %sub54.i, float* %arrayidx.i, align 4
%inc.i = add nsw i32 %m.060.i, 1
%exitcond73.i = icmp eq i32 %inc.i, %0
br i1 %exitcond73.i, label %for.cond74.preheader.i, label %for.body50.i
for.body61.i: ; preds = %for.body61.i, %for.cond59.preheader.i
%m.164.i = phi i32 [ %inc71.i, %for.body61.i ], [ 0, %for.cond59.preheader.i ]
%add63.i = add nsw i32 %m.164.i, %mul36.i
%arrayidx64.i = getelementptr inbounds float* %17, i32 %add63.i
%38 = load float* %arrayidx64.i, align 4
%add.ptr45.sum.i = add i32 %m.164.i, %mul44.i
%arrayidx65.i = getelementptr inbounds float* %11, i32 %add.ptr45.sum.i
%39 = load float* %arrayidx65.i, align 4
%add66.i = fadd float %38, %39
store float %add66.i, float* %arrayidx64.i, align 4
%inc71.i = add nsw i32 %m.164.i, 1
%exitcond74.i = icmp eq i32 %inc71.i, %0
br i1 %exitcond74.i, label %for.cond74.preheader.i, label %for.body61.i
for.cond74.preheader.i: ; preds = %for.body61.i, %for.body50.i
br i1 %cmp21.i22.i, label %for.body76.lr.ph.i, label %for.cond91.loopexit.for.inc120_crit_edge.i
for.body76.lr.ph.i: ; preds = %for.cond74.preheader.i
%mul77.i = select i1 %cmp40.i, double 3.125000e-02, double -3.125000e-02
br label %for.body76.i
for.body76.i: ; preds = %for.body76.i, %for.body76.lr.ph.i
%j.066.i = phi i32 [ 0, %for.body76.lr.ph.i ], [ %inc89.i, %for.body76.i ]
%add79.i = add nsw i32 %j.066.i, %mul44.i
%arrayidx80.i = getelementptr inbounds i8* %6, i32 %add79.i
%40 = load i8* %arrayidx80.i, align 1
%conv82.i = sitofp i8 %40 to double
%mul83.i = fmul double %mul77.i, %conv82.i
%conv84.i = fptrunc double %mul83.i to float
%add86.i = add nsw i32 %j.066.i, %mul36.i
%arrayidx87.i = getelementptr inbounds float* %20, i32 %add86.i
store float %conv84.i, float* %arrayidx87.i, align 4
%inc89.i = add nsw i32 %j.066.i, 1
%exitcond75.i = icmp eq i32 %inc89.i, %0
br i1 %exitcond75.i, label %for.body93.lr.ph.i, label %for.body76.i
for.cond91.loopexit.for.inc120_crit_edge.i: ; preds = %for.cond74.preheader.i, %for.cond48.preheader.i, %for.cond59.preheader.i
%inc121.pre.i = add nsw i32 %i.070.i, 1
br label %for.inc120.i
for.body93.lr.ph.i: ; preds = %for.body76.i
%add110.i = add nsw i32 %i.070.i, 1
%mul111.i = mul nsw i32 %add110.i, %0
%sub116.i = sub nsw i32 %nsf, %mul111.i
%cmp1.i.i = icmp sgt i32 %sub116.i, 0
br label %for.body93.i
for.body93.i: ; preds = %_Z13target_updatePffS_i.exit.i, %for.body93.lr.ph.i
%m.268.i = phi i32 [ 0, %for.body93.lr.ph.i ], [ %inc118.i, %_Z13target_updatePffS_i.exit.i ]
%add104.i = add nsw i32 %m.268.i, %mul44.i
%arrayidx105.i = getelementptr inbounds i8* %6, i32 %add104.i
%41 = load i8* %arrayidx105.i, align 1
%conv107.i = sitofp i8 %41 to double
%mul108.i = fmul double %mul77.i, %conv107.i
%conv109.i = fptrunc double %mul108.i to float
br i1 %cmp1.i.i, label %for.body.i20.preheader.i, label %_Z13target_updatePffS_i.exit.i
for.body.i20.preheader.i: ; preds = %for.body93.i
%sub100.i = sub i32 %0, %m.268.i
br label %for.body.i20.i
for.body.i20.i: ; preds = %for.body.i20.i, %for.body.i20.preheader.i
%n.02.i.i = phi i32 [ %inc.i18.i, %for.body.i20.i ], [ 0, %for.body.i20.preheader.i ]
%add.ptr112.sum.i = add i32 %n.02.i.i, %mul111.i
%arrayidx.i15.i = getelementptr inbounds float* %17, i32 %add.ptr112.sum.i
%42 = load float* %arrayidx.i15.i, align 4
%add.ptr113.sum.i = add i32 %sub100.i, %n.02.i.i
%arrayidx1.i.i = getelementptr inbounds float* %r, i32 %add.ptr113.sum.i
%43 = load float* %arrayidx1.i.i, align 4
%mul.i16.i = fmul float %43, %conv109.i
%sub.i17.i = fsub float %42, %mul.i16.i
store float %sub.i17.i, float* %arrayidx.i15.i, align 4
%inc.i18.i = add nsw i32 %n.02.i.i, 1
%exitcond.i19.i = icmp eq i32 %inc.i18.i, %sub116.i
br i1 %exitcond.i19.i, label %_Z13target_updatePffS_i.exit.i, label %for.body.i20.i
_Z13target_updatePffS_i.exit.i: ; preds = %for.body.i20.i, %for.body93.i
%inc118.i = add nsw i32 %m.268.i, 1
%exitcond76.i = icmp eq i32 %inc118.i, %0
br i1 %exitcond76.i, label %for.inc120.i, label %for.body93.i
for.inc120.i: ; preds = %_Z13target_updatePffS_i.exit.i, %for.cond91.loopexit.for.inc120_crit_edge.i
%inc121.pre-phi.i = phi i32 [ %inc121.pre.i, %for.cond91.loopexit.for.inc120_crit_edge.i ], [ %add110.i, %_Z13target_updatePffS_i.exit.i ]
%exitcond77.i = icmp eq i32 %inc121.pre-phi.i, %2
br i1 %exitcond77.i, label %for.cond123.preheader.i, label %for.body.i
for.body125.i: ; preds = %for.body125.i, %for.cond123.preheader.i
%j.158.i = phi i32 [ %inc131.i, %for.body125.i ], [ 0, %for.cond123.preheader.i ]
%arrayidx126.i = getelementptr inbounds float* %exc, i32 %j.158.i
%44 = load float* %arrayidx126.i, align 4
%arrayidx127.i = getelementptr inbounds float* %20, i32 %j.158.i
%45 = load float* %arrayidx127.i, align 4
%add128.i = fadd float %44, %45
store float %add128.i, float* %arrayidx126.i, align 4
%inc131.i = add nsw i32 %j.158.i, 1
%exitcond72.i = icmp eq i32 %inc131.i, %nsf
br i1 %exitcond72.i, label %for.end132.i, label %for.body125.i
for.end132.i: ; preds = %for.body125.i, %for.cond123.preheader.i
%tobool133.i = icmp eq i32 %update_target, 0
br i1 %tobool133.i, label %if.end464, label %if.then134.i
if.then134.i: ; preds = %for.end132.i
%add.ptr30.sum4.i = add i32 %and.i.i, %add.ptr28.sum.i
%add.ptr137.sum.i = add i32 %add.ptr30.sum4.i, %mul21.i
%add.ptr139.i = getelementptr inbounds i8* %stack, i32 %add.ptr137.sum.i
%add.ptr142.i = getelementptr inbounds i8* %stack, i32 %add.ptr30.sum4.i
%46 = bitcast i8* %add.ptr142.i to float*
br i1 %cmp12457.i, label %for.body145.i, label %for.end150.thread.i
for.end150.thread.i: ; preds = %if.then134.i
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %46, float* %ak, float* %awk1, float* %awk2, float* %46, i32 %nsf, i32 %p, i8* %add.ptr139.i) nounwind
br label %if.end464
for.body145.i: ; preds = %for.body145.i, %if.then134.i
%j.256.i = phi i32 [ %inc149.i, %for.body145.i ], [ 0, %if.then134.i ]
%arrayidx146.i = getelementptr inbounds float* %20, i32 %j.256.i
%47 = load float* %arrayidx146.i, align 4
%arrayidx147.i = getelementptr inbounds float* %46, i32 %j.256.i
store float %47, float* %arrayidx147.i, align 4
%inc149.i = add nsw i32 %j.256.i, 1
%exitcond71.i = icmp eq i32 %inc149.i, %nsf
br i1 %exitcond71.i, label %for.body153.i.preheader, label %for.body145.i
for.body153.i.preheader: ; preds = %for.body145.i
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %46, float* %ak, float* %awk1, float* %awk2, float* %46, i32 %nsf, i32 %p, i8* %add.ptr139.i) nounwind
br label %for.body153.i
for.body153.i: ; preds = %for.body153.i, %for.body153.i.preheader
%j.354.i = phi i32 [ %inc159.i, %for.body153.i ], [ 0, %for.body153.i.preheader ]
%arrayidx154.i = getelementptr inbounds float* %target, i32 %j.354.i
%48 = load float* %arrayidx154.i, align 4
%arrayidx155.i = getelementptr inbounds float* %46, i32 %j.354.i
%49 = load float* %arrayidx155.i, align 4
%sub156.i = fsub float %48, %49
store float %sub156.i, float* %arrayidx154.i, align 4
%inc159.i = add nsw i32 %j.354.i, 1
%exitcond.i = icmp eq i32 %inc159.i, %nsf
br i1 %exitcond.i, label %if.end464, label %for.body153.i
if.end27: ; preds = %entry
%50 = ptrtoint i8* %stack to i32
%51 = sub i32 0, %50
%and = and i32 %51, 3
%mul28 = shl i32 %N.1, 2
%add.ptr.sum = or i32 %mul28, %and
%add.ptr29 = getelementptr inbounds i8* %stack, i32 %add.ptr.sum
%add.ptr29.sum = sub i32 %add.ptr.sum, %mul28
%add.ptr31 = getelementptr inbounds i8* %stack, i32 %add.ptr29.sum
%52 = bitcast i8* %add.ptr31 to float**
%53 = ptrtoint i8* %add.ptr29 to i32
%54 = sub i32 0, %53
%and33 = and i32 %54, 3
%add.ptr29.sum1 = add i32 %and33, %add.ptr.sum
%add.ptr34.sum = add i32 %add.ptr29.sum1, %mul28
%add.ptr36 = getelementptr inbounds i8* %stack, i32 %add.ptr34.sum
%add.ptr39 = getelementptr inbounds i8* %stack, i32 %add.ptr29.sum1
%55 = bitcast i8* %add.ptr39 to float**
%56 = ptrtoint i8* %add.ptr36 to i32
%57 = sub i32 0, %56
%and41 = and i32 %57, 3
%add.ptr36.sum2 = add i32 %and41, %add.ptr34.sum
%add.ptr42.sum = add i32 %add.ptr36.sum2, %mul28
%add.ptr44 = getelementptr inbounds i8* %stack, i32 %add.ptr42.sum
%add.ptr47 = getelementptr inbounds i8* %stack, i32 %add.ptr36.sum2
%58 = bitcast i8* %add.ptr47 to i32**
%59 = ptrtoint i8* %add.ptr44 to i32
%60 = sub i32 0, %59
%and49 = and i32 %60, 3
%add.ptr44.sum3 = add i32 %and49, %add.ptr42.sum
%add.ptr50.sum = add i32 %add.ptr44.sum3, %mul28
%add.ptr52 = getelementptr inbounds i8* %stack, i32 %add.ptr50.sum
%add.ptr55 = getelementptr inbounds i8* %stack, i32 %add.ptr44.sum3
%61 = bitcast i8* %add.ptr55 to i32**
%subvect_size56 = bitcast i8* %par to i32*
%62 = load i32* %subvect_size56, align 4
%nb_subvect57 = getelementptr inbounds i8* %par, i32 4
%63 = bitcast i8* %nb_subvect57 to i32*
%64 = load i32* %63, align 4
%shape_bits = getelementptr inbounds i8* %par, i32 12
%65 = bitcast i8* %shape_bits to i32*
%66 = load i32* %65, align 4
%shl = shl i32 1, %66
%shape_cb58 = getelementptr inbounds i8* %par, i32 8
%67 = bitcast i8* %shape_cb58 to i8**
%68 = load i8** %67, align 4
%have_sign59 = getelementptr inbounds i8* %par, i32 16
%69 = bitcast i8* %have_sign59 to i32*
%70 = load i32* %69, align 4
%71 = ptrtoint i8* %add.ptr52 to i32
%72 = sub i32 0, %71
%and61 = and i32 %72, 3
%add.ptr52.sum4 = add i32 %and61, %add.ptr50.sum
%mul63 = shl i32 %62, %66
%mul64 = shl i32 %mul63, 2
%add.ptr62.sum = add i32 %mul64, %add.ptr52.sum4
%add.ptr65 = getelementptr inbounds i8* %stack, i32 %add.ptr62.sum
%add.ptr69 = getelementptr inbounds i8* %stack, i32 %add.ptr52.sum4
%73 = bitcast i8* %add.ptr69 to float*
%74 = ptrtoint i8* %add.ptr65 to i32
%75 = sub i32 0, %74
%and71 = and i32 %75, 3
%add.ptr65.sum5 = add i32 %and71, %add.ptr62.sum
%mul73 = shl i32 %shl, 2
%add.ptr72.sum = add i32 %add.ptr65.sum5, %mul73
%add.ptr74 = getelementptr inbounds i8* %stack, i32 %add.ptr72.sum
%add.ptr77 = getelementptr inbounds i8* %stack, i32 %add.ptr65.sum5
%76 = bitcast i8* %add.ptr77 to float*
%77 = ptrtoint i8* %add.ptr74 to i32
%78 = sub i32 0, %77
%and79 = and i32 %78, 3
%add.ptr74.sum6 = add i32 %and79, %add.ptr72.sum
%mul81 = shl i32 %nsf, 2
%add.ptr80.sum = add i32 %add.ptr74.sum6, %mul81
%add.ptr82 = getelementptr inbounds i8* %stack, i32 %add.ptr80.sum
%add.ptr85 = getelementptr inbounds i8* %stack, i32 %add.ptr74.sum6
%79 = ptrtoint i8* %add.ptr82 to i32
%80 = sub i32 0, %79
%and87 = and i32 %80, 3
%add.ptr82.sum7 = add i32 %and87, %add.ptr80.sum
%add.ptr88.sum = add i32 %add.ptr82.sum7, %mul81
%add.ptr90 = getelementptr inbounds i8* %stack, i32 %add.ptr88.sum
%add.ptr93 = getelementptr inbounds i8* %stack, i32 %add.ptr82.sum7
%81 = bitcast i8* %add.ptr93 to float*
%82 = ptrtoint i8* %add.ptr90 to i32
%83 = sub i32 0, %82
%and95 = and i32 %83, 3
%add.ptr90.sum8 = add i32 %and95, %add.ptr88.sum
%mul97 = shl i32 %64, 2
%add.ptr96.sum = add i32 %add.ptr90.sum8, %mul97
%add.ptr98 = getelementptr inbounds i8* %stack, i32 %add.ptr96.sum
%add.ptr101 = getelementptr inbounds i8* %stack, i32 %add.ptr90.sum8
%84 = bitcast i8* %add.ptr101 to i32*
%85 = ptrtoint i8* %add.ptr98 to i32
%86 = sub i32 0, %85
%and103 = and i32 %86, 3
%add.ptr98.sum9 = add i32 %and103, %add.ptr96.sum
%mul105 = shl nsw i32 %N.1, 1
%mul107 = mul i32 %mul81, %mul105
%add.ptr104.sum = add i32 %add.ptr98.sum9, %mul107
%add.ptr108 = getelementptr inbounds i8* %stack, i32 %add.ptr104.sum
%add.ptr113 = getelementptr inbounds i8* %stack, i32 %add.ptr98.sum9
%87 = bitcast i8* %add.ptr113 to float*
%cmp114134 = icmp sgt i32 %N.1, 0
br i1 %cmp114134, label %for.body, label %for.end
for.body: ; preds = %for.body, %if.end27
%i.0135 = phi i32 [ %inc, %for.body ], [ 0, %if.end27 ]
%mul115 = shl nsw i32 %i.0135, 1
%mul116 = mul nsw i32 %mul115, %nsf
%add.ptr117 = getelementptr inbounds float* %87, i32 %mul116
%arrayidx = getelementptr inbounds float** %52, i32 %i.0135
store float* %add.ptr117, float** %arrayidx, align 4
%add19 = or i32 %mul115, 1
%mul119 = mul nsw i32 %add19, %nsf
%add.ptr120 = getelementptr inbounds float* %87, i32 %mul119
%arrayidx121 = getelementptr inbounds float** %55, i32 %i.0135
store float* %add.ptr120, float** %arrayidx121, align 4
%inc = add nsw i32 %i.0135, 1
%exitcond158 = icmp eq i32 %inc, %N.1
br i1 %exitcond158, label %for.end, label %for.body
for.end: ; preds = %for.body, %if.end27
%88 = ptrtoint i8* %add.ptr108 to i32
%89 = sub i32 0, %88
%and123 = and i32 %89, 3
%add.ptr108.sum10 = add i32 %and123, %add.ptr104.sum
%add.ptr124.sum = add i32 %add.ptr108.sum10, %mul28
%add.ptr126 = getelementptr inbounds i8* %stack, i32 %add.ptr124.sum
%add.ptr129 = getelementptr inbounds i8* %stack, i32 %add.ptr108.sum10
%90 = bitcast i8* %add.ptr129 to i32*
%91 = ptrtoint i8* %add.ptr126 to i32
%92 = sub i32 0, %91
%and131 = and i32 %92, 3
%add.ptr126.sum11 = add i32 %and131, %add.ptr124.sum
%add.ptr132.sum = add i32 %add.ptr126.sum11, %mul28
%add.ptr134 = getelementptr inbounds i8* %stack, i32 %add.ptr132.sum
%add.ptr137 = getelementptr inbounds i8* %stack, i32 %add.ptr126.sum11
%93 = bitcast i8* %add.ptr137 to float*
%94 = ptrtoint i8* %add.ptr134 to i32
%95 = sub i32 0, %94
%and139 = and i32 %95, 3
%add.ptr134.sum12 = add i32 %and139, %add.ptr132.sum
%add.ptr140.sum = add i32 %add.ptr134.sum12, %mul28
%add.ptr142 = getelementptr inbounds i8* %stack, i32 %add.ptr140.sum
%add.ptr145 = getelementptr inbounds i8* %stack, i32 %add.ptr134.sum12
%96 = bitcast i8* %add.ptr145 to i32*
%97 = ptrtoint i8* %add.ptr142 to i32
%98 = sub i32 0, %97
%and147 = and i32 %98, 3
%add.ptr142.sum13 = add i32 %and147, %add.ptr140.sum
%add.ptr148.sum = add i32 %add.ptr142.sum13, %mul28
%add.ptr150 = getelementptr inbounds i8* %stack, i32 %add.ptr148.sum
%add.ptr153 = getelementptr inbounds i8* %stack, i32 %add.ptr142.sum13
%99 = bitcast i8* %add.ptr153 to i32*
%100 = ptrtoint i8* %add.ptr150 to i32
%101 = sub i32 0, %100
%and155 = and i32 %101, 3
%add.ptr150.sum14 = add i32 %and155, %add.ptr148.sum
%add.ptr156.sum = add i32 %add.ptr150.sum14, %mul28
%add.ptr158 = getelementptr inbounds i8* %stack, i32 %add.ptr156.sum
%add.ptr161 = getelementptr inbounds i8* %stack, i32 %add.ptr150.sum14
%102 = bitcast i8* %add.ptr161 to float*
%103 = ptrtoint i8* %add.ptr158 to i32
%104 = sub i32 0, %103
%and163 = and i32 %104, 3
%add.ptr158.sum15 = add i32 %and163, %add.ptr156.sum
%add.ptr164.sum = add i32 %add.ptr158.sum15, %mul28
%add.ptr166 = getelementptr inbounds i8* %stack, i32 %add.ptr164.sum
%add.ptr169 = getelementptr inbounds i8* %stack, i32 %add.ptr158.sum15
%105 = bitcast i8* %add.ptr169 to float*
%106 = ptrtoint i8* %add.ptr166 to i32
%107 = sub i32 0, %106
%and171 = and i32 %107, 3
%add.ptr166.sum16 = add i32 %and171, %add.ptr164.sum
%mul174 = shl i32 %N.1, 3
%mul175 = mul i32 %mul174, %64
%add.ptr172.sum = add i32 %add.ptr166.sum16, %mul175
%add.ptr176 = getelementptr inbounds i8* %stack, i32 %add.ptr172.sum
%add.ptr181 = getelementptr inbounds i8* %stack, i32 %add.ptr166.sum16
%108 = bitcast i8* %add.ptr181 to i32*
br i1 %cmp114134, label %for.body184, label %for.end196.thread
for.end196.thread: ; preds = %for.end
%109 = bitcast float* %target to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %add.ptr85, i8* %109, i32 %mul81, i32 4, i1 false)
br label %for.end216
for.body184: ; preds = %for.body184, %for.end
%i.1133 = phi i32 [ %inc195, %for.body184 ], [ 0, %for.end ]
%mul185 = shl nsw i32 %i.1133, 1
%mul186 = mul nsw i32 %mul185, %64
%add.ptr187 = getelementptr inbounds i32* %108, i32 %mul186
%arrayidx188 = getelementptr inbounds i32** %61, i32 %i.1133
store i32* %add.ptr187, i32** %arrayidx188, align 4
%add19018 = or i32 %mul185, 1
%mul191 = mul nsw i32 %add19018, %64
%add.ptr192 = getelementptr inbounds i32* %108, i32 %mul191
%arrayidx193 = getelementptr inbounds i32** %58, i32 %i.1133
store i32* %add.ptr192, i32** %arrayidx193, align 4
%inc195 = add nsw i32 %i.1133, 1
%exitcond157 = icmp eq i32 %inc195, %N.1
br i1 %exitcond157, label %for.body202.preheader, label %for.body184
for.body202.preheader: ; preds = %for.body184
%110 = bitcast float* %target to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %add.ptr85, i8* %110, i32 %mul81, i32 4, i1 false)
br label %for.body202
for.body202: ; preds = %for.body202, %for.body202.preheader
%j.0131 = phi i32 [ %inc215, %for.body202 ], [ 0, %for.body202.preheader ]
%arrayidx203 = getelementptr inbounds float** %52, i32 %j.0131
%111 = load float** %arrayidx203, align 4
%112 = bitcast float* %111 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %112, i8* %add.ptr85, i32 %mul81, i32 4, i1 false)
%inc215 = add nsw i32 %j.0131, 1
%exitcond156 = icmp eq i32 %inc215, %N.1
br i1 %exitcond156, label %for.end216, label %for.body202
for.end216: ; preds = %for.body202, %for.end196.thread
%113 = ptrtoint i8* %add.ptr176 to i32
%114 = sub i32 0, %113
%and.i21 = and i32 %114, 3
%mul.i22 = shl i32 %62, 2
%add.ptr.sum.i23 = or i32 %and.i21, %mul.i22
%add.ptr1.sum.i = sub i32 %add.ptr172.sum, %mul.i22
%add.ptr176.sum = add i32 %add.ptr1.sum.i, %add.ptr.sum.i23
%add.ptr3.i = getelementptr inbounds i8* %stack, i32 %add.ptr176.sum
%115 = bitcast i8* %add.ptr3.i to float*
%cmp8.i = icmp sgt i32 %shl, 0
br i1 %cmp8.i, label %for.body.lr.ph.i24, label %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit
for.body.lr.ph.i24: ; preds = %for.end216
%cmp71.i = icmp sgt i32 %62, 0
br label %for.body.i25
for.body.i25: ; preds = %for.inc35.i, %for.body.lr.ph.i24
%i.09.i = phi i32 [ 0, %for.body.lr.ph.i24 ], [ %inc36.i, %for.inc35.i ]
%mul4.i = mul nsw i32 %i.09.i, %62
br i1 %cmp71.i, label %for.body8.i, label %for.end.thread.i
for.end.thread.i: ; preds = %for.body.i25
%arrayidx1113.i = getelementptr inbounds float* %76, i32 %i.09.i
store float 0.000000e+00, float* %arrayidx1113.i, align 4
br label %for.inc35.i
for.body8.i: ; preds = %for.body8.i, %for.body.i25
%k.02.i = phi i32 [ %inc.i27, %for.body8.i ], [ 0, %for.body.i25 ]
%add.i = add nsw i32 %k.02.i, %mul4.i
%arrayidx.i26 = getelementptr inbounds i8* %68, i32 %add.i
%116 = load i8* %arrayidx.i26, align 1
%conv.i = sitofp i8 %116 to float
%arrayidx10.i = getelementptr inbounds float* %115, i32 %k.02.i
store float %conv.i, float* %arrayidx10.i, align 4
%inc.i27 = add nsw i32 %k.02.i, 1
%exitcond.i28 = icmp eq i32 %inc.i27, %62
br i1 %exitcond.i28, label %for.body17.lr.ph.i.preheader, label %for.body8.i
for.body17.lr.ph.i.preheader: ; preds = %for.body8.i
%arrayidx11.i = getelementptr inbounds float* %76, i32 %i.09.i
store float 0.000000e+00, float* %arrayidx11.i, align 4
br label %for.body17.lr.ph.i
for.body17.lr.ph.i: ; preds = %for.end25.i, %for.body17.lr.ph.i.preheader
%indvars.iv153 = phi i32 [ 1, %for.body17.lr.ph.i.preheader ], [ %indvars.iv.next154, %for.end25.i ]
%j.07.i = phi i32 [ 0, %for.body17.lr.ph.i.preheader ], [ %inc33.i, %for.end25.i ]
br label %for.body17.i
for.body17.i: ; preds = %for.body17.i, %for.body17.lr.ph.i
%resj.05.i = phi float [ 0.000000e+00, %for.body17.lr.ph.i ], [ %add22.i, %for.body17.i ]
%k.14.i = phi i32 [ 0, %for.body17.lr.ph.i ], [ %inc24.i, %for.body17.i ]
%arrayidx18.i = getelementptr inbounds float* %115, i32 %k.14.i
%117 = load float* %arrayidx18.i, align 4
%sub19.i = sub nsw i32 %j.07.i, %k.14.i
%arrayidx20.i = getelementptr inbounds float* %r, i32 %sub19.i
%118 = load float* %arrayidx20.i, align 4
%mul21.i29 = fmul float %117, %118
%add22.i = fadd float %resj.05.i, %mul21.i29
%inc24.i = add nsw i32 %k.14.i, 1
%exitcond155 = icmp eq i32 %inc24.i, %indvars.iv153
br i1 %exitcond155, label %for.end25.i, label %for.body17.i
for.end25.i: ; preds = %for.body17.i
%phitmp.i = fmul float %add22.i, 3.125000e-02
%119 = load float* %arrayidx11.i, align 4
%mul28.i = fmul float %phitmp.i, %phitmp.i
%add29.i = fadd float %119, %mul28.i
store float %add29.i, float* %arrayidx11.i, align 4
%add.ptr5.sum.i = add i32 %j.07.i, %mul4.i
%arrayidx31.i = getelementptr inbounds float* %73, i32 %add.ptr5.sum.i
store float %phitmp.i, float* %arrayidx31.i, align 4
%inc33.i = add nsw i32 %j.07.i, 1
%exitcond10.i = icmp eq i32 %inc33.i, %62
%indvars.iv.next154 = add i32 %indvars.iv153, 1
br i1 %exitcond10.i, label %for.inc35.i, label %for.body17.lr.ph.i
for.inc35.i: ; preds = %for.end25.i, %for.end.thread.i
%inc36.i = add nsw i32 %i.09.i, 1
%exitcond11.i = icmp eq i32 %inc36.i, %shl
br i1 %exitcond11.i, label %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit, label %for.body.i25
_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit: ; preds = %for.inc35.i, %for.end216
tail call void @llvm.memset.p0i8.i32(i8* %add.ptr169, i8 0, i32 %mul28, i32 4, i1 false)
%cmp220126 = icmp sgt i32 %64, 0
br i1 %cmp220126, label %for.cond222.preheader.lr.ph, label %for.cond425.preheader
for.cond222.preheader.lr.ph: ; preds = %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit
%cmp242111 = icmp sgt i32 %62, 0
%tobool = icmp eq i32 %70, 0
%sub7.i = add nsw i32 %N.1, -1
%arrayidx8.i = getelementptr inbounds float* %93, i32 %sub7.i
%arrayidx264 = getelementptr inbounds float* %102, i32 %sub7.i
br label %for.cond222.preheader
for.cond222.preheader: ; preds = %for.end373, %for.cond222.preheader.lr.ph
%nt.0129 = phi float** [ %55, %for.cond222.preheader.lr.ph ], [ %ot.0128, %for.end373 ]
%ot.0128 = phi float** [ %52, %for.cond222.preheader.lr.ph ], [ %nt.0129, %for.end373 ]
%i.2127 = phi i32 [ 0, %for.cond222.preheader.lr.ph ], [ %inc378.pre-phi, %for.end373 ]
br i1 %cmp114134, label %for.body224, label %for.end228
for.body224: ; preds = %for.body224, %for.cond222.preheader
%j.1109 = phi i32 [ %inc227, %for.body224 ], [ 0, %for.cond222.preheader ]
%arrayidx225 = getelementptr inbounds float* %102, i32 %j.1109
store float 0x430C6BF520000000, float* %arrayidx225, align 4
%inc227 = add nsw i32 %j.1109, 1
%exitcond144 = icmp eq i32 %inc227, %N.1
br i1 %exitcond144, label %for.end228, label %for.body224
for.end228: ; preds = %for.body224, %for.cond222.preheader
tail call void @llvm.memset.p0i8.i32(i8* %add.ptr145, i8 0, i32 %mul28, i32 4, i1 false)
tail call void @llvm.memset.p0i8.i32(i8* %add.ptr153, i8 0, i32 %mul28, i32 4, i1 false)
%mul238 = mul nsw i32 %i.2127, %62
%cmp300 = icmp eq i32 %i.2127, 0
br label %for.cond233
for.cond233: ; preds = %for.end299, %for.end228
%j.2 = phi i32 [ 0, %for.end228 ], [ %inc304, %for.end299 ]
%cmp234 = icmp slt i32 %j.2, %N.1
br i1 %cmp234, label %for.body235, label %for.cond306.loopexit
for.body235: ; preds = %for.cond233
%arrayidx237 = getelementptr inbounds float** %ot.0128, i32 %j.2
%120 = load float** %arrayidx237, align 4
br i1 %cmp242111, label %for.body243, label %for.end250
for.body243: ; preds = %for.body243, %for.body235
%tener.0113 = phi float [ %add247, %for.body243 ], [ 0.000000e+00, %for.body235 ]
%m.0112 = phi i32 [ %inc249, %for.body243 ], [ 0, %for.body235 ]
%add.ptr239.sum = add i32 %m.0112, %mul238
%arrayidx244 = getelementptr inbounds float* %120, i32 %add.ptr239.sum
%121 = load float* %arrayidx244, align 4
%mul246 = fmul float %121, %121
%add247 = fadd float %tener.0113, %mul246
%inc249 = add nsw i32 %m.0112, 1
%exitcond145 = icmp eq i32 %inc249, %62
br i1 %exitcond145, label %for.cond241.for.end250_crit_edge, label %for.body243
for.cond241.for.end250_crit_edge: ; preds = %for.body243
%phitmp = fmul float %add247, 5.000000e-01
br label %for.end250
for.end250: ; preds = %for.cond241.for.end250_crit_edge, %for.body235
%tener.0.lcssa = phi float [ %phitmp, %for.cond241.for.end250_crit_edge ], [ 0.000000e+00, %for.body235 ]
br i1 %tobool, label %if.else, label %if.then253
if.then253: ; preds = %for.end250
br i1 %cmp8.i, label %for.cond1.preheader.i, label %for.cond255.preheader
for.cond1.preheader.i: ; preds = %for.inc37.i, %if.then253
%codebook.addr.09.i = phi float* [ %codebook.addr.1.lcssa12.i, %for.inc37.i ], [ %73, %if.then253 ]
%used.08.i = phi i32 [ %used.1.i, %for.inc37.i ], [ 0, %if.then253 ]
%i.07.i = phi i32 [ %inc38.i, %for.inc37.i ], [ 0, %if.then253 ]
br i1 %cmp242111, label %for.body3.i, label %if.end.i39
for.body3.i: ; preds = %for.body3.i, %for.cond1.preheader.i
%dist.04.i = phi float [ %add.i33, %for.body3.i ], [ 0.000000e+00, %for.cond1.preheader.i ]
%codebook.addr.13.i = phi float* [ %incdec.ptr.i, %for.body3.i ], [ %codebook.addr.09.i, %for.cond1.preheader.i ]
%j.02.i = phi i32 [ %inc.i34, %for.body3.i ], [ 0, %for.cond1.preheader.i ]
%add.ptr239.sum94 = add i32 %j.02.i, %mul238
%arrayidx.i31 = getelementptr inbounds float* %120, i32 %add.ptr239.sum94
%122 = load float* %arrayidx.i31, align 4
%incdec.ptr.i = getelementptr inbounds float* %codebook.addr.13.i, i32 1
%123 = load float* %codebook.addr.13.i, align 4
%mul.i32 = fmul float %122, %123
%add.i33 = fadd float %dist.04.i, %mul.i32
%inc.i34 = add nsw i32 %j.02.i, 1
%exitcond.i35 = icmp eq i32 %inc.i34, %62
br i1 %exitcond.i35, label %for.end.i36, label %for.body3.i
for.end.i36: ; preds = %for.body3.i
%scevgep.i = getelementptr float* %codebook.addr.09.i, i32 %62
%cmp4.i = fcmp ogt float %add.i33, 0.000000e+00
br i1 %cmp4.i, label %if.then.i37, label %if.end.i39
if.then.i37: ; preds = %for.end.i36
%sub.i = fsub float -0.000000e+00, %add.i33
br label %if.end.i39
if.end.i39: ; preds = %if.then.i37, %for.end.i36, %for.cond1.preheader.i
%codebook.addr.1.lcssa12.i = phi float* [ %scevgep.i, %if.then.i37 ], [ %scevgep.i, %for.end.i36 ], [ %codebook.addr.09.i, %for.cond1.preheader.i ]
%sign.0.i = phi i32 [ 0, %if.then.i37 ], [ 1, %for.end.i36 ], [ 1, %for.cond1.preheader.i ]
%dist.1.i = phi float [ %sub.i, %if.then.i37 ], [ %add.i33, %for.end.i36 ], [ 0.000000e+00, %for.cond1.preheader.i ]
%arrayidx5.i = getelementptr inbounds float* %76, i32 %i.07.i
%124 = load float* %arrayidx5.i, align 4
%mul6.i = fmul float %124, 5.000000e-01
%add7.i = fadd float %dist.1.i, %mul6.i
%cmp8.i38 = icmp slt i32 %i.07.i, %N.1
br i1 %cmp8.i38, label %for.cond14.i, label %lor.lhs.false.i
lor.lhs.false.i: ; preds = %if.end.i39
%125 = load float* %arrayidx8.i, align 4
%cmp11.i = fcmp olt float %add7.i, %125
br i1 %cmp11.i, label %for.cond14.i, label %for.inc37.i
for.cond14.i: ; preds = %for.body20.i, %lor.lhs.false.i, %if.end.i39
%k.0.in.i = phi i32 [ %k.0.i, %for.body20.i ], [ %N.1, %if.end.i39 ], [ %N.1, %lor.lhs.false.i ]
%k.0.i = add nsw i32 %k.0.in.i, -1
%cmp15.i = icmp sgt i32 %k.0.i, 0
br i1 %cmp15.i, label %land.rhs.i, label %for.end28.i
land.rhs.i: ; preds = %for.cond14.i
%cmp16.i40 = icmp sgt i32 %k.0.i, %used.08.i
%sub21.pre.i = add nsw i32 %k.0.in.i, -2
%arrayidx22.pre.i = getelementptr inbounds float* %93, i32 %sub21.pre.i
%.pre159 = load float* %arrayidx22.pre.i, align 4
%cmp19.i = fcmp olt float %add7.i, %.pre159
%or.cond160 = or i1 %cmp16.i40, %cmp19.i
br i1 %or.cond160, label %for.body20.i, label %for.end28.i
for.body20.i: ; preds = %land.rhs.i
%arrayidx23.i = getelementptr inbounds float* %93, i32 %k.0.i
store float %.pre159, float* %arrayidx23.i, align 4
%arrayidx25.i = getelementptr inbounds i32* %90, i32 %sub21.pre.i
%126 = load i32* %arrayidx25.i, align 4
%arrayidx26.i = getelementptr inbounds i32* %90, i32 %k.0.i
store i32 %126, i32* %arrayidx26.i, align 4
br label %for.cond14.i
for.end28.i: ; preds = %land.rhs.i, %for.cond14.i
%arrayidx29.i = getelementptr inbounds float* %93, i32 %k.0.i
store float %add7.i, float* %arrayidx29.i, align 4
%arrayidx30.i = getelementptr inbounds i32* %90, i32 %k.0.i
store i32 %i.07.i, i32* %arrayidx30.i, align 4
%inc31.i = add nsw i32 %used.08.i, 1
%tobool.i41 = icmp eq i32 %sign.0.i, 0
br i1 %tobool.i41, label %for.inc37.i, label %if.then32.i
if.then32.i: ; preds = %for.end28.i
%add34.i = add nsw i32 %i.07.i, %shl
store i32 %add34.i, i32* %arrayidx30.i, align 4
br label %for.inc37.i
for.inc37.i: ; preds = %if.then32.i, %for.end28.i, %lor.lhs.false.i
%used.1.i = phi i32 [ %inc31.i, %if.then32.i ], [ %inc31.i, %for.end28.i ], [ %used.08.i, %lor.lhs.false.i ]
%inc38.i = add nsw i32 %i.07.i, 1
%exitcond10.i42 = icmp eq i32 %inc38.i, %shl
br i1 %exitcond10.i42, label %for.cond255.preheader, label %for.cond1.preheader.i
if.else: ; preds = %for.end250
br i1 %cmp8.i, label %for.cond1.preheader.i45, label %for.cond255.preheader
for.cond1.preheader.i45: ; preds = %for.inc29.i, %if.else
%codebook.addr.010.i = phi float* [ %codebook.addr.1.lcssa.i, %for.inc29.i ], [ %73, %if.else ]
%used.09.i = phi i32 [ %used.1.i72, %for.inc29.i ], [ 0, %if.else ]
%i.08.i = phi i32 [ %inc30.i, %for.inc29.i ], [ 0, %if.else ]
br i1 %cmp242111, label %for.body3.i55, label %for.end.i60
for.body3.i55: ; preds = %for.body3.i55, %for.cond1.preheader.i45
%dist.04.i46 = phi float [ %add.i52, %for.body3.i55 ], [ 0.000000e+00, %for.cond1.preheader.i45 ]
%codebook.addr.13.i47 = phi float* [ %incdec.ptr.i50, %for.body3.i55 ], [ %codebook.addr.010.i, %for.cond1.preheader.i45 ]
%j.02.i48 = phi i32 [ %inc.i53, %for.body3.i55 ], [ 0, %for.cond1.preheader.i45 ]
%add.ptr239.sum95 = add i32 %j.02.i48, %mul238
%arrayidx.i49 = getelementptr inbounds float* %120, i32 %add.ptr239.sum95
%127 = load float* %arrayidx.i49, align 4
%incdec.ptr.i50 = getelementptr inbounds float* %codebook.addr.13.i47, i32 1
%128 = load float* %codebook.addr.13.i47, align 4
%mul.i51 = fmul float %127, %128
%add.i52 = fadd float %dist.04.i46, %mul.i51
%inc.i53 = add nsw i32 %j.02.i48, 1
%exitcond.i54 = icmp eq i32 %inc.i53, %62
br i1 %exitcond.i54, label %for.cond1.for.end_crit_edge.i, label %for.body3.i55
for.cond1.for.end_crit_edge.i: ; preds = %for.body3.i55
%scevgep.i56 = getelementptr float* %codebook.addr.010.i, i32 %62
br label %for.end.i60
for.end.i60: ; preds = %for.cond1.for.end_crit_edge.i, %for.cond1.preheader.i45
%dist.0.lcssa.i = phi float [ %add.i52, %for.cond1.for.end_crit_edge.i ], [ 0.000000e+00, %for.cond1.preheader.i45 ]
%codebook.addr.1.lcssa.i = phi float* [ %scevgep.i56, %for.cond1.for.end_crit_edge.i ], [ %codebook.addr.010.i, %for.cond1.preheader.i45 ]
%arrayidx4.i = getelementptr inbounds float* %76, i32 %i.08.i
%129 = load float* %arrayidx4.i, align 4
%mul5.i57 = fmul float %129, 5.000000e-01
%sub.i58 = fsub float %mul5.i57, %dist.0.lcssa.i
%cmp6.i59 = icmp slt i32 %i.08.i, %N.1
br i1 %cmp6.i59, label %for.cond11.i, label %lor.lhs.false.i61
lor.lhs.false.i61: ; preds = %for.end.i60
%130 = load float* %arrayidx8.i, align 4
%cmp9.i = fcmp olt float %sub.i58, %130
br i1 %cmp9.i, label %for.cond11.i, label %for.inc29.i
for.cond11.i: ; preds = %for.body17.i69, %lor.lhs.false.i61, %for.end.i60
%k.0.in.i62 = phi i32 [ %k.0.i63, %for.body17.i69 ], [ %N.1, %for.end.i60 ], [ %N.1, %lor.lhs.false.i61 ]
%k.0.i63 = add nsw i32 %k.0.in.i62, -1
%cmp12.i = icmp sgt i32 %k.0.i63, 0
br i1 %cmp12.i, label %land.rhs.i64, label %for.end25.i71
land.rhs.i64: ; preds = %for.cond11.i
%cmp13.i = icmp sgt i32 %k.0.i63, %used.09.i
%sub18.pre.i = add nsw i32 %k.0.in.i62, -2
%arrayidx19.pre.i = getelementptr inbounds float* %93, i32 %sub18.pre.i
%.pre = load float* %arrayidx19.pre.i, align 4
%cmp16.i65 = fcmp olt float %sub.i58, %.pre
%or.cond161 = or i1 %cmp13.i, %cmp16.i65
br i1 %or.cond161, label %for.body17.i69, label %for.end25.i71
for.body17.i69: ; preds = %land.rhs.i64
%arrayidx20.i67 = getelementptr inbounds float* %93, i32 %k.0.i63
store float %.pre, float* %arrayidx20.i67, align 4
%arrayidx22.i = getelementptr inbounds i32* %90, i32 %sub18.pre.i
%131 = load i32* %arrayidx22.i, align 4
%arrayidx23.i68 = getelementptr inbounds i32* %90, i32 %k.0.i63
store i32 %131, i32* %arrayidx23.i68, align 4
br label %for.cond11.i
for.end25.i71: ; preds = %land.rhs.i64, %for.cond11.i
%arrayidx26.i70 = getelementptr inbounds float* %93, i32 %k.0.i63
store float %sub.i58, float* %arrayidx26.i70, align 4
%arrayidx27.i = getelementptr inbounds i32* %90, i32 %k.0.i63
store i32 %i.08.i, i32* %arrayidx27.i, align 4
%inc28.i = add nsw i32 %used.09.i, 1
br label %for.inc29.i
for.inc29.i: ; preds = %for.end25.i71, %lor.lhs.false.i61
%used.1.i72 = phi i32 [ %inc28.i, %for.end25.i71 ], [ %used.09.i, %lor.lhs.false.i61 ]
%inc30.i = add nsw i32 %i.08.i, 1
%exitcond11.i73 = icmp eq i32 %inc30.i, %shl
br i1 %exitcond11.i73, label %for.cond255.preheader, label %for.cond1.preheader.i45
for.cond255.preheader: ; preds = %for.inc29.i, %if.else, %for.inc37.i, %if.then253
br i1 %cmp114134, label %for.body257.lr.ph, label %for.end299
for.body257.lr.ph: ; preds = %for.cond255.preheader
%arrayidx259 = getelementptr inbounds float* %105, i32 %j.2
br label %for.body257
for.body257: ; preds = %for.inc297, %for.body257.lr.ph
%k.0119 = phi i32 [ 0, %for.body257.lr.ph ], [ %inc298, %for.inc297 ]
%132 = load float* %arrayidx259, align 4
%arrayidx260 = getelementptr inbounds float* %93, i32 %k.0119
%133 = load float* %arrayidx260, align 4
%add261 = fadd float %132, %133
%add262 = fadd float %add261, %tener.0.lcssa
%134 = load float* %arrayidx264, align 4
%cmp265 = fcmp olt float %add262, %134
br i1 %cmp265, label %for.cond267, label %for.inc297
for.cond267: ; preds = %for.body269, %for.body257
%indvars.iv = phi i32 [ %indvars.iv.next, %for.body269 ], [ 0, %for.body257 ]
%cmp268 = icmp slt i32 %indvars.iv, %N.1
br i1 %cmp268, label %for.body269, label %for.inc297
for.body269: ; preds = %for.cond267
%arrayidx270 = getelementptr inbounds float* %102, i32 %indvars.iv
%135 = load float* %arrayidx270, align 4
%cmp271 = fcmp olt float %add262, %135
%indvars.iv.next = add i32 %indvars.iv, 1
br i1 %cmp271, label %for.cond274.preheader, label %for.cond267
for.cond274.preheader: ; preds = %for.body269
%cmp275114 = icmp sgt i32 %sub7.i, %indvars.iv
br i1 %cmp275114, label %for.body276, label %for.end287
for.body276: ; preds = %for.body276, %for.cond274.preheader
%n.0115 = phi i32 [ %sub277, %for.body276 ], [ %sub7.i, %for.cond274.preheader ]
%sub277 = add nsw i32 %n.0115, -1
%arrayidx278 = getelementptr inbounds float* %102, i32 %sub277
%136 = load float* %arrayidx278, align 4
%arrayidx279 = getelementptr inbounds float* %102, i32 %n.0115
store float %136, float* %arrayidx279, align 4
%arrayidx281 = getelementptr inbounds i32* %96, i32 %sub277
%137 = load i32* %arrayidx281, align 4
%arrayidx282 = getelementptr inbounds i32* %96, i32 %n.0115
store i32 %137, i32* %arrayidx282, align 4
%arrayidx284 = getelementptr inbounds i32* %99, i32 %sub277
%138 = load i32* %arrayidx284, align 4
%arrayidx285 = getelementptr inbounds i32* %99, i32 %n.0115
store i32 %138, i32* %arrayidx285, align 4
%cmp275 = icmp sgt i32 %sub277, %indvars.iv
br i1 %cmp275, label %for.body276, label %for.end287
for.end287: ; preds = %for.body276, %for.cond274.preheader
%n.0.lcssa = phi i32 [ %sub7.i, %for.cond274.preheader ], [ %indvars.iv, %for.body276 ]
store float %add262, float* %arrayidx270, align 4
%arrayidx289 = getelementptr inbounds i32* %90, i32 %k.0119
%139 = load i32* %arrayidx289, align 4
%arrayidx290 = getelementptr inbounds i32* %96, i32 %n.0.lcssa
store i32 %139, i32* %arrayidx290, align 4
%arrayidx291 = getelementptr inbounds i32* %99, i32 %n.0.lcssa
store i32 %j.2, i32* %arrayidx291, align 4
br label %for.inc297
for.inc297: ; preds = %for.end287, %for.cond267, %for.body257
%inc298 = add nsw i32 %k.0119, 1
%exitcond148 = icmp eq i32 %inc298, %N.1
br i1 %exitcond148, label %for.end299, label %for.body257
for.end299: ; preds = %for.inc297, %for.cond255.preheader
%inc304 = add nsw i32 %j.2, 1
br i1 %cmp300, label %for.cond306.loopexit, label %for.cond233
for.cond306.loopexit: ; preds = %for.end299, %for.cond233
%add309 = add nsw i32 %i.2127, 1
br i1 %cmp114134, label %for.body308.lr.ph, label %for.end373
for.body308.lr.ph: ; preds = %for.cond306.loopexit
%mul310 = mul nsw i32 %add309, %62
%sub316 = sub nsw i32 %nsf, %mul310
%mul317 = shl i32 %sub316, 2
%cmp1.i = icmp sgt i32 %sub316, 0
br label %for.body308
for.body308: ; preds = %for.end349, %for.body308.lr.ph
%j.3123 = phi i32 [ 0, %for.body308.lr.ph ], [ %inc360, %for.end349 ]
%arrayidx311 = getelementptr inbounds float** %nt.0129, i32 %j.3123
%140 = load float** %arrayidx311, align 4
%arrayidx312 = getelementptr inbounds float* %140, i32 %mul310
%141 = bitcast float* %arrayidx312 to i8*
%arrayidx313 = getelementptr inbounds i32* %99, i32 %j.3123
%142 = load i32* %arrayidx313, align 4
%arrayidx314 = getelementptr inbounds float** %ot.0128, i32 %142
%143 = load float** %arrayidx314, align 4
%arrayidx315 = getelementptr inbounds float* %143, i32 %mul310
%144 = bitcast float* %arrayidx315 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %141, i8* %144, i32 %mul317, i32 4, i1 false)
%arrayidx324 = getelementptr inbounds i32* %96, i32 %j.3123
br i1 %cmp242111, label %for.body320, label %for.end349
for.body320: ; preds = %_Z13target_updatePffS_i.exit, %for.body308
%m.2121 = phi i32 [ 0, %for.body308 ], [ %inc348, %_Z13target_updatePffS_i.exit ]
%145 = load i32* %arrayidx324, align 4
%cmp325 = icmp slt i32 %145, %shl
%sub327 = select i1 %cmp325, i32 0, i32 %shl
%.sub327 = sub nsw i32 %145, %sub327
%. = select i1 %cmp325, double 3.125000e-02, double -3.125000e-02
%mul332 = mul nsw i32 %.sub327, %62
%add333 = add nsw i32 %mul332, %m.2121
%arrayidx334 = getelementptr inbounds i8* %68, i32 %add333
%146 = load i8* %arrayidx334, align 1
%conv336 = sitofp i8 %146 to double
%mul337 = fmul double %., %conv336
%conv338 = fptrunc double %mul337 to float
%147 = load float** %arrayidx311, align 4
br i1 %cmp1.i, label %for.body.i79.preheader, label %_Z13target_updatePffS_i.exit
for.body.i79.preheader: ; preds = %for.body320
%sub329 = sub i32 %62, %m.2121
br label %for.body.i79
for.body.i79: ; preds = %for.body.i79, %for.body.i79.preheader
%n.02.i = phi i32 [ %inc.i77, %for.body.i79 ], [ 0, %for.body.i79.preheader ]
%add.ptr342.sum = add i32 %n.02.i, %mul310
%arrayidx.i74 = getelementptr inbounds float* %147, i32 %add.ptr342.sum
%148 = load float* %arrayidx.i74, align 4
%add.ptr343.sum = add i32 %sub329, %n.02.i
%arrayidx1.i = getelementptr inbounds float* %r, i32 %add.ptr343.sum
%149 = load float* %arrayidx1.i, align 4
%mul.i75 = fmul float %149, %conv338
%sub.i76 = fsub float %148, %mul.i75
store float %sub.i76, float* %arrayidx.i74, align 4
%inc.i77 = add nsw i32 %n.02.i, 1
%exitcond.i78 = icmp eq i32 %inc.i77, %sub316
br i1 %exitcond.i78, label %_Z13target_updatePffS_i.exit, label %for.body.i79
_Z13target_updatePffS_i.exit: ; preds = %for.body.i79, %for.body320
%inc348 = add nsw i32 %m.2121, 1
%exitcond149 = icmp eq i32 %inc348, %62
br i1 %exitcond149, label %for.end349, label %for.body320
for.end349: ; preds = %_Z13target_updatePffS_i.exit, %for.body308
%arrayidx350 = getelementptr inbounds i32** %61, i32 %j.3123
%150 = load i32** %arrayidx350, align 4
%151 = bitcast i32* %150 to i8*
%152 = load i32* %arrayidx313, align 4
%arrayidx353 = getelementptr inbounds i32** %58, i32 %152
%153 = load i32** %arrayidx353, align 4
%154 = bitcast i32* %153 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %151, i8* %154, i32 %mul97, i32 4, i1 false)
%155 = load i32* %arrayidx324, align 4
%156 = load i32** %arrayidx350, align 4
%arrayidx358 = getelementptr inbounds i32* %156, i32 %i.2127
store i32 %155, i32* %arrayidx358, align 4
%inc360 = add nsw i32 %j.3123, 1
%exitcond150 = icmp eq i32 %inc360, %N.1
br i1 %exitcond150, label %for.body365, label %for.body308
for.body365: ; preds = %for.body365, %for.end349
%j.4125 = phi i32 [ %inc372, %for.body365 ], [ 0, %for.end349 ]
%arrayidx366 = getelementptr inbounds i32** %58, i32 %j.4125
%157 = load i32** %arrayidx366, align 4
%158 = bitcast i32* %157 to i8*
%arrayidx368 = getelementptr inbounds i32** %61, i32 %j.4125
%159 = load i32** %arrayidx368, align 4
%160 = bitcast i32* %159 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %158, i8* %160, i32 %mul97, i32 4, i1 false)
%inc372 = add nsw i32 %j.4125, 1
%exitcond151 = icmp eq i32 %inc372, %N.1
br i1 %exitcond151, label %for.end373, label %for.body365
for.end373: ; preds = %for.body365, %for.cond306.loopexit
%inc378.pre-phi = phi i32 [ %add309, %for.body365 ], [ %add309, %for.cond306.loopexit ]
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %add.ptr169, i8* %add.ptr161, i32 %mul28, i32 4, i1 false)
%exitcond152 = icmp eq i32 %inc378.pre-phi, %64
br i1 %exitcond152, label %for.body382, label %for.cond222.preheader
for.body382: ; preds = %for.body382, %for.end373
%i.3107 = phi i32 [ %inc390, %for.body382 ], [ 0, %for.end373 ]
%161 = load i32** %61, align 4
%arrayidx384 = getelementptr inbounds i32* %161, i32 %i.3107
%162 = load i32* %arrayidx384, align 4
%arrayidx385 = getelementptr inbounds i32* %84, i32 %i.3107
store i32 %162, i32* %arrayidx385, align 4
%163 = load i32* %65, align 4
%add388 = add nsw i32 %163, %70
tail call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %162, i32 %add388)
%inc390 = add nsw i32 %i.3107, 1
%exitcond143 = icmp eq i32 %inc390, %64
br i1 %exitcond143, label %for.body394, label %for.body382
for.cond425.preheader: ; preds = %for.inc422, %_ZL25compute_weighted_codebookPKaPKfPfS3_S3_iiPc.exit
%cmp426100 = icmp sgt i32 %nsf, 0
br i1 %cmp426100, label %for.body427, label %for.end434
for.body394: ; preds = %for.inc422, %for.body382
%i.4105 = phi i32 [ %inc423, %for.inc422 ], [ 0, %for.body382 ]
%arrayidx399 = getelementptr inbounds i32* %84, i32 %i.4105
%164 = load i32* %arrayidx399, align 4
%cmp400 = icmp slt i32 %164, %shl
%sub402 = select i1 %cmp400, i32 0, i32 %shl
%.sub402 = sub nsw i32 %164, %sub402
%.20 = select i1 %cmp400, double 3.125000e-02, double -3.125000e-02
%mul404 = mul nsw i32 %.sub402, %62
%mul405 = mul nsw i32 %i.4105, %62
br i1 %cmp242111, label %for.body408, label %for.inc422
for.body408: ; preds = %for.body408, %for.body394
%j.5103 = phi i32 [ %inc420, %for.body408 ], [ 0, %for.body394 ]
%add411 = add nsw i32 %j.5103, %mul404
%arrayidx412 = getelementptr inbounds i8* %68, i32 %add411
%165 = load i8* %arrayidx412, align 1
%conv414 = sitofp i8 %165 to double
%mul415 = fmul double %.20, %conv414
%conv416 = fptrunc double %mul415 to float
%add417 = add nsw i32 %j.5103, %mul405
%arrayidx418 = getelementptr inbounds float* %81, i32 %add417
store float %conv416, float* %arrayidx418, align 4
%inc420 = add nsw i32 %j.5103, 1
%exitcond141 = icmp eq i32 %inc420, %62
br i1 %exitcond141, label %for.inc422, label %for.body408
for.inc422: ; preds = %for.body408, %for.body394
%inc423 = add nsw i32 %i.4105, 1
%exitcond142 = icmp eq i32 %inc423, %64
br i1 %exitcond142, label %for.cond425.preheader, label %for.body394
for.body427: ; preds = %for.body427, %for.cond425.preheader
%j.6101 = phi i32 [ %inc433, %for.body427 ], [ 0, %for.cond425.preheader ]
%arrayidx428 = getelementptr inbounds float* %exc, i32 %j.6101
%166 = load float* %arrayidx428, align 4
%arrayidx429 = getelementptr inbounds float* %81, i32 %j.6101
%167 = load float* %arrayidx429, align 4
%add430 = fadd float %166, %167
store float %add430, float* %arrayidx428, align 4
%inc433 = add nsw i32 %j.6101, 1
%exitcond140 = icmp eq i32 %inc433, %nsf
br i1 %exitcond140, label %for.end434, label %for.body427
for.end434: ; preds = %for.body427, %for.cond425.preheader
%tobool435 = icmp eq i32 %update_target, 0
br i1 %tobool435, label %if.end464, label %if.then436
if.then436: ; preds = %for.end434
%add.ptr176.sum17 = add i32 %and.i21, %add.ptr172.sum
%add.ptr440.sum = add i32 %add.ptr176.sum17, %mul81
%add.ptr442 = getelementptr inbounds i8* %stack, i32 %add.ptr440.sum
%add.ptr445 = getelementptr inbounds i8* %stack, i32 %add.ptr176.sum17
%168 = bitcast i8* %add.ptr445 to float*
br i1 %cmp426100, label %for.body448, label %for.end453.thread
for.end453.thread: ; preds = %if.then436
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %168, float* %ak, float* %awk1, float* %awk2, float* %168, i32 %nsf, i32 %p, i8* %add.ptr442)
br label %if.end464
for.body448: ; preds = %for.body448, %if.then436
%j.799 = phi i32 [ %inc452, %for.body448 ], [ 0, %if.then436 ]
%arrayidx449 = getelementptr inbounds float* %81, i32 %j.799
%169 = load float* %arrayidx449, align 4
%arrayidx450 = getelementptr inbounds float* %168, i32 %j.799
store float %169, float* %arrayidx450, align 4
%inc452 = add nsw i32 %j.799, 1
%exitcond139 = icmp eq i32 %inc452, %nsf
br i1 %exitcond139, label %for.body456.preheader, label %for.body448
for.body456.preheader: ; preds = %for.body448
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %168, float* %ak, float* %awk1, float* %awk2, float* %168, i32 %nsf, i32 %p, i8* %add.ptr442)
br label %for.body456
for.body456: ; preds = %for.body456, %for.body456.preheader
%j.897 = phi i32 [ %inc462, %for.body456 ], [ 0, %for.body456.preheader ]
%arrayidx457 = getelementptr inbounds float* %target, i32 %j.897
%170 = load float* %arrayidx457, align 4
%arrayidx458 = getelementptr inbounds float* %168, i32 %j.897
%171 = load float* %arrayidx458, align 4
%sub459 = fsub float %170, %171
store float %sub459, float* %arrayidx457, align 4
%inc462 = add nsw i32 %j.897, 1
%exitcond = icmp eq i32 %inc462, %nsf
br i1 %exitcond, label %if.end464, label %for.body456
if.end464: ; preds = %for.body456, %for.end453.thread, %for.end434, %for.body153.i, %for.end150.thread.i, %for.end132.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 ssp {
entry:
%subvect_size1 = bitcast i8* %par to i32*
%0 = load i32* %subvect_size1, align 4
%nb_subvect2 = getelementptr inbounds i8* %par, i32 4
%1 = bitcast i8* %nb_subvect2 to i32*
%2 = load i32* %1, align 4
%shape_bits = getelementptr inbounds i8* %par, i32 12
%3 = bitcast i8* %shape_bits to i32*
%shape_cb3 = getelementptr inbounds i8* %par, i32 8
%4 = bitcast i8* %shape_cb3 to i8**
%5 = load i8** %4, align 4
%6 = ptrtoint i8* %stack to i32
%7 = sub i32 0, %6
%and = and i32 %7, 3
%mul = shl i32 %2, 2
%add.ptr.sum = or i32 %mul, %and
%add.ptr5 = getelementptr inbounds i8* %stack, i32 %add.ptr.sum
%add.ptr5.sum = sub i32 %add.ptr.sum, %mul
%add.ptr7 = getelementptr inbounds i8* %stack, i32 %add.ptr5.sum
%8 = bitcast i8* %add.ptr7 to i32*
%9 = ptrtoint i8* %add.ptr5 to i32
%10 = sub i32 0, %9
%and9 = and i32 %10, 3
%add.ptr12.sum = add i32 %and9, %add.ptr.sum
%add.ptr15 = getelementptr inbounds i8* %stack, i32 %add.ptr12.sum
%11 = bitcast i8* %add.ptr15 to i32*
%cmp40 = icmp sgt i32 %2, 0
br i1 %cmp40, label %for.body.lr.ph, label %for.end48
for.body.lr.ph: ; preds = %entry
%have_sign4 = getelementptr inbounds i8* %par, i32 16
%12 = bitcast i8* %have_sign4 to i32*
%13 = load i32* %12, align 4
%tobool = icmp eq i32 %13, 0
%charPtr.i2 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%bitPtr.i4 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%nbBits2.i7 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%overflow.i9 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
%chars.i14 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
br label %for.body
for.body22.lr.ph: ; preds = %speex_bits_unpack_unsigned.exit35
%cmp2836 = icmp sgt i32 %0, 0
br label %for.body22
for.body: ; preds = %speex_bits_unpack_unsigned.exit35, %for.body.lr.ph
%i.041 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %speex_bits_unpack_unsigned.exit35 ]
br i1 %tobool, label %if.else, label %if.then
if.then: ; preds = %for.body
%14 = load i32* %charPtr.i2, align 4
%shl.i = shl i32 %14, 3
%15 = load i32* %bitPtr.i4, align 4
%add.i42 = or i32 %shl.i, 1
%add1.i = add i32 %add.i42, %15
%16 = load i32* %nbBits2.i7, align 4
%cmp.i = icmp sgt i32 %add1.i, %16
br i1 %cmp.i, label %if.end.thread.i, label %if.end.i
if.end.thread.i: ; preds = %if.then
store i32 1, i32* %overflow.i9, align 4
br label %speex_bits_unpack_unsigned.exit
if.end.i: ; preds = %if.then
%.pre5.i = load i32* %overflow.i9, align 4
%phitmp.i = icmp eq i32 %.pre5.i, 0
br i1 %phitmp.i, label %while.body.lr.ph.i, label %speex_bits_unpack_unsigned.exit
while.body.lr.ph.i: ; preds = %if.end.i
%.pre.i = load i8** %chars.i14, align 4
%arrayidx.i = getelementptr inbounds i8* %.pre.i, i32 %14
%17 = load i8* %arrayidx.i, align 1
%conv.i = sext i8 %17 to i32
%sub.i = sub nsw i32 7, %15
%shr1.i = lshr i32 %conv.i, %sub.i
%and.i = and i32 %shr1.i, 1
%inc.i = add nsw i32 %15, 1
store i32 %inc.i, i32* %bitPtr.i4, align 4
%cmp12.i = icmp eq i32 %inc.i, 8
br i1 %cmp12.i, label %if.then13.i, label %speex_bits_unpack_unsigned.exit
if.then13.i: ; preds = %while.body.lr.ph.i
store i32 0, i32* %bitPtr.i4, align 4
%inc16.i = add nsw i32 %14, 1
store i32 %inc16.i, i32* %charPtr.i2, align 4
br label %speex_bits_unpack_unsigned.exit
speex_bits_unpack_unsigned.exit: ; preds = %if.then13.i, %while.body.lr.ph.i, %if.end.i, %if.end.thread.i
%retval.0.i = phi i32 [ 0, %if.end.i ], [ 0, %if.end.thread.i ], [ %and.i, %if.then13.i ], [ %and.i, %while.body.lr.ph.i ]
%arrayidx = getelementptr inbounds i32* %11, i32 %i.041
store i32 %retval.0.i, i32* %arrayidx, align 4
br label %if.end
if.else: ; preds = %for.body
%arrayidx16 = getelementptr inbounds i32* %11, i32 %i.041
store i32 0, i32* %arrayidx16, align 4
br label %if.end
if.end: ; preds = %if.else, %speex_bits_unpack_unsigned.exit
%18 = load i32* %3, align 4
%19 = load i32* %charPtr.i2, align 4
%shl.i3 = shl i32 %19, 3
%20 = load i32* %bitPtr.i4, align 4
%add.i5 = add i32 %shl.i3, %18
%add1.i6 = add i32 %add.i5, %20
%21 = load i32* %nbBits2.i7, align 4
%cmp.i8 = icmp sgt i32 %add1.i6, %21
br i1 %cmp.i8, label %if.end.thread.i10, label %if.end.i13
if.end.thread.i10: ; preds = %if.end
store i32 1, i32* %overflow.i9, align 4
br label %speex_bits_unpack_unsigned.exit35
if.end.i13: ; preds = %if.end
%.pre5.i11 = load i32* %overflow.i9, align 4
%phitmp.i12 = icmp ne i32 %.pre5.i11, 0
%tobool62.i = icmp eq i32 %18, 0
%or.cond.i = or i1 %phitmp.i12, %tobool62.i
br i1 %or.cond.i, label %speex_bits_unpack_unsigned.exit35, label %while.body.lr.ph.i16
while.body.lr.ph.i16: ; preds = %if.end.i13
%.pre.i15 = load i8** %chars.i14, align 4
br label %while.body.i28
while.body.i28: ; preds = %if.end17.i33, %while.body.lr.ph.i16
%22 = phi i32 [ %20, %while.body.lr.ph.i16 ], [ %25, %if.end17.i33 ]
%23 = phi i32 [ %19, %while.body.lr.ph.i16 ], [ %26, %if.end17.i33 ]
%d.04.i17 = phi i32 [ 0, %while.body.lr.ph.i16 ], [ %or.i25, %if.end17.i33 ]
%nbBits.addr.03.i18 = phi i32 [ %18, %while.body.lr.ph.i16 ], [ %dec.i31, %if.end17.i33 ]
%shl7.i19 = shl i32 %d.04.i17, 1
%arrayidx.i20 = getelementptr inbounds i8* %.pre.i15, i32 %23
%24 = load i8* %arrayidx.i20, align 1
%conv.i21 = sext i8 %24 to i32
%sub.i22 = sub nsw i32 7, %22
%shr1.i23 = lshr i32 %conv.i21, %sub.i22
%and.i24 = and i32 %shr1.i23, 1
%or.i25 = or i32 %and.i24, %shl7.i19
%inc.i26 = add nsw i32 %22, 1
store i32 %inc.i26, i32* %bitPtr.i4, align 4
%cmp12.i27 = icmp eq i32 %inc.i26, 8
br i1 %cmp12.i27, label %if.then13.i30, label %if.end17.i33
if.then13.i30: ; preds = %while.body.i28
store i32 0, i32* %bitPtr.i4, align 4
%inc16.i29 = add nsw i32 %23, 1
store i32 %inc16.i29, i32* %charPtr.i2, align 4
br label %if.end17.i33
if.end17.i33: ; preds = %if.then13.i30, %while.body.i28
%25 = phi i32 [ 0, %if.then13.i30 ], [ %inc.i26, %while.body.i28 ]
%26 = phi i32 [ %inc16.i29, %if.then13.i30 ], [ %23, %while.body.i28 ]
%dec.i31 = add nsw i32 %nbBits.addr.03.i18, -1
%tobool6.i32 = icmp eq i32 %dec.i31, 0
br i1 %tobool6.i32, label %speex_bits_unpack_unsigned.exit35, label %while.body.i28
speex_bits_unpack_unsigned.exit35: ; preds = %if.end17.i33, %if.end.i13, %if.end.thread.i10
%retval.0.i34 = phi i32 [ 0, %if.end.i13 ], [ 0, %if.end.thread.i10 ], [ %or.i25, %if.end17.i33 ]
%arrayidx19 = getelementptr inbounds i32* %8, i32 %i.041
store i32 %retval.0.i34, i32* %arrayidx19, align 4
%inc = add nsw i32 %i.041, 1
%exitcond44 = icmp eq i32 %inc, %2
br i1 %exitcond44, label %for.body22.lr.ph, label %for.body
for.body22: ; preds = %for.inc46, %for.body22.lr.ph
%i.139 = phi i32 [ 0, %for.body22.lr.ph ], [ %inc47, %for.inc46 ]
%arrayidx23 = getelementptr inbounds i32* %11, i32 %i.139
%27 = load i32* %arrayidx23, align 4
%tobool24 = icmp eq i32 %27, 0
%. = select i1 %tobool24, double 3.125000e-02, double -3.125000e-02
br i1 %cmp2836, label %for.body29.lr.ph, label %for.inc46
for.body29.lr.ph: ; preds = %for.body22
%arrayidx31 = getelementptr inbounds i32* %8, i32 %i.139
%mul37 = mul nsw i32 %i.139, %0
br label %for.body29
for.body29: ; preds = %for.body29, %for.body29.lr.ph
%j.037 = phi i32 [ 0, %for.body29.lr.ph ], [ %inc44, %for.body29 ]
%28 = load i32* %arrayidx31, align 4
%mul32 = mul nsw i32 %28, %0
%add = add nsw i32 %mul32, %j.037
%arrayidx33 = getelementptr inbounds i8* %5, i32 %add
%29 = load i8* %arrayidx33, align 1
%conv35 = sitofp i8 %29 to double
%mul36 = fmul double %., %conv35
%add38 = add nsw i32 %j.037, %mul37
%arrayidx39 = getelementptr inbounds float* %exc, i32 %add38
%30 = load float* %arrayidx39, align 4
%conv40 = fpext float %30 to double
%add41 = fadd double %conv40, %mul36
%conv42 = fptrunc double %add41 to float
store float %conv42, float* %arrayidx39, align 4
%inc44 = add nsw i32 %j.037, 1
%exitcond = icmp eq i32 %inc44, %0
br i1 %exitcond, label %for.inc46, label %for.body29
for.inc46: ; preds = %for.body29, %for.body22
%inc47 = add nsw i32 %i.139, 1
%exitcond43 = icmp eq i32 %inc47, %2
br i1 %exitcond43, label %for.end48, label %for.body22
for.end48: ; preds = %for.inc46, %entry
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 ssp {
entry:
%0 = ptrtoint i8* %stack to i32
%1 = sub i32 0, %0
%and = and i32 %1, 3
%mul = shl i32 %nsf, 2
%add.ptr.sum = or i32 %and, %mul
%add.ptr1 = getelementptr inbounds i8* %stack, i32 %add.ptr.sum
%add.ptr1.sum = sub i32 %add.ptr.sum, %mul
%add.ptr3 = getelementptr inbounds i8* %stack, i32 %add.ptr1.sum
%2 = bitcast i8* %add.ptr3 to float*
%3 = ptrtoint i8* %add.ptr1 to i32
%4 = sub i32 0, %3
%and.i = and i32 %4, 3
%mul.i = shl i32 %p, 2
%add.ptr.sum.i = or i32 %and.i, %mul.i
%add.ptr1.sum.i = sub i32 %add.ptr.sum.i, %mul.i
%add.ptr1.sum1 = add i32 %add.ptr.sum, %add.ptr1.sum.i
%add.ptr3.i = getelementptr inbounds i8* %stack, i32 %add.ptr1.sum1
%5 = bitcast i8* %add.ptr3.i to float*
%cmp17.i = icmp sgt i32 %p, 0
br i1 %cmp17.i, label %for.body.lr.ph.i, label %for.end.i
for.body.lr.ph.i: ; preds = %entry
call void @llvm.memset.p0i8.i32(i8* %add.ptr3.i, i8 0, i32 %mul.i, i32 4, i1 false) nounwind
br label %for.end.i
for.end.i: ; preds = %for.body.lr.ph.i, %entry
%cmp3.i.i = icmp sgt i32 %nsf, 0
br i1 %cmp3.i.i, label %for.body.lr.ph.i.i, label %for.cond4.preheader.i
for.body.lr.ph.i.i: ; preds = %for.end.i
%sub4.i.i = add nsw i32 %p, -1
%cmp51.i.i = icmp sgt i32 %sub4.i.i, 0
%arrayidx16.i.i = getelementptr inbounds float* %ak, i32 %sub4.i.i
%arrayidx19.i.i = getelementptr inbounds float* %awk1, i32 %sub4.i.i
%arrayidx23.i.i = getelementptr inbounds float* %5, i32 %sub4.i.i
br label %for.body.i.i
for.body.i.i: ; preds = %for.end.i.i, %for.body.lr.ph.i.i
%i.04.i.i = phi i32 [ 0, %for.body.lr.ph.i.i ], [ %inc26.i.i, %for.end.i.i ]
%arrayidx.i.i = getelementptr inbounds float* %target, i32 %i.04.i.i
%6 = load float* %arrayidx.i.i, align 4
%7 = load float* %5, align 4
%add.i.i = fadd float %6, %7
%sub.i.i = fsub float -0.000000e+00, %add.i.i
br i1 %cmp51.i.i, label %for.body6.i.i, label %for.end.i.i
for.body6.i.i: ; preds = %for.body6.i.i, %for.body.i.i
%j.02.i.i = phi i32 [ %add7.i.i, %for.body6.i.i ], [ 0, %for.body.i.i ]
%add7.i.i = add nsw i32 %j.02.i.i, 1
%arrayidx8.i.i = getelementptr inbounds float* %5, i32 %add7.i.i
%8 = load float* %arrayidx8.i.i, align 4
%arrayidx9.i.i = getelementptr inbounds float* %ak, i32 %j.02.i.i
%9 = load float* %arrayidx9.i.i, align 4
%mul.i.i = fmul float %9, %6
%add10.i.i = fadd float %8, %mul.i.i
%arrayidx11.i.i = getelementptr inbounds float* %awk1, i32 %j.02.i.i
%10 = load float* %arrayidx11.i.i, align 4
%mul12.i.i = fmul float %10, %sub.i.i
%add13.i.i = fadd float %add10.i.i, %mul12.i.i
%arrayidx14.i.i = getelementptr inbounds float* %5, i32 %j.02.i.i
store float %add13.i.i, float* %arrayidx14.i.i, align 4
%exitcond.i.i = icmp eq i32 %add7.i.i, %sub4.i.i
br i1 %exitcond.i.i, label %for.end.i.i, label %for.body6.i.i
for.end.i.i: ; preds = %for.body6.i.i, %for.body.i.i
%11 = load float* %arrayidx16.i.i, align 4
%mul17.i.i = fmul float %11, %6
%12 = load float* %arrayidx19.i.i, align 4
%mul20.i.i = fmul float %12, %sub.i.i
%add21.i.i = fadd float %mul17.i.i, %mul20.i.i
store float %add21.i.i, float* %arrayidx23.i.i, align 4
%arrayidx24.i.i = getelementptr inbounds float* %2, i32 %i.04.i.i
store float %add.i.i, float* %arrayidx24.i.i, align 4
%inc26.i.i = add nsw i32 %i.04.i.i, 1
%exitcond5.i.i = icmp eq i32 %inc26.i.i, %nsf
br i1 %exitcond5.i.i, label %for.cond4.preheader.i, label %for.body.i.i
for.cond4.preheader.i: ; preds = %for.end.i.i, %for.end.i
br i1 %cmp17.i, label %for.body6.lr.ph.i, label %for.end10.i
for.body6.lr.ph.i: ; preds = %for.cond4.preheader.i
call void @llvm.memset.p0i8.i32(i8* %add.ptr3.i, i8 0, i32 %mul.i, i32 4, i1 false) nounwind
br label %for.end10.i
for.end10.i: ; preds = %for.body6.lr.ph.i, %for.cond4.preheader.i
br i1 %cmp3.i.i, label %for.body.lr.ph.i3.i, label %for.end
for.body.lr.ph.i3.i: ; preds = %for.end10.i
%sub.i2.i = add nsw i32 %p, -1
%cmp41.i.i = icmp sgt i32 %sub.i2.i, 0
%arrayidx12.i.i = getelementptr inbounds float* %awk2, i32 %sub.i2.i
%arrayidx15.i.i = getelementptr inbounds float* %5, i32 %sub.i2.i
br label %for.body.i7.i
for.body.i7.i: ; preds = %for.end.i14.i, %for.body.lr.ph.i3.i
%i.04.i4.i = phi i32 [ 0, %for.body.lr.ph.i3.i ], [ %inc18.i.i, %for.end.i14.i ]
%arrayidx.i5.i = getelementptr inbounds float* %2, i32 %i.04.i4.i
%13 = load float* %arrayidx.i5.i, align 4
%14 = load float* %5, align 4
%add.i6.i = fadd float %13, %14
br i1 %cmp41.i.i, label %for.body5.i.i, label %for.end.i14.i
for.body5.i.i: ; preds = %for.body5.i.i, %for.body.i7.i
%j.02.i8.i = phi i32 [ %add6.i.i, %for.body5.i.i ], [ 0, %for.body.i7.i ]
%add6.i.i = add nsw i32 %j.02.i8.i, 1
%arrayidx7.i.i = getelementptr inbounds float* %5, i32 %add6.i.i
%15 = load float* %arrayidx7.i.i, align 4
%arrayidx8.i9.i = getelementptr inbounds float* %awk2, i32 %j.02.i8.i
%16 = load float* %arrayidx8.i9.i, align 4
%mul.i10.i = fmul float %16, %13
%add9.i.i = fadd float %15, %mul.i10.i
%arrayidx10.i.i = getelementptr inbounds float* %5, i32 %j.02.i8.i
store float %add9.i.i, float* %arrayidx10.i.i, align 4
%exitcond.i11.i = icmp eq i32 %add6.i.i, %sub.i2.i
br i1 %exitcond.i11.i, label %for.end.i14.i, label %for.body5.i.i
for.end.i14.i: ; preds = %for.body5.i.i, %for.body.i7.i
%17 = load float* %arrayidx12.i.i, align 4
%mul13.i.i = fmul float %17, %13
store float %mul13.i.i, float* %arrayidx15.i.i, align 4
store float %add.i6.i, float* %arrayidx.i5.i, align 4
%inc18.i.i = add nsw i32 %i.04.i4.i, 1
%exitcond5.i13.i = icmp eq i32 %inc18.i.i, %nsf
br i1 %exitcond5.i13.i, label %for.body, label %for.body.i7.i
for.body: ; preds = %for.body, %for.end.i14.i
%i.02 = phi i32 [ %inc, %for.body ], [ 0, %for.end.i14.i ]
%arrayidx = getelementptr inbounds float* %2, i32 %i.02
%18 = load float* %arrayidx, align 4
%arrayidx4 = getelementptr inbounds float* %exc, i32 %i.02
%19 = load float* %arrayidx4, align 4
%add = fadd float %19, %18
store float %add, float* %arrayidx4, align 4
%inc = add nsw i32 %i.02, 1
%exitcond = icmp eq i32 %inc, %nsf
br i1 %exitcond, label %for.end, label %for.body
for.end: ; preds = %for.body, %for.end10.i
%20 = bitcast float* %target to i8*
tail call void @llvm.memset.p0i8.i32(i8* %20, i8 0, i32 %mul, 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 ssp {
entry:
%cmp1 = icmp sgt i32 %nsf, 0
br i1 %cmp1, label %for.body, label %for.end
for.body: ; preds = %for.body, %entry
%i.02 = phi i32 [ %inc, %for.body ], [ 0, %entry ]
%0 = load i32* %seed, align 4
%mul.i = mul nsw i32 %0, 1664525
%add.i = add nsw i32 %mul.i, 1013904223
store i32 %add.i, i32* %seed, align 4
%and.i = and i32 %add.i, 8388607
%or.i = or i32 %and.i, 1065353216
%1 = bitcast i32 %or.i to float
%conv1.i = fadd float %1, -1.500000e+00
%conv5.i = fpext float %conv1.i to double
%mul6.i = fmul double %conv5.i, 3.464200e+00
%conv7.i = fptrunc double %mul6.i to float
%arrayidx = getelementptr inbounds float* %exc, i32 %i.02
store float %conv7.i, float* %arrayidx, align 4
%inc = add nsw i32 %i.02, 1
%exitcond = icmp eq i32 %inc, %nsf
br i1 %exitcond, label %for.end, label %for.body
for.end: ; preds = %for.body, %entry
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 ssp {
entry:
%0 = ptrtoint i8* %stack to i32
%1 = sub i32 0, %0
%and = and i32 %1, 3
%mul = shl i32 %ord, 2
%add.ptr.sum = or i32 %and, %mul
%add.ptr1.sum = sub i32 %add.ptr.sum, %mul
%add.ptr3 = getelementptr inbounds i8* %stack, i32 %add.ptr1.sum
%2 = bitcast i8* %add.ptr3 to float*
%cmp17 = icmp sgt i32 %ord, 0
br i1 %cmp17, label %for.body.lr.ph, label %for.end
for.body.lr.ph: ; preds = %entry
call void @llvm.memset.p0i8.i32(i8* %add.ptr3, i8 0, i32 %mul, i32 4, i1 false)
br label %for.end
for.end: ; preds = %for.body.lr.ph, %entry
%cmp3.i = icmp sgt i32 %N, 0
br i1 %cmp3.i, label %for.body.lr.ph.i, label %for.cond4.preheader
for.body.lr.ph.i: ; preds = %for.end
%sub3.i = add nsw i32 %ord, -1
%cmp41.i = icmp sgt i32 %sub3.i, 0
%arrayidx12.i = getelementptr inbounds float* %ak, i32 %sub3.i
%arrayidx15.i = getelementptr inbounds float* %2, i32 %sub3.i
br label %for.body.i
for.body.i: ; preds = %for.end.i, %for.body.lr.ph.i
%i.04.i = phi i32 [ 0, %for.body.lr.ph.i ], [ %inc18.i, %for.end.i ]
%arrayidx.i = getelementptr inbounds float* %xx, i32 %i.04.i
%3 = load float* %arrayidx.i, align 4
%4 = load float* %2, align 4
%add.i = fadd float %3, %4
%sub.i = fsub float -0.000000e+00, %add.i
br i1 %cmp41.i, label %for.body5.i, label %for.end.i
for.body5.i: ; preds = %for.body5.i, %for.body.i
%j.02.i = phi i32 [ %add6.i, %for.body5.i ], [ 0, %for.body.i ]
%add6.i = add nsw i32 %j.02.i, 1
%arrayidx7.i = getelementptr inbounds float* %2, i32 %add6.i
%5 = load float* %arrayidx7.i, align 4
%arrayidx8.i = getelementptr inbounds float* %ak, i32 %j.02.i
%6 = load float* %arrayidx8.i, align 4
%mul.i = fmul float %6, %sub.i
%add9.i = fadd float %5, %mul.i
%arrayidx10.i = getelementptr inbounds float* %2, i32 %j.02.i
store float %add9.i, float* %arrayidx10.i, align 4
%exitcond.i = icmp eq i32 %add6.i, %sub3.i
br i1 %exitcond.i, label %for.end.i, label %for.body5.i
for.end.i: ; preds = %for.body5.i, %for.body.i
%7 = load float* %arrayidx12.i, align 4
%mul13.i = fmul float %7, %sub.i
store float %mul13.i, float* %arrayidx15.i, align 4
%arrayidx16.i = getelementptr inbounds float* %y, i32 %i.04.i
store float %add.i, float* %arrayidx16.i, align 4
%inc18.i = add nsw i32 %i.04.i, 1
%exitcond5.i = icmp eq i32 %inc18.i, %N
br i1 %exitcond5.i, label %for.cond4.preheader, label %for.body.i
for.cond4.preheader: ; preds = %for.end.i, %for.end
br i1 %cmp17, label %for.body6.lr.ph, label %for.end10
for.body6.lr.ph: ; preds = %for.cond4.preheader
call void @llvm.memset.p0i8.i32(i8* %add.ptr3, i8 0, i32 %mul, i32 4, i1 false)
br label %for.end10
for.end10: ; preds = %for.body6.lr.ph, %for.cond4.preheader
br i1 %cmp3.i, label %for.body.lr.ph.i2, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit
for.body.lr.ph.i2: ; preds = %for.end10
%sub4.i = add nsw i32 %ord, -1
%cmp51.i = icmp sgt i32 %sub4.i, 0
%arrayidx16.i12 = getelementptr inbounds float* %awk1, i32 %sub4.i
%arrayidx19.i = getelementptr inbounds float* %awk2, i32 %sub4.i
%arrayidx23.i = getelementptr inbounds float* %2, i32 %sub4.i
br label %for.body.i7
for.body.i7: ; preds = %for.end.i14, %for.body.lr.ph.i2
%i.04.i3 = phi i32 [ 0, %for.body.lr.ph.i2 ], [ %inc26.i, %for.end.i14 ]
%arrayidx.i4 = getelementptr inbounds float* %y, i32 %i.04.i3
%8 = load float* %arrayidx.i4, align 4
%9 = load float* %2, align 4
%add.i5 = fadd float %8, %9
%sub.i6 = fsub float -0.000000e+00, %add.i5
br i1 %cmp51.i, label %for.body6.i, label %for.end.i14
for.body6.i: ; preds = %for.body6.i, %for.body.i7
%j.02.i8 = phi i32 [ %add7.i, %for.body6.i ], [ 0, %for.body.i7 ]
%add7.i = add nsw i32 %j.02.i8, 1
%arrayidx8.i9 = getelementptr inbounds float* %2, i32 %add7.i
%10 = load float* %arrayidx8.i9, align 4
%arrayidx9.i = getelementptr inbounds float* %awk1, i32 %j.02.i8
%11 = load float* %arrayidx9.i, align 4
%mul.i10 = fmul float %11, %8
%add10.i = fadd float %10, %mul.i10
%arrayidx11.i = getelementptr inbounds float* %awk2, i32 %j.02.i8
%12 = load float* %arrayidx11.i, align 4
%mul12.i = fmul float %12, %sub.i6
%add13.i = fadd float %add10.i, %mul12.i
%arrayidx14.i = getelementptr inbounds float* %2, i32 %j.02.i8
store float %add13.i, float* %arrayidx14.i, align 4
%exitcond.i11 = icmp eq i32 %add7.i, %sub4.i
br i1 %exitcond.i11, label %for.end.i14, label %for.body6.i
for.end.i14: ; preds = %for.body6.i, %for.body.i7
%13 = load float* %arrayidx16.i12, align 4
%mul17.i = fmul float %13, %8
%14 = load float* %arrayidx19.i, align 4
%mul20.i = fmul float %14, %sub.i6
%add21.i = fadd float %mul17.i, %mul20.i
store float %add21.i, float* %arrayidx23.i, align 4
store float %add.i5, float* %arrayidx.i4, align 4
%inc26.i = add nsw i32 %i.04.i3, 1
%exitcond5.i13 = icmp eq i32 %inc26.i, %N
br i1 %exitcond5.i13, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit, label %for.body.i7
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit: ; preds = %for.end.i14, %for.end10
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 ssp {
entry:
%0 = ptrtoint i8* %stack to i32
%1 = sub i32 0, %0
%and = and i32 %1, 3
%mul = shl i32 %ord, 2
%add.ptr.sum = or i32 %and, %mul
%add.ptr1 = getelementptr inbounds i8* %stack, i32 %add.ptr.sum
%add.ptr1.sum = sub i32 %add.ptr.sum, %mul
%add.ptr3 = getelementptr inbounds i8* %stack, i32 %add.ptr1.sum
%2 = bitcast i8* %add.ptr3 to float*
%3 = ptrtoint i8* %add.ptr1 to i32
%4 = sub i32 0, %3
%and5 = and i32 %4, 3
%add.ptr8.sum = add i32 %and5, %add.ptr.sum
%add.ptr11 = getelementptr inbounds i8* %stack, i32 %add.ptr8.sum
%5 = bitcast i8* %add.ptr11 to float*
store float 1.000000e+00, float* %y, align 4
%cmp11 = icmp sgt i32 %ord, 0
br i1 %cmp11, label %for.body, label %for.cond15.preheader
for.cond.for.cond15.preheader_crit_edge: ; preds = %for.body
%phitmp = add i32 %ord, 1
br label %for.cond15.preheader
for.cond15.preheader: ; preds = %for.cond.for.cond15.preheader_crit_edge, %entry
%i.0.lcssa = phi i32 [ %phitmp, %for.cond.for.cond15.preheader_crit_edge ], [ 1, %entry ]
%cmp169 = icmp slt i32 %i.0.lcssa, %N
br i1 %cmp169, label %for.body17, label %for.cond22.preheader
for.body: ; preds = %for.body, %entry
%i.012 = phi i32 [ %add, %for.body ], [ 0, %entry ]
%arrayidx12 = getelementptr inbounds float* %awk1, i32 %i.012
%6 = load float* %arrayidx12, align 4
%add = add nsw i32 %i.012, 1
%arrayidx13 = getelementptr inbounds float* %y, i32 %add
store float %6, float* %arrayidx13, align 4
%exitcond17 = icmp eq i32 %add, %ord
br i1 %exitcond17, label %for.cond.for.cond15.preheader_crit_edge, label %for.body
for.cond22.preheader: ; preds = %for.body17, %for.cond15.preheader
br i1 %cmp11, label %for.body24, label %for.cond30.preheader
for.body17: ; preds = %for.body17, %for.cond15.preheader
%i.110 = phi i32 [ %i.1, %for.body17 ], [ %i.0.lcssa, %for.cond15.preheader ]
%arrayidx18 = getelementptr inbounds float* %y, i32 %i.110
store float 0x3CD203AFA0000000, float* %arrayidx18, align 4
%i.1 = add nsw i32 %i.110, 1
%exitcond16 = icmp eq i32 %i.1, %N
br i1 %exitcond16, label %for.cond22.preheader, label %for.body17
for.cond30.preheader: ; preds = %for.body24, %for.cond22.preheader
%cmp314 = icmp sgt i32 %N, 0
br i1 %cmp314, label %for.body32.lr.ph, label %for.end73
for.body32.lr.ph: ; preds = %for.cond30.preheader
%sub43 = add nsw i32 %ord, -1
%cmp442 = icmp sgt i32 %sub43, 0
%arrayidx62 = getelementptr inbounds float* %awk2, i32 %sub43
%arrayidx65 = getelementptr inbounds float* %2, i32 %sub43
%arrayidx67 = getelementptr inbounds float* %ak, i32 %sub43
%arrayidx70 = getelementptr inbounds float* %5, i32 %sub43
br label %for.body32
for.body24: ; preds = %for.body24, %for.cond22.preheader
%i.27 = phi i32 [ %inc28, %for.body24 ], [ 0, %for.cond22.preheader ]
%arrayidx25 = getelementptr inbounds float* %5, i32 %i.27
store float 0.000000e+00, float* %arrayidx25, align 4
%arrayidx26 = getelementptr inbounds float* %2, i32 %i.27
store float 0.000000e+00, float* %arrayidx26, align 4
%inc28 = add nsw i32 %i.27, 1
%exitcond15 = icmp eq i32 %inc28, %ord
br i1 %exitcond15, label %for.cond30.preheader, label %for.body24
for.body32: ; preds = %for.end60, %for.body32.lr.ph
%i.35 = phi i32 [ 0, %for.body32.lr.ph ], [ %inc72, %for.end60 ]
%arrayidx33 = getelementptr inbounds float* %y, i32 %i.35
%7 = load float* %arrayidx33, align 4
%8 = load float* %2, align 4
%add35 = fadd float %7, %8
%sub36 = fsub float -0.000000e+00, %add35
%9 = load float* %5, align 4
%add38 = fadd float %add35, %9
store float %add38, float* %arrayidx33, align 4
%sub41 = fsub float -0.000000e+00, %add38
br i1 %cmp442, label %for.body45, label %for.end60
for.body45: ; preds = %for.body45, %for.body32
%j.03 = phi i32 [ %add46, %for.body45 ], [ 0, %for.body32 ]
%add46 = add nsw i32 %j.03, 1
%arrayidx47 = getelementptr inbounds float* %2, i32 %add46
%10 = load float* %arrayidx47, align 4
%arrayidx48 = getelementptr inbounds float* %awk2, i32 %j.03
%11 = load float* %arrayidx48, align 4
%mul49 = fmul float %11, %sub36
%add50 = fadd float %10, %mul49
%arrayidx51 = getelementptr inbounds float* %2, i32 %j.03
store float %add50, float* %arrayidx51, align 4
%arrayidx53 = getelementptr inbounds float* %5, i32 %add46
%12 = load float* %arrayidx53, align 4
%arrayidx54 = getelementptr inbounds float* %ak, i32 %j.03
%13 = load float* %arrayidx54, align 4
%mul55 = fmul float %13, %sub41
%add56 = fadd float %12, %mul55
%arrayidx57 = getelementptr inbounds float* %5, i32 %j.03
store float %add56, float* %arrayidx57, align 4
%exitcond = icmp eq i32 %add46, %sub43
br i1 %exitcond, label %for.end60, label %for.body45
for.end60: ; preds = %for.body45, %for.body32
%14 = load float* %arrayidx62, align 4
%mul63 = fmul float %14, %sub36
store float %mul63, float* %arrayidx65, align 4
%15 = load float* %arrayidx67, align 4
%mul68 = fmul float %15, %sub41
store float %mul68, float* %arrayidx70, align 4
%inc72 = add nsw i32 %i.35, 1
%exitcond14 = icmp eq i32 %inc72, %N
br i1 %exitcond14, label %for.end73, label %for.body32
for.end73: ; preds = %for.end60, %for.cond30.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 ssp {
entry:
%shr1 = ashr i32 %N, 1
%0 = ptrtoint i8* %stack to i32
%1 = sub i32 0, %0
%and = and i32 %1, 3
%2 = shl i32 %N, 1
%add1 = add i32 %2, 128
%mul = and i32 %add1, -4
%add.ptr.sum = or i32 %and, %mul
%add.ptr2 = getelementptr inbounds i8* %stack, i32 %add.ptr.sum
%add.ptr2.sum = sub i32 %add.ptr.sum, %mul
%add.ptr5 = getelementptr inbounds i8* %stack, i32 %add.ptr2.sum
%3 = bitcast i8* %add.ptr5 to float*
%4 = ptrtoint i8* %add.ptr2 to i32
%5 = sub i32 0, %4
%and7 = and i32 %5, 3
%add.ptr11.sum = add i32 %and7, %add.ptr.sum
%add.ptr15 = getelementptr inbounds i8* %stack, i32 %add.ptr11.sum
%6 = bitcast i8* %add.ptr15 to float*
%cmp36 = icmp sgt i32 %shr1, 0
br i1 %cmp36, label %for.body.lr.ph, label %for.body21
for.body.lr.ph: ; preds = %entry
%sub16 = add i32 %shr1, -1
br label %for.body
for.body: ; preds = %for.body, %for.body.lr.ph
%i.037 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.body ]
%sub17 = sub i32 %sub16, %i.037
%arrayidx = getelementptr inbounds float* %x1, i32 %sub17
%7 = load float* %arrayidx, align 4
%arrayidx18 = getelementptr inbounds float* %3, i32 %i.037
store float %7, float* %arrayidx18, align 4
%inc = add nsw i32 %i.037, 1
%exitcond45 = icmp eq i32 %inc, %shr1
br i1 %exitcond45, label %for.body21, label %for.body
for.cond30.preheader: ; preds = %for.body21
br i1 %cmp36, label %for.body32.lr.ph, label %for.body42
for.body32.lr.ph: ; preds = %for.cond30.preheader
%sub33 = add i32 %shr1, -1
br label %for.body32
for.body21: ; preds = %for.body21, %for.body, %entry
%i.135 = phi i32 [ %inc28, %for.body21 ], [ 0, %for.body ], [ 0, %entry ]
%mul22 = shl nsw i32 %i.135, 1
%add2311 = or i32 %mul22, 1
%arrayidx24 = getelementptr inbounds float* %mem1, i32 %add2311
%8 = load float* %arrayidx24, align 4
%add25 = add nsw i32 %i.135, %shr1
%arrayidx26 = getelementptr inbounds float* %3, i32 %add25
store float %8, float* %arrayidx26, align 4
%inc28 = add nsw i32 %i.135, 1
%exitcond44 = icmp eq i32 %inc28, 32
br i1 %exitcond44, label %for.cond30.preheader, label %for.body21
for.body32: ; preds = %for.body32, %for.body32.lr.ph
%i.233 = phi i32 [ 0, %for.body32.lr.ph ], [ %inc38, %for.body32 ]
%sub34 = sub i32 %sub33, %i.233
%arrayidx35 = getelementptr inbounds float* %x2, i32 %sub34
%9 = load float* %arrayidx35, align 4
%arrayidx36 = getelementptr inbounds float* %6, i32 %i.233
store float %9, float* %arrayidx36, align 4
%inc38 = add nsw i32 %i.233, 1
%exitcond43 = icmp eq i32 %inc38, %shr1
br i1 %exitcond43, label %for.body42, label %for.body32
for.cond51.preheader: ; preds = %for.body42
br i1 %cmp36, label %for.body53.lr.ph, label %for.body135
for.body53.lr.ph: ; preds = %for.cond51.preheader
%sub54 = add i32 %shr1, -2
%sub68 = add i32 %shr1, -1
br label %for.body62.lr.ph
for.body42: ; preds = %for.body42, %for.body32, %for.cond30.preheader
%i.331 = phi i32 [ %inc49, %for.body42 ], [ 0, %for.body32 ], [ 0, %for.cond30.preheader ]
%mul43 = shl nsw i32 %i.331, 1
%add4410 = or i32 %mul43, 1
%arrayidx45 = getelementptr inbounds float* %mem2, i32 %add4410
%10 = load float* %arrayidx45, align 4
%add46 = add nsw i32 %i.331, %shr1
%arrayidx47 = getelementptr inbounds float* %6, i32 %add46
store float %10, float* %arrayidx47, align 4
%inc49 = add nsw i32 %i.331, 1
%exitcond42 = icmp eq i32 %inc49, 32
br i1 %exitcond42, label %for.cond51.preheader, label %for.body42
for.body62.lr.ph: ; preds = %for.end114, %for.body53.lr.ph
%i.4.neg29 = phi i32 [ 0, %for.body53.lr.ph ], [ %i.4.neg, %for.end114 ]
%i.428 = phi i32 [ 0, %for.body53.lr.ph ], [ %add131, %for.end114 ]
%sub55 = add i32 %sub54, %i.4.neg29
%arrayidx59 = getelementptr inbounds float* %6, i32 %sub55
%arrayidx56 = getelementptr inbounds float* %3, i32 %sub55
%11 = load float* %arrayidx59, align 4
%12 = load float* %arrayidx56, align 4
%add69 = add i32 %sub68, %i.4.neg29
%add94 = add i32 %i.4.neg29, %shr1
br label %for.body62
for.body62: ; preds = %for.body62, %for.body62.lr.ph
%x20.023 = phi float [ %11, %for.body62.lr.ph ], [ %20, %for.body62 ]
%x10.022 = phi float [ %12, %for.body62.lr.ph ], [ %19, %for.body62 ]
%y3.021 = phi float [ 0.000000e+00, %for.body62.lr.ph ], [ %add111, %for.body62 ]
%y2.020 = phi float [ 0.000000e+00, %for.body62.lr.ph ], [ %add108, %for.body62 ]
%y1.019 = phi float [ 0.000000e+00, %for.body62.lr.ph ], [ %add105, %for.body62 ]
%y0.018 = phi float [ 0.000000e+00, %for.body62.lr.ph ], [ %add102, %for.body62 ]
%j.017 = phi i32 [ 0, %for.body62.lr.ph ], [ %add113, %for.body62 ]
%mul63 = shl nsw i32 %j.017, 1
%arrayidx64 = getelementptr inbounds [64 x float]* @_ZL2h0, i32 0, i32 %mul63
%13 = load float* %arrayidx64, align 4
%add667 = or i32 %mul63, 1
%arrayidx67 = getelementptr inbounds [64 x float]* @_ZL2h0, i32 0, i32 %add667
%14 = load float* %arrayidx67, align 4
%sub70 = add i32 %add69, %j.017
%arrayidx71 = getelementptr inbounds float* %3, i32 %sub70
%15 = load float* %arrayidx71, align 4
%arrayidx75 = getelementptr inbounds float* %6, i32 %sub70
%16 = load float* %arrayidx75, align 4
%sub76 = fsub float %15, %16
%mul77 = fmul float %13, %sub76
%add78 = fadd float %y0.018, %mul77
%add79 = fadd float %15, %16
%mul80 = fmul float %14, %add79
%add81 = fadd float %y1.019, %mul80
%sub82 = fsub float %x10.022, %x20.023
%mul83 = fmul float %13, %sub82
%add84 = fadd float %y2.020, %mul83
%add85 = fadd float %x10.022, %x20.023
%mul86 = fmul float %14, %add85
%add87 = fadd float %y3.021, %mul86
%add898 = or i32 %mul63, 2
%arrayidx90 = getelementptr inbounds [64 x float]* @_ZL2h0, i32 0, i32 %add898
%17 = load float* %arrayidx90, align 4
%add929 = or i32 %mul63, 3
%arrayidx93 = getelementptr inbounds [64 x float]* @_ZL2h0, i32 0, i32 %add929
%18 = load float* %arrayidx93, align 4
%sub95 = add i32 %add94, %j.017
%arrayidx96 = getelementptr inbounds float* %3, i32 %sub95
%19 = load float* %arrayidx96, align 4
%arrayidx99 = getelementptr inbounds float* %6, i32 %sub95
%20 = load float* %arrayidx99, align 4
%sub100 = fsub float %19, %20
%mul101 = fmul float %17, %sub100
%add102 = fadd float %add78, %mul101
%add103 = fadd float %19, %20
%mul104 = fmul float %18, %add103
%add105 = fadd float %add81, %mul104
%mul107 = fmul float %17, %sub76
%add108 = fadd float %add84, %mul107
%mul110 = fmul float %18, %add79
%add111 = fadd float %add87, %mul110
%add113 = add nsw i32 %j.017, 2
%cmp61 = icmp slt i32 %add113, 32
br i1 %cmp61, label %for.body62, label %for.end114
for.end114: ; preds = %for.body62
%phitmp = fmul float %add102, 2.000000e+00
%phitmp38 = fmul float %add105, 2.000000e+00
%phitmp39 = fmul float %add108, 2.000000e+00
%phitmp40 = fmul float %add111, 2.000000e+00
%mul116 = shl nsw i32 %i.428, 1
%arrayidx117 = getelementptr inbounds float* %y, i32 %mul116
store float %phitmp, float* %arrayidx117, align 4
%add1204 = or i32 %mul116, 1
%arrayidx121 = getelementptr inbounds float* %y, i32 %add1204
store float %phitmp38, float* %arrayidx121, align 4
%add1245 = or i32 %mul116, 2
%arrayidx125 = getelementptr inbounds float* %y, i32 %add1245
store float %phitmp39, float* %arrayidx125, align 4
%add1286 = or i32 %mul116, 3
%arrayidx129 = getelementptr inbounds float* %y, i32 %add1286
store float %phitmp40, float* %arrayidx129, align 4
%add131 = add nsw i32 %i.428, 2
%i.4.neg = sub i32 -2, %i.428
%cmp52 = icmp slt i32 %add131, %shr1
br i1 %cmp52, label %for.body62.lr.ph, label %for.body135
for.body135: ; preds = %for.body135, %for.end114, %for.cond51.preheader
%i.515 = phi i32 [ %inc141, %for.body135 ], [ 0, %for.end114 ], [ 0, %for.cond51.preheader ]
%arrayidx136 = getelementptr inbounds float* %3, i32 %i.515
%21 = load float* %arrayidx136, align 4
%mul137 = shl nsw i32 %i.515, 1
%add1383 = or i32 %mul137, 1
%arrayidx139 = getelementptr inbounds float* %mem1, i32 %add1383
store float %21, float* %arrayidx139, align 4
%inc141 = add nsw i32 %i.515, 1
%exitcond41 = icmp eq i32 %inc141, 32
br i1 %exitcond41, label %for.body145, label %for.body135
for.body145: ; preds = %for.body145, %for.body135
%i.613 = phi i32 [ %inc151, %for.body145 ], [ 0, %for.body135 ]
%arrayidx146 = getelementptr inbounds float* %6, i32 %i.613
%22 = load float* %arrayidx146, align 4
%mul147 = shl nsw i32 %i.613, 1
%add1482 = or i32 %mul147, 1
%arrayidx149 = getelementptr inbounds float* %mem2, i32 %add1482
store float %22, float* %arrayidx149, align 4
%inc151 = add nsw i32 %i.613, 1
%exitcond = icmp eq i32 %inc151, 32
br i1 %exitcond, label %for.end152, label %for.body145
for.end152: ; preds = %for.body145
ret void
}
define internal fastcc void @_Z12interp_pitchPfS_ii(float* nocapture %exc, float* nocapture %interp, i32 %pitch) nounwind ssp {
entry:
%corr = alloca [4 x [7 x float]], align 4
%add.ptr.sum = sub i32 -3, %pitch
br label %while.body.i.preheader
while.body.i.preheader: ; preds = %_Z10inner_prodPKfS0_i.exit, %entry
%i.018 = phi i32 [ 0, %entry ], [ %inc, %_Z10inner_prodPKfS0_i.exit ]
%add.ptr1.sum = add i32 %add.ptr.sum, %i.018
%add.ptr2 = getelementptr inbounds float* %exc, i32 %add.ptr1.sum
br label %while.body.i
while.body.i: ; preds = %while.body.i, %while.body.i.preheader
%x.addr.05.i = phi float* [ %incdec.ptr10.i, %while.body.i ], [ %exc, %while.body.i.preheader ]
%y.addr.04.i = phi float* [ %incdec.ptr11.i, %while.body.i ], [ %add.ptr2, %while.body.i.preheader ]
%len.addr.03.i = phi i32 [ %dec.i, %while.body.i ], [ 20, %while.body.i.preheader ]
%sum.02.i = phi float [ %add14.i, %while.body.i ], [ 0.000000e+00, %while.body.i.preheader ]
%dec.i = add nsw i32 %len.addr.03.i, -1
%incdec.ptr.i = getelementptr inbounds float* %x.addr.05.i, i32 1
%0 = load float* %x.addr.05.i, align 4
%incdec.ptr1.i = getelementptr inbounds float* %y.addr.04.i, i32 1
%1 = load float* %y.addr.04.i, align 4
%mul.i = fmul float %0, %1
%add.i = fadd float %mul.i, 0.000000e+00
%incdec.ptr2.i = getelementptr inbounds float* %x.addr.05.i, i32 2
%2 = load float* %incdec.ptr.i, align 4
%incdec.ptr3.i = getelementptr inbounds float* %y.addr.04.i, i32 2
%3 = load float* %incdec.ptr1.i, align 4
%mul4.i = fmul float %2, %3
%add5.i = fadd float %add.i, %mul4.i
%incdec.ptr6.i = getelementptr inbounds float* %x.addr.05.i, i32 3
%4 = load float* %incdec.ptr2.i, align 4
%incdec.ptr7.i = getelementptr inbounds float* %y.addr.04.i, i32 3
%5 = load float* %incdec.ptr3.i, align 4
%mul8.i = fmul float %4, %5
%add9.i = fadd float %add5.i, %mul8.i
%incdec.ptr10.i = getelementptr inbounds float* %x.addr.05.i, i32 4
%6 = load float* %incdec.ptr6.i, align 4
%incdec.ptr11.i = getelementptr inbounds float* %y.addr.04.i, i32 4
%7 = load float* %incdec.ptr7.i, align 4
%mul12.i = fmul float %6, %7
%add13.i = fadd float %add9.i, %mul12.i
%add14.i = fadd float %sum.02.i, %add13.i
%tobool.i = icmp eq i32 %dec.i, 0
br i1 %tobool.i, label %_Z10inner_prodPKfS0_i.exit, label %while.body.i
_Z10inner_prodPKfS0_i.exit: ; preds = %while.body.i
%arrayidx3 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 %i.018
store float %add14.i, float* %arrayidx3, align 4
%inc = add nsw i32 %i.018, 1
%exitcond24 = icmp eq i32 %inc, 7
br i1 %exitcond24, label %for.body9, label %while.body.i.preheader
for.body9: ; preds = %for.end26, %_Z10inner_prodPKfS0_i.exit
%indvars.iv = phi i32 [ %indvars.iv.next, %for.end26 ], [ -11, %_Z10inner_prodPKfS0_i.exit ]
%j.016 = phi i32 [ %inc31, %for.end26 ], [ 0, %_Z10inner_prodPKfS0_i.exit ]
%8 = icmp sgt i32 %indvars.iv, -8
%indvars.iv.op = xor i32 %indvars.iv, -1
%9 = select i1 %8, i32 %indvars.iv.op, i32 7
%sub = sub nsw i32 3, %j.016
%cmp10 = icmp slt i32 %sub, 0
%.sub = select i1 %cmp10, i32 0, i32 %sub
%sub11 = sub nsw i32 10, %j.016
%cmp12 = icmp sgt i32 %sub11, 7
%i2.0 = select i1 %cmp12, i32 7, i32 %sub11
%cmp1613 = icmp slt i32 %.sub, %i2.0
br i1 %cmp1613, label %for.body17.lr.ph, label %for.end26
for.body17.lr.ph: ; preds = %for.body9
%add = add i32 %j.016, -3
br label %for.body17
for.body17: ; preds = %for.body17, %for.body17.lr.ph
%tmp.015 = phi float [ 0.000000e+00, %for.body17.lr.ph ], [ %add23, %for.body17 ]
%k.014 = phi i32 [ %.sub, %for.body17.lr.ph ], [ %inc25, %for.body17 ]
%arrayidx19 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 0, i32 %k.014
%10 = load float* %arrayidx19, align 4
%sub20 = add i32 %add, %k.014
%arrayidx22 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 %sub20
%11 = load float* %arrayidx22, align 4
%mul = fmul float %10, %11
%add23 = fadd float %tmp.015, %mul
%inc25 = add nsw i32 %k.014, 1
%exitcond21 = icmp eq i32 %inc25, %9
br i1 %exitcond21, label %for.end26, label %for.body17
for.end26: ; preds = %for.body17, %for.body9
%tmp.0.lcssa = phi float [ 0.000000e+00, %for.body9 ], [ %add23, %for.body17 ]
%arrayidx29 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 1, i32 %j.016
store float %tmp.0.lcssa, float* %arrayidx29, align 4
%inc31 = add nsw i32 %j.016, 1
%indvars.iv.next = add i32 %indvars.iv, 1
%exitcond22 = icmp eq i32 %indvars.iv.next, -4
br i1 %exitcond22, label %for.body9.1, label %for.body9
for.cond41.preheader: ; preds = %for.inc33.2, %for.cond41.preheader.for.cond41.preheader_crit_edge
%12 = phi float [ %42, %for.inc33.2 ], [ %.pre, %for.cond41.preheader.for.cond41.preheader_crit_edge ]
%i.212 = phi i32 [ 0, %for.inc33.2 ], [ %inc55, %for.cond41.preheader.for.cond41.preheader_crit_edge ]
%maxcorr.011 = phi float [ %42, %for.inc33.2 ], [ %maxcorr.2.6, %for.cond41.preheader.for.cond41.preheader_crit_edge ]
%maxi.010 = phi i32 [ 0, %for.inc33.2 ], [ %maxi.2.6, %for.cond41.preheader.for.cond41.preheader_crit_edge ]
%maxj.09 = phi i32 [ 0, %for.inc33.2 ], [ %maxj.2.6, %for.cond41.preheader.for.cond41.preheader_crit_edge ]
%cmp46 = fcmp ogt float %12, %maxcorr.011
%maxj.2 = select i1 %cmp46, i32 0, i32 %maxj.09
%maxi.2 = select i1 %cmp46, i32 %i.212, i32 %maxi.010
%maxcorr.2 = select i1 %cmp46, float %12, float %maxcorr.011
%arrayidx45.1 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.212, i32 1
%13 = load float* %arrayidx45.1, align 4
%cmp46.1 = fcmp ogt float %13, %maxcorr.2
%maxj.2.1 = select i1 %cmp46.1, i32 1, i32 %maxj.2
%maxi.2.1 = select i1 %cmp46.1, i32 %i.212, i32 %maxi.2
%maxcorr.2.1 = select i1 %cmp46.1, float %13, float %maxcorr.2
%arrayidx45.2 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.212, i32 2
%14 = load float* %arrayidx45.2, align 4
%cmp46.2 = fcmp ogt float %14, %maxcorr.2.1
%maxj.2.2 = select i1 %cmp46.2, i32 2, i32 %maxj.2.1
%maxi.2.2 = select i1 %cmp46.2, i32 %i.212, i32 %maxi.2.1
%maxcorr.2.2 = select i1 %cmp46.2, float %14, float %maxcorr.2.1
%arrayidx45.3 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.212, i32 3
%15 = load float* %arrayidx45.3, align 4
%cmp46.3 = fcmp ogt float %15, %maxcorr.2.2
%maxj.2.3 = select i1 %cmp46.3, i32 3, i32 %maxj.2.2
%maxi.2.3 = select i1 %cmp46.3, i32 %i.212, i32 %maxi.2.2
%maxcorr.2.3 = select i1 %cmp46.3, float %15, float %maxcorr.2.2
%arrayidx45.4 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.212, i32 4
%16 = load float* %arrayidx45.4, align 4
%cmp46.4 = fcmp ogt float %16, %maxcorr.2.3
%maxj.2.4 = select i1 %cmp46.4, i32 4, i32 %maxj.2.3
%maxi.2.4 = select i1 %cmp46.4, i32 %i.212, i32 %maxi.2.3
%maxcorr.2.4 = select i1 %cmp46.4, float %16, float %maxcorr.2.3
%arrayidx45.5 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.212, i32 5
%17 = load float* %arrayidx45.5, align 4
%cmp46.5 = fcmp ogt float %17, %maxcorr.2.4
%maxj.2.5 = select i1 %cmp46.5, i32 5, i32 %maxj.2.4
%maxi.2.5 = select i1 %cmp46.5, i32 %i.212, i32 %maxi.2.4
%maxcorr.2.5 = select i1 %cmp46.5, float %17, float %maxcorr.2.4
%arrayidx45.6 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %i.212, i32 6
%18 = load float* %arrayidx45.6, align 4
%cmp46.6 = fcmp ogt float %18, %maxcorr.2.5
%maxj.2.6 = select i1 %cmp46.6, i32 6, i32 %maxj.2.5
%maxi.2.6 = select i1 %cmp46.6, i32 %i.212, i32 %maxi.2.5
%inc55 = add nsw i32 %i.212, 1
%exitcond20 = icmp eq i32 %inc55, 4
br i1 %exitcond20, label %for.body59.lr.ph, label %for.cond41.preheader.for.cond41.preheader_crit_edge
for.cond41.preheader.for.cond41.preheader_crit_edge: ; preds = %for.cond41.preheader
%maxcorr.2.6 = select i1 %cmp46.6, float %18, float %maxcorr.2.5
%arrayidx45.phi.trans.insert = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 %inc55, i32 0
%.pre = load float* %arrayidx45.phi.trans.insert, align 4
br label %for.cond41.preheader
for.body59.lr.ph: ; preds = %for.cond41.preheader
%cmp62 = icmp sgt i32 %maxi.2.6, 0
%add82.neg = add i32 %add.ptr.sum, %maxj.2.6
%add68.neg = sub i32 -6, %pitch
%sub69 = add i32 %add68.neg, %maxj.2.6
%sub73 = add nsw i32 %maxi.2.6, -1
%arrayidx75 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %sub73, i32 0
%arrayidx75.1 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %sub73, i32 1
%arrayidx75.2 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %sub73, i32 2
%arrayidx75.3 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %sub73, i32 3
%arrayidx75.4 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %sub73, i32 4
%arrayidx75.5 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %sub73, i32 5
%arrayidx75.6 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 %sub73, i32 6
br label %for.body59
for.body59: ; preds = %if.end85, %for.body59.lr.ph
%i.34 = phi i32 [ 0, %for.body59.lr.ph ], [ %inc88, %if.end85 ]
br i1 %cmp62, label %for.cond64.preheader, label %if.else
for.cond64.preheader: ; preds = %for.body59
%add70 = add i32 %sub69, %i.34
%arrayidx72 = getelementptr inbounds float* %exc, i32 %add70
%19 = load float* %arrayidx72, align 4
%20 = load float* %arrayidx75, align 4
%mul76 = fmul float %19, %20
%add77 = fadd float %mul76, 0.000000e+00
%sub71.1 = add i32 %add70, 1
%arrayidx72.1 = getelementptr inbounds float* %exc, i32 %sub71.1
%21 = load float* %arrayidx72.1, align 4
%22 = load float* %arrayidx75.1, align 4
%mul76.1 = fmul float %21, %22
%add77.1 = fadd float %add77, %mul76.1
%sub71.2 = add i32 %add70, 2
%arrayidx72.2 = getelementptr inbounds float* %exc, i32 %sub71.2
%23 = load float* %arrayidx72.2, align 4
%24 = load float* %arrayidx75.2, align 4
%mul76.2 = fmul float %23, %24
%add77.2 = fadd float %add77.1, %mul76.2
%sub71.3 = add i32 %add70, 3
%arrayidx72.3 = getelementptr inbounds float* %exc, i32 %sub71.3
%25 = load float* %arrayidx72.3, align 4
%26 = load float* %arrayidx75.3, align 4
%mul76.3 = fmul float %25, %26
%add77.3 = fadd float %add77.2, %mul76.3
%sub71.4 = add i32 %add70, 4
%arrayidx72.4 = getelementptr inbounds float* %exc, i32 %sub71.4
%27 = load float* %arrayidx72.4, align 4
%28 = load float* %arrayidx75.4, align 4
%mul76.4 = fmul float %27, %28
%add77.4 = fadd float %add77.3, %mul76.4
%sub71.5 = add i32 %add70, 5
%arrayidx72.5 = getelementptr inbounds float* %exc, i32 %sub71.5
%29 = load float* %arrayidx72.5, align 4
%30 = load float* %arrayidx75.5, align 4
%mul76.5 = fmul float %29, %30
%add77.5 = fadd float %add77.4, %mul76.5
%sub71.6 = add i32 %add70, 6
%arrayidx72.6 = getelementptr inbounds float* %exc, i32 %sub71.6
%31 = load float* %arrayidx72.6, align 4
%32 = load float* %arrayidx75.6, align 4
%mul76.6 = fmul float %31, %32
%add77.6 = fadd float %add77.5, %mul76.6
br label %if.end85
if.else: ; preds = %for.body59
%sub83 = add i32 %add82.neg, %i.34
%arrayidx84 = getelementptr inbounds float* %exc, i32 %sub83
%33 = load float* %arrayidx84, align 4
br label %if.end85
if.end85: ; preds = %if.else, %for.cond64.preheader
%tmp61.1 = phi float [ %33, %if.else ], [ %add77.6, %for.cond64.preheader ]
%arrayidx86 = getelementptr inbounds float* %interp, i32 %i.34
store float %tmp61.1, float* %arrayidx86, align 4
%inc88 = add nsw i32 %i.34, 1
%exitcond = icmp eq i32 %inc88, 80
br i1 %exitcond, label %for.end89, label %for.body59
for.end89: ; preds = %if.end85
ret void
for.body9.1: ; preds = %for.end26.1, %for.end26
%indvars.iv.1 = phi i32 [ %indvars.iv.next.1, %for.end26.1 ], [ -11, %for.end26 ]
%j.016.1 = phi i32 [ %inc31.1, %for.end26.1 ], [ 0, %for.end26 ]
%34 = icmp sgt i32 %indvars.iv.1, -8
%indvars.iv.1.op = xor i32 %indvars.iv.1, -1
%35 = select i1 %34, i32 %indvars.iv.1.op, i32 7
%sub.1 = sub nsw i32 3, %j.016.1
%cmp10.1 = icmp slt i32 %sub.1, 0
%.sub.1 = select i1 %cmp10.1, i32 0, i32 %sub.1
%sub11.1 = sub nsw i32 10, %j.016.1
%cmp12.1 = icmp sgt i32 %sub11.1, 7
%i2.0.1 = select i1 %cmp12.1, i32 7, i32 %sub11.1
%cmp1613.1 = icmp slt i32 %.sub.1, %i2.0.1
br i1 %cmp1613.1, label %for.body17.lr.ph.1, label %for.end26.1
for.body17.lr.ph.1: ; preds = %for.body9.1
%add.1 = add i32 %j.016.1, -3
br label %for.body17.1
for.body17.1: ; preds = %for.body17.1, %for.body17.lr.ph.1
%tmp.015.1 = phi float [ 0.000000e+00, %for.body17.lr.ph.1 ], [ %add23.1, %for.body17.1 ]
%k.014.1 = phi i32 [ %.sub.1, %for.body17.lr.ph.1 ], [ %inc25.1, %for.body17.1 ]
%arrayidx19.1 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 1, i32 %k.014.1
%36 = load float* %arrayidx19.1, align 4
%sub20.1 = add i32 %add.1, %k.014.1
%arrayidx22.1 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 %sub20.1
%37 = load float* %arrayidx22.1, align 4
%mul.1 = fmul float %36, %37
%add23.1 = fadd float %tmp.015.1, %mul.1
%inc25.1 = add nsw i32 %k.014.1, 1
%exitcond21.1 = icmp eq i32 %inc25.1, %35
br i1 %exitcond21.1, label %for.end26.1, label %for.body17.1
for.end26.1: ; preds = %for.body17.1, %for.body9.1
%tmp.0.lcssa.1 = phi float [ 0.000000e+00, %for.body9.1 ], [ %add23.1, %for.body17.1 ]
%arrayidx29.1 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 2, i32 %j.016.1
store float %tmp.0.lcssa.1, float* %arrayidx29.1, align 4
%inc31.1 = add nsw i32 %j.016.1, 1
%indvars.iv.next.1 = add i32 %indvars.iv.1, 1
%exitcond22.1 = icmp eq i32 %indvars.iv.next.1, -4
br i1 %exitcond22.1, label %for.body9.2, label %for.body9.1
for.body9.2: ; preds = %for.end26.2, %for.end26.1
%indvars.iv.2 = phi i32 [ %indvars.iv.next.2, %for.end26.2 ], [ -11, %for.end26.1 ]
%j.016.2 = phi i32 [ %inc31.2, %for.end26.2 ], [ 0, %for.end26.1 ]
%38 = icmp sgt i32 %indvars.iv.2, -8
%indvars.iv.2.op = xor i32 %indvars.iv.2, -1
%39 = select i1 %38, i32 %indvars.iv.2.op, i32 7
%sub.2 = sub nsw i32 3, %j.016.2
%cmp10.2 = icmp slt i32 %sub.2, 0
%.sub.2 = select i1 %cmp10.2, i32 0, i32 %sub.2
%sub11.2 = sub nsw i32 10, %j.016.2
%cmp12.2 = icmp sgt i32 %sub11.2, 7
%i2.0.2 = select i1 %cmp12.2, i32 7, i32 %sub11.2
%cmp1613.2 = icmp slt i32 %.sub.2, %i2.0.2
br i1 %cmp1613.2, label %for.body17.lr.ph.2, label %for.end26.2
for.body17.lr.ph.2: ; preds = %for.body9.2
%add.2 = add i32 %j.016.2, -3
br label %for.body17.2
for.body17.2: ; preds = %for.body17.2, %for.body17.lr.ph.2
%tmp.015.2 = phi float [ 0.000000e+00, %for.body17.lr.ph.2 ], [ %add23.2, %for.body17.2 ]
%k.014.2 = phi i32 [ %.sub.2, %for.body17.lr.ph.2 ], [ %inc25.2, %for.body17.2 ]
%arrayidx19.2 = getelementptr inbounds [3 x [7 x float]]* @_ZL10shift_filt, i32 0, i32 2, i32 %k.014.2
%40 = load float* %arrayidx19.2, align 4
%sub20.2 = add i32 %add.2, %k.014.2
%arrayidx22.2 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 %sub20.2
%41 = load float* %arrayidx22.2, align 4
%mul.2 = fmul float %40, %41
%add23.2 = fadd float %tmp.015.2, %mul.2
%inc25.2 = add nsw i32 %k.014.2, 1
%exitcond21.2 = icmp eq i32 %inc25.2, %39
br i1 %exitcond21.2, label %for.end26.2, label %for.body17.2
for.end26.2: ; preds = %for.body17.2, %for.body9.2
%tmp.0.lcssa.2 = phi float [ 0.000000e+00, %for.body9.2 ], [ %add23.2, %for.body17.2 ]
%arrayidx29.2 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 3, i32 %j.016.2
store float %tmp.0.lcssa.2, float* %arrayidx29.2, align 4
%inc31.2 = add nsw i32 %j.016.2, 1
%indvars.iv.next.2 = add i32 %indvars.iv.2, 1
%exitcond22.2 = icmp eq i32 %indvars.iv.next.2, -4
br i1 %exitcond22.2, label %for.inc33.2, label %for.body9.2
for.inc33.2: ; preds = %for.end26.2
%arrayidx37 = getelementptr inbounds [4 x [7 x float]]* %corr, i32 0, i32 0, i32 0
%42 = load float* %arrayidx37, align 4
br label %for.cond41.preheader
}
define internal fastcc void @_Z9multicombPfS_S_iiiifPc(float* nocapture %exc, float* nocapture %new_exc, i32 %nsf, i32 %pitch, float %comb_gain, i8* %stack) nounwind ssp {
entry:
%0 = ptrtoint i8* %stack to i32
%1 = sub i32 0, %0
%and = and i32 %1, 3
%mul1 = shl i32 %nsf, 3
%add.ptr.sum = or i32 %and, %mul1
%add.ptr2.sum = sub i32 %add.ptr.sum, %mul1
%add.ptr5 = getelementptr inbounds i8* %stack, i32 %add.ptr2.sum
%2 = bitcast i8* %add.ptr5 to float*
tail call fastcc void @_Z12interp_pitchPfS_ii(float* %exc, float* %2, i32 %pitch)
%cmp = icmp sgt i32 %pitch, 40
%add.ptr6 = getelementptr inbounds float* %2, i32 %nsf
br i1 %cmp, label %if.then, label %if.else
if.then: ; preds = %entry
%mul7 = shl nsw i32 %pitch, 1
tail call fastcc void @_Z12interp_pitchPfS_ii(float* %exc, float* %add.ptr6, i32 %mul7)
br label %if.end
if.else: ; preds = %entry
%sub10 = sub nsw i32 0, %pitch
tail call fastcc void @_Z12interp_pitchPfS_ii(float* %exc, float* %add.ptr6, i32 %sub10)
br label %if.end
if.end: ; preds = %if.else, %if.then
%shr.i = ashr i32 %nsf, 2
%tobool1.i = icmp eq i32 %shr.i, 0
br i1 %tobool1.i, label %_Z10inner_prodPKfS0_i.exit101, label %while.body.i
while.body.i: ; preds = %while.body.i, %if.end
%x.addr.05.i = phi float* [ %incdec.ptr10.i, %while.body.i ], [ %2, %if.end ]
%len.addr.03.i = phi i32 [ %dec.i, %while.body.i ], [ %shr.i, %if.end ]
%sum.02.i = phi float [ %add14.i, %while.body.i ], [ 0.000000e+00, %if.end ]
%dec.i = add nsw i32 %len.addr.03.i, -1
%incdec.ptr.i = getelementptr inbounds float* %x.addr.05.i, i32 1
%3 = load float* %x.addr.05.i, align 4
%mul.i = fmul float %3, %3
%add.i = fadd float %mul.i, 0.000000e+00
%incdec.ptr2.i = getelementptr inbounds float* %x.addr.05.i, i32 2
%4 = load float* %incdec.ptr.i, align 4
%mul4.i = fmul float %4, %4
%add5.i = fadd float %add.i, %mul4.i
%incdec.ptr6.i = getelementptr inbounds float* %x.addr.05.i, i32 3
%5 = load float* %incdec.ptr2.i, align 4
%mul8.i = fmul float %5, %5
%add9.i = fadd float %add5.i, %mul8.i
%incdec.ptr10.i = getelementptr inbounds float* %x.addr.05.i, i32 4
%6 = load float* %incdec.ptr6.i, align 4
%mul12.i = fmul float %6, %6
%add13.i = fadd float %add9.i, %mul12.i
%add14.i = fadd float %sum.02.i, %add13.i
%tobool.i = icmp eq i32 %dec.i, 0
br i1 %tobool.i, label %while.body.i26.preheader, label %while.body.i
while.body.i26.preheader: ; preds = %while.body.i
%add = fadd float %add14.i, 1.000000e+03
%conv14 = tail call float @sqrtf(float %add) nounwind readnone
br label %while.body.i26
while.body.i26: ; preds = %while.body.i26, %while.body.i26.preheader
%x.addr.05.i3 = phi float* [ %incdec.ptr10.i20, %while.body.i26 ], [ %add.ptr6, %while.body.i26.preheader ]
%len.addr.03.i5 = phi i32 [ %dec.i7, %while.body.i26 ], [ %shr.i, %while.body.i26.preheader ]
%sum.02.i6 = phi float [ %add14.i24, %while.body.i26 ], [ 0.000000e+00, %while.body.i26.preheader ]
%dec.i7 = add nsw i32 %len.addr.03.i5, -1
%incdec.ptr.i8 = getelementptr inbounds float* %x.addr.05.i3, i32 1
%7 = load float* %x.addr.05.i3, align 4
%mul.i10 = fmul float %7, %7
%add.i11 = fadd float %mul.i10, 0.000000e+00
%incdec.ptr2.i12 = getelementptr inbounds float* %x.addr.05.i3, i32 2
%8 = load float* %incdec.ptr.i8, align 4
%mul4.i14 = fmul float %8, %8
%add5.i15 = fadd float %add.i11, %mul4.i14
%incdec.ptr6.i16 = getelementptr inbounds float* %x.addr.05.i3, i32 3
%9 = load float* %incdec.ptr2.i12, align 4
%mul8.i18 = fmul float %9, %9
%add9.i19 = fadd float %add5.i15, %mul8.i18
%incdec.ptr10.i20 = getelementptr inbounds float* %x.addr.05.i3, i32 4
%10 = load float* %incdec.ptr6.i16, align 4
%mul12.i22 = fmul float %10, %10
%add13.i23 = fadd float %add9.i19, %mul12.i22
%add14.i24 = fadd float %sum.02.i6, %add13.i23
%tobool.i25 = icmp eq i32 %dec.i7, 0
br i1 %tobool.i25, label %while.body.i71.preheader, label %while.body.i26
while.body.i71.preheader: ; preds = %while.body.i26
%add18 = fadd float %add14.i24, 1.000000e+03
%conv21 = tail call float @sqrtf(float %add18) nounwind readnone
br label %while.body.i71
while.body.i71: ; preds = %while.body.i71, %while.body.i71.preheader
%x.addr.05.i48 = phi float* [ %incdec.ptr10.i65, %while.body.i71 ], [ %exc, %while.body.i71.preheader ]
%len.addr.03.i50 = phi i32 [ %dec.i52, %while.body.i71 ], [ %shr.i, %while.body.i71.preheader ]
%sum.02.i51 = phi float [ %add14.i69, %while.body.i71 ], [ 0.000000e+00, %while.body.i71.preheader ]
%dec.i52 = add nsw i32 %len.addr.03.i50, -1
%incdec.ptr.i53 = getelementptr inbounds float* %x.addr.05.i48, i32 1
%11 = load float* %x.addr.05.i48, align 4
%mul.i55 = fmul float %11, %11
%add.i56 = fadd float %mul.i55, 0.000000e+00
%incdec.ptr2.i57 = getelementptr inbounds float* %x.addr.05.i48, i32 2
%12 = load float* %incdec.ptr.i53, align 4
%mul4.i59 = fmul float %12, %12
%add5.i60 = fadd float %add.i56, %mul4.i59
%incdec.ptr6.i61 = getelementptr inbounds float* %x.addr.05.i48, i32 3
%13 = load float* %incdec.ptr2.i57, align 4
%mul8.i63 = fmul float %13, %13
%add9.i64 = fadd float %add5.i60, %mul8.i63
%incdec.ptr10.i65 = getelementptr inbounds float* %x.addr.05.i48, i32 4
%14 = load float* %incdec.ptr6.i61, align 4
%mul12.i67 = fmul float %14, %14
%add13.i68 = fadd float %add9.i64, %mul12.i67
%add14.i69 = fadd float %sum.02.i51, %add13.i68
%tobool.i70 = icmp eq i32 %dec.i52, 0
br i1 %tobool.i70, label %while.body.i127.preheader, label %while.body.i71
while.body.i127.preheader: ; preds = %while.body.i71
%phitmp = fadd float %add14.i69, 1.000000e+00
%conv26 = tail call float @sqrtf(float %phitmp) nounwind readnone
br label %while.body.i127
while.body.i127: ; preds = %while.body.i127, %while.body.i127.preheader
%x.addr.05.i104 = phi float* [ %incdec.ptr10.i121, %while.body.i127 ], [ %2, %while.body.i127.preheader ]
%y.addr.04.i105 = phi float* [ %incdec.ptr11.i122, %while.body.i127 ], [ %exc, %while.body.i127.preheader ]
%len.addr.03.i106 = phi i32 [ %dec.i108, %while.body.i127 ], [ %shr.i, %while.body.i127.preheader ]
%sum.02.i107 = phi float [ %add14.i125, %while.body.i127 ], [ 0.000000e+00, %while.body.i127.preheader ]
%dec.i108 = add nsw i32 %len.addr.03.i106, -1
%incdec.ptr.i109 = getelementptr inbounds float* %x.addr.05.i104, i32 1
%15 = load float* %x.addr.05.i104, align 4
%incdec.ptr1.i110 = getelementptr inbounds float* %y.addr.04.i105, i32 1
%16 = load float* %y.addr.04.i105, align 4
%mul.i111 = fmul float %15, %16
%add.i112 = fadd float %mul.i111, 0.000000e+00
%incdec.ptr2.i113 = getelementptr inbounds float* %x.addr.05.i104, i32 2
%17 = load float* %incdec.ptr.i109, align 4
%incdec.ptr3.i114 = getelementptr inbounds float* %y.addr.04.i105, i32 2
%18 = load float* %incdec.ptr1.i110, align 4
%mul4.i115 = fmul float %17, %18
%add5.i116 = fadd float %add.i112, %mul4.i115
%incdec.ptr6.i117 = getelementptr inbounds float* %x.addr.05.i104, i32 3
%19 = load float* %incdec.ptr2.i113, align 4
%incdec.ptr7.i118 = getelementptr inbounds float* %y.addr.04.i105, i32 3
%20 = load float* %incdec.ptr3.i114, align 4
%mul8.i119 = fmul float %19, %20
%add9.i120 = fadd float %add5.i116, %mul8.i119
%incdec.ptr10.i121 = getelementptr inbounds float* %x.addr.05.i104, i32 4
%21 = load float* %incdec.ptr6.i117, align 4
%incdec.ptr11.i122 = getelementptr inbounds float* %y.addr.04.i105, i32 4
%22 = load float* %incdec.ptr7.i118, align 4
%mul12.i123 = fmul float %21, %22
%add13.i124 = fadd float %add9.i120, %mul12.i123
%add14.i125 = fadd float %sum.02.i107, %add13.i124
%tobool.i126 = icmp eq i32 %dec.i108, 0
br i1 %tobool.i126, label %while.body.i99.preheader, label %while.body.i127
while.body.i99.preheader: ; preds = %while.body.i127
%cmp28 = fcmp olt float %add14.i125, 0.000000e+00
%corr0.0 = select i1 %cmp28, float 0.000000e+00, float %add14.i125
br label %while.body.i99
while.body.i99: ; preds = %while.body.i99, %while.body.i99.preheader
%x.addr.05.i76 = phi float* [ %incdec.ptr10.i93, %while.body.i99 ], [ %add.ptr6, %while.body.i99.preheader ]
%y.addr.04.i77 = phi float* [ %incdec.ptr11.i94, %while.body.i99 ], [ %exc, %while.body.i99.preheader ]
%len.addr.03.i78 = phi i32 [ %dec.i80, %while.body.i99 ], [ %shr.i, %while.body.i99.preheader ]
%sum.02.i79 = phi float [ %add14.i97, %while.body.i99 ], [ 0.000000e+00, %while.body.i99.preheader ]
%dec.i80 = add nsw i32 %len.addr.03.i78, -1
%incdec.ptr.i81 = getelementptr inbounds float* %x.addr.05.i76, i32 1
%23 = load float* %x.addr.05.i76, align 4
%incdec.ptr1.i82 = getelementptr inbounds float* %y.addr.04.i77, i32 1
%24 = load float* %y.addr.04.i77, align 4
%mul.i83 = fmul float %23, %24
%add.i84 = fadd float %mul.i83, 0.000000e+00
%incdec.ptr2.i85 = getelementptr inbounds float* %x.addr.05.i76, i32 2
%25 = load float* %incdec.ptr.i81, align 4
%incdec.ptr3.i86 = getelementptr inbounds float* %y.addr.04.i77, i32 2
%26 = load float* %incdec.ptr1.i82, align 4
%mul4.i87 = fmul float %25, %26
%add5.i88 = fadd float %add.i84, %mul4.i87
%incdec.ptr6.i89 = getelementptr inbounds float* %x.addr.05.i76, i32 3
%27 = load float* %incdec.ptr2.i85, align 4
%incdec.ptr7.i90 = getelementptr inbounds float* %y.addr.04.i77, i32 3
%28 = load float* %incdec.ptr3.i86, align 4
%mul8.i91 = fmul float %27, %28
%add9.i92 = fadd float %add5.i88, %mul8.i91
%incdec.ptr10.i93 = getelementptr inbounds float* %x.addr.05.i76, i32 4
%29 = load float* %incdec.ptr6.i89, align 4
%incdec.ptr11.i94 = getelementptr inbounds float* %y.addr.04.i77, i32 4
%30 = load float* %incdec.ptr7.i90, align 4
%mul12.i95 = fmul float %29, %30
%add13.i96 = fadd float %add9.i92, %mul12.i95
%add14.i97 = fadd float %sum.02.i79, %add13.i96
%tobool.i98 = icmp eq i32 %dec.i80, 0
br i1 %tobool.i98, label %_Z10inner_prodPKfS0_i.exit101, label %while.body.i99
_Z10inner_prodPKfS0_i.exit101: ; preds = %while.body.i99, %if.end
%conv26156 = phi float [ 1.000000e+00, %if.end ], [ %conv26, %while.body.i99 ]
%conv14132135155 = phi float [ 0x403F9F6E40000000, %if.end ], [ %conv14, %while.body.i99 ]
%conv21136154 = phi float [ 0x403F9F6E40000000, %if.end ], [ %conv21, %while.body.i99 ]
%corr0.0147 = phi float [ 0.000000e+00, %if.end ], [ %corr0.0, %while.body.i99 ]
%sum.0.lcssa.i100 = phi float [ 0.000000e+00, %if.end ], [ %add14.i97, %while.body.i99 ]
%cmp33 = fcmp olt float %sum.0.lcssa.i100, 0.000000e+00
%corr1.0 = select i1 %cmp33, float 0.000000e+00, float %sum.0.lcssa.i100
%mul36 = fmul float %conv14132135155, %conv26156
%cmp37 = fcmp ogt float %corr0.0147, %mul36
br i1 %cmp37, label %if.end41, label %if.else39
if.else39: ; preds = %_Z10inner_prodPKfS0_i.exit101
%div = fdiv float %corr0.0147, %conv26156
%div40 = fdiv float %div, %conv14132135155
br label %if.end41
if.end41: ; preds = %if.else39, %_Z10inner_prodPKfS0_i.exit101
%pgain1.0 = phi float [ %div40, %if.else39 ], [ 1.000000e+00, %_Z10inner_prodPKfS0_i.exit101 ]
%mul42 = fmul float %conv21136154, %conv26156
%cmp43 = fcmp ogt float %corr1.0, %mul42
br i1 %cmp43, label %if.end48, label %if.else45
if.else45: ; preds = %if.end41
%div46 = fdiv float %corr1.0, %conv26156
%div47 = fdiv float %div46, %conv21136154
br label %if.end48
if.end48: ; preds = %if.else45, %if.end41
%pgain2.0 = phi float [ %div47, %if.else45 ], [ 1.000000e+00, %if.end41 ]
%div49 = fdiv float %conv26156, %conv14132135155
%div50 = fdiv float %conv26156, %conv21136154
%cmp51 = fcmp ogt float %comb_gain, 0.000000e+00
br i1 %cmp51, label %if.then52, label %if.end63
if.then52: ; preds = %if.end48
%conv53 = fpext float %comb_gain to double
%mul54 = fmul double %conv53, 4.000000e-01
%add55 = fadd double %mul54, 7.000000e-02
%conv56 = fptrunc double %add55 to float
%conv57 = fpext float %conv56 to double
%sub58 = fadd double %conv57, -7.000000e-02
%mul59 = fmul double %sub58, 1.720000e+00
%add60 = fadd double %mul59, 5.000000e-01
%conv61 = fptrunc double %add60 to float
br label %if.end63
if.end63: ; preds = %if.then52, %if.end48
%c1.0 = phi float [ %conv56, %if.then52 ], [ 0.000000e+00, %if.end48 ]
%c2.0 = phi float [ %conv61, %if.then52 ], [ 0.000000e+00, %if.end48 ]
%mul64 = fmul float %c2.0, %pgain1.0
%mul65 = fmul float %mul64, %pgain1.0
%sub66 = fsub float 1.000000e+00, %mul65
%mul67 = fmul float %c2.0, %pgain2.0
%mul68 = fmul float %mul67, %pgain2.0
%sub69 = fsub float 1.000000e+00, %mul68
%cmp70 = fcmp olt float %sub66, %c1.0
%g1.0 = select i1 %cmp70, float %c1.0, float %sub66
%cmp73 = fcmp olt float %sub69, %c1.0
%g2.0 = select i1 %cmp73, float %c1.0, float %sub69
%div76 = fdiv float %c1.0, %g1.0
%div77 = fdiv float %c1.0, %g2.0
%mul80 = fmul float %div76, %div49
%conv81 = fpext float %mul80 to double
br i1 %cmp, label %if.then79, label %if.else88
if.then79: ; preds = %if.end63
%mul82 = fmul double %conv81, 7.000000e-01
%mul84 = fmul float %div77, %div50
%conv85 = fpext float %mul84 to double
%mul86 = fmul double %conv85, 3.000000e-01
br label %if.end97
if.else88: ; preds = %if.end63
%mul91 = fmul double %conv81, 6.000000e-01
%mul93 = fmul float %div77, %div50
%conv94 = fpext float %mul93 to double
%mul95 = fmul double %conv94, 6.000000e-01
br label %if.end97
if.end97: ; preds = %if.else88, %if.then79
%gain0.0.in = phi double [ %mul82, %if.then79 ], [ %mul91, %if.else88 ]
%gain1.0.in = phi double [ %mul86, %if.then79 ], [ %mul95, %if.else88 ]
%gain1.0 = fptrunc double %gain1.0.in to float
%gain0.0 = fptrunc double %gain0.0.in to float
%cmp98150 = icmp sgt i32 %nsf, 0
br i1 %cmp98150, label %for.body, label %_Z13compute_rms16PKfi.exit45
for.body: ; preds = %for.body, %if.end97
%i.0151 = phi i32 [ %inc, %for.body ], [ 0, %if.end97 ]
%arrayidx = getelementptr inbounds float* %exc, i32 %i.0151
%31 = load float* %arrayidx, align 4
%arrayidx99 = getelementptr inbounds float* %2, i32 %i.0151
%32 = load float* %arrayidx99, align 4
%mul100 = fmul float %gain0.0, %32
%add101 = add nsw i32 %i.0151, %nsf
%arrayidx102 = getelementptr inbounds float* %2, i32 %add101
%33 = load float* %arrayidx102, align 4
%mul103 = fmul float %gain1.0, %33
%add104 = fadd float %mul100, %mul103
%add105 = fadd float %31, %add104
%arrayidx106 = getelementptr inbounds float* %new_exc, i32 %i.0151
store float %add105, float* %arrayidx106, align 4
%inc = add nsw i32 %i.0151, 1
%exitcond152 = icmp eq i32 %inc, %nsf
br i1 %exitcond152, label %for.body.i.i37, label %for.body
for.body.i.i37: ; preds = %for.body.i.i37, %for.body
%sum.03.i.i30 = phi float [ %add.i.i34, %for.body.i.i37 ], [ 0.000000e+00, %for.body ]
%i.02.i.i31 = phi i32 [ %inc.i.i35, %for.body.i.i37 ], [ 0, %for.body ]
%arrayidx.i.i32 = getelementptr inbounds float* %new_exc, i32 %i.02.i.i31
%34 = load float* %arrayidx.i.i32, align 4
%mul.i.i33 = fmul float %34, %34
%add.i.i34 = fadd float %sum.03.i.i30, %mul.i.i33
%inc.i.i35 = add nsw i32 %i.02.i.i31, 1
%exitcond.i.i36 = icmp eq i32 %inc.i.i35, %nsf
br i1 %exitcond.i.i36, label %_Z13compute_rms16PKfi.exit45, label %for.body.i.i37
_Z13compute_rms16PKfi.exit45: ; preds = %for.body.i.i37, %if.end97
%sum.0.lcssa.i.i38 = phi float [ 0.000000e+00, %if.end97 ], [ %add.i.i34, %for.body.i.i37 ]
%conv.i.i39 = sitofp i32 %nsf to float
%div.i.i40 = fdiv float %sum.0.lcssa.i.i38, %conv.i.i39
%conv2.i.i41 = fpext float %div.i.i40 to double
%add3.i.i42 = fadd double %conv2.i.i41, 1.000000e-01
%call.i.i43 = tail call double @sqrt(double %add3.i.i42) nounwind readnone
%conv4.i.i44 = fptrunc double %call.i.i43 to float
br i1 %cmp98150, label %for.body.i.i, label %_Z13compute_rms16PKfi.exit
for.body.i.i: ; preds = %for.body.i.i, %_Z13compute_rms16PKfi.exit45
%sum.03.i.i = phi float [ %add.i.i, %for.body.i.i ], [ 0.000000e+00, %_Z13compute_rms16PKfi.exit45 ]
%i.02.i.i = phi i32 [ %inc.i.i, %for.body.i.i ], [ 0, %_Z13compute_rms16PKfi.exit45 ]
%arrayidx.i.i = getelementptr inbounds float* %exc, i32 %i.02.i.i
%35 = load float* %arrayidx.i.i, align 4
%mul.i.i = fmul float %35, %35
%add.i.i = fadd float %sum.03.i.i, %mul.i.i
%inc.i.i = add nsw i32 %i.02.i.i, 1
%exitcond.i.i = icmp eq i32 %inc.i.i, %nsf
br i1 %exitcond.i.i, label %_Z13compute_rms16PKfi.exit, label %for.body.i.i
_Z13compute_rms16PKfi.exit: ; preds = %for.body.i.i, %_Z13compute_rms16PKfi.exit45
%sum.0.lcssa.i.i = phi float [ 0.000000e+00, %_Z13compute_rms16PKfi.exit45 ], [ %add.i.i, %for.body.i.i ]
%div.i.i = fdiv float %sum.0.lcssa.i.i, %conv.i.i39
%conv2.i.i = fpext float %div.i.i to double
%add3.i.i = fadd double %conv2.i.i, 1.000000e-01
%call.i.i = tail call double @sqrt(double %add3.i.i) nounwind readnone
%conv4.i.i = fptrunc double %call.i.i to float
%cmp109 = fcmp olt float %conv4.i.i, 1.000000e+00
%old_ener.0 = select i1 %cmp109, float 1.000000e+00, float %conv4.i.i
%cmp112 = fcmp olt float %conv4.i.i44, 1.000000e+00
%new_ener.0 = select i1 %cmp112, float 1.000000e+00, float %conv4.i.i44
%cmp115 = fcmp ogt float %old_ener.0, %new_ener.0
%old_ener.1 = select i1 %cmp115, float %new_ener.0, float %old_ener.0
%div118 = fdiv float %old_ener.1, %new_ener.0
br i1 %cmp98150, label %for.body121, label %for.end127
for.body121: ; preds = %for.body121, %_Z13compute_rms16PKfi.exit
%i.1149 = phi i32 [ %inc126, %for.body121 ], [ 0, %_Z13compute_rms16PKfi.exit ]
%arrayidx122 = getelementptr inbounds float* %new_exc, i32 %i.1149
%36 = load float* %arrayidx122, align 4
%mul123 = fmul float %div118, %36
store float %mul123, float* %arrayidx122, align 4
%inc126 = add nsw i32 %i.1149, 1
%exitcond = icmp eq i32 %inc126, %nsf
br i1 %exitcond, label %for.end127, label %for.body121
for.end127: ; preds = %for.body121, %_Z13compute_rms16PKfi.exit
ret void
}
define internal fastcc void @ogg_stream_packetin(%struct.ogg_stream_state* nocapture %os, %struct.ogg_packet* nocapture %op) nounwind ssp {
entry:
%bytes = getelementptr inbounds %struct.ogg_packet* %op, i32 0, i32 1
%0 = load i32* %bytes, align 4
%div = sdiv i32 %0, 255
%add = add nsw i32 %div, 1
%body_returned = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 3
%1 = load i32* %body_returned, align 4
%tobool = icmp eq i32 %1, 0
%body_fill.i.pre = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 2
br i1 %tobool, label %if.end9, label %if.then
if.then: ; preds = %entry
%2 = load i32* %body_fill.i.pre, align 4
%sub = sub nsw i32 %2, %1
store i32 %sub, i32* %body_fill.i.pre, align 4
%tobool3 = icmp eq i32 %2, %1
br i1 %tobool3, label %if.end, label %if.then4
if.then4: ; preds = %if.then
%body_data = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 0
%3 = load i8** %body_data, align 4
%add.ptr = getelementptr inbounds i8* %3, i32 %1
tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %3, i8* %add.ptr, i32 %sub, i32 1, i1 false)
br label %if.end
if.end: ; preds = %if.then4, %if.then
store i32 0, i32* %body_returned, align 4
%.pre = load i32* %bytes, align 4
br label %if.end9
if.end9: ; preds = %if.end, %entry
%4 = phi i32 [ %.pre, %if.end ], [ %0, %entry ]
%body_storage.i = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 1
%5 = load i32* %body_storage.i, align 4
%6 = load i32* %body_fill.i.pre, align 4
%add.i = add nsw i32 %6, %4
%cmp.i = icmp sgt i32 %5, %add.i
br i1 %cmp.i, label %_ZL15_os_body_expandP16ogg_stream_statei.exit, label %if.then.i
if.then.i: ; preds = %if.end9
%add1.i = add i32 %4, 1024
%add3.i = add i32 %add1.i, %5
store i32 %add3.i, i32* %body_storage.i, align 4
%body_data.i = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 0
%7 = load i8** %body_data.i, align 4
%call.i = tail call fastcc i8* @realloc(i8* %7, i32 %add3.i) nounwind
store i8* %call.i, i8** %body_data.i, align 4
br label %_ZL15_os_body_expandP16ogg_stream_statei.exit
_ZL15_os_body_expandP16ogg_stream_statei.exit: ; preds = %if.then.i, %if.end9
%lacing_storage.i = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 6
%8 = load i32* %lacing_storage.i, align 4
%lacing_fill.i = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 7
%9 = load i32* %lacing_fill.i, align 4
%add.i1 = add nsw i32 %9, %add
%cmp.i2 = icmp sgt i32 %8, %add.i1
br i1 %cmp.i2, label %_ZL15_os_body_expandP16ogg_stream_statei.exit._ZL17_os_lacing_expandP16ogg_stream_statei.exit_crit_edge, label %if.then.i6
_ZL15_os_body_expandP16ogg_stream_statei.exit._ZL17_os_lacing_expandP16ogg_stream_statei.exit_crit_edge: ; preds = %_ZL15_os_body_expandP16ogg_stream_statei.exit
%lacing_vals20.pre = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 4
br label %_ZL17_os_lacing_expandP16ogg_stream_statei.exit
if.then.i6: ; preds = %_ZL15_os_body_expandP16ogg_stream_statei.exit
%add1.i3 = add i32 %div, 33
%add3.i4 = add i32 %add1.i3, %8
store i32 %add3.i4, i32* %lacing_storage.i, align 4
%lacing_vals.i = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 4
%10 = load i32** %lacing_vals.i, align 4
%11 = bitcast i32* %10 to i8*
%mul.i = shl i32 %add3.i4, 2
%call.i5 = tail call fastcc i8* @realloc(i8* %11, i32 %mul.i) nounwind
%12 = bitcast i8* %call.i5 to i32*
store i32* %12, i32** %lacing_vals.i, align 4
%granule_vals.i = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 5
%13 = load i64** %granule_vals.i, align 4
%14 = bitcast i64* %13 to i8*
%15 = load i32* %lacing_storage.i, align 4
%mul7.i = shl i32 %15, 3
%call8.i = tail call fastcc i8* @realloc(i8* %14, i32 %mul7.i) nounwind
%16 = bitcast i8* %call8.i to i64*
store i64* %16, i64** %granule_vals.i, align 4
br label %_ZL17_os_lacing_expandP16ogg_stream_statei.exit
_ZL17_os_lacing_expandP16ogg_stream_statei.exit: ; preds = %if.then.i6, %_ZL15_os_body_expandP16ogg_stream_statei.exit._ZL17_os_lacing_expandP16ogg_stream_statei.exit_crit_edge
%lacing_vals20.pre-phi = phi i32** [ %lacing_vals20.pre, %_ZL15_os_body_expandP16ogg_stream_statei.exit._ZL17_os_lacing_expandP16ogg_stream_statei.exit_crit_edge ], [ %lacing_vals.i, %if.then.i6 ]
%body_data11 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 0
%17 = load i8** %body_data11, align 4
%18 = load i32* %body_fill.i.pre, align 4
%add.ptr13 = getelementptr inbounds i8* %17, i32 %18
%packet = getelementptr inbounds %struct.ogg_packet* %op, i32 0, i32 0
%19 = load i8** %packet, align 4
%20 = load i32* %bytes, align 4
tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %add.ptr13, i8* %19, i32 %20, i32 1, i1 false)
%21 = load i32* %bytes, align 4
%22 = load i32* %body_fill.i.pre, align 4
%add17 = add nsw i32 %22, %21
store i32 %add17, i32* %body_fill.i.pre, align 4
%cmp7 = icmp sgt i32 %0, 254
br i1 %cmp7, label %for.body.lr.ph, label %_ZL17_os_lacing_expandP16ogg_stream_statei.exit.for.end_crit_edge
_ZL17_os_lacing_expandP16ogg_stream_statei.exit.for.end_crit_edge: ; preds = %_ZL17_os_lacing_expandP16ogg_stream_statei.exit
%granule_vals32.pre = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 5
%granulepos34.pre = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 17
br label %for.end
for.body.lr.ph: ; preds = %_ZL17_os_lacing_expandP16ogg_stream_statei.exit
%granulepos = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 17
%granule_vals = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 5
%23 = icmp sgt i32 %div, 1
br label %for.body
for.body: ; preds = %for.body, %for.body.lr.ph
%i.08 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.body ]
%24 = load i32* %lacing_fill.i, align 4
%add19 = add nsw i32 %24, %i.08
%25 = load i32** %lacing_vals20.pre-phi, align 4
%arrayidx = getelementptr inbounds i32* %25, i32 %add19
store i32 255, i32* %arrayidx, align 4
%26 = load i64* %granulepos, align 4
%27 = load i32* %lacing_fill.i, align 4
%add22 = add nsw i32 %27, %i.08
%28 = load i64** %granule_vals, align 4
%arrayidx23 = getelementptr inbounds i64* %28, i32 %add22
store i64 %26, i64* %arrayidx23, align 4
%inc = add nsw i32 %i.08, 1
%cmp = icmp slt i32 %inc, %div
br i1 %cmp, label %for.body, label %for.cond.for.end_crit_edge
for.cond.for.end_crit_edge: ; preds = %for.body
%smax = select i1 %23, i32 %div, i32 1
br label %for.end
for.end: ; preds = %for.cond.for.end_crit_edge, %_ZL17_os_lacing_expandP16ogg_stream_statei.exit.for.end_crit_edge
%granulepos34.pre-phi = phi i64* [ %granulepos34.pre, %_ZL17_os_lacing_expandP16ogg_stream_statei.exit.for.end_crit_edge ], [ %granulepos, %for.cond.for.end_crit_edge ]
%granule_vals32.pre-phi = phi i64** [ %granule_vals32.pre, %_ZL17_os_lacing_expandP16ogg_stream_statei.exit.for.end_crit_edge ], [ %granule_vals, %for.cond.for.end_crit_edge ]
%i.0.lcssa = phi i32 [ 0, %_ZL17_os_lacing_expandP16ogg_stream_statei.exit.for.end_crit_edge ], [ %smax, %for.cond.for.end_crit_edge ]
%29 = load i32* %bytes, align 4
%rem = srem i32 %29, 255
%30 = load i32* %lacing_fill.i, align 4
%add26 = add nsw i32 %30, %i.0.lcssa
%31 = load i32** %lacing_vals20.pre-phi, align 4
%arrayidx28 = getelementptr inbounds i32* %31, i32 %add26
store i32 %rem, i32* %arrayidx28, align 4
%granulepos29 = getelementptr inbounds %struct.ogg_packet* %op, i32 0, i32 4
%32 = load i64* %granulepos29, align 4
%33 = load i32* %lacing_fill.i, align 4
%add31 = add nsw i32 %33, %i.0.lcssa
%34 = load i64** %granule_vals32.pre-phi, align 4
%arrayidx33 = getelementptr inbounds i64* %34, i32 %add31
store i64 %32, i64* %arrayidx33, align 4
store i64 %32, i64* %granulepos34.pre-phi, align 4
%35 = load i32* %lacing_fill.i, align 4
%36 = load i32** %lacing_vals20.pre-phi, align 4
%arrayidx37 = getelementptr inbounds i32* %36, i32 %35
%37 = load i32* %arrayidx37, align 4
%or = or i32 %37, 256
store i32 %or, i32* %arrayidx37, align 4
%38 = load i32* %lacing_fill.i, align 4
%add39 = add nsw i32 %38, %add
store i32 %add39, i32* %lacing_fill.i, align 4
%packetno = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 16
%39 = load i64* %packetno, align 4
%inc40 = add nsw i64 %39, 1
store i64 %inc40, i64* %packetno, align 4
%e_o_s = getelementptr inbounds %struct.ogg_packet* %op, i32 0, i32 3
%40 = load i32* %e_o_s, align 4
%tobool41 = icmp eq i32 %40, 0
br i1 %tobool41, label %if.end44, label %if.then42
if.then42: ; preds = %for.end
%e_o_s43 = getelementptr inbounds %struct.ogg_stream_state* %os, i32 0, i32 12
store i32 1, i32* %e_o_s43, align 4
br label %if.end44
if.end44: ; preds = %if.then42, %for.end
ret void
}
define internal fastcc void @_Z8_spx_lpcPfPKfi(float* nocapture %lpc, float* nocapture %ac, i32 %p) nounwind ssp {
entry:
%lpc17 = bitcast float* %lpc to i8*
%0 = load float* %ac, align 4
%cmp = fcmp oeq float %0, 0.000000e+00
%cmp212 = icmp sgt i32 %p, 0
br i1 %cmp, label %for.cond.preheader, label %for.cond4.preheader
for.cond.preheader: ; preds = %entry
br i1 %cmp212, label %for.body.lr.ph, label %return
for.body.lr.ph: ; preds = %for.cond.preheader
%1 = shl i32 %p, 2
call void @llvm.memset.p0i8.i32(i8* %lpc17, i8 0, i32 %1, i32 4, i1 false)
br label %return
for.cond4.preheader: ; preds = %entry
br i1 %cmp212, label %for.body6, label %return
for.body6: ; preds = %if.end53, %for.cond4.preheader
%indvars.iv = phi i32 [ %indvars.iv.next, %if.end53 ], [ 0, %for.cond4.preheader ]
%error.09 = phi float [ %sub56, %if.end53 ], [ %0, %for.cond4.preheader ]
%indvars.iv.next = add i32 %indvars.iv, 1
%arrayidx7 = getelementptr inbounds float* %ac, i32 %indvars.iv.next
%2 = load float* %arrayidx7, align 4
%sub = fsub float -0.000000e+00, %2
%cmp91 = icmp sgt i32 %indvars.iv, 0
br i1 %cmp91, label %for.body10, label %for.end17
for.body10: ; preds = %for.body10, %for.body6
%rr.03 = phi float [ %sub14, %for.body10 ], [ %sub, %for.body6 ]
%j.02 = phi i32 [ %inc16, %for.body10 ], [ 0, %for.body6 ]
%arrayidx11 = getelementptr inbounds float* %lpc, i32 %j.02
%3 = load float* %arrayidx11, align 4
%sub12 = sub nsw i32 %indvars.iv, %j.02
%arrayidx13 = getelementptr inbounds float* %ac, i32 %sub12
%4 = load float* %arrayidx13, align 4
%mul = fmul float %3, %4
%sub14 = fsub float %rr.03, %mul
%inc16 = add nsw i32 %j.02, 1
%exitcond = icmp eq i32 %inc16, %indvars.iv
br i1 %exitcond, label %for.end17, label %for.body10
for.end17: ; preds = %for.body10, %for.body6
%rr.0.lcssa = phi float [ %sub, %for.body6 ], [ %sub14, %for.body10 ]
%conv = fpext float %rr.0.lcssa to double
%conv18 = fpext float %error.09 to double
%5 = load float* %ac, align 4
%conv20 = fpext float %5 to double
%mul21 = fmul double %conv20, 3.000000e-03
%add22 = fadd double %conv18, %mul21
%div = fdiv double %conv, %add22
%conv23 = fptrunc double %div to float
%arrayidx24 = getelementptr inbounds float* %lpc, i32 %indvars.iv
store float %conv23, float* %arrayidx24, align 4
%shr = ashr i32 %indvars.iv, 1
%cmp264 = icmp sgt i32 %shr, 0
br i1 %cmp264, label %for.body27.lr.ph, label %for.end46
for.body27.lr.ph: ; preds = %for.end17
%sub30 = add i32 %indvars.iv, -1
br label %for.body27
for.body27: ; preds = %for.body27, %for.body27.lr.ph
%j.15 = phi i32 [ 0, %for.body27.lr.ph ], [ %inc45, %for.body27 ]
%arrayidx28 = getelementptr inbounds float* %lpc, i32 %j.15
%6 = load float* %arrayidx28, align 4
%sub31 = sub i32 %sub30, %j.15
%arrayidx32 = getelementptr inbounds float* %lpc, i32 %sub31
%7 = load float* %arrayidx32, align 4
%mul33 = fmul float %conv23, %7
%add34 = fadd float %6, %mul33
store float %add34, float* %arrayidx28, align 4
%8 = load float* %arrayidx32, align 4
%mul39 = fmul float %conv23, %6
%add40 = fadd float %8, %mul39
store float %add40, float* %arrayidx32, align 4
%inc45 = add nsw i32 %j.15, 1
%exitcond14 = icmp eq i32 %inc45, %shr
br i1 %exitcond14, label %for.end46, label %for.body27
for.end46: ; preds = %for.body27, %for.end17
%j.1.lcssa = phi i32 [ 0, %for.end17 ], [ %shr, %for.body27 ]
%and = and i32 %indvars.iv, 1
%tobool = icmp eq i32 %and, 0
br i1 %tobool, label %if.end53, label %if.then47
if.then47: ; preds = %for.end46
%arrayidx48 = getelementptr inbounds float* %lpc, i32 %j.1.lcssa
%9 = load float* %arrayidx48, align 4
%mul50 = fmul float %9, %conv23
%add51 = fadd float %9, %mul50
store float %add51, float* %arrayidx48, align 4
br label %if.end53
if.end53: ; preds = %if.then47, %for.end46
%mul54 = fmul float %error.09, %conv23
%mul55 = fmul float %conv23, %mul54
%sub56 = fsub float %error.09, %mul55
%exitcond15 = icmp eq i32 %indvars.iv.next, %p
br i1 %exitcond15, label %return, label %for.body6
return: ; preds = %if.end53, %for.cond4.preheader, %for.body.lr.ph, %for.cond.preheader
ret void
}
define internal fastcc i32 @_Z10lpc_to_lspPfiS_ifPc(float* nocapture %a, i32 %lpcrdr, float* nocapture %freq, float %delta, i8* %stack) ssp {
entry:
%div = sdiv i32 %lpcrdr, 2
%0 = ptrtoint i8* %stack to i32
%1 = sub i32 0, %0
%and = and i32 %1, 3
%add = add nsw i32 %div, 1
%mul = shl i32 %add, 2
%add.ptr.sum = or i32 %mul, %and
%add.ptr1 = getelementptr inbounds i8* %stack, i32 %add.ptr.sum
%add.ptr1.sum = sub i32 %add.ptr.sum, %mul
%add.ptr4 = getelementptr inbounds i8* %stack, i32 %add.ptr1.sum
%2 = bitcast i8* %add.ptr4 to float*
%3 = ptrtoint i8* %add.ptr1 to i32
%4 = sub i32 0, %3
%and6 = and i32 %4, 3
%add.ptr1.sum1 = add i32 %and6, %add.ptr.sum
%add.ptr7.sum = add i32 %add.ptr1.sum1, %mul
%add.ptr10 = getelementptr inbounds i8* %stack, i32 %add.ptr7.sum
%add.ptr14 = getelementptr inbounds i8* %stack, i32 %add.ptr1.sum1
%5 = bitcast i8* %add.ptr14 to float*
store float 1.000000e+00, float* %5, align 4
store float 1.000000e+00, float* %2, align 4
%cmp83 = icmp sgt i32 %lpcrdr, 1
br i1 %cmp83, label %for.body.lr.ph, label %for.end40
for.body.lr.ph: ; preds = %entry
%add.ptr4.sum = add i32 %add.ptr1.sum, 4
%add.ptr14.sum = add i32 %add.ptr1.sum1, 4
%incdec.ptr15 = getelementptr inbounds i8* %stack, i32 %add.ptr4.sum
%incdec.ptr = getelementptr inbounds i8* %stack, i32 %add.ptr14.sum
%6 = bitcast i8* %incdec.ptr15 to float*
%7 = bitcast i8* %incdec.ptr to float*
%sub16 = add i32 %lpcrdr, -1
br label %for.body
for.body: ; preds = %for.body, %for.body.lr.ph
%q.088 = phi float* [ %2, %for.body.lr.ph ], [ %incdec.ptr28, %for.body ]
%p.087 = phi float* [ %5, %for.body.lr.ph ], [ %incdec.ptr20, %for.body ]
%qx.086 = phi float* [ %6, %for.body.lr.ph ], [ %incdec.ptr30, %for.body ]
%px.085 = phi float* [ %7, %for.body.lr.ph ], [ %incdec.ptr22, %for.body ]
%i.084 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.body ]
%arrayidx = getelementptr inbounds float* %a, i32 %i.084
%8 = load float* %arrayidx, align 4
%sub17 = sub i32 %sub16, %i.084
%arrayidx18 = getelementptr inbounds float* %a, i32 %sub17
%9 = load float* %arrayidx18, align 4
%add19 = fadd float %8, %9
%incdec.ptr20 = getelementptr inbounds float* %p.087, i32 1
%10 = load float* %p.087, align 4
%sub21 = fsub float %add19, %10
%incdec.ptr22 = getelementptr inbounds float* %px.085, i32 1
store float %sub21, float* %px.085, align 4
%11 = load float* %arrayidx, align 4
%12 = load float* %arrayidx18, align 4
%sub27 = fsub float %11, %12
%incdec.ptr28 = getelementptr inbounds float* %q.088, i32 1
%13 = load float* %q.088, align 4
%add29 = fadd float %sub27, %13
%incdec.ptr30 = getelementptr inbounds float* %qx.086, i32 1
store float %add29, float* %qx.086, align 4
%inc = add nsw i32 %i.084, 1
%cmp = icmp slt i32 %inc, %div
br i1 %cmp, label %for.body, label %for.body33
for.body33: ; preds = %for.body33, %for.body
%qx.182 = phi float* [ %incdec.ptr37, %for.body33 ], [ %2, %for.body ]
%px.181 = phi float* [ %incdec.ptr36, %for.body33 ], [ %5, %for.body ]
%i.180 = phi i32 [ %inc39, %for.body33 ], [ 0, %for.body ]
%14 = load float* %px.181, align 4
%mul34 = fmul float %14, 2.000000e+00
store float %mul34, float* %px.181, align 4
%15 = load float* %qx.182, align 4
%mul35 = fmul float %15, 2.000000e+00
store float %mul35, float* %qx.182, align 4
%incdec.ptr36 = getelementptr inbounds float* %px.181, i32 1
%incdec.ptr37 = getelementptr inbounds float* %qx.182, i32 1
%inc39 = add nsw i32 %i.180, 1
%cmp32 = icmp slt i32 %inc39, %div
br i1 %cmp32, label %for.body33, label %for.end40
for.end40: ; preds = %for.body33, %entry
%16 = ptrtoint i8* %add.ptr10 to i32
%17 = sub i32 0, %16
%and42 = and i32 %17, 3
%add.ptr10.sum2 = add i32 %and42, %add.ptr7.sum
%add.ptr43.sum = add i32 %add.ptr10.sum2, %mul
%add.ptr46 = getelementptr inbounds i8* %stack, i32 %add.ptr43.sum
%add.ptr50 = getelementptr inbounds i8* %stack, i32 %add.ptr10.sum2
%18 = bitcast i8* %add.ptr50 to float*
%19 = ptrtoint i8* %add.ptr46 to i32
%20 = sub i32 0, %19
%and52 = and i32 %20, 3
%add.ptr56.sum = add i32 %and52, %add.ptr43.sum
%add.ptr60 = getelementptr inbounds i8* %stack, i32 %add.ptr56.sum
%21 = bitcast i8* %add.ptr60 to float*
%cmp6377 = icmp sgt i32 %add, 0
br i1 %cmp6377, label %for.body64, label %for.cond72.preheader
for.cond72.preheader: ; preds = %for.body64, %for.end40
%cmp7370 = icmp sgt i32 %lpcrdr, 0
br i1 %cmp7370, label %for.body74.lr.ph, label %for.end126
for.body74.lr.ph: ; preds = %for.cond72.preheader
%conv78 = fpext float %delta to double
br label %for.body74
for.body64: ; preds = %for.body64, %for.end40
%i.278 = phi i32 [ %inc70, %for.body64 ], [ 0, %for.end40 ]
%arrayidx65 = getelementptr inbounds float* %5, i32 %i.278
%22 = load float* %arrayidx65, align 4
%arrayidx66 = getelementptr inbounds float* %18, i32 %i.278
store float %22, float* %arrayidx66, align 4
%arrayidx67 = getelementptr inbounds float* %2, i32 %i.278
%23 = load float* %arrayidx67, align 4
%arrayidx68 = getelementptr inbounds float* %21, i32 %i.278
store float %23, float* %arrayidx68, align 4
%inc70 = add nsw i32 %i.278, 1
%exitcond93 = icmp eq i32 %inc70, %add
br i1 %exitcond93, label %for.cond72.preheader, label %for.body64
for.body74: ; preds = %for.inc124, %for.body74.lr.ph
%roots.075 = phi i32 [ 0, %for.body74.lr.ph ], [ %roots.1.ph, %for.inc124 ]
%xl.074 = phi float [ 1.000000e+00, %for.body74.lr.ph ], [ %xl.1, %for.inc124 ]
%xr.073 = phi float [ 0.000000e+00, %for.body74.lr.ph ], [ %xr.1, %for.inc124 ]
%j.071 = phi i32 [ 0, %for.body74.lr.ph ], [ %inc125, %for.inc124 ]
%and75 = and i32 %j.071, 1
%tobool = icmp eq i32 %and75, 0
%. = select i1 %tobool, float* %18, float* %21
%mul.i = fmul float %xl.074, 2.000000e+00
br i1 %cmp83, label %for.body.i, label %_ZL13cheb_poly_evaPffiPc.exit
for.body.i: ; preds = %for.body.i, %for.body74
%b1.04.i = phi float [ %b0.03.i, %for.body.i ], [ 0.000000e+00, %for.body74 ]
%b0.03.i = phi float [ %add.i, %for.body.i ], [ 0.000000e+00, %for.body74 ]
%k.02.i = phi i32 [ %dec.i, %for.body.i ], [ %div, %for.body74 ]
%mul1.i = fmul float %mul.i, %b0.03.i
%sub.i = fsub float %mul1.i, %b1.04.i
%sub2.i = sub nsw i32 %div, %k.02.i
%arrayidx.i = getelementptr inbounds float* %., i32 %sub2.i
%24 = load float* %arrayidx.i, align 4
%add.i = fadd float %sub.i, %24
%dec.i = add nsw i32 %k.02.i, -1
%cmp.i = icmp sgt i32 %dec.i, 0
br i1 %cmp.i, label %for.body.i, label %for.cond.for.end_crit_edge.i
for.cond.for.end_crit_edge.i: ; preds = %for.body.i
%phitmp.i = fpext float %add.i to double
br label %_ZL13cheb_poly_evaPffiPc.exit
_ZL13cheb_poly_evaPffiPc.exit: ; preds = %for.cond.for.end_crit_edge.i, %for.body74
%b1.0.lcssa.i = phi float [ %b0.03.i, %for.cond.for.end_crit_edge.i ], [ 0.000000e+00, %for.body74 ]
%b0.0.lcssa.i = phi double [ %phitmp.i, %for.cond.for.end_crit_edge.i ], [ 0.000000e+00, %for.body74 ]
%sub3.i = fsub float -0.000000e+00, %b1.0.lcssa.i
%conv.i = fpext float %sub3.i to double
%conv4.i = fpext float %mul.i to double
%mul5.i = fmul double %conv4.i, 5.000000e-01
%mul7.i = fmul double %mul5.i, %b0.0.lcssa.i
%add8.i = fadd double %conv.i, %mul7.i
%arrayidx9.i = getelementptr inbounds float* %., i32 %div
%25 = load float* %arrayidx9.i, align 4
%conv10.i = fpext float %25 to double
%add11.i = fadd double %add8.i, %conv10.i
%conv12.i = fptrunc double %add11.i to float
%arrayidx121 = getelementptr inbounds float* %freq, i32 %j.071
br label %while.cond.outer
while.cond.outer: ; preds = %for.end117, %_ZL13cheb_poly_evaPffiPc.exit
%flag.0.ph = phi i1 [ false, %_ZL13cheb_poly_evaPffiPc.exit ], [ true, %for.end117 ]
%psuml.0.ph = phi float [ %conv12.i, %_ZL13cheb_poly_evaPffiPc.exit ], [ %psuml.1.call108, %for.end117 ]
%xr.1.ph = phi float [ %xr.073, %_ZL13cheb_poly_evaPffiPc.exit ], [ %conv107.xr.2, %for.end117 ]
%xl.1.ph = phi float [ %xl.074, %_ZL13cheb_poly_evaPffiPc.exit ], [ %conv107, %for.end117 ]
%roots.1.ph = phi i32 [ %roots.075, %_ZL13cheb_poly_evaPffiPc.exit ], [ %inc100, %for.end117 ]
br label %while.cond
while.cond: ; preds = %_ZL13cheb_poly_evaPffiPc.exit59, %while.cond.outer
%psuml.0 = phi float [ %conv12.i58, %_ZL13cheb_poly_evaPffiPc.exit59 ], [ %psuml.0.ph, %while.cond.outer ]
%xr.1 = phi float [ %sub94, %_ZL13cheb_poly_evaPffiPc.exit59 ], [ %xr.1.ph, %while.cond.outer ]
%xl.1 = phi float [ %sub94, %_ZL13cheb_poly_evaPffiPc.exit59 ], [ %xl.1.ph, %while.cond.outer ]
%cmp77 = fcmp ult float %xr.1, -1.000000e+00
%or.cond = or i1 %flag.0.ph, %cmp77
br i1 %or.cond, label %for.inc124, label %while.body
while.body: ; preds = %while.cond
%conv79 = fpext float %xl.1 to double
%mul80 = fmul double %conv79, 9.000000e-01
%mul82 = fmul double %mul80, %conv79
%sub83 = fsub double 1.000000e+00, %mul82
%mul84 = fmul double %conv78, %sub83
%conv85 = fptrunc double %mul84 to float
%conv86 = fpext float %psuml.0 to double
%call87 = tail call double @fabs(double %conv86)
%cmp88 = fcmp olt double %call87, 2.000000e-01
br i1 %cmp88, label %if.then89, label %if.end93
if.then89: ; preds = %while.body
%conv92 = fmul float %conv85, 5.000000e-01
br label %if.end93
if.end93: ; preds = %if.then89, %while.body
%dd.0 = phi float [ %conv92, %if.then89 ], [ %conv85, %while.body ]
%sub94 = fsub float %xl.1, %dd.0
%mul.i32 = fmul float %sub94, 2.000000e+00
br i1 %cmp83, label %for.body.i44, label %_ZL13cheb_poly_evaPffiPc.exit59
for.body.i44: ; preds = %for.body.i44, %if.end93
%b1.04.i34 = phi float [ %b0.03.i35, %for.body.i44 ], [ 0.000000e+00, %if.end93 ]
%b0.03.i35 = phi float [ %add.i41, %for.body.i44 ], [ 0.000000e+00, %if.end93 ]
%k.02.i36 = phi i32 [ %dec.i42, %for.body.i44 ], [ %div, %if.end93 ]
%mul1.i37 = fmul float %mul.i32, %b0.03.i35
%sub.i38 = fsub float %mul1.i37, %b1.04.i34
%sub2.i39 = sub nsw i32 %div, %k.02.i36
%arrayidx.i40 = getelementptr inbounds float* %., i32 %sub2.i39
%26 = load float* %arrayidx.i40, align 4
%add.i41 = fadd float %sub.i38, %26
%dec.i42 = add nsw i32 %k.02.i36, -1
%cmp.i43 = icmp sgt i32 %dec.i42, 0
br i1 %cmp.i43, label %for.body.i44, label %for.cond.for.end_crit_edge.i46
for.cond.for.end_crit_edge.i46: ; preds = %for.body.i44
%phitmp.i45 = fpext float %add.i41 to double
br label %_ZL13cheb_poly_evaPffiPc.exit59
_ZL13cheb_poly_evaPffiPc.exit59: ; preds = %for.cond.for.end_crit_edge.i46, %if.end93
%b1.0.lcssa.i47 = phi float [ %b0.03.i35, %for.cond.for.end_crit_edge.i46 ], [ 0.000000e+00, %if.end93 ]
%b0.0.lcssa.i48 = phi double [ %phitmp.i45, %for.cond.for.end_crit_edge.i46 ], [ 0.000000e+00, %if.end93 ]
%sub3.i49 = fsub float -0.000000e+00, %b1.0.lcssa.i47
%conv.i50 = fpext float %sub3.i49 to double
%conv4.i51 = fpext float %mul.i32 to double
%mul5.i52 = fmul double %conv4.i51, 5.000000e-01
%mul7.i53 = fmul double %mul5.i52, %b0.0.lcssa.i48
%add8.i54 = fadd double %conv.i50, %mul7.i53
%27 = load float* %arrayidx9.i, align 4
%conv10.i56 = fpext float %27 to double
%add11.i57 = fadd double %add8.i54, %conv10.i56
%conv12.i58 = fptrunc double %add11.i57 to float
%mul96 = fmul float %conv12.i58, %psuml.0
%cmp98 = fcmp olt float %mul96, 0.000000e+00
br i1 %cmp98, label %if.then99, label %while.cond
if.then99: ; preds = %_ZL13cheb_poly_evaPffiPc.exit59
%inc100 = add nsw i32 %roots.1.ph, 1
br label %for.body103
for.body103: ; preds = %_ZL13cheb_poly_evaPffiPc.exit31, %if.then99
%xl.264 = phi float [ %xl.2.conv107, %_ZL13cheb_poly_evaPffiPc.exit31 ], [ %xl.1, %if.then99 ]
%xr.263 = phi float [ %conv107.xr.2, %_ZL13cheb_poly_evaPffiPc.exit31 ], [ %sub94, %if.then99 ]
%psuml.162 = phi float [ %psuml.1.call108, %_ZL13cheb_poly_evaPffiPc.exit31 ], [ %psuml.0, %if.then99 ]
%k.061 = phi i32 [ %inc116, %_ZL13cheb_poly_evaPffiPc.exit31 ], [ 0, %if.then99 ]
%add104 = fadd float %xl.264, %xr.263
%conv107 = fmul float %add104, 5.000000e-01
%mul.i4 = fmul float %conv107, 2.000000e+00
br i1 %cmp83, label %for.body.i16, label %_ZL13cheb_poly_evaPffiPc.exit31
for.body.i16: ; preds = %for.body.i16, %for.body103
%b1.04.i6 = phi float [ %b0.03.i7, %for.body.i16 ], [ 0.000000e+00, %for.body103 ]
%b0.03.i7 = phi float [ %add.i13, %for.body.i16 ], [ 0.000000e+00, %for.body103 ]
%k.02.i8 = phi i32 [ %dec.i14, %for.body.i16 ], [ %div, %for.body103 ]
%mul1.i9 = fmul float %mul.i4, %b0.03.i7
%sub.i10 = fsub float %mul1.i9, %b1.04.i6
%sub2.i11 = sub nsw i32 %div, %k.02.i8
%arrayidx.i12 = getelementptr inbounds float* %., i32 %sub2.i11
%28 = load float* %arrayidx.i12, align 4
%add.i13 = fadd float %sub.i10, %28
%dec.i14 = add nsw i32 %k.02.i8, -1
%cmp.i15 = icmp sgt i32 %dec.i14, 0
br i1 %cmp.i15, label %for.body.i16, label %for.cond.for.end_crit_edge.i18
for.cond.for.end_crit_edge.i18: ; preds = %for.body.i16
%phitmp.i17 = fpext float %add.i13 to double
br label %_ZL13cheb_poly_evaPffiPc.exit31
_ZL13cheb_poly_evaPffiPc.exit31: ; preds = %for.cond.for.end_crit_edge.i18, %for.body103
%b1.0.lcssa.i19 = phi float [ %b0.03.i7, %for.cond.for.end_crit_edge.i18 ], [ 0.000000e+00, %for.body103 ]
%b0.0.lcssa.i20 = phi double [ %phitmp.i17, %for.cond.for.end_crit_edge.i18 ], [ 0.000000e+00, %for.body103 ]
%sub3.i21 = fsub float -0.000000e+00, %b1.0.lcssa.i19
%conv.i22 = fpext float %sub3.i21 to double
%conv4.i23 = fpext float %mul.i4 to double
%mul5.i24 = fmul double %conv4.i23, 5.000000e-01
%mul7.i25 = fmul double %mul5.i24, %b0.0.lcssa.i20
%add8.i26 = fadd double %conv.i22, %mul7.i25
%add11.i29 = fadd double %add8.i26, %conv10.i56
%conv12.i30 = fptrunc double %add11.i29 to float
%mul109 = fmul float %conv12.i30, %psuml.162
%cmp111 = fcmp olt float %mul109, 0.000000e+00
%psuml.1.call108 = select i1 %cmp111, float %psuml.162, float %conv12.i30
%conv107.xr.2 = select i1 %cmp111, float %conv107, float %xr.263
%xl.2.conv107 = select i1 %cmp111, float %xl.264, float %conv107
%inc116 = add nsw i32 %k.061, 1
%exitcond = icmp eq i32 %inc116, 11
br i1 %exitcond, label %for.end117, label %for.body103
for.end117: ; preds = %_ZL13cheb_poly_evaPffiPc.exit31
%conv118 = fpext float %conv107 to double
%call119 = tail call double @acos(double %conv118)
%conv120 = fptrunc double %call119 to float
store float %conv120, float* %arrayidx121, align 4
br label %while.cond.outer
for.inc124: ; preds = %while.cond
%inc125 = add nsw i32 %j.071, 1
%exitcond92 = icmp eq i32 %inc125, %lpcrdr
br i1 %exitcond92, label %for.end126, label %for.body74
for.end126: ; preds = %for.inc124, %for.cond72.preheader
%roots.0.lcssa = phi i32 [ 0, %for.cond72.preheader ], [ %roots.1.ph, %for.inc124 ]
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 ssp {
entry:
%shr = ashr i32 %lpcrdr, 1
%0 = ptrtoint i8* %stack to i32
%1 = sub i32 0, %0
%and = and i32 %1, 3
%2 = shl i32 %lpcrdr, 1
%add1 = shl i32 %lpcrdr, 3
%mul1 = or i32 %add1, 8
%add.ptr.sum = or i32 %and, %mul1
%add.ptr2 = getelementptr inbounds i8* %stack, i32 %add.ptr.sum
%add.ptr2.sum = sub i32 %add.ptr.sum, %mul1
%add.ptr6 = getelementptr inbounds i8* %stack, i32 %add.ptr2.sum
%3 = bitcast i8* %add.ptr6 to float*
%cmp20 = icmp slt i32 %2, 0
br i1 %cmp20, label %for.end, label %for.body.lr.ph
for.body.lr.ph: ; preds = %entry
%4 = or i32 %2, 2
%5 = icmp sgt i32 %4, 1
%.op = shl i32 %4, 2
%6 = select i1 %5, i32 %.op, i32 4
call void @llvm.memset.p0i8.i32(i8* %add.ptr6, i8 0, i32 %6, i32 4, i1 false)
br label %for.end
for.end: ; preds = %for.body.lr.ph, %entry
%7 = ptrtoint i8* %add.ptr2 to i32
%8 = sub i32 0, %7
%and10 = and i32 %8, 3
%add.ptr13.sum = add i32 %and10, %add.ptr.sum
%add.ptr16 = getelementptr inbounds i8* %stack, i32 %add.ptr13.sum
%9 = bitcast i8* %add.ptr16 to float*
%cmp1818 = icmp sgt i32 %lpcrdr, 0
br i1 %cmp1818, label %for.body19, label %for.cond24.preheader
for.cond24.preheader: ; preds = %_Z7spx_cosf.exit, %for.end
%cmp2514 = icmp slt i32 %lpcrdr, 0
br i1 %cmp2514, label %for.end63, label %for.cond27.preheader.lr.ph
for.cond27.preheader.lr.ph: ; preds = %for.cond24.preheader
%cmp287 = icmp sgt i32 %shr, 0
%10 = and i32 %add1, -16
%11 = add i32 %add.ptr.sum, %10
%12 = add i32 %11, -4
%13 = sub i32 %12, %mul1
%scevgep = getelementptr i8* %stack, i32 %13
%scevgep23 = bitcast i8* %scevgep to float*
%14 = add i32 %lpcrdr, 1
br label %for.cond27.preheader
for.body19: ; preds = %_Z7spx_cosf.exit, %for.end
%i.119 = phi i32 [ %inc22, %_Z7spx_cosf.exit ], [ 0, %for.end ]
%arrayidx = getelementptr inbounds float* %freq, i32 %i.119
%15 = load float* %arrayidx, align 4
%conv.i = fpext float %15 to double
%cmp.i = fcmp olt double %conv.i, 0x3FF921FB544486E0
br i1 %cmp.i, label %if.then.i, label %if.else.i
if.then.i: ; preds = %for.body19
%mul.i = fmul float %15, %15
%mul1.i = fmul float %mul.i, 0xBF54D3D6C0000000
%add.i = fadd float %mul1.i, 0x3FA53DE1C0000000
%mul2.i = fmul float %mul.i, %add.i
%add3.i = fadd float %mul2.i, 0xBFDFFE90C0000000
%mul4.i = fmul float %mul.i, %add3.i
%add5.i = fadd float %mul4.i, 0x3FEFFFF200000000
br label %_Z7spx_cosf.exit
if.else.i: ; preds = %for.body19
%sub.i = fsub double 0x400921FB54442D18, %conv.i
%conv7.i = fptrunc double %sub.i to float
%mul8.i = fmul float %conv7.i, %conv7.i
%mul9.i = fmul float %mul8.i, 0xBF54D3D6C0000000
%add10.i = fadd float %mul9.i, 0x3FA53DE1C0000000
%mul11.i = fmul float %mul8.i, %add10.i
%add12.i = fadd float %mul11.i, 0xBFDFFE90C0000000
%mul13.i = fmul float %mul8.i, %add12.i
%add14.i = fadd float %mul13.i, 0x3FEFFFF200000000
%sub15.i = fsub float -0.000000e+00, %add14.i
br label %_Z7spx_cosf.exit
_Z7spx_cosf.exit: ; preds = %if.else.i, %if.then.i
%retval.0.i = phi float [ %add5.i, %if.then.i ], [ %sub15.i, %if.else.i ]
%arrayidx20 = getelementptr inbounds float* %9, i32 %i.119
store float %retval.0.i, float* %arrayidx20, align 4
%inc22 = add nsw i32 %i.119, 1
%exitcond25 = icmp eq i32 %inc22, %lpcrdr
br i1 %exitcond25, label %for.cond24.preheader, label %for.body19
for.cond27.preheader: ; preds = %if.end, %for.cond27.preheader.lr.ph
%n4.017 = phi float* [ null, %for.cond27.preheader.lr.ph ], [ %n4.1.lcssa, %if.end ]
%j.016 = phi i32 [ 0, %for.cond27.preheader.lr.ph ], [ %inc62, %if.end ]
%xin2.015 = phi float [ 1.000000e+00, %for.cond27.preheader.lr.ph ], [ 0.000000e+00, %if.end ]
br i1 %cmp287, label %for.body29, label %for.end49
for.body29: ; preds = %for.body29, %for.cond27.preheader
%i2.011 = phi i32 [ %add48, %for.body29 ], [ 0, %for.cond27.preheader ]
%i.210 = phi i32 [ %inc47, %for.body29 ], [ 0, %for.cond27.preheader ]
%xin1.19 = phi float [ %add39, %for.body29 ], [ %xin2.015, %for.cond27.preheader ]
%xin2.18 = phi float [ %add45, %for.body29 ], [ %xin2.015, %for.cond27.preheader ]
%mul30 = shl nsw i32 %i.210, 2
%add.ptr31 = getelementptr inbounds float* %3, i32 %mul30
%add.ptr31.sum4 = or i32 %mul30, 1
%add.ptr32 = getelementptr inbounds float* %3, i32 %add.ptr31.sum4
%add.ptr32.sum = add i32 %add.ptr31.sum4, 1
%add.ptr33 = getelementptr inbounds float* %3, i32 %add.ptr32.sum
%add.ptr33.sum5 = or i32 %mul30, 3
%add.ptr34 = getelementptr inbounds float* %3, i32 %add.ptr33.sum5
%arrayidx35 = getelementptr inbounds float* %9, i32 %i2.011
%16 = load float* %arrayidx35, align 4
%mul36 = fmul float %16, 2.000000e+00
%17 = load float* %add.ptr31, align 4
%mul37 = fmul float %mul36, %17
%sub38 = fsub float %xin1.19, %mul37
%18 = load float* %add.ptr32, align 4
%add39 = fadd float %sub38, %18
%add406 = or i32 %i2.011, 1
%arrayidx41 = getelementptr inbounds float* %9, i32 %add406
%19 = load float* %arrayidx41, align 4
%mul42 = fmul float %19, 2.000000e+00
%20 = load float* %add.ptr33, align 4
%mul43 = fmul float %mul42, %20
%sub44 = fsub float %xin2.18, %mul43
%21 = load float* %add.ptr34, align 4
%add45 = fadd float %sub44, %21
store float %17, float* %add.ptr32, align 4
store float %20, float* %add.ptr34, align 4
store float %xin1.19, float* %add.ptr31, align 4
store float %xin2.18, float* %add.ptr33, align 4
%inc47 = add nsw i32 %i.210, 1
%add48 = add nsw i32 %i2.011, 2
%exitcond = icmp eq i32 %inc47, %shr
br i1 %exitcond, label %for.end49, label %for.body29
for.end49: ; preds = %for.body29, %for.cond27.preheader
%n4.1.lcssa = phi float* [ %n4.017, %for.cond27.preheader ], [ %scevgep23, %for.body29 ]
%xin1.1.lcssa = phi float [ %xin2.015, %for.cond27.preheader ], [ %add39, %for.body29 ]
%xin2.1.lcssa = phi float [ %xin2.015, %for.cond27.preheader ], [ %add45, %for.body29 ]
%add.ptr50 = getelementptr inbounds float* %n4.1.lcssa, i32 1
%add.ptr52 = getelementptr inbounds float* %n4.1.lcssa, i32 2
%cmp54 = icmp sgt i32 %j.016, 0
br i1 %cmp54, label %if.then, label %if.end
if.then: ; preds = %for.end49
%22 = load float* %add.ptr52, align 4
%23 = load float* %add.ptr50, align 4
%sub53 = fsub float %xin2.1.lcssa, %22
%add51 = fadd float %xin1.1.lcssa, %23
%add55 = fadd float %add51, %sub53
%mul56 = fmul float %add55, 5.000000e-01
%sub57 = add nsw i32 %j.016, -1
%arrayidx58 = getelementptr inbounds float* %ak, i32 %sub57
store float %mul56, float* %arrayidx58, align 4
br label %if.end
if.end: ; preds = %if.then, %for.end49
store float %xin1.1.lcssa, float* %add.ptr50, align 4
store float %xin2.1.lcssa, float* %add.ptr52, align 4
%inc62 = add nsw i32 %j.016, 1
%exitcond24 = icmp eq i32 %inc62, %14
br i1 %exitcond24, label %for.end63, label %for.cond27.preheader
for.end63: ; preds = %if.end, %for.cond24.preheader
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 ssp {
entry:
%0 = ptrtoint i8* %stack to i32
%1 = sub i32 0, %0
%and = and i32 %1, 3
%sub1 = sub nsw i32 %end, %start
%add = shl i32 %sub1, 2
%mul = add i32 %add, 8
%add.ptr.sum = or i32 %and, %mul
%add.ptr2 = getelementptr inbounds i8* %stack, i32 %add.ptr.sum
%idx.neg = sub i32 -8, %add
%add.ptr2.sum = add i32 %idx.neg, %add.ptr.sum
%add.ptr6 = getelementptr inbounds i8* %stack, i32 %add.ptr2.sum
%2 = bitcast i8* %add.ptr6 to float*
%3 = ptrtoint i8* %add.ptr2 to i32
%4 = sub i32 0, %3
%and8 = and i32 %4, 3
%add.ptr2.sum1 = add i32 %and8, %add.ptr.sum
%add11 = add nsw i32 %sub1, 1
%mul12 = shl i32 %add11, 2
%add.ptr9.sum = add i32 %add.ptr2.sum1, %mul12
%add.ptr13 = getelementptr inbounds i8* %stack, i32 %add.ptr9.sum
%add.ptr18 = getelementptr inbounds i8* %stack, i32 %add.ptr2.sum1
%5 = bitcast i8* %add.ptr18 to float*
%6 = ptrtoint i8* %add.ptr13 to i32
%7 = sub i32 0, %6
%and20 = and i32 %7, 3
%add.ptr13.sum2 = add i32 %and20, %add.ptr9.sum
%mul22 = shl i32 %N, 2
%add.ptr21.sum = add i32 %add.ptr13.sum2, %mul22
%add.ptr23 = getelementptr inbounds i8* %stack, i32 %add.ptr21.sum
%add.ptr26 = getelementptr inbounds i8* %stack, i32 %add.ptr13.sum2
%8 = bitcast i8* %add.ptr26 to float*
%9 = ptrtoint i8* %add.ptr23 to i32
%10 = sub i32 0, %9
%and28 = and i32 %10, 3
%add.ptr31.sum = add i32 %and28, %add.ptr21.sum
%add.ptr34 = getelementptr inbounds i8* %stack, i32 %add.ptr31.sum
%11 = bitcast i8* %add.ptr34 to float*
%cmp41 = icmp sgt i32 %N, 0
br i1 %cmp41, label %for.body, label %for.end
for.body: ; preds = %for.body, %entry
%i.042 = phi i32 [ %inc, %for.body ], [ 0, %entry ]
%arrayidx = getelementptr inbounds float* %8, i32 %i.042
store float -1.000000e+00, float* %arrayidx, align 4
%arrayidx35 = getelementptr inbounds float* %11, i32 %i.042
store float 0.000000e+00, float* %arrayidx35, align 4
%arrayidx36 = getelementptr inbounds i32* %pitch, i32 %i.042
store i32 %start, i32* %arrayidx36, align 4
%inc = add nsw i32 %i.042, 1
%exitcond45 = icmp eq i32 %inc, %N
br i1 %exitcond45, label %for.end, label %for.body
for.end: ; preds = %for.body, %entry
%shr.i = ashr i32 %len, 2
%tobool1.i = icmp eq i32 %shr.i, 0
br i1 %tobool1.i, label %_Z10inner_prodPKfS0_i.exit.thread, label %while.body.i.preheader
while.body.i.preheader: ; preds = %for.end
%idx.neg37 = sub i32 0, %start
%add.ptr38 = getelementptr inbounds float* %sw, i32 %idx.neg37
br label %while.body.i
_Z10inner_prodPKfS0_i.exit.thread: ; preds = %for.end
store float 0.000000e+00, float* %2, align 4
br label %_Z10inner_prodPKfS0_i.exit31
while.body.i: ; preds = %while.body.i, %while.body.i.preheader
%x.addr.05.i = phi float* [ %incdec.ptr10.i, %while.body.i ], [ %add.ptr38, %while.body.i.preheader ]
%len.addr.03.i = phi i32 [ %dec.i, %while.body.i ], [ %shr.i, %while.body.i.preheader ]
%sum.02.i = phi float [ %add14.i, %while.body.i ], [ 0.000000e+00, %while.body.i.preheader ]
%dec.i = add nsw i32 %len.addr.03.i, -1
%incdec.ptr.i = getelementptr inbounds float* %x.addr.05.i, i32 1
%12 = load float* %x.addr.05.i, align 4
%mul.i = fmul float %12, %12
%add.i = fadd float %mul.i, 0.000000e+00
%incdec.ptr2.i = getelementptr inbounds float* %x.addr.05.i, i32 2
%13 = load float* %incdec.ptr.i, align 4
%mul4.i = fmul float %13, %13
%add5.i = fadd float %add.i, %mul4.i
%incdec.ptr6.i = getelementptr inbounds float* %x.addr.05.i, i32 3
%14 = load float* %incdec.ptr2.i, align 4
%mul8.i = fmul float %14, %14
%add9.i = fadd float %add5.i, %mul8.i
%incdec.ptr10.i = getelementptr inbounds float* %x.addr.05.i, i32 4
%15 = load float* %incdec.ptr6.i, align 4
%mul12.i = fmul float %15, %15
%add13.i = fadd float %add9.i, %mul12.i
%add14.i = fadd float %sum.02.i, %add13.i
%tobool.i = icmp eq i32 %dec.i, 0
br i1 %tobool.i, label %while.body.i29.preheader, label %while.body.i
while.body.i29.preheader: ; preds = %while.body.i
store float %add14.i, float* %2, align 4
br label %while.body.i29
while.body.i29: ; preds = %while.body.i29, %while.body.i29.preheader
%x.addr.05.i6 = phi float* [ %incdec.ptr10.i23, %while.body.i29 ], [ %sw, %while.body.i29.preheader ]
%len.addr.03.i8 = phi i32 [ %dec.i10, %while.body.i29 ], [ %shr.i, %while.body.i29.preheader ]
%sum.02.i9 = phi float [ %add14.i27, %while.body.i29 ], [ 0.000000e+00, %while.body.i29.preheader ]
%dec.i10 = add nsw i32 %len.addr.03.i8, -1
%incdec.ptr.i11 = getelementptr inbounds float* %x.addr.05.i6, i32 1
%16 = load float* %x.addr.05.i6, align 4
%mul.i13 = fmul float %16, %16
%add.i14 = fadd float %mul.i13, 0.000000e+00
%incdec.ptr2.i15 = getelementptr inbounds float* %x.addr.05.i6, i32 2
%17 = load float* %incdec.ptr.i11, align 4
%mul4.i17 = fmul float %17, %17
%add5.i18 = fadd float %add.i14, %mul4.i17
%incdec.ptr6.i19 = getelementptr inbounds float* %x.addr.05.i6, i32 3
%18 = load float* %incdec.ptr2.i15, align 4
%mul8.i21 = fmul float %18, %18
%add9.i22 = fadd float %add5.i18, %mul8.i21
%incdec.ptr10.i23 = getelementptr inbounds float* %x.addr.05.i6, i32 4
%19 = load float* %incdec.ptr6.i19, align 4
%mul12.i25 = fmul float %19, %19
%add13.i26 = fadd float %add9.i22, %mul12.i25
%add14.i27 = fadd float %sum.02.i9, %add13.i26
%tobool.i28 = icmp eq i32 %dec.i10, 0
br i1 %tobool.i28, label %_Z10inner_prodPKfS0_i.exit31, label %while.body.i29
_Z10inner_prodPKfS0_i.exit31: ; preds = %while.body.i29, %_Z10inner_prodPKfS0_i.exit.thread
%sum.0.lcssa.i30 = phi float [ 0.000000e+00, %_Z10inner_prodPKfS0_i.exit.thread ], [ %add14.i27, %while.body.i29 ]
%cmp4439 = icmp slt i32 %start, %end
br i1 %cmp4439, label %for.body45.lr.ph, label %for.end78
for.body45.lr.ph: ; preds = %_Z10inner_prodPKfS0_i.exit31
%add57 = add i32 %len, -1
br label %for.body45
for.body45: ; preds = %for.body45, %for.body45.lr.ph
%i.140 = phi i32 [ %start, %for.body45.lr.ph ], [ %inc77, %for.body45 ]
%sub46 = sub nsw i32 %i.140, %start
%arrayidx47 = getelementptr inbounds float* %2, i32 %sub46
%20 = load float* %arrayidx47, align 4
%sub49 = xor i32 %i.140, -1
%arrayidx50 = getelementptr inbounds float* %sw, i32 %sub49
%21 = load float* %arrayidx50, align 4
%mul54 = fmul float %21, %21
%add55 = fadd float %20, %mul54
%sub58 = sub i32 %add57, %i.140
%arrayidx59 = getelementptr inbounds float* %sw, i32 %sub58
%22 = load float* %arrayidx59, align 4
%mul64 = fmul float %22, %22
%sub65 = fsub float %add55, %mul64
%add67 = add nsw i32 %sub46, 1
%arrayidx68 = getelementptr inbounds float* %2, i32 %add67
%cmp72 = fcmp olt float %sub65, 0.000000e+00
%storemerge = select i1 %cmp72, float 0.000000e+00, float %sub65
store float %storemerge, float* %arrayidx68, align 4
%inc77 = add nsw i32 %i.140, 1
%exitcond44 = icmp eq i32 %inc77, %end
br i1 %exitcond44, label %for.end78, label %for.body45
for.end78: ; preds = %for.body45, %_Z10inner_prodPKfS0_i.exit31
%cmp1.i = icmp sgt i32 %add11, 0
br i1 %cmp1.i, label %for.body.i, label %for.cond83.preheader
for.body.i: ; preds = %_Z10inner_prodPKfS0_i.exit.i, %for.end78
%i.02.i = phi i32 [ %inc.i, %_Z10inner_prodPKfS0_i.exit.i ], [ 0, %for.end78 ]
br i1 %tobool1.i, label %_Z10inner_prodPKfS0_i.exit.i, label %while.body.i.preheader.i
while.body.i.preheader.i: ; preds = %for.body.i
%add.ptr80.sum = sub i32 %i.02.i, %end
%add.ptr.i = getelementptr inbounds float* %sw, i32 %add.ptr80.sum
br label %while.body.i.i
while.body.i.i: ; preds = %while.body.i.i, %while.body.i.preheader.i
%x.addr.05.i.i = phi float* [ %incdec.ptr10.i.i, %while.body.i.i ], [ %sw, %while.body.i.preheader.i ]
%y.addr.04.i.i = phi float* [ %incdec.ptr11.i.i, %while.body.i.i ], [ %add.ptr.i, %while.body.i.preheader.i ]
%len.addr.03.i.i = phi i32 [ %dec.i.i, %while.body.i.i ], [ %shr.i, %while.body.i.preheader.i ]
%sum.02.i.i = phi float [ %add14.i.i, %while.body.i.i ], [ 0.000000e+00, %while.body.i.preheader.i ]
%dec.i.i = add nsw i32 %len.addr.03.i.i, -1
%incdec.ptr.i.i = getelementptr inbounds float* %x.addr.05.i.i, i32 1
%23 = load float* %x.addr.05.i.i, align 4
%incdec.ptr1.i.i = getelementptr inbounds float* %y.addr.04.i.i, i32 1
%24 = load float* %y.addr.04.i.i, align 4
%mul.i.i = fmul float %23, %24
%add.i.i = fadd float %mul.i.i, 0.000000e+00
%incdec.ptr2.i.i = getelementptr inbounds float* %x.addr.05.i.i, i32 2
%25 = load float* %incdec.ptr.i.i, align 4
%incdec.ptr3.i.i = getelementptr inbounds float* %y.addr.04.i.i, i32 2
%26 = load float* %incdec.ptr1.i.i, align 4
%mul4.i.i = fmul float %25, %26
%add5.i.i = fadd float %add.i.i, %mul4.i.i
%incdec.ptr6.i.i = getelementptr inbounds float* %x.addr.05.i.i, i32 3
%27 = load float* %incdec.ptr2.i.i, align 4
%incdec.ptr7.i.i = getelementptr inbounds float* %y.addr.04.i.i, i32 3
%28 = load float* %incdec.ptr3.i.i, align 4
%mul8.i.i = fmul float %27, %28
%add9.i.i = fadd float %add5.i.i, %mul8.i.i
%incdec.ptr10.i.i = getelementptr inbounds float* %x.addr.05.i.i, i32 4
%29 = load float* %incdec.ptr6.i.i, align 4
%incdec.ptr11.i.i = getelementptr inbounds float* %y.addr.04.i.i, i32 4
%30 = load float* %incdec.ptr7.i.i, align 4
%mul12.i.i = fmul float %29, %30
%add13.i.i = fadd float %add9.i.i, %mul12.i.i
%add14.i.i = fadd float %sum.02.i.i, %add13.i.i
%tobool.i.i = icmp eq i32 %dec.i.i, 0
br i1 %tobool.i.i, label %_Z10inner_prodPKfS0_i.exit.i, label %while.body.i.i
_Z10inner_prodPKfS0_i.exit.i: ; preds = %while.body.i.i, %for.body.i
%sum.0.lcssa.i.i = phi float [ 0.000000e+00, %for.body.i ], [ %add14.i.i, %while.body.i.i ]
%sub1.i = sub i32 %sub1, %i.02.i
%arrayidx.i = getelementptr inbounds float* %5, i32 %sub1.i
store float %sum.0.lcssa.i.i, float* %arrayidx.i, align 4
%inc.i = add nsw i32 %i.02.i, 1
%exitcond.i = icmp eq i32 %inc.i, %add11
br i1 %exitcond.i, label %for.cond83.preheader, label %for.body.i
for.cond83.preheader: ; preds = %_Z10inner_prodPKfS0_i.exit.i, %for.end78
%cmp8437 = icmp sgt i32 %start, %end
br i1 %cmp8437, label %for.end152, label %for.body85.lr.ph
for.body85.lr.ph: ; preds = %for.cond83.preheader
%sub91 = add nsw i32 %N, -1
%arrayidx92 = getelementptr inbounds float* %11, i32 %sub91
%arrayidx95 = getelementptr inbounds float* %8, i32 %sub91
%arrayidx110 = getelementptr inbounds i32* %pitch, i32 %sub91
br label %for.body85
for.body85: ; preds = %for.inc150, %for.body85.lr.ph
%i.238 = phi i32 [ %start, %for.body85.lr.ph ], [ %inc151, %for.inc150 ]
%sub86 = sub nsw i32 %i.238, %start
%arrayidx87 = getelementptr inbounds float* %5, i32 %sub86
%31 = load float* %arrayidx87, align 4
%mul90 = fmul float %31, %31
%32 = load float* %arrayidx92, align 4
%mul93 = fmul float %mul90, %32
%33 = load float* %arrayidx95, align 4
%arrayidx97 = getelementptr inbounds float* %2, i32 %sub86
%34 = load float* %arrayidx97, align 4
%add98 = fadd float %34, 1.000000e+00
%mul99 = fmul float %33, %add98
%cmp100 = fcmp ogt float %mul93, %mul99
br i1 %cmp100, label %if.then101, label %for.inc150
if.then101: ; preds = %for.body85
store float %mul90, float* %arrayidx95, align 4
%35 = load float* %arrayidx97, align 4
%add106 = fadd float %35, 1.000000e+00
store float %add106, float* %arrayidx92, align 4
store i32 %i.238, i32* %arrayidx110, align 4
br label %for.cond111
for.cond111: ; preds = %for.body114, %if.then101
%j.0 = phi i32 [ 0, %if.then101 ], [ %inc147, %for.body114 ]
%cmp113 = icmp slt i32 %j.0, %sub91
br i1 %cmp113, label %for.body114, label %for.inc150
for.body114: ; preds = %for.cond111
%arrayidx115 = getelementptr inbounds float* %11, i32 %j.0
%36 = load float* %arrayidx115, align 4
%mul116 = fmul float %mul90, %36
%arrayidx117 = getelementptr inbounds float* %8, i32 %j.0
%37 = load float* %arrayidx117, align 4
%38 = load float* %arrayidx97, align 4
%add120 = fadd float %38, 1.000000e+00
%mul121 = fmul float %37, %add120
%cmp122 = fcmp ogt float %mul116, %mul121
%inc147 = add nsw i32 %j.0, 1
br i1 %cmp122, label %for.body127, label %for.cond111
for.body127: ; preds = %for.body127, %for.body114
%k.035 = phi i32 [ %sub128, %for.body127 ], [ %sub91, %for.body114 ]
%sub128 = add nsw i32 %k.035, -1
%arrayidx129 = getelementptr inbounds float* %8, i32 %sub128
%39 = load float* %arrayidx129, align 4
%arrayidx130 = getelementptr inbounds float* %8, i32 %k.035
store float %39, float* %arrayidx130, align 4
%arrayidx132 = getelementptr inbounds float* %11, i32 %sub128
%40 = load float* %arrayidx132, align 4
%arrayidx133 = getelementptr inbounds float* %11, i32 %k.035
store float %40, float* %arrayidx133, align 4
%arrayidx135 = getelementptr inbounds i32* %pitch, i32 %sub128
%41 = load i32* %arrayidx135, align 4
%arrayidx136 = getelementptr inbounds i32* %pitch, i32 %k.035
store i32 %41, i32* %arrayidx136, align 4
%cmp126 = icmp sgt i32 %sub128, %j.0
br i1 %cmp126, label %for.body127, label %for.end138
for.end138: ; preds = %for.body127
store float %mul90, float* %arrayidx117, align 4
%42 = load float* %arrayidx97, align 4
%add142 = fadd float %42, 1.000000e+00
store float %add142, float* %arrayidx115, align 4
%arrayidx144 = getelementptr inbounds i32* %pitch, i32 %j.0
store i32 %i.238, i32* %arrayidx144, align 4
br label %for.inc150
for.inc150: ; preds = %for.end138, %for.cond111, %for.body85
%inc151 = add nsw i32 %i.238, 1
%cmp84 = icmp sgt i32 %inc151, %end
br i1 %cmp84, label %for.end152, label %for.body85
for.end152: ; preds = %for.inc150, %for.cond83.preheader
%tobool = icmp eq float* %gain, null
%cmp41.not = xor i1 %cmp41, true
%brmerge = or i1 %tobool, %cmp41.not
br i1 %brmerge, label %if.end177, label %for.body156.lr.ph
for.body156.lr.ph: ; preds = %for.end152
%conv162 = tail call float @sqrtf(float %sum.0.lcssa.i30) nounwind readnone
br label %for.body156
for.body156: ; preds = %for.body156, %for.body156.lr.ph
%j.133 = phi i32 [ 0, %for.body156.lr.ph ], [ %inc175, %for.body156 ]
%arrayidx158 = getelementptr inbounds i32* %pitch, i32 %j.133
%43 = load i32* %arrayidx158, align 4
%sub159 = sub nsw i32 %43, %start
%arrayidx160 = getelementptr inbounds float* %5, i32 %sub159
%44 = load float* %arrayidx160, align 4
%arrayidx164 = getelementptr inbounds float* %2, i32 %sub159
%45 = load float* %arrayidx164, align 4
%conv167 = tail call float @sqrtf(float %45) nounwind readnone
%mul168 = fmul float %conv162, %conv167
%add169 = fadd float %mul168, 1.000000e+01
%div = fdiv float %44, %add169
%cmp170 = fcmp olt float %div, 0.000000e+00
%g.0 = select i1 %cmp170, float 0.000000e+00, float %div
%arrayidx173 = getelementptr inbounds float* %gain, i32 %j.133
store float %g.0, float* %arrayidx173, align 4
%inc175 = add nsw i32 %j.133, 1
%exitcond = icmp eq i32 %inc175, %N
br i1 %exitcond, label %if.end177, label %for.body156
if.end177: ; preds = %for.body156, %for.end152
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 ssp {
entry:
%gain_bits = getelementptr inbounds i8* %par, i32 4
%0 = bitcast i8* %gain_bits to i32*
%1 = load i32* %0, align 4
%shl = shl i32 1, %1
%gain_cdbk1 = bitcast i8* %par to i8**
%2 = load i8** %gain_cdbk1, align 4
%mul = shl nsw i32 %shl, 2
%mul2 = mul nsw i32 %mul, %cdbk_offset
%cmp = icmp sgt i32 %complexity, 10
%.complexity = select i1 %cmp, i32 10, i32 %complexity
%cmp3 = icmp slt i32 %.complexity, 1
%N.1 = select i1 %cmp3, i32 1, i32 %.complexity
%3 = ptrtoint i8* %stack to i32
%4 = sub i32 0, %3
%and = and i32 %4, 3
%mul7 = shl i32 %N.1, 2
%add.ptr6.sum = or i32 %mul7, %and
%add.ptr8 = getelementptr inbounds i8* %stack, i32 %add.ptr6.sum
%add.ptr8.sum = sub i32 %add.ptr6.sum, %mul7
%add.ptr10 = getelementptr inbounds i8* %stack, i32 %add.ptr8.sum
%5 = bitcast i8* %add.ptr10 to i32*
%cmp11 = icmp slt i32 %end, %start
br i1 %cmp11, label %if.then12, label %if.end15
if.then12: ; preds = %entry
%pitch_bits = getelementptr inbounds i8* %par, i32 8
%6 = bitcast i8* %pitch_bits to i32*
%7 = load i32* %6, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 0, i32 %7)
%8 = load i32* %0, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 0, i32 %8)
%9 = bitcast float* %exc to i8*
%mul14 = shl i32 %nsf, 2
call void @llvm.memset.p0i8.i32(i8* %9, i8 0, i32 %mul14, i32 4, i1 false)
br label %return
if.end15: ; preds = %entry
%sub16 = sub nsw i32 %end, %start
%add = add nsw i32 %sub16, 1
%cmp17 = icmp sgt i32 %N.1, %add
%add.N.1 = select i1 %cmp17, i32 %add, i32 %N.1
%cmp22 = icmp eq i32 %end, %start
br i1 %cmp22, label %if.else, label %if.then23
if.then23: ; preds = %if.end15
call fastcc void @_Z21open_loop_nbest_pitchPfiiiPiS_iPc(float* %sw, i32 %start, i32 %end, i32 %nsf, i32* %5, float* null, i32 %add.N.1, i8* %add.ptr8)
br label %if.end24
if.else: ; preds = %if.end15
store i32 %end, i32* %5, align 4
br label %if.end24
if.end24: ; preds = %if.else, %if.then23
%10 = ptrtoint i8* %add.ptr8 to i32
%11 = sub i32 0, %10
%and26 = and i32 %11, 3
%add.ptr8.sum1 = add i32 %and26, %add.ptr6.sum
%mul28 = shl i32 %nsf, 2
%add.ptr27.sum = add i32 %add.ptr8.sum1, %mul28
%add.ptr29 = getelementptr inbounds i8* %stack, i32 %add.ptr27.sum
%add.ptr32 = getelementptr inbounds i8* %stack, i32 %add.ptr8.sum1
%12 = ptrtoint i8* %add.ptr29 to i32
%13 = sub i32 0, %12
%and34 = and i32 %13, 3
%add.ptr29.sum2 = add i32 %and34, %add.ptr27.sum
%add.ptr35.sum = add i32 %add.ptr29.sum2, %mul28
%add.ptr37 = getelementptr inbounds i8* %stack, i32 %add.ptr35.sum
%add.ptr40 = getelementptr inbounds i8* %stack, i32 %add.ptr29.sum2
%14 = bitcast i8* %add.ptr40 to float*
%15 = ptrtoint i8* %add.ptr37 to i32
%16 = sub i32 0, %15
%and42 = and i32 %16, 3
%add.ptr37.sum3 = add i32 %and42, %add.ptr35.sum
%add.ptr43.sum = add i32 %add.ptr37.sum3, %mul28
%add.ptr48 = getelementptr inbounds i8* %stack, i32 %add.ptr37.sum3
%cmp4920 = icmp sgt i32 %add.N.1, 0
br i1 %cmp4920, label %for.body.lr.ph, label %for.end
for.body.lr.ph: ; preds = %if.end24
%add.ptr45 = getelementptr inbounds i8* %stack, i32 %add.ptr43.sum
%17 = bitcast float* %exc to i8*
%18 = ptrtoint i8* %add.ptr45 to i32
%19 = sub i32 0, %18
%and.i = and i32 %19, 3
%mul1.i = mul i32 %nsf, 12
%add.ptr.sum.i = or i32 %and.i, %mul1.i
%add.ptr45.sum = add i32 %add.ptr.sum.i, %add.ptr43.sum
%add.ptr2.i = getelementptr inbounds i8* %stack, i32 %add.ptr45.sum
%add.ptr2.sum.i = sub i32 %add.ptr43.sum, %mul1.i
%add.ptr45.sum7 = add i32 %add.ptr2.sum.i, %add.ptr.sum.i
%add.ptr5.i = getelementptr inbounds i8* %stack, i32 %add.ptr45.sum7
%20 = bitcast i8* %add.ptr5.i to float*
%21 = ptrtoint i8* %add.ptr2.i to i32
%22 = sub i32 0, %21
%and7.i = and i32 %22, 3
%add.ptr2.sum1.i = add i32 %and7.i, %add.ptr.sum.i
%add.ptr8.sum.i = add i32 %add.ptr2.sum1.i, %mul28
%add.ptr45.sum8 = add i32 %add.ptr8.sum.i, %add.ptr43.sum
%add.ptr10.i = getelementptr inbounds i8* %stack, i32 %add.ptr45.sum8
%add.ptr45.sum9 = add i32 %add.ptr2.sum1.i, %add.ptr43.sum
%add.ptr13.i = getelementptr inbounds i8* %stack, i32 %add.ptr45.sum9
%23 = bitcast i8* %add.ptr13.i to float*
%add.ptr14.i = getelementptr inbounds float* %20, i32 %nsf
%mul16.i = shl nsw i32 %nsf, 1
%add.ptr17.i = getelementptr inbounds float* %20, i32 %mul16.i
%cmp19143.i = icmp sgt i32 %nsf, 0
%cmp56139.i = icmp sgt i32 %p, 0
%24 = add i32 %add.ptr43.sum, %mul28
%25 = add i32 %24, %add.ptr.sum.i
%26 = add i32 %25, %and7.i
%27 = shl i32 %p, 2
%sub3.i.i = add nsw i32 %p, -1
%cmp41.i.i = icmp sgt i32 %sub3.i.i, 0
%arrayidx12.i.i = getelementptr inbounds float* %ak, i32 %sub3.i.i
%arrayidx16.i84.i = getelementptr inbounds float* %awk1, i32 %sub3.i.i
%arrayidx19.i.i = getelementptr inbounds float* %awk2, i32 %sub3.i.i
%sub89.i = add nsw i32 %nsf, -1
%cmp90132.i = icmp sgt i32 %sub89.i, 0
%shr.i43.i = ashr i32 %nsf, 2
%tobool1.i44.i = icmp eq i32 %shr.i43.i, 0
%cmp158.i = icmp slt i32 %plc_tuning, 2
%.plc_tuning.i = select i1 %cmp158.i, i32 2, i32 %plc_tuning
%cmp161.i = icmp sgt i32 %.plc_tuning.i, 30
%28 = sitofp i32 %.plc_tuning.i to double
%.op.i = fmul double %28, 2.000000e-02
%mul164.i = select i1 %cmp161.i, double 6.000000e-01, double %.op.i
%add165.i = fadd double %mul164.i, 1.000000e+00
%mul166.i = fmul double %add165.i, 5.000000e-01
%cmp4.i.i = icmp sgt i32 %shl, 0
%29 = xor i32 %nsf, -1
%30 = ptrtoint i8* %add.ptr10.i to i32
%31 = sub i32 0, %30
%and24164.i = and i32 %31, 3
%add.ptr45.sum10 = add i32 %add.ptr45.sum8, %and24164.i
%add.ptr30166.i = getelementptr inbounds i8* %stack, i32 %add.ptr45.sum10
%32 = bitcast i8* %add.ptr30166.i to float*
%33 = icmp slt i32 %complexity, 10
%34 = select i1 %33, i32 %complexity, i32 10
%35 = icmp sgt i32 %34, 1
%.op = xor i32 %34, -1
%36 = select i1 %35, i32 %.op, i32 -2
%37 = add i32 %start, -2
%38 = sub i32 %37, %end
%39 = icmp sgt i32 %36, %38
%smax28 = select i1 %39, i32 %36, i32 %38
%40 = xor i32 %smax28, -1
%add.ptr45.sum18 = add i32 %26, %and24164.i
%scevgep156.i = getelementptr i8* %stack, i32 %add.ptr45.sum18
%arrayidx15.i.i = getelementptr inbounds float* %32, i32 %sub3.i.i
br label %for.body
for.body: ; preds = %for.inc, %for.body.lr.ph
%best_err.024 = phi float [ -1.000000e+00, %for.body.lr.ph ], [ %best_err.1, %for.inc ]
%best_pitch.023 = phi i32 [ 0, %for.body.lr.ph ], [ %best_pitch.1, %for.inc ]
%best_gain_index.022 = phi i32 [ 0, %for.body.lr.ph ], [ %best_gain_index.1, %for.inc ]
%i.021 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.inc ]
%arrayidx50 = getelementptr inbounds i32* %5, i32 %i.021
%41 = load i32* %arrayidx50, align 4
call void @llvm.memset.p0i8.i32(i8* %17, i8 0, i32 %mul28, i32 4, i1 false)
%42 = load float* %cumul_gain, align 4
%cmp.i = fcmp ogt float %42, 2.621440e+05
%max_gain.0.i = select i1 %cmp.i, float 3.100000e+01, float 1.280000e+02
br i1 %cmp19143.i, label %for.body.i, label %for.cond55.preheader.i
for.body.i: ; preds = %for.body.i, %for.body
%j.0144.i = phi i32 [ %inc.i, %for.body.i ], [ 0, %for.body ]
%arrayidx20.i = getelementptr inbounds float* %target, i32 %j.0144.i
%43 = load float* %arrayidx20.i, align 4
%arrayidx21.i = getelementptr inbounds float* %14, i32 %j.0144.i
store float %43, float* %arrayidx21.i, align 4
%inc.i = add nsw i32 %j.0144.i, 1
%exitcond158.i = icmp eq i32 %inc.i, %nsf
br i1 %exitcond158.i, label %for.body33.lr.ph.i, label %for.body.i
for.body33.lr.ph.i: ; preds = %for.body.i
%sub22.neg.i = sub i32 1, %41
br label %for.body33.i
for.cond55.preheader.i: ; preds = %for.inc52.i, %for.body
br i1 %cmp56139.i, label %for.body57.lr.ph.i, label %for.end61.i
for.body57.lr.ph.i: ; preds = %for.cond55.preheader.i
call void @llvm.memset.p0i8.i32(i8* %scevgep156.i, i8 0, i32 %27, i32 4, i1 false) nounwind
br label %for.end61.i
for.body33.i: ; preds = %for.inc52.i, %for.body33.lr.ph.i
%j.1142.i = phi i32 [ 0, %for.body33.lr.ph.i ], [ %inc53.i, %for.inc52.i ]
%sub34.i = add i32 %j.1142.i, %sub22.neg.i
%cmp35.i = icmp slt i32 %sub34.i, 0
br i1 %cmp35.i, label %if.then36.i, label %if.else.i
if.then36.i: ; preds = %for.body33.i
%arrayidx38.i = getelementptr inbounds float* %exc2, i32 %sub34.i
%44 = load float* %arrayidx38.i, align 4
%arrayidx39.i = getelementptr inbounds float* %23, i32 %j.1142.i
store float %44, float* %arrayidx39.i, align 4
br label %for.inc52.i
if.else.i: ; preds = %for.body33.i
%sub41.i = sub nsw i32 %sub34.i, %41
%cmp42.i = icmp slt i32 %sub41.i, 0
br i1 %cmp42.i, label %if.then43.i, label %if.else48.i
if.then43.i: ; preds = %if.else.i
%arrayidx46.i = getelementptr inbounds float* %exc2, i32 %sub41.i
%45 = load float* %arrayidx46.i, align 4
%arrayidx47.i = getelementptr inbounds float* %23, i32 %j.1142.i
store float %45, float* %arrayidx47.i, align 4
br label %for.inc52.i
if.else48.i: ; preds = %if.else.i
%arrayidx49.i = getelementptr inbounds float* %23, i32 %j.1142.i
store float 0.000000e+00, float* %arrayidx49.i, align 4
br label %for.inc52.i
for.inc52.i: ; preds = %if.else48.i, %if.then43.i, %if.then36.i
%inc53.i = add nsw i32 %j.1142.i, 1
%exitcond157.i = icmp eq i32 %inc53.i, %nsf
br i1 %exitcond157.i, label %for.cond55.preheader.i, label %for.body33.i
for.end61.i: ; preds = %for.body57.lr.ph.i, %for.cond55.preheader.i
br i1 %cmp19143.i, label %for.body.i.i, label %for.cond62.preheader.i
for.body.i.i: ; preds = %for.end.i.i, %for.end61.i
%i.04.i.i = phi i32 [ %inc18.i.i, %for.end.i.i ], [ 0, %for.end61.i ]
%arrayidx.i.i = getelementptr inbounds float* %23, i32 %i.04.i.i
%46 = load float* %arrayidx.i.i, align 4
%47 = load float* %32, align 4
%add.i.i = fadd float %46, %47
%sub.i.i = fsub float -0.000000e+00, %add.i.i
br i1 %cmp41.i.i, label %for.body5.i.i, label %for.end.i.i
for.body5.i.i: ; preds = %for.body5.i.i, %for.body.i.i
%j.02.i.i = phi i32 [ %add6.i.i, %for.body5.i.i ], [ 0, %for.body.i.i ]
%add6.i.i = add nsw i32 %j.02.i.i, 1
%arrayidx7.i.i = getelementptr inbounds float* %32, i32 %add6.i.i
%48 = load float* %arrayidx7.i.i, align 4
%arrayidx8.i.i = getelementptr inbounds float* %ak, i32 %j.02.i.i
%49 = load float* %arrayidx8.i.i, align 4
%mul.i.i = fmul float %49, %sub.i.i
%add9.i.i = fadd float %48, %mul.i.i
%arrayidx10.i.i = getelementptr inbounds float* %32, i32 %j.02.i.i
store float %add9.i.i, float* %arrayidx10.i.i, align 4
%exitcond.i.i = icmp eq i32 %add6.i.i, %sub3.i.i
br i1 %exitcond.i.i, label %for.end.i.i, label %for.body5.i.i
for.end.i.i: ; preds = %for.body5.i.i, %for.body.i.i
%50 = load float* %arrayidx12.i.i, align 4
%mul13.i.i = fmul float %50, %sub.i.i
store float %mul13.i.i, float* %arrayidx15.i.i, align 4
store float %add.i.i, float* %arrayidx.i.i, align 4
%inc18.i.i = add nsw i32 %i.04.i.i, 1
%exitcond5.i.i = icmp eq i32 %inc18.i.i, %nsf
br i1 %exitcond5.i.i, label %for.cond62.preheader.i, label %for.body.i.i
for.cond62.preheader.i: ; preds = %for.end.i.i, %for.end61.i
br i1 %cmp56139.i, label %for.body64.lr.ph.i, label %for.end68.i
for.body64.lr.ph.i: ; preds = %for.cond62.preheader.i
call void @llvm.memset.p0i8.i32(i8* %scevgep156.i, i8 0, i32 %27, i32 4, i1 false) nounwind
br label %for.end68.i
for.end68.i: ; preds = %for.body64.lr.ph.i, %for.cond62.preheader.i
br i1 %cmp19143.i, label %for.body.i77.i, label %for.cond78.preheader.i
for.body.i77.i: ; preds = %for.end.i86.i, %for.end68.i
%i.04.i73.i = phi i32 [ %inc26.i.i, %for.end.i86.i ], [ 0, %for.end68.i ]
%arrayidx.i74.i = getelementptr inbounds float* %23, i32 %i.04.i73.i
%51 = load float* %arrayidx.i74.i, align 4
%52 = load float* %32, align 4
%add.i75.i = fadd float %51, %52
%sub.i76.i = fsub float -0.000000e+00, %add.i75.i
br i1 %cmp41.i.i, label %for.body6.i.i, label %for.end.i86.i
for.body6.i.i: ; preds = %for.body6.i.i, %for.body.i77.i
%j.02.i78.i = phi i32 [ %add7.i.i, %for.body6.i.i ], [ 0, %for.body.i77.i ]
%add7.i.i = add nsw i32 %j.02.i78.i, 1
%arrayidx8.i79.i = getelementptr inbounds float* %32, i32 %add7.i.i
%53 = load float* %arrayidx8.i79.i, align 4
%arrayidx9.i.i = getelementptr inbounds float* %awk1, i32 %j.02.i78.i
%54 = load float* %arrayidx9.i.i, align 4
%mul.i80.i = fmul float %54, %51
%add10.i.i = fadd float %53, %mul.i80.i
%arrayidx11.i.i = getelementptr inbounds float* %awk2, i32 %j.02.i78.i
%55 = load float* %arrayidx11.i.i, align 4
%mul12.i81.i = fmul float %55, %sub.i76.i
%add13.i82.i = fadd float %add10.i.i, %mul12.i81.i
%arrayidx14.i.i = getelementptr inbounds float* %32, i32 %j.02.i78.i
store float %add13.i82.i, float* %arrayidx14.i.i, align 4
%exitcond.i83.i = icmp eq i32 %add7.i.i, %sub3.i.i
br i1 %exitcond.i83.i, label %for.end.i86.i, label %for.body6.i.i
for.end.i86.i: ; preds = %for.body6.i.i, %for.body.i77.i
%56 = load float* %arrayidx16.i84.i, align 4
%mul17.i.i = fmul float %56, %51
%57 = load float* %arrayidx19.i.i, align 4
%mul20.i.i = fmul float %57, %sub.i76.i
%add21.i.i = fadd float %mul17.i.i, %mul20.i.i
store float %add21.i.i, float* %arrayidx15.i.i, align 4
store float %add.i75.i, float* %arrayidx.i74.i, align 4
%inc26.i.i = add nsw i32 %i.04.i73.i, 1
%exitcond5.i85.i = icmp eq i32 %inc26.i.i, %nsf
br i1 %exitcond5.i85.i, label %for.body71.i, label %for.body.i77.i
for.cond78.preheader.i: ; preds = %for.body71.i, %for.end68.i
%sub82.i = xor i32 %41, -1
%add.i = sub i32 0, %41
%arrayidx83.i = getelementptr inbounds float* %exc2, i32 %add.i
%58 = load float* %arrayidx83.i, align 4
%59 = load float* %r, align 4
%mul85.i = fmul float %59, %58
store float %mul85.i, float* %add.ptr14.i, align 4
br i1 %cmp90132.i, label %for.body91.i, label %for.inc105.thread.i
for.inc105.thread.i: ; preds = %for.cond78.preheader.i
%arrayidx83.1167.i = getelementptr inbounds float* %exc2, i32 %sub82.i
%60 = load float* %arrayidx83.1167.i, align 4
%61 = load float* %r, align 4
%mul85.1168.i = fmul float %61, %60
store float %mul85.1168.i, float* %20, align 4
br label %for.inc105.1.i
for.body71.i: ; preds = %for.body71.i, %for.end.i86.i
%j.4136.i = phi i32 [ %inc76.i, %for.body71.i ], [ 0, %for.end.i86.i ]
%arrayidx72.i = getelementptr inbounds float* %23, i32 %j.4136.i
%62 = load float* %arrayidx72.i, align 4
%add.ptr17.sum163.i = add i32 %j.4136.i, %mul16.i
%arrayidx74.i = getelementptr inbounds float* %20, i32 %add.ptr17.sum163.i
store float %62, float* %arrayidx74.i, align 4
%inc76.i = add nsw i32 %j.4136.i, 1
%exitcond153.i = icmp eq i32 %inc76.i, %nsf
br i1 %exitcond153.i, label %for.cond78.preheader.i, label %for.body71.i
for.body91.i: ; preds = %for.body91.i, %for.cond78.preheader.i
%j.5133.i = phi i32 [ %add95.i, %for.body91.i ], [ 0, %for.cond78.preheader.i ]
%add.ptr17.sum161.i = add i32 %j.5133.i, %mul16.i
%arrayidx94.i = getelementptr inbounds float* %20, i32 %add.ptr17.sum161.i
%63 = load float* %arrayidx94.i, align 4
%add95.i = add nsw i32 %j.5133.i, 1
%arrayidx96.i = getelementptr inbounds float* %r, i32 %add95.i
%64 = load float* %arrayidx96.i, align 4
%mul97.i = fmul float %64, %58
%add98.i = fadd float %63, %mul97.i
%add.ptr14.sum162.i = add i32 %add95.i, %nsf
%arrayidx101.i = getelementptr inbounds float* %20, i32 %add.ptr14.sum162.i
store float %add98.i, float* %arrayidx101.i, align 4
%exitcond152.i = icmp eq i32 %add95.i, %sub89.i
br i1 %exitcond152.i, label %for.body91.1.i.preheader, label %for.body91.i
for.body91.1.i.preheader: ; preds = %for.body91.i
%arrayidx83.1.i = getelementptr inbounds float* %exc2, i32 %sub82.i
%65 = load float* %arrayidx83.1.i, align 4
%66 = load float* %r, align 4
%mul85.1.i = fmul float %66, %65
store float %mul85.1.i, float* %20, align 4
br label %for.body91.1.i
while.body.i68.i: ; preds = %for.inc105.1.i, %while.body.i68.while.body.i68_crit_edge.i
%x.addr.05.i45.i = phi float* [ %incdec.ptr10.i62.i, %while.body.i68.while.body.i68_crit_edge.i ], [ %20, %for.inc105.1.i ]
%y.addr.04.i46.i = phi float* [ %incdec.ptr11.i63.i, %while.body.i68.while.body.i68_crit_edge.i ], [ %14, %for.inc105.1.i ]
%len.addr.03.i47.i = phi i32 [ %dec.i49.i, %while.body.i68.while.body.i68_crit_edge.i ], [ %shr.i43.i, %for.inc105.1.i ]
%sum.02.i48.i = phi float [ %add14.i66.i, %while.body.i68.while.body.i68_crit_edge.i ], [ 0.000000e+00, %for.inc105.1.i ]
%dec.i49.i = add nsw i32 %len.addr.03.i47.i, -1
%incdec.ptr.i50.i = getelementptr inbounds float* %x.addr.05.i45.i, i32 1
%67 = load float* %x.addr.05.i45.i, align 4
%incdec.ptr1.i51.i = getelementptr inbounds float* %y.addr.04.i46.i, i32 1
%68 = load float* %y.addr.04.i46.i, align 4
%mul.i52.i = fmul float %67, %68
%add.i53.i = fadd float %mul.i52.i, 0.000000e+00
%incdec.ptr2.i54.i = getelementptr inbounds float* %x.addr.05.i45.i, i32 2
%69 = load float* %incdec.ptr.i50.i, align 4
%incdec.ptr3.i55.i = getelementptr inbounds float* %y.addr.04.i46.i, i32 2
%70 = load float* %incdec.ptr1.i51.i, align 4
%mul4.i56.i = fmul float %69, %70
%add5.i57.i = fadd float %add.i53.i, %mul4.i56.i
%incdec.ptr6.i58.i = getelementptr inbounds float* %x.addr.05.i45.i, i32 3
%71 = load float* %incdec.ptr2.i54.i, align 4
%incdec.ptr7.i59.i = getelementptr inbounds float* %y.addr.04.i46.i, i32 3
%72 = load float* %incdec.ptr3.i55.i, align 4
%mul8.i60.i = fmul float %71, %72
%add9.i61.i = fadd float %add5.i57.i, %mul8.i60.i
%73 = load float* %incdec.ptr6.i58.i, align 4
%74 = load float* %incdec.ptr7.i59.i, align 4
%mul12.i64.i = fmul float %73, %74
%add13.i65.i = fadd float %add9.i61.i, %mul12.i64.i
%add14.i66.i = fadd float %sum.02.i48.i, %add13.i65.i
%tobool.i67.i = icmp eq i32 %dec.i49.i, 0
br i1 %tobool.i67.i, label %while.body.i68.1.i, label %while.body.i68.while.body.i68_crit_edge.i
while.body.i68.while.body.i68_crit_edge.i: ; preds = %while.body.i68.i
%incdec.ptr11.i63.i = getelementptr inbounds float* %y.addr.04.i46.i, i32 4
%incdec.ptr10.i62.i = getelementptr inbounds float* %x.addr.05.i45.i, i32 4
br label %while.body.i68.i
while.body.i40.i: ; preds = %while.body.i68.2.i, %while.body.i40.while.body.i40_crit_edge.i
%x.addr.05.i17.i = phi float* [ %incdec.ptr10.i34.i, %while.body.i40.while.body.i40_crit_edge.i ], [ %20, %while.body.i68.2.i ]
%y.addr.04.i18.i = phi float* [ %incdec.ptr11.i35.i, %while.body.i40.while.body.i40_crit_edge.i ], [ %20, %while.body.i68.2.i ]
%len.addr.03.i19.i = phi i32 [ %dec.i21.i, %while.body.i40.while.body.i40_crit_edge.i ], [ %shr.i43.i, %while.body.i68.2.i ]
%sum.02.i20.i = phi float [ %add14.i38.i, %while.body.i40.while.body.i40_crit_edge.i ], [ 0.000000e+00, %while.body.i68.2.i ]
%dec.i21.i = add nsw i32 %len.addr.03.i19.i, -1
%incdec.ptr.i22.i = getelementptr inbounds float* %x.addr.05.i17.i, i32 1
%75 = load float* %x.addr.05.i17.i, align 4
%incdec.ptr1.i23.i = getelementptr inbounds float* %y.addr.04.i18.i, i32 1
%76 = load float* %y.addr.04.i18.i, align 4
%mul.i24.i = fmul float %75, %76
%add.i25.i = fadd float %mul.i24.i, 0.000000e+00
%incdec.ptr2.i26.i = getelementptr inbounds float* %x.addr.05.i17.i, i32 2
%77 = load float* %incdec.ptr.i22.i, align 4
%incdec.ptr3.i27.i = getelementptr inbounds float* %y.addr.04.i18.i, i32 2
%78 = load float* %incdec.ptr1.i23.i, align 4
%mul4.i28.i = fmul float %77, %78
%add5.i29.i = fadd float %add.i25.i, %mul4.i28.i
%incdec.ptr6.i30.i = getelementptr inbounds float* %x.addr.05.i17.i, i32 3
%79 = load float* %incdec.ptr2.i26.i, align 4
%incdec.ptr7.i31.i = getelementptr inbounds float* %y.addr.04.i18.i, i32 3
%80 = load float* %incdec.ptr3.i27.i, align 4
%mul8.i32.i = fmul float %79, %80
%add9.i33.i = fadd float %add5.i29.i, %mul8.i32.i
%81 = load float* %incdec.ptr6.i30.i, align 4
%82 = load float* %incdec.ptr7.i31.i, align 4
%mul12.i36.i = fmul float %81, %82
%add13.i37.i = fadd float %add9.i33.i, %mul12.i36.i
%add14.i38.i = fadd float %sum.02.i20.i, %add13.i37.i
%tobool.i39.i = icmp eq i32 %dec.i21.i, 0
br i1 %tobool.i39.i, label %while.body.i40.1.i.preheader, label %while.body.i40.while.body.i40_crit_edge.i
while.body.i40.while.body.i40_crit_edge.i: ; preds = %while.body.i40.i
%incdec.ptr11.i35.i = getelementptr inbounds float* %y.addr.04.i18.i, i32 4
%incdec.ptr10.i34.i = getelementptr inbounds float* %x.addr.05.i17.i, i32 4
br label %while.body.i40.i
while.body.i40.1.i.preheader: ; preds = %while.body.i40.i
%phitmp29 = fpext float %add14.i38.i to double
br label %while.body.i40.1.i
for.body.lr.ph.i8.i: ; preds = %_Z10inner_prodPKfS0_i.exit42.2.i.2
%mul177.i = fmul double %190, %mul166.i
%mul169.i = fmul double %191, %mul166.i
%conv178.i = fptrunc double %mul177.i to float
%conv170.i = fptrunc double %mul169.i to float
br label %for.body.i11.i
for.body.i11.i: ; preds = %for.inc.i.i, %for.body.lr.ph.i8.i
%i.07.i.i = phi i32 [ 0, %for.body.lr.ph.i8.i ], [ %inc.i.i, %for.inc.i.i ]
%best_sum.06.i.i = phi float [ 0xC30C6BF520000000, %for.body.lr.ph.i8.i ], [ %best_sum.1.i.i, %for.inc.i.i ]
%best_cdbk.05.i.i = phi i32 [ 0, %for.body.lr.ph.i8.i ], [ %best_cdbk.1.i.i, %for.inc.i.i ]
%mul.i9.i = shl nsw i32 %i.07.i.i, 2
%add.ptr.sum13 = add i32 %mul.i9.i, %mul2
%add.ptr.i.i = getelementptr inbounds i8* %2, i32 %add.ptr.sum13
%83 = load i8* %add.ptr.i.i, align 1
%conv.i.i = sitofp i8 %83 to float
%add.i10.i = fadd float %conv.i.i, 3.200000e+01
%add.ptr.sum1.i.i = or i32 %mul.i9.i, 1
%add.ptr.sum14 = add i32 %add.ptr.sum1.i.i, %mul2
%arrayidx2.i.i = getelementptr inbounds i8* %2, i32 %add.ptr.sum14
%84 = load i8* %arrayidx2.i.i, align 1
%conv3.i.i = sitofp i8 %84 to float
%add4.i.i = fadd float %conv3.i.i, 3.200000e+01
%add.ptr.sum2.i.i = or i32 %mul.i9.i, 2
%add.ptr.sum15 = add i32 %add.ptr.sum2.i.i, %mul2
%arrayidx6.i.i = getelementptr inbounds i8* %2, i32 %add.ptr.sum15
%85 = load i8* %arrayidx6.i.i, align 1
%conv7.i.i = sitofp i8 %85 to float
%add8.i.i = fadd float %conv7.i.i, 3.200000e+01
%mul.i.i.i = fmul float %add.i10.i, 6.400000e+01
%mul2.i.i.i = fmul float %mul.i.i.i, %186
%add.i.i.i = fadd float %mul2.i.i.i, 0.000000e+00
%mul4.i.i.i = fmul float %add4.i.i, 6.400000e+01
%mul6.i.i.i = fmul float %mul4.i.i.i, %188
%add7.i.i.i = fadd float %add.i.i.i, %mul6.i.i.i
%mul9.i.i.i = fmul float %add8.i.i, 6.400000e+01
%mul11.i.i.i = fmul float %mul9.i.i.i, %187
%add12.i.i.i = fadd float %add7.i.i.i, %mul11.i.i.i
%mul15.i.i.i = fmul float %add.i10.i, %add4.i.i
%mul17.i.i.i = fmul float %mul15.i.i.i, %183
%sub.i.i.i = fsub float %add12.i.i.i, %mul17.i.i.i
%mul20.i.i.i = fmul float %add8.i.i, %add4.i.i
%mul22.i.i.i = fmul float %mul20.i.i.i, %185
%sub23.i.i.i = fsub float %sub.i.i.i, %mul22.i.i.i
%mul26.i.i.i = fmul float %add8.i.i, %add.i10.i
%mul28.i.i.i = fmul float %mul26.i.i.i, %184
%sub29.i.i.i = fsub float %sub23.i.i.i, %mul28.i.i.i
%mul32.i.i.i = fmul float %add.i10.i, %add.i10.i
%mul34.i.i.i = fmul float %mul32.i.i.i, %conv170.i
%sub35.i.i.i = fsub float %sub29.i.i.i, %mul34.i.i.i
%mul38.i.i.i = fmul float %add4.i.i, %add4.i.i
%mul40.i.i.i = fmul float %mul38.i.i.i, %conv178.i
%sub41.i.i.i = fsub float %sub35.i.i.i, %mul40.i.i.i
%mul44.i.i.i = fmul float %add8.i.i, %add8.i.i
%mul46.i.i.i = fmul float %mul44.i.i.i, %conv186.i
%sub47.i.i.i = fsub float %sub41.i.i.i, %mul46.i.i.i
%cmp12.i.i = fcmp ogt float %sub47.i.i.i, %best_sum.06.i.i
br i1 %cmp12.i.i, label %land.lhs.true.i.i, label %for.inc.i.i
land.lhs.true.i.i: ; preds = %for.body.i11.i
%add.ptr.sum3.i.i = or i32 %mul.i9.i, 3
%add.ptr.sum16 = add i32 %add.ptr.sum3.i.i, %mul2
%arrayidx10.i12.i = getelementptr inbounds i8* %2, i32 %add.ptr.sum16
%86 = load i8* %arrayidx10.i12.i, align 1
%conv11.i.i = sitofp i8 %86 to float
%cmp13.i.i = fcmp ugt float %conv11.i.i, %max_gain.0.i
br i1 %cmp13.i.i, label %for.inc.i.i, label %if.then.i.i
if.then.i.i: ; preds = %land.lhs.true.i.i
br label %for.inc.i.i
for.inc.i.i: ; preds = %if.then.i.i, %land.lhs.true.i.i, %for.body.i11.i
%best_cdbk.1.i.i = phi i32 [ %i.07.i.i, %if.then.i.i ], [ %best_cdbk.05.i.i, %land.lhs.true.i.i ], [ %best_cdbk.05.i.i, %for.body.i11.i ]
%best_sum.1.i.i = phi float [ %sub47.i.i.i, %if.then.i.i ], [ %best_sum.06.i.i, %land.lhs.true.i.i ], [ %best_sum.06.i.i, %for.body.i11.i ]
%inc.i.i = add nsw i32 %i.07.i.i, 1
%exitcond.i13.i = icmp eq i32 %inc.i.i, %shl
br i1 %exitcond.i13.i, label %_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i, label %for.body.i11.i
_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i: ; preds = %_Z10inner_prodPKfS0_i.exit42.2.i.2, %for.inc.i.i
%best_cdbk.0.lcssa.i.i = phi i32 [ 0, %_Z10inner_prodPKfS0_i.exit42.2.i.2 ], [ %best_cdbk.1.i.i, %for.inc.i.i ]
%mul188.i = shl nsw i32 %best_cdbk.0.lcssa.i.i, 2
%add.ptr.sum = add i32 %mul188.i, %mul2
%arrayidx189.i = getelementptr inbounds i8* %2, i32 %add.ptr.sum
%87 = load i8* %arrayidx189.i, align 1
%conv191.i = sitofp i8 %87 to double
%mul192.i = fmul double %conv191.i, 1.562500e-02
%add193.i = fadd double %mul192.i, 5.000000e-01
%conv194.i = fptrunc double %add193.i to float
%add1973.i = or i32 %mul188.i, 1
%add.ptr.sum11 = add i32 %add1973.i, %mul2
%arrayidx198.i = getelementptr inbounds i8* %2, i32 %add.ptr.sum11
%88 = load i8* %arrayidx198.i, align 1
%conv200.i = sitofp i8 %88 to double
%mul201.i = fmul double %conv200.i, 1.562500e-02
%add202.i = fadd double %mul201.i, 5.000000e-01
%conv203.i = fptrunc double %add202.i to float
%add2064.i = or i32 %mul188.i, 2
%add.ptr.sum12 = add i32 %add2064.i, %mul2
%arrayidx207.i = getelementptr inbounds i8* %2, i32 %add.ptr.sum12
%89 = load i8* %arrayidx207.i, align 1
%conv209.i = sitofp i8 %89 to double
%mul210.i = fmul double %conv209.i, 1.562500e-02
%add211.i = fadd double %mul210.i, 5.000000e-01
%conv212.i = fptrunc double %add211.i to float
call void @llvm.memset.p0i8.i32(i8* %17, i8 0, i32 %mul28, i32 4, i1 false) nounwind
%add221.i = add i32 %41, 1
%90 = sub i32 -2, %41
%91 = icmp sgt i32 %90, %29
%smax.i = select i1 %91, i32 %90, i32 %29
%92 = xor i32 %smax.i, -1
%cmp223.i = icmp slt i32 %add221.i, %nsf
%sub222.nsf.i = select i1 %cmp223.i, i32 %add221.i, i32 %nsf
%cmp227123.i = icmp sgt i32 %sub222.nsf.i, 0
br i1 %cmp227123.i, label %for.body228.i, label %for.end239.i
for.body228.i: ; preds = %for.body228.i, %_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i
%j218.0124.i = phi i32 [ %inc238.i, %for.body228.i ], [ 0, %_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i ]
%arrayidx229.i = getelementptr inbounds float* %exc, i32 %j218.0124.i
%93 = load float* %arrayidx229.i, align 4
%sub232.i = sub nsw i32 %j218.0124.i, %add221.i
%arrayidx233.i = getelementptr inbounds float* %exc2, i32 %sub232.i
%94 = load float* %arrayidx233.i, align 4
%mul234.i = fmul float %conv212.i, %94
%add235.i = fadd float %93, %mul234.i
store float %add235.i, float* %arrayidx229.i, align 4
%inc238.i = add nsw i32 %j218.0124.i, 1
%exitcond146.i = icmp eq i32 %inc238.i, %92
br i1 %exitcond146.i, label %for.end239.i, label %for.body228.i
for.end239.i: ; preds = %for.body228.i, %_ZL25pitch_gain_search_3tap_vqPKaiPff.exit.i
%add240.i = add nsw i32 %add221.i, %41
%cmp241.i = icmp slt i32 %add240.i, %nsf
%add240.nsf.i = select i1 %cmp241.i, i32 %add240.i, i32 %nsf
%cmp246125.i = icmp slt i32 %sub222.nsf.i, %add240.nsf.i
br i1 %cmp246125.i, label %for.body247.i, label %for.inc260.i
for.body247.i: ; preds = %for.body247.i, %for.end239.i
%j218.1126.i = phi i32 [ %inc258.i, %for.body247.i ], [ %sub222.nsf.i, %for.end239.i ]
%arrayidx248.i = getelementptr inbounds float* %exc, i32 %j218.1126.i
%95 = load float* %arrayidx248.i, align 4
%sub252.i = sub i32 %j218.1126.i, %add240.i
%arrayidx253.i = getelementptr inbounds float* %exc2, i32 %sub252.i
%96 = load float* %arrayidx253.i, align 4
%mul254.i = fmul float %conv212.i, %96
%add255.i = fadd float %95, %mul254.i
store float %add255.i, float* %arrayidx248.i, align 4
%inc258.i = add nsw i32 %j218.1126.i, 1
%cmp246.i = icmp slt i32 %inc258.i, %add240.nsf.i
br i1 %cmp246.i, label %for.body247.i, label %for.inc260.i
for.inc260.i: ; preds = %for.body247.i, %for.end239.i
%indvars.iv.next.i = add i32 %90, 1
%97 = icmp sgt i32 %indvars.iv.next.i, %29
%smax.1.i = select i1 %97, i32 %indvars.iv.next.i, i32 %29
%98 = xor i32 %smax.1.i, -1
%cmp223.1.i = icmp slt i32 %41, %nsf
%sub222.nsf.1.i = select i1 %cmp223.1.i, i32 %41, i32 %nsf
%cmp227123.1.i = icmp sgt i32 %sub222.nsf.1.i, 0
br i1 %cmp227123.1.i, label %for.body228.1.i, label %for.end239.1.i
for.body265.i: ; preds = %for.inc260.2.i, %for.body265.i
%i.4122.i = phi i32 [ %inc284.i, %for.body265.i ], [ 0, %for.inc260.2.i ]
%add.ptr17.sum.i = add i32 %i.4122.i, %mul16.i
%arrayidx268.i = getelementptr inbounds float* %20, i32 %add.ptr17.sum.i
%99 = load float* %arrayidx268.i, align 4
%mul269.i = fmul float %conv194.i, %99
%add.ptr14.sum.i = add i32 %i.4122.i, %nsf
%arrayidx272.i = getelementptr inbounds float* %20, i32 %add.ptr14.sum.i
%100 = load float* %arrayidx272.i, align 4
%mul273.i = fmul float %conv203.i, %100
%add274.i = fadd float %mul269.i, %mul273.i
%arrayidx277.i = getelementptr inbounds float* %20, i32 %i.4122.i
%101 = load float* %arrayidx277.i, align 4
%mul278.i = fmul float %conv212.i, %101
%add279.i = fadd float %add274.i, %mul278.i
%arrayidx280.i = getelementptr inbounds float* %14, i32 %i.4122.i
%102 = load float* %arrayidx280.i, align 4
%sub281.i = fsub float %102, %add279.i
store float %sub281.i, float* %arrayidx280.i, align 4
%inc284.i = add nsw i32 %i.4122.i, 1
%exitcond.i = icmp eq i32 %inc284.i, %nsf
br i1 %exitcond.i, label %for.end285.i, label %for.body265.i
for.end285.i: ; preds = %for.inc260.2.i, %for.body265.i
br i1 %tobool1.i44.i, label %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit, label %while.body.i.i
while.body.i.i: ; preds = %while.body.i.i, %for.end285.i
%x.addr.05.i.i = phi float* [ %incdec.ptr10.i.i, %while.body.i.i ], [ %14, %for.end285.i ]
%len.addr.03.i.i = phi i32 [ %dec.i.i, %while.body.i.i ], [ %shr.i43.i, %for.end285.i ]
%sum.02.i.i = phi float [ %add14.i.i, %while.body.i.i ], [ 0.000000e+00, %for.end285.i ]
%dec.i.i = add nsw i32 %len.addr.03.i.i, -1
%incdec.ptr.i.i = getelementptr inbounds float* %x.addr.05.i.i, i32 1
%103 = load float* %x.addr.05.i.i, align 4
%mul.i5.i = fmul float %103, %103
%add.i6.i = fadd float %mul.i5.i, 0.000000e+00
%incdec.ptr2.i.i = getelementptr inbounds float* %x.addr.05.i.i, i32 2
%104 = load float* %incdec.ptr.i.i, align 4
%mul4.i.i = fmul float %104, %104
%add5.i.i = fadd float %add.i6.i, %mul4.i.i
%incdec.ptr6.i.i = getelementptr inbounds float* %x.addr.05.i.i, i32 3
%105 = load float* %incdec.ptr2.i.i, align 4
%mul8.i.i = fmul float %105, %105
%add9.i7.i = fadd float %add5.i.i, %mul8.i.i
%incdec.ptr10.i.i = getelementptr inbounds float* %x.addr.05.i.i, i32 4
%106 = load float* %incdec.ptr6.i.i, align 4
%mul12.i.i = fmul float %106, %106
%add13.i.i = fadd float %add9.i7.i, %mul12.i.i
%add14.i.i = fadd float %sum.02.i.i, %add13.i.i
%tobool.i.i = icmp eq i32 %dec.i.i, 0
br i1 %tobool.i.i, label %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit, label %while.body.i.i
for.body228.1.i: ; preds = %for.body228.1.i, %for.inc260.i
%j218.0124.1.i = phi i32 [ %inc238.1.i, %for.body228.1.i ], [ 0, %for.inc260.i ]
%arrayidx229.1.i = getelementptr inbounds float* %exc, i32 %j218.0124.1.i
%107 = load float* %arrayidx229.1.i, align 4
%sub232.1.i = sub nsw i32 %j218.0124.1.i, %41
%arrayidx233.1.i = getelementptr inbounds float* %exc2, i32 %sub232.1.i
%108 = load float* %arrayidx233.1.i, align 4
%mul234.1.i = fmul float %conv203.i, %108
%add235.1.i = fadd float %107, %mul234.1.i
store float %add235.1.i, float* %arrayidx229.1.i, align 4
%inc238.1.i = add nsw i32 %j218.0124.1.i, 1
%exitcond146.1.i = icmp eq i32 %inc238.1.i, %98
br i1 %exitcond146.1.i, label %for.end239.1.i, label %for.body228.1.i
for.end239.1.i: ; preds = %for.body228.1.i, %for.inc260.i
%add240.1.i = shl nsw i32 %41, 1
%cmp241.1.i = icmp slt i32 %add240.1.i, %nsf
%add240.nsf.1.i = select i1 %cmp241.1.i, i32 %add240.1.i, i32 %nsf
%cmp246125.1.i = icmp slt i32 %sub222.nsf.1.i, %add240.nsf.1.i
br i1 %cmp246125.1.i, label %for.body247.1.i, label %for.inc260.1.i
for.body247.1.i: ; preds = %for.body247.1.i, %for.end239.1.i
%j218.1126.1.i = phi i32 [ %inc258.1.i, %for.body247.1.i ], [ %sub222.nsf.1.i, %for.end239.1.i ]
%arrayidx248.1.i = getelementptr inbounds float* %exc, i32 %j218.1126.1.i
%109 = load float* %arrayidx248.1.i, align 4
%sub252.1.i = sub i32 %j218.1126.1.i, %add240.1.i
%arrayidx253.1.i = getelementptr inbounds float* %exc2, i32 %sub252.1.i
%110 = load float* %arrayidx253.1.i, align 4
%mul254.1.i = fmul float %conv203.i, %110
%add255.1.i = fadd float %109, %mul254.1.i
store float %add255.1.i, float* %arrayidx248.1.i, align 4
%inc258.1.i = add nsw i32 %j218.1126.1.i, 1
%cmp246.1.i = icmp slt i32 %inc258.1.i, %add240.nsf.1.i
br i1 %cmp246.1.i, label %for.body247.1.i, label %for.inc260.1.i
for.inc260.1.i: ; preds = %for.body247.1.i, %for.end239.1.i
%indvars.iv.next.1.i = add i32 %90, 2
%111 = icmp sgt i32 %indvars.iv.next.1.i, %29
%smax.2.i = select i1 %111, i32 %indvars.iv.next.1.i, i32 %29
%112 = xor i32 %smax.2.i, -1
%sub222.2.i = add i32 %41, -1
%cmp223.2.i = icmp slt i32 %sub222.2.i, %nsf
%sub222.nsf.2.i = select i1 %cmp223.2.i, i32 %sub222.2.i, i32 %nsf
%cmp227123.2.i = icmp sgt i32 %sub222.nsf.2.i, 0
br i1 %cmp227123.2.i, label %for.body228.2.i, label %for.end239.2.i
for.body228.2.i: ; preds = %for.body228.2.i, %for.inc260.1.i
%j218.0124.2.i = phi i32 [ %inc238.2.i, %for.body228.2.i ], [ 0, %for.inc260.1.i ]
%arrayidx229.2.i = getelementptr inbounds float* %exc, i32 %j218.0124.2.i
%113 = load float* %arrayidx229.2.i, align 4
%sub232.2.i = sub nsw i32 %j218.0124.2.i, %sub222.2.i
%arrayidx233.2.i = getelementptr inbounds float* %exc2, i32 %sub232.2.i
%114 = load float* %arrayidx233.2.i, align 4
%mul234.2.i = fmul float %conv194.i, %114
%add235.2.i = fadd float %113, %mul234.2.i
store float %add235.2.i, float* %arrayidx229.2.i, align 4
%inc238.2.i = add nsw i32 %j218.0124.2.i, 1
%exitcond146.2.i = icmp eq i32 %inc238.2.i, %112
br i1 %exitcond146.2.i, label %for.end239.2.i, label %for.body228.2.i
for.end239.2.i: ; preds = %for.body228.2.i, %for.inc260.1.i
%add240.2.i = add nsw i32 %sub222.2.i, %41
%cmp241.2.i = icmp slt i32 %add240.2.i, %nsf
%add240.nsf.2.i = select i1 %cmp241.2.i, i32 %add240.2.i, i32 %nsf
%cmp246125.2.i = icmp slt i32 %sub222.nsf.2.i, %add240.nsf.2.i
br i1 %cmp246125.2.i, label %for.body247.2.i, label %for.inc260.2.i
for.body247.2.i: ; preds = %for.body247.2.i, %for.end239.2.i
%j218.1126.2.i = phi i32 [ %inc258.2.i, %for.body247.2.i ], [ %sub222.nsf.2.i, %for.end239.2.i ]
%arrayidx248.2.i = getelementptr inbounds float* %exc, i32 %j218.1126.2.i
%115 = load float* %arrayidx248.2.i, align 4
%sub252.2.i = sub i32 %j218.1126.2.i, %add240.2.i
%arrayidx253.2.i = getelementptr inbounds float* %exc2, i32 %sub252.2.i
%116 = load float* %arrayidx253.2.i, align 4
%mul254.2.i = fmul float %conv194.i, %116
%add255.2.i = fadd float %115, %mul254.2.i
store float %add255.2.i, float* %arrayidx248.2.i, align 4
%inc258.2.i = add nsw i32 %j218.1126.2.i, 1
%cmp246.2.i = icmp slt i32 %inc258.2.i, %add240.nsf.2.i
br i1 %cmp246.2.i, label %for.body247.2.i, label %for.inc260.2.i
for.inc260.2.i: ; preds = %for.body247.2.i, %for.end239.2.i
br i1 %cmp19143.i, label %for.body265.i, label %for.end285.i
while.body.i40.1.i: ; preds = %while.body.i40.1.i.while.body.i40.1.i_crit_edge, %while.body.i40.1.i.preheader
%x.addr.05.i17.1.i = phi float* [ %incdec.ptr10.i34.1.i, %while.body.i40.1.i.while.body.i40.1.i_crit_edge ], [ %add.ptr14.i, %while.body.i40.1.i.preheader ]
%y.addr.04.i18.1.i = phi float* [ %incdec.ptr11.i35.1.i, %while.body.i40.1.i.while.body.i40.1.i_crit_edge ], [ %20, %while.body.i40.1.i.preheader ]
%len.addr.03.i19.1.i = phi i32 [ %dec.i21.1.i, %while.body.i40.1.i.while.body.i40.1.i_crit_edge ], [ %shr.i43.i, %while.body.i40.1.i.preheader ]
%sum.02.i20.1.i = phi float [ %add14.i38.1.i, %while.body.i40.1.i.while.body.i40.1.i_crit_edge ], [ 0.000000e+00, %while.body.i40.1.i.preheader ]
%dec.i21.1.i = add nsw i32 %len.addr.03.i19.1.i, -1
%incdec.ptr.i22.1.i = getelementptr inbounds float* %x.addr.05.i17.1.i, i32 1
%117 = load float* %x.addr.05.i17.1.i, align 4
%incdec.ptr1.i23.1.i = getelementptr inbounds float* %y.addr.04.i18.1.i, i32 1
%118 = load float* %y.addr.04.i18.1.i, align 4
%mul.i24.1.i = fmul float %117, %118
%add.i25.1.i = fadd float %mul.i24.1.i, 0.000000e+00
%incdec.ptr2.i26.1.i = getelementptr inbounds float* %x.addr.05.i17.1.i, i32 2
%119 = load float* %incdec.ptr.i22.1.i, align 4
%incdec.ptr3.i27.1.i = getelementptr inbounds float* %y.addr.04.i18.1.i, i32 2
%120 = load float* %incdec.ptr1.i23.1.i, align 4
%mul4.i28.1.i = fmul float %119, %120
%add5.i29.1.i = fadd float %add.i25.1.i, %mul4.i28.1.i
%incdec.ptr6.i30.1.i = getelementptr inbounds float* %x.addr.05.i17.1.i, i32 3
%121 = load float* %incdec.ptr2.i26.1.i, align 4
%incdec.ptr7.i31.1.i = getelementptr inbounds float* %y.addr.04.i18.1.i, i32 3
%122 = load float* %incdec.ptr3.i27.1.i, align 4
%mul8.i32.1.i = fmul float %121, %122
%add9.i33.1.i = fadd float %add5.i29.1.i, %mul8.i32.1.i
%123 = load float* %incdec.ptr6.i30.1.i, align 4
%124 = load float* %incdec.ptr7.i31.1.i, align 4
%mul12.i36.1.i = fmul float %123, %124
%add13.i37.1.i = fadd float %add9.i33.1.i, %mul12.i36.1.i
%add14.i38.1.i = fadd float %sum.02.i20.1.i, %add13.i37.1.i
%tobool.i39.1.i = icmp eq i32 %dec.i21.1.i, 0
br i1 %tobool.i39.1.i, label %while.body.i40.1.i.1, label %while.body.i40.1.i.while.body.i40.1.i_crit_edge
while.body.i40.1.i.while.body.i40.1.i_crit_edge: ; preds = %while.body.i40.1.i
%incdec.ptr11.i35.1.i = getelementptr inbounds float* %y.addr.04.i18.1.i, i32 4
%incdec.ptr10.i34.1.i = getelementptr inbounds float* %x.addr.05.i17.1.i, i32 4
br label %while.body.i40.1.i
while.body.i40.2.i: ; preds = %while.body.i40.2.i.preheader, %while.body.i40.2.i.while.body.i40.2.i_crit_edge
%x.addr.05.i17.2.i = phi float* [ %incdec.ptr10.i34.2.i, %while.body.i40.2.i.while.body.i40.2.i_crit_edge ], [ %add.ptr17.i, %while.body.i40.2.i.preheader ]
%y.addr.04.i18.2.i = phi float* [ %incdec.ptr11.i35.2.i, %while.body.i40.2.i.while.body.i40.2.i_crit_edge ], [ %20, %while.body.i40.2.i.preheader ]
%len.addr.03.i19.2.i = phi i32 [ %dec.i21.2.i, %while.body.i40.2.i.while.body.i40.2.i_crit_edge ], [ %shr.i43.i, %while.body.i40.2.i.preheader ]
%sum.02.i20.2.i = phi float [ %add14.i38.2.i, %while.body.i40.2.i.while.body.i40.2.i_crit_edge ], [ 0.000000e+00, %while.body.i40.2.i.preheader ]
%dec.i21.2.i = add nsw i32 %len.addr.03.i19.2.i, -1
%incdec.ptr.i22.2.i = getelementptr inbounds float* %x.addr.05.i17.2.i, i32 1
%125 = load float* %x.addr.05.i17.2.i, align 4
%incdec.ptr1.i23.2.i = getelementptr inbounds float* %y.addr.04.i18.2.i, i32 1
%126 = load float* %y.addr.04.i18.2.i, align 4
%mul.i24.2.i = fmul float %125, %126
%add.i25.2.i = fadd float %mul.i24.2.i, 0.000000e+00
%incdec.ptr2.i26.2.i = getelementptr inbounds float* %x.addr.05.i17.2.i, i32 2
%127 = load float* %incdec.ptr.i22.2.i, align 4
%incdec.ptr3.i27.2.i = getelementptr inbounds float* %y.addr.04.i18.2.i, i32 2
%128 = load float* %incdec.ptr1.i23.2.i, align 4
%mul4.i28.2.i = fmul float %127, %128
%add5.i29.2.i = fadd float %add.i25.2.i, %mul4.i28.2.i
%incdec.ptr6.i30.2.i = getelementptr inbounds float* %x.addr.05.i17.2.i, i32 3
%129 = load float* %incdec.ptr2.i26.2.i, align 4
%incdec.ptr7.i31.2.i = getelementptr inbounds float* %y.addr.04.i18.2.i, i32 3
%130 = load float* %incdec.ptr3.i27.2.i, align 4
%mul8.i32.2.i = fmul float %129, %130
%add9.i33.2.i = fadd float %add5.i29.2.i, %mul8.i32.2.i
%131 = load float* %incdec.ptr6.i30.2.i, align 4
%132 = load float* %incdec.ptr7.i31.2.i, align 4
%mul12.i36.2.i = fmul float %131, %132
%add13.i37.2.i = fadd float %add9.i33.2.i, %mul12.i36.2.i
%add14.i38.2.i = fadd float %sum.02.i20.2.i, %add13.i37.2.i
%tobool.i39.2.i = icmp eq i32 %dec.i21.2.i, 0
br i1 %tobool.i39.2.i, label %while.body.i40.2.i.1, label %while.body.i40.2.i.while.body.i40.2.i_crit_edge
while.body.i40.2.i.while.body.i40.2.i_crit_edge: ; preds = %while.body.i40.2.i
%incdec.ptr11.i35.2.i = getelementptr inbounds float* %y.addr.04.i18.2.i, i32 4
%incdec.ptr10.i34.2.i = getelementptr inbounds float* %x.addr.05.i17.2.i, i32 4
br label %while.body.i40.2.i
while.body.i68.1.i: ; preds = %while.body.i68.1.i, %while.body.i68.i
%x.addr.05.i45.1.i = phi float* [ %incdec.ptr10.i62.1.i, %while.body.i68.1.i ], [ %add.ptr14.i, %while.body.i68.i ]
%y.addr.04.i46.1.i = phi float* [ %incdec.ptr11.i63.1.i, %while.body.i68.1.i ], [ %14, %while.body.i68.i ]
%len.addr.03.i47.1.i = phi i32 [ %dec.i49.1.i, %while.body.i68.1.i ], [ %shr.i43.i, %while.body.i68.i ]
%sum.02.i48.1.i = phi float [ %add14.i66.1.i, %while.body.i68.1.i ], [ 0.000000e+00, %while.body.i68.i ]
%dec.i49.1.i = add nsw i32 %len.addr.03.i47.1.i, -1
%incdec.ptr.i50.1.i = getelementptr inbounds float* %x.addr.05.i45.1.i, i32 1
%133 = load float* %x.addr.05.i45.1.i, align 4
%incdec.ptr1.i51.1.i = getelementptr inbounds float* %y.addr.04.i46.1.i, i32 1
%134 = load float* %y.addr.04.i46.1.i, align 4
%mul.i52.1.i = fmul float %133, %134
%add.i53.1.i = fadd float %mul.i52.1.i, 0.000000e+00
%incdec.ptr2.i54.1.i = getelementptr inbounds float* %x.addr.05.i45.1.i, i32 2
%135 = load float* %incdec.ptr.i50.1.i, align 4
%incdec.ptr3.i55.1.i = getelementptr inbounds float* %y.addr.04.i46.1.i, i32 2
%136 = load float* %incdec.ptr1.i51.1.i, align 4
%mul4.i56.1.i = fmul float %135, %136
%add5.i57.1.i = fadd float %add.i53.1.i, %mul4.i56.1.i
%incdec.ptr6.i58.1.i = getelementptr inbounds float* %x.addr.05.i45.1.i, i32 3
%137 = load float* %incdec.ptr2.i54.1.i, align 4
%incdec.ptr7.i59.1.i = getelementptr inbounds float* %y.addr.04.i46.1.i, i32 3
%138 = load float* %incdec.ptr3.i55.1.i, align 4
%mul8.i60.1.i = fmul float %137, %138
%add9.i61.1.i = fadd float %add5.i57.1.i, %mul8.i60.1.i
%incdec.ptr10.i62.1.i = getelementptr inbounds float* %x.addr.05.i45.1.i, i32 4
%139 = load float* %incdec.ptr6.i58.1.i, align 4
%incdec.ptr11.i63.1.i = getelementptr inbounds float* %y.addr.04.i46.1.i, i32 4
%140 = load float* %incdec.ptr7.i59.1.i, align 4
%mul12.i64.1.i = fmul float %139, %140
%add13.i65.1.i = fadd float %add9.i61.1.i, %mul12.i64.1.i
%add14.i66.1.i = fadd float %sum.02.i48.1.i, %add13.i65.1.i
%tobool.i67.1.i = icmp eq i32 %dec.i49.1.i, 0
br i1 %tobool.i67.1.i, label %while.body.i68.2.i, label %while.body.i68.1.i
while.body.i68.2.i: ; preds = %while.body.i68.2.i, %while.body.i68.1.i
%x.addr.05.i45.2.i = phi float* [ %incdec.ptr10.i62.2.i, %while.body.i68.2.i ], [ %add.ptr17.i, %while.body.i68.1.i ]
%y.addr.04.i46.2.i = phi float* [ %incdec.ptr11.i63.2.i, %while.body.i68.2.i ], [ %14, %while.body.i68.1.i ]
%len.addr.03.i47.2.i = phi i32 [ %dec.i49.2.i, %while.body.i68.2.i ], [ %shr.i43.i, %while.body.i68.1.i ]
%sum.02.i48.2.i = phi float [ %add14.i66.2.i, %while.body.i68.2.i ], [ 0.000000e+00, %while.body.i68.1.i ]
%dec.i49.2.i = add nsw i32 %len.addr.03.i47.2.i, -1
%incdec.ptr.i50.2.i = getelementptr inbounds float* %x.addr.05.i45.2.i, i32 1
%141 = load float* %x.addr.05.i45.2.i, align 4
%incdec.ptr1.i51.2.i = getelementptr inbounds float* %y.addr.04.i46.2.i, i32 1
%142 = load float* %y.addr.04.i46.2.i, align 4
%mul.i52.2.i = fmul float %141, %142
%add.i53.2.i = fadd float %mul.i52.2.i, 0.000000e+00
%incdec.ptr2.i54.2.i = getelementptr inbounds float* %x.addr.05.i45.2.i, i32 2
%143 = load float* %incdec.ptr.i50.2.i, align 4
%incdec.ptr3.i55.2.i = getelementptr inbounds float* %y.addr.04.i46.2.i, i32 2
%144 = load float* %incdec.ptr1.i51.2.i, align 4
%mul4.i56.2.i = fmul float %143, %144
%add5.i57.2.i = fadd float %add.i53.2.i, %mul4.i56.2.i
%incdec.ptr6.i58.2.i = getelementptr inbounds float* %x.addr.05.i45.2.i, i32 3
%145 = load float* %incdec.ptr2.i54.2.i, align 4
%incdec.ptr7.i59.2.i = getelementptr inbounds float* %y.addr.04.i46.2.i, i32 3
%146 = load float* %incdec.ptr3.i55.2.i, align 4
%mul8.i60.2.i = fmul float %145, %146
%add9.i61.2.i = fadd float %add5.i57.2.i, %mul8.i60.2.i
%incdec.ptr10.i62.2.i = getelementptr inbounds float* %x.addr.05.i45.2.i, i32 4
%147 = load float* %incdec.ptr6.i58.2.i, align 4
%incdec.ptr11.i63.2.i = getelementptr inbounds float* %y.addr.04.i46.2.i, i32 4
%148 = load float* %incdec.ptr7.i59.2.i, align 4
%mul12.i64.2.i = fmul float %147, %148
%add13.i65.2.i = fadd float %add9.i61.2.i, %mul12.i64.2.i
%add14.i66.2.i = fadd float %sum.02.i48.2.i, %add13.i65.2.i
%tobool.i67.2.i = icmp eq i32 %dec.i49.2.i, 0
br i1 %tobool.i67.2.i, label %while.body.i40.i, label %while.body.i68.2.i
for.body91.1.i: ; preds = %for.body91.1.i, %for.body91.1.i.preheader
%j.5133.1.i = phi i32 [ %add95.1.i, %for.body91.1.i ], [ 0, %for.body91.1.i.preheader ]
%add.ptr14.sum160.i = add i32 %j.5133.1.i, %nsf
%arrayidx94.1.i = getelementptr inbounds float* %20, i32 %add.ptr14.sum160.i
%149 = load float* %arrayidx94.1.i, align 4
%add95.1.i = add nsw i32 %j.5133.1.i, 1
%arrayidx96.1.i = getelementptr inbounds float* %r, i32 %add95.1.i
%150 = load float* %arrayidx96.1.i, align 4
%mul97.1.i = fmul float %150, %65
%add98.1.i = fadd float %149, %mul97.1.i
%arrayidx101.1.i = getelementptr inbounds float* %20, i32 %add95.1.i
store float %add98.1.i, float* %arrayidx101.1.i, align 4
%exitcond152.1.i = icmp eq i32 %add95.1.i, %sub89.i
br i1 %exitcond152.1.i, label %for.inc105.1.i, label %for.body91.1.i
for.inc105.1.i: ; preds = %for.body91.1.i, %for.inc105.thread.i
br i1 %tobool1.i44.i, label %_Z10inner_prodPKfS0_i.exit42.2.i.2, label %while.body.i68.i
_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit: ; preds = %while.body.i.i, %for.end285.i
%sum.0.lcssa.i.i = phi float [ 0.000000e+00, %for.end285.i ], [ %add14.i.i, %while.body.i.i ]
%cmp52 = fcmp olt float %sum.0.lcssa.i.i, %best_err.024
%cmp53 = fcmp olt float %best_err.024, 0.000000e+00
%or.cond = or i1 %cmp52, %cmp53
br i1 %or.cond, label %if.then54, label %for.inc
if.then54: ; preds = %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %add.ptr32, i8* %17, i32 %mul28, i32 4, i1 false)
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %add.ptr48, i8* %add.ptr40, i32 %mul28, i32 4, i1 false)
br label %for.inc
for.inc: ; preds = %if.then54, %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit
%best_gain_index.1 = phi i32 [ %best_cdbk.0.lcssa.i.i, %if.then54 ], [ %best_gain_index.022, %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit ]
%best_pitch.1 = phi i32 [ %41, %if.then54 ], [ %best_pitch.023, %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit ]
%best_err.1 = phi float [ %sum.0.lcssa.i.i, %if.then54 ], [ %best_err.024, %_ZL22pitch_gain_search_3tapPKfS0_S0_S0_PfPKaiiiiP9SpeexBitsPcS0_S0_S1_Piifi.exit ]
%inc = add nsw i32 %i.021, 1
%exitcond = icmp eq i32 %inc, %40
br i1 %exitcond, label %for.end, label %for.body
for.end: ; preds = %for.inc, %if.end24
%best_pitch.0.lcssa = phi i32 [ 0, %if.end24 ], [ %best_pitch.1, %for.inc ]
%best_gain_index.0.lcssa = phi i32 [ 0, %if.end24 ], [ %best_gain_index.1, %for.inc ]
%pitch.0.lcssa = phi i32 [ 0, %if.end24 ], [ %41, %for.inc ]
%sub66 = sub nsw i32 %best_pitch.0.lcssa, %start
%pitch_bits67 = getelementptr inbounds i8* %par, i32 8
%151 = bitcast i8* %pitch_bits67 to i32*
%152 = load i32* %151, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %sub66, i32 %152)
%153 = load i32* %0, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %best_gain_index.0.lcssa, i32 %153)
%154 = load float* %cumul_gain, align 4
%cmp69 = fcmp olt float %154, 1.024000e+03
br i1 %cmp69, label %cond.end, label %cond.false
cond.false: ; preds = %for.end
%phitmp = fpext float %154 to double
%phitmp4 = fmul double %phitmp, 3.125000e-02
br label %cond.end
cond.end: ; preds = %cond.false, %for.end
%cond = phi double [ %phitmp4, %cond.false ], [ 3.200000e+01, %for.end ]
%mul71 = shl nsw i32 %best_gain_index.0.lcssa, 2
%add725 = or i32 %mul71, 3
%155 = load i8** %gain_cdbk1, align 4
%arrayidx74 = getelementptr inbounds i8* %155, i32 %add725
%156 = load i8* %arrayidx74, align 1
%conv76 = sitofp i8 %156 to double
%mul77 = fmul double %cond, %conv76
%conv78 = fptrunc double %mul77 to float
store float %conv78, float* %cumul_gain, align 4
%157 = bitcast float* %exc to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %157, i8* %add.ptr32, i32 %mul28, i32 4, i1 false)
%158 = bitcast float* %target to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %158, i8* %add.ptr48, i32 %mul28, i32 4, i1 false)
br label %return
return: ; preds = %cond.end, %if.then12
%retval.0 = phi i32 [ %start, %if.then12 ], [ %pitch.0.lcssa, %cond.end ]
ret i32 %retval.0
while.body.i40.1.i.1: ; preds = %while.body.i40.1.i.1, %while.body.i40.1.i
%x.addr.05.i17.1.i.1 = phi float* [ %incdec.ptr10.i34.1.i.1, %while.body.i40.1.i.1 ], [ %add.ptr14.i, %while.body.i40.1.i ]
%y.addr.04.i18.1.i.1 = phi float* [ %incdec.ptr11.i35.1.i.1, %while.body.i40.1.i.1 ], [ %add.ptr14.i, %while.body.i40.1.i ]
%len.addr.03.i19.1.i.1 = phi i32 [ %dec.i21.1.i.1, %while.body.i40.1.i.1 ], [ %shr.i43.i, %while.body.i40.1.i ]
%sum.02.i20.1.i.1 = phi float [ %add14.i38.1.i.1, %while.body.i40.1.i.1 ], [ 0.000000e+00, %while.body.i40.1.i ]
%dec.i21.1.i.1 = add nsw i32 %len.addr.03.i19.1.i.1, -1
%incdec.ptr.i22.1.i.1 = getelementptr inbounds float* %x.addr.05.i17.1.i.1, i32 1
%159 = load float* %x.addr.05.i17.1.i.1, align 4
%incdec.ptr1.i23.1.i.1 = getelementptr inbounds float* %y.addr.04.i18.1.i.1, i32 1
%160 = load float* %y.addr.04.i18.1.i.1, align 4
%mul.i24.1.i.1 = fmul float %159, %160
%add.i25.1.i.1 = fadd float %mul.i24.1.i.1, 0.000000e+00
%incdec.ptr2.i26.1.i.1 = getelementptr inbounds float* %x.addr.05.i17.1.i.1, i32 2
%161 = load float* %incdec.ptr.i22.1.i.1, align 4
%incdec.ptr3.i27.1.i.1 = getelementptr inbounds float* %y.addr.04.i18.1.i.1, i32 2
%162 = load float* %incdec.ptr1.i23.1.i.1, align 4
%mul4.i28.1.i.1 = fmul float %161, %162
%add5.i29.1.i.1 = fadd float %add.i25.1.i.1, %mul4.i28.1.i.1
%incdec.ptr6.i30.1.i.1 = getelementptr inbounds float* %x.addr.05.i17.1.i.1, i32 3
%163 = load float* %incdec.ptr2.i26.1.i.1, align 4
%incdec.ptr7.i31.1.i.1 = getelementptr inbounds float* %y.addr.04.i18.1.i.1, i32 3
%164 = load float* %incdec.ptr3.i27.1.i.1, align 4
%mul8.i32.1.i.1 = fmul float %163, %164
%add9.i33.1.i.1 = fadd float %add5.i29.1.i.1, %mul8.i32.1.i.1
%incdec.ptr10.i34.1.i.1 = getelementptr inbounds float* %x.addr.05.i17.1.i.1, i32 4
%165 = load float* %incdec.ptr6.i30.1.i.1, align 4
%incdec.ptr11.i35.1.i.1 = getelementptr inbounds float* %y.addr.04.i18.1.i.1, i32 4
%166 = load float* %incdec.ptr7.i31.1.i.1, align 4
%mul12.i36.1.i.1 = fmul float %165, %166
%add13.i37.1.i.1 = fadd float %add9.i33.1.i.1, %mul12.i36.1.i.1
%add14.i38.1.i.1 = fadd float %sum.02.i20.1.i.1, %add13.i37.1.i.1
%tobool.i39.1.i.1 = icmp eq i32 %dec.i21.1.i.1, 0
br i1 %tobool.i39.1.i.1, label %while.body.i40.2.i.preheader, label %while.body.i40.1.i.1
while.body.i40.2.i.preheader: ; preds = %while.body.i40.1.i.1
%phitmp30 = fpext float %add14.i38.1.i.1 to double
br label %while.body.i40.2.i
while.body.i40.2.i.1: ; preds = %while.body.i40.2.i.1, %while.body.i40.2.i
%x.addr.05.i17.2.i.1 = phi float* [ %incdec.ptr10.i34.2.i.1, %while.body.i40.2.i.1 ], [ %add.ptr17.i, %while.body.i40.2.i ]
%y.addr.04.i18.2.i.1 = phi float* [ %incdec.ptr11.i35.2.i.1, %while.body.i40.2.i.1 ], [ %add.ptr14.i, %while.body.i40.2.i ]
%len.addr.03.i19.2.i.1 = phi i32 [ %dec.i21.2.i.1, %while.body.i40.2.i.1 ], [ %shr.i43.i, %while.body.i40.2.i ]
%sum.02.i20.2.i.1 = phi float [ %add14.i38.2.i.1, %while.body.i40.2.i.1 ], [ 0.000000e+00, %while.body.i40.2.i ]
%dec.i21.2.i.1 = add nsw i32 %len.addr.03.i19.2.i.1, -1
%incdec.ptr.i22.2.i.1 = getelementptr inbounds float* %x.addr.05.i17.2.i.1, i32 1
%167 = load float* %x.addr.05.i17.2.i.1, align 4
%incdec.ptr1.i23.2.i.1 = getelementptr inbounds float* %y.addr.04.i18.2.i.1, i32 1
%168 = load float* %y.addr.04.i18.2.i.1, align 4
%mul.i24.2.i.1 = fmul float %167, %168
%add.i25.2.i.1 = fadd float %mul.i24.2.i.1, 0.000000e+00
%incdec.ptr2.i26.2.i.1 = getelementptr inbounds float* %x.addr.05.i17.2.i.1, i32 2
%169 = load float* %incdec.ptr.i22.2.i.1, align 4
%incdec.ptr3.i27.2.i.1 = getelementptr inbounds float* %y.addr.04.i18.2.i.1, i32 2
%170 = load float* %incdec.ptr1.i23.2.i.1, align 4
%mul4.i28.2.i.1 = fmul float %169, %170
%add5.i29.2.i.1 = fadd float %add.i25.2.i.1, %mul4.i28.2.i.1
%incdec.ptr6.i30.2.i.1 = getelementptr inbounds float* %x.addr.05.i17.2.i.1, i32 3
%171 = load float* %incdec.ptr2.i26.2.i.1, align 4
%incdec.ptr7.i31.2.i.1 = getelementptr inbounds float* %y.addr.04.i18.2.i.1, i32 3
%172 = load float* %incdec.ptr3.i27.2.i.1, align 4
%mul8.i32.2.i.1 = fmul float %171, %172
%add9.i33.2.i.1 = fadd float %add5.i29.2.i.1, %mul8.i32.2.i.1
%incdec.ptr10.i34.2.i.1 = getelementptr inbounds float* %x.addr.05.i17.2.i.1, i32 4
%173 = load float* %incdec.ptr6.i30.2.i.1, align 4
%incdec.ptr11.i35.2.i.1 = getelementptr inbounds float* %y.addr.04.i18.2.i.1, i32 4
%174 = load float* %incdec.ptr7.i31.2.i.1, align 4
%mul12.i36.2.i.1 = fmul float %173, %174
%add13.i37.2.i.1 = fadd float %add9.i33.2.i.1, %mul12.i36.2.i.1
%add14.i38.2.i.1 = fadd float %sum.02.i20.2.i.1, %add13.i37.2.i.1
%tobool.i39.2.i.1 = icmp eq i32 %dec.i21.2.i.1, 0
br i1 %tobool.i39.2.i.1, label %while.body.i40.2.i.2, label %while.body.i40.2.i.1
while.body.i40.2.i.2: ; preds = %while.body.i40.2.i.2, %while.body.i40.2.i.1
%x.addr.05.i17.2.i.2 = phi float* [ %incdec.ptr10.i34.2.i.2, %while.body.i40.2.i.2 ], [ %add.ptr17.i, %while.body.i40.2.i.1 ]
%y.addr.04.i18.2.i.2 = phi float* [ %incdec.ptr11.i35.2.i.2, %while.body.i40.2.i.2 ], [ %add.ptr17.i, %while.body.i40.2.i.1 ]
%len.addr.03.i19.2.i.2 = phi i32 [ %dec.i21.2.i.2, %while.body.i40.2.i.2 ], [ %shr.i43.i, %while.body.i40.2.i.1 ]
%sum.02.i20.2.i.2 = phi float [ %add14.i38.2.i.2, %while.body.i40.2.i.2 ], [ 0.000000e+00, %while.body.i40.2.i.1 ]
%dec.i21.2.i.2 = add nsw i32 %len.addr.03.i19.2.i.2, -1
%incdec.ptr.i22.2.i.2 = getelementptr inbounds float* %x.addr.05.i17.2.i.2, i32 1
%175 = load float* %x.addr.05.i17.2.i.2, align 4
%incdec.ptr1.i23.2.i.2 = getelementptr inbounds float* %y.addr.04.i18.2.i.2, i32 1
%176 = load float* %y.addr.04.i18.2.i.2, align 4
%mul.i24.2.i.2 = fmul float %175, %176
%add.i25.2.i.2 = fadd float %mul.i24.2.i.2, 0.000000e+00
%incdec.ptr2.i26.2.i.2 = getelementptr inbounds float* %x.addr.05.i17.2.i.2, i32 2
%177 = load float* %incdec.ptr.i22.2.i.2, align 4
%incdec.ptr3.i27.2.i.2 = getelementptr inbounds float* %y.addr.04.i18.2.i.2, i32 2
%178 = load float* %incdec.ptr1.i23.2.i.2, align 4
%mul4.i28.2.i.2 = fmul float %177, %178
%add5.i29.2.i.2 = fadd float %add.i25.2.i.2, %mul4.i28.2.i.2
%incdec.ptr6.i30.2.i.2 = getelementptr inbounds float* %x.addr.05.i17.2.i.2, i32 3
%179 = load float* %incdec.ptr2.i26.2.i.2, align 4
%incdec.ptr7.i31.2.i.2 = getelementptr inbounds float* %y.addr.04.i18.2.i.2, i32 3
%180 = load float* %incdec.ptr3.i27.2.i.2, align 4
%mul8.i32.2.i.2 = fmul float %179, %180
%add9.i33.2.i.2 = fadd float %add5.i29.2.i.2, %mul8.i32.2.i.2
%incdec.ptr10.i34.2.i.2 = getelementptr inbounds float* %x.addr.05.i17.2.i.2, i32 4
%181 = load float* %incdec.ptr6.i30.2.i.2, align 4
%incdec.ptr11.i35.2.i.2 = getelementptr inbounds float* %y.addr.04.i18.2.i.2, i32 4
%182 = load float* %incdec.ptr7.i31.2.i.2, align 4
%mul12.i36.2.i.2 = fmul float %181, %182
%add13.i37.2.i.2 = fadd float %add9.i33.2.i.2, %mul12.i36.2.i.2
%add14.i38.2.i.2 = fadd float %sum.02.i20.2.i.2, %add13.i37.2.i.2
%tobool.i39.2.i.2 = icmp eq i32 %dec.i21.2.i.2, 0
br i1 %tobool.i39.2.i.2, label %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2, label %while.body.i40.2.i.2
_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2: ; preds = %while.body.i40.2.i.2
%phitmp31 = fpext float %add14.i38.2.i.2 to double
br label %_Z10inner_prodPKfS0_i.exit42.2.i.2
_Z10inner_prodPKfS0_i.exit42.2.i.2: ; preds = %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2, %for.inc105.1.i
%183 = phi float [ %add14.i38.2.i.1, %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2 ], [ 0.000000e+00, %for.inc105.1.i ]
%184 = phi float [ %add14.i38.2.i, %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2 ], [ 0.000000e+00, %for.inc105.1.i ]
%185 = phi float [ %add14.i38.1.i, %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2 ], [ 0.000000e+00, %for.inc105.1.i ]
%186 = phi float [ %add14.i66.2.i, %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2 ], [ 0.000000e+00, %for.inc105.1.i ]
%187 = phi float [ %add14.i66.i, %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2 ], [ 0.000000e+00, %for.inc105.1.i ]
%188 = phi float [ %add14.i66.1.i, %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2 ], [ 0.000000e+00, %for.inc105.1.i ]
%189 = phi double [ %phitmp29, %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2 ], [ 0.000000e+00, %for.inc105.1.i ]
%190 = phi double [ %phitmp30, %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2 ], [ 0.000000e+00, %for.inc105.1.i ]
%191 = phi double [ %phitmp31, %_Z10inner_prodPKfS0_i.exit42.2.i.loopexit.2 ], [ 0.000000e+00, %for.inc105.1.i ]
%mul185.i = fmul double %189, %mul166.i
%conv186.i = fptrunc double %mul185.i to float
br i1 %cmp4.i.i, label %for.body.lr.ph.i8.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 ssp {
entry:
%gain_bits = getelementptr inbounds i8* %par, i32 4
%0 = bitcast i8* %gain_bits to i32*
%1 = load i32* %0, align 4
%gain_cdbk1 = bitcast i8* %par to i8**
%2 = load i8** %gain_cdbk1, align 4
%mul = shl i32 4, %1
%mul2 = mul nsw i32 %mul, %cdbk_offset
%pitch_bits = getelementptr inbounds i8* %par, i32 8
%3 = bitcast i8* %pitch_bits to i32*
%4 = load i32* %3, align 4
%charPtr.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%5 = load i32* %charPtr.i, align 4
%shl.i = shl i32 %5, 3
%bitPtr.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%6 = load i32* %bitPtr.i, align 4
%add.i = add i32 %shl.i, %4
%add1.i = add i32 %add.i, %6
%nbBits2.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%7 = load i32* %nbBits2.i, align 4
%cmp.i = icmp sgt i32 %add1.i, %7
%overflow.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
br i1 %cmp.i, label %if.end.thread.i, label %if.end.i
if.end.thread.i: ; preds = %entry
store i32 1, i32* %overflow.i, align 4
br label %speex_bits_unpack_unsigned.exit
if.end.i: ; preds = %entry
%.pre5.i = load i32* %overflow.i, align 4
%phitmp.i = icmp ne i32 %.pre5.i, 0
%tobool62.i = icmp eq i32 %4, 0
%or.cond.i = or i1 %phitmp.i, %tobool62.i
br i1 %or.cond.i, label %speex_bits_unpack_unsigned.exit, label %while.body.lr.ph.i
while.body.lr.ph.i: ; preds = %if.end.i
%chars.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre.i = load i8** %chars.i, align 4
br label %while.body.i
while.body.i: ; preds = %if.end17.i, %while.body.lr.ph.i
%8 = phi i32 [ %6, %while.body.lr.ph.i ], [ %11, %if.end17.i ]
%9 = phi i32 [ %5, %while.body.lr.ph.i ], [ %12, %if.end17.i ]
%d.04.i = phi i32 [ 0, %while.body.lr.ph.i ], [ %or.i, %if.end17.i ]
%nbBits.addr.03.i = phi i32 [ %4, %while.body.lr.ph.i ], [ %dec.i, %if.end17.i ]
%shl7.i = shl i32 %d.04.i, 1
%arrayidx.i = getelementptr inbounds i8* %.pre.i, i32 %9
%10 = load i8* %arrayidx.i, align 1
%conv.i = sext i8 %10 to i32
%sub.i = sub nsw i32 7, %8
%shr1.i = lshr i32 %conv.i, %sub.i
%and.i = and i32 %shr1.i, 1
%or.i = or i32 %and.i, %shl7.i
%inc.i = add nsw i32 %8, 1
store i32 %inc.i, i32* %bitPtr.i, align 4
%cmp12.i = icmp eq i32 %inc.i, 8
br i1 %cmp12.i, label %if.then13.i, label %if.end17.i
if.then13.i: ; preds = %while.body.i
store i32 0, i32* %bitPtr.i, align 4
%inc16.i = add nsw i32 %9, 1
store i32 %inc16.i, i32* %charPtr.i, align 4
br label %if.end17.i
if.end17.i: ; preds = %if.then13.i, %while.body.i
%11 = phi i32 [ 0, %if.then13.i ], [ %inc.i, %while.body.i ]
%12 = phi i32 [ %inc16.i, %if.then13.i ], [ %9, %while.body.i ]
%dec.i = add nsw i32 %nbBits.addr.03.i, -1
%tobool6.i = icmp eq i32 %dec.i, 0
br i1 %tobool6.i, label %speex_bits_unpack_unsigned.exit, label %while.body.i
speex_bits_unpack_unsigned.exit: ; preds = %if.end17.i, %if.end.i, %if.end.thread.i
%.pre5.i14 = phi i32 [ %.pre5.i, %if.end.i ], [ 1, %if.end.thread.i ], [ 0, %if.end17.i ]
%13 = phi i32 [ %6, %if.end.i ], [ %6, %if.end.thread.i ], [ %11, %if.end17.i ]
%14 = phi i32 [ %5, %if.end.i ], [ %5, %if.end.thread.i ], [ %12, %if.end17.i ]
%retval.0.i = phi i32 [ 0, %if.end.i ], [ 0, %if.end.thread.i ], [ %or.i, %if.end17.i ]
%add = add nsw i32 %retval.0.i, %start
%15 = load i32* %0, align 4
%shl.i6 = shl i32 %14, 3
%add.i8 = add i32 %shl.i6, %15
%add1.i9 = add i32 %add.i8, %13
%cmp.i11 = icmp sgt i32 %add1.i9, %7
br i1 %cmp.i11, label %if.end.thread.i13, label %if.end.i18
if.end.thread.i13: ; preds = %speex_bits_unpack_unsigned.exit
store i32 1, i32* %overflow.i, align 4
br label %speex_bits_unpack_unsigned.exit40
if.end.i18: ; preds = %speex_bits_unpack_unsigned.exit
%phitmp.i15 = icmp ne i32 %.pre5.i14, 0
%tobool62.i16 = icmp eq i32 %15, 0
%or.cond.i17 = or i1 %phitmp.i15, %tobool62.i16
br i1 %or.cond.i17, label %speex_bits_unpack_unsigned.exit40, label %while.body.lr.ph.i21
while.body.lr.ph.i21: ; preds = %if.end.i18
%chars.i19 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre.i20 = load i8** %chars.i19, align 4
br label %while.body.i33
while.body.i33: ; preds = %if.end17.i38, %while.body.lr.ph.i21
%16 = phi i32 [ %13, %while.body.lr.ph.i21 ], [ %19, %if.end17.i38 ]
%17 = phi i32 [ %14, %while.body.lr.ph.i21 ], [ %20, %if.end17.i38 ]
%d.04.i22 = phi i32 [ 0, %while.body.lr.ph.i21 ], [ %or.i30, %if.end17.i38 ]
%nbBits.addr.03.i23 = phi i32 [ %15, %while.body.lr.ph.i21 ], [ %dec.i36, %if.end17.i38 ]
%shl7.i24 = shl i32 %d.04.i22, 1
%arrayidx.i25 = getelementptr inbounds i8* %.pre.i20, i32 %17
%18 = load i8* %arrayidx.i25, align 1
%conv.i26 = sext i8 %18 to i32
%sub.i27 = sub nsw i32 7, %16
%shr1.i28 = lshr i32 %conv.i26, %sub.i27
%and.i29 = and i32 %shr1.i28, 1
%or.i30 = or i32 %and.i29, %shl7.i24
%inc.i31 = add nsw i32 %16, 1
store i32 %inc.i31, i32* %bitPtr.i, align 4
%cmp12.i32 = icmp eq i32 %inc.i31, 8
br i1 %cmp12.i32, label %if.then13.i35, label %if.end17.i38
if.then13.i35: ; preds = %while.body.i33
store i32 0, i32* %bitPtr.i, align 4
%inc16.i34 = add nsw i32 %17, 1
store i32 %inc16.i34, i32* %charPtr.i, align 4
br label %if.end17.i38
if.end17.i38: ; preds = %if.then13.i35, %while.body.i33
%19 = phi i32 [ 0, %if.then13.i35 ], [ %inc.i31, %while.body.i33 ]
%20 = phi i32 [ %inc16.i34, %if.then13.i35 ], [ %17, %while.body.i33 ]
%dec.i36 = add nsw i32 %nbBits.addr.03.i23, -1
%tobool6.i37 = icmp eq i32 %dec.i36, 0
br i1 %tobool6.i37, label %speex_bits_unpack_unsigned.exit40.loopexit, label %while.body.i33
speex_bits_unpack_unsigned.exit40.loopexit: ; preds = %if.end17.i38
%phitmp = shl i32 %or.i30, 2
br label %speex_bits_unpack_unsigned.exit40
speex_bits_unpack_unsigned.exit40: ; preds = %speex_bits_unpack_unsigned.exit40.loopexit, %if.end.i18, %if.end.thread.i13
%retval.0.i39 = phi i32 [ 0, %if.end.i18 ], [ 0, %if.end.thread.i13 ], [ %phitmp, %speex_bits_unpack_unsigned.exit40.loopexit ]
%add.ptr.sum = add i32 %retval.0.i39, %mul2
%arrayidx = getelementptr inbounds i8* %2, i32 %add.ptr.sum
%21 = load i8* %arrayidx, align 1
%conv6 = sitofp i8 %21 to double
%mul7 = fmul double %conv6, 1.562500e-02
%add8 = fadd double %mul7, 5.000000e-01
%conv9 = fptrunc double %add8 to float
%add121 = or i32 %retval.0.i39, 1
%add.ptr.sum2 = add i32 %add121, %mul2
%arrayidx13 = getelementptr inbounds i8* %2, i32 %add.ptr.sum2
%22 = load i8* %arrayidx13, align 1
%conv15 = sitofp i8 %22 to double
%mul16 = fmul double %conv15, 1.562500e-02
%add17 = fadd double %mul16, 5.000000e-01
%conv18 = fptrunc double %add17 to float
%add213 = or i32 %retval.0.i39, 2
%add.ptr.sum4 = add i32 %add213, %mul2
%arrayidx22 = getelementptr inbounds i8* %2, i32 %add.ptr.sum4
%23 = load i8* %arrayidx22, align 1
%conv24 = sitofp i8 %23 to double
%mul25 = fmul double %conv24, 1.562500e-02
%add26 = fadd double %mul25, 5.000000e-01
%conv27 = fptrunc double %add26 to float
%tobool = icmp ne i32 %count_lost, 0
%cmp = icmp sgt i32 %add, %subframe_offset
%or.cond = and i1 %tobool, %cmp
br i1 %or.cond, label %if.then, label %if.end79
if.then: ; preds = %speex_bits_unpack_unsigned.exit40
%cmp29 = icmp slt i32 %count_lost, 4
%conv30 = fpext float %last_pitch_gain to double
br i1 %cmp29, label %cond.end, label %cond.false
cond.false: ; preds = %if.then
%mul32 = fmul double %conv30, 5.000000e-01
br label %cond.end
cond.end: ; preds = %cond.false, %if.then
%cond = phi double [ %mul32, %cond.false ], [ %conv30, %if.then ]
%conv33 = fptrunc double %cond to float
%conv34 = fpext float %conv33 to double
%cmp35 = fcmp ogt double %conv34, 9.500000e-01
%tmp.0 = select i1 %cmp35, float 0x3FEE666660000000, float %conv33
%cmp38 = fcmp olt float %conv18, 0.000000e+00
br i1 %cmp38, label %cond.true39, label %cond.end43
cond.true39: ; preds = %cond.end
%sub = fsub float -0.000000e+00, %conv18
br label %cond.end43
cond.end43: ; preds = %cond.true39, %cond.end
%cond44 = phi float [ %sub, %cond.true39 ], [ %conv18, %cond.end ]
%conv45 = fpext float %cond44 to double
%cmp47 = fcmp ogt float %conv9, 0.000000e+00
%conv50 = fpext float %conv9 to double
br i1 %cmp47, label %cond.end55, label %cond.false51
cond.false51: ; preds = %cond.end43
%mul54 = fmul double %conv50, -5.000000e-01
br label %cond.end55
cond.end55: ; preds = %cond.false51, %cond.end43
%cond56 = phi double [ %mul54, %cond.false51 ], [ %conv50, %cond.end43 ]
%add57 = fadd double %conv45, %cond56
%cmp59 = fcmp ogt float %conv27, 0.000000e+00
%conv62 = fpext float %conv27 to double
br i1 %cmp59, label %cond.end67, label %cond.false63
cond.false63: ; preds = %cond.end55
%mul66 = fmul double %conv62, -5.000000e-01
br label %cond.end67
cond.end67: ; preds = %cond.false63, %cond.end55
%cond68 = phi double [ %mul66, %cond.false63 ], [ %conv62, %cond.end55 ]
%add69 = fadd double %add57, %cond68
%conv70 = fptrunc double %add69 to float
%cmp71 = fcmp ogt float %conv70, %tmp.0
br i1 %cmp71, label %if.then72, label %if.end79
if.then72: ; preds = %cond.end67
%div = fdiv float %tmp.0, %conv70
%mul76 = fmul float %div, %conv9
%mul76.1 = fmul float %div, %conv18
%mul76.2 = fmul float %div, %conv27
br label %if.end79
if.end79: ; preds = %if.then72, %cond.end67, %speex_bits_unpack_unsigned.exit40
%24 = phi float [ %mul76.2, %if.then72 ], [ %conv27, %speex_bits_unpack_unsigned.exit40 ], [ %conv27, %cond.end67 ]
%25 = phi float [ %mul76.1, %if.then72 ], [ %conv18, %speex_bits_unpack_unsigned.exit40 ], [ %conv18, %cond.end67 ]
%26 = phi float [ %mul76, %if.then72 ], [ %conv9, %speex_bits_unpack_unsigned.exit40 ], [ %conv9, %cond.end67 ]
store i32 %add, i32* %pitch_val, align 4
store float %26, float* %gain_val, align 4
%arrayidx83 = getelementptr inbounds float* %gain_val, i32 1
store float %25, float* %arrayidx83, align 4
%arrayidx85 = getelementptr inbounds float* %gain_val, i32 2
store float %24, float* %arrayidx85, align 4
%27 = bitcast float* %exc_out to i8*
%mul92 = shl i32 %nsf, 2
call void @llvm.memset.p0i8.i32(i8* %27, i8 0, i32 %mul92, i32 4, i1 false)
%add100 = add i32 %add, 1
%28 = sub i32 -2, %retval.0.i
%29 = sub i32 %28, %start
%30 = xor i32 %nsf, -1
%31 = icmp sgt i32 %29, %30
%smax = select i1 %31, i32 %29, i32 %30
%32 = xor i32 %smax, -1
%cmp102 = icmp slt i32 %add100, %nsf
%sub101.nsf = select i1 %cmp102, i32 %add100, i32 %nsf
%cmp10641 = icmp sgt i32 %sub101.nsf, 0
br i1 %cmp10641, label %for.body107, label %for.end118
for.body107: ; preds = %for.body107, %if.end79
%j.042 = phi i32 [ %inc117, %for.body107 ], [ 0, %if.end79 ]
%arrayidx108 = getelementptr inbounds float* %exc_out, i32 %j.042
%33 = load float* %arrayidx108, align 4
%sub111 = sub nsw i32 %j.042, %add100
%arrayidx112 = getelementptr inbounds float* %exc, i32 %sub111
%34 = load float* %arrayidx112, align 4
%mul113 = fmul float %24, %34
%add114 = fadd float %33, %mul113
store float %add114, float* %arrayidx108, align 4
%inc117 = add nsw i32 %j.042, 1
%exitcond = icmp eq i32 %inc117, %32
br i1 %exitcond, label %for.end118, label %for.body107
for.end118: ; preds = %for.body107, %if.end79
%add119 = add nsw i32 %add100, %add
%cmp120 = icmp slt i32 %add119, %nsf
%add119.nsf = select i1 %cmp120, i32 %add119, i32 %nsf
%cmp12543 = icmp slt i32 %sub101.nsf, %add119.nsf
br i1 %cmp12543, label %for.body126, label %for.inc139
for.body126: ; preds = %for.body126, %for.end118
%j.144 = phi i32 [ %inc137, %for.body126 ], [ %sub101.nsf, %for.end118 ]
%arrayidx127 = getelementptr inbounds float* %exc_out, i32 %j.144
%35 = load float* %arrayidx127, align 4
%sub131 = sub i32 %j.144, %add119
%arrayidx132 = getelementptr inbounds float* %exc, i32 %sub131
%36 = load float* %arrayidx132, align 4
%mul133 = fmul float %24, %36
%add134 = fadd float %35, %mul133
store float %add134, float* %arrayidx127, align 4
%inc137 = add nsw i32 %j.144, 1
%cmp125 = icmp slt i32 %inc137, %add119.nsf
br i1 %cmp125, label %for.body126, label %for.inc139
for.inc139: ; preds = %for.body126, %for.end118
%indvars.iv.next = add i32 %29, 1
%37 = icmp sgt i32 %indvars.iv.next, %30
%smax.1 = select i1 %37, i32 %indvars.iv.next, i32 %30
%38 = xor i32 %smax.1, -1
%cmp102.1 = icmp slt i32 %add, %nsf
%sub101.nsf.1 = select i1 %cmp102.1, i32 %add, i32 %nsf
%cmp10641.1 = icmp sgt i32 %sub101.nsf.1, 0
br i1 %cmp10641.1, label %for.body107.1, label %for.end118.1
for.body107.1: ; preds = %for.body107.1, %for.inc139
%j.042.1 = phi i32 [ %inc117.1, %for.body107.1 ], [ 0, %for.inc139 ]
%arrayidx108.1 = getelementptr inbounds float* %exc_out, i32 %j.042.1
%39 = load float* %arrayidx108.1, align 4
%sub111.1 = sub nsw i32 %j.042.1, %add
%arrayidx112.1 = getelementptr inbounds float* %exc, i32 %sub111.1
%40 = load float* %arrayidx112.1, align 4
%mul113.1 = fmul float %25, %40
%add114.1 = fadd float %39, %mul113.1
store float %add114.1, float* %arrayidx108.1, align 4
%inc117.1 = add nsw i32 %j.042.1, 1
%exitcond.1 = icmp eq i32 %inc117.1, %38
br i1 %exitcond.1, label %for.end118.1, label %for.body107.1
for.end118.1: ; preds = %for.body107.1, %for.inc139
%add119.1 = shl nsw i32 %add, 1
%cmp120.1 = icmp slt i32 %add119.1, %nsf
%add119.nsf.1 = select i1 %cmp120.1, i32 %add119.1, i32 %nsf
%cmp12543.1 = icmp slt i32 %sub101.nsf.1, %add119.nsf.1
br i1 %cmp12543.1, label %for.body126.1, label %for.inc139.1
for.body126.1: ; preds = %for.body126.1, %for.end118.1
%j.144.1 = phi i32 [ %inc137.1, %for.body126.1 ], [ %sub101.nsf.1, %for.end118.1 ]
%arrayidx127.1 = getelementptr inbounds float* %exc_out, i32 %j.144.1
%41 = load float* %arrayidx127.1, align 4
%sub131.1 = sub i32 %j.144.1, %add119.1
%arrayidx132.1 = getelementptr inbounds float* %exc, i32 %sub131.1
%42 = load float* %arrayidx132.1, align 4
%mul133.1 = fmul float %25, %42
%add134.1 = fadd float %41, %mul133.1
store float %add134.1, float* %arrayidx127.1, align 4
%inc137.1 = add nsw i32 %j.144.1, 1
%cmp125.1 = icmp slt i32 %inc137.1, %add119.nsf.1
br i1 %cmp125.1, label %for.body126.1, label %for.inc139.1
for.inc139.1: ; preds = %for.body126.1, %for.end118.1
%indvars.iv.next.1 = add i32 %29, 2
%43 = icmp sgt i32 %indvars.iv.next.1, %30
%smax.2 = select i1 %43, i32 %indvars.iv.next.1, i32 %30
%44 = xor i32 %smax.2, -1
%sub101.2 = add i32 %add, -1
%cmp102.2 = icmp slt i32 %sub101.2, %nsf
%sub101.nsf.2 = select i1 %cmp102.2, i32 %sub101.2, i32 %nsf
%cmp10641.2 = icmp sgt i32 %sub101.nsf.2, 0
br i1 %cmp10641.2, label %for.body107.2, label %for.end118.2
for.body107.2: ; preds = %for.body107.2, %for.inc139.1
%j.042.2 = phi i32 [ %inc117.2, %for.body107.2 ], [ 0, %for.inc139.1 ]
%arrayidx108.2 = getelementptr inbounds float* %exc_out, i32 %j.042.2
%45 = load float* %arrayidx108.2, align 4
%sub111.2 = sub nsw i32 %j.042.2, %sub101.2
%arrayidx112.2 = getelementptr inbounds float* %exc, i32 %sub111.2
%46 = load float* %arrayidx112.2, align 4
%mul113.2 = fmul float %26, %46
%add114.2 = fadd float %45, %mul113.2
store float %add114.2, float* %arrayidx108.2, align 4
%inc117.2 = add nsw i32 %j.042.2, 1
%exitcond.2 = icmp eq i32 %inc117.2, %44
br i1 %exitcond.2, label %for.end118.2, label %for.body107.2
for.end118.2: ; preds = %for.body107.2, %for.inc139.1
%add119.2 = add nsw i32 %sub101.2, %add
%cmp120.2 = icmp slt i32 %add119.2, %nsf
%add119.nsf.2 = select i1 %cmp120.2, i32 %add119.2, i32 %nsf
%cmp12543.2 = icmp slt i32 %sub101.nsf.2, %add119.nsf.2
br i1 %cmp12543.2, label %for.body126.2, label %for.inc139.2
for.body126.2: ; preds = %for.body126.2, %for.end118.2
%j.144.2 = phi i32 [ %inc137.2, %for.body126.2 ], [ %sub101.nsf.2, %for.end118.2 ]
%arrayidx127.2 = getelementptr inbounds float* %exc_out, i32 %j.144.2
%47 = load float* %arrayidx127.2, align 4
%sub131.2 = sub i32 %j.144.2, %add119.2
%arrayidx132.2 = getelementptr inbounds float* %exc, i32 %sub131.2
%48 = load float* %arrayidx132.2, align 4
%mul133.2 = fmul float %26, %48
%add134.2 = fadd float %47, %mul133.2
store float %add134.2, float* %arrayidx127.2, align 4
%inc137.2 = add nsw i32 %j.144.2, 1
%cmp125.2 = icmp slt i32 %inc137.2, %add119.nsf.2
br i1 %cmp125.2, label %for.body126.2, label %for.inc139.2
for.inc139.2: ; preds = %for.body126.2, %for.end118.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 ssp {
entry:
%0 = ptrtoint i8* %stack to i32
%1 = sub i32 0, %0
%and = and i32 %1, 3
%mul = shl i32 %nsf, 2
%add.ptr.sum = or i32 %and, %mul
%add.ptr1 = getelementptr inbounds i8* %stack, i32 %add.ptr.sum
%add.ptr1.sum = sub i32 %add.ptr.sum, %mul
%add.ptr3 = getelementptr inbounds i8* %stack, i32 %add.ptr1.sum
%2 = bitcast i8* %add.ptr3 to float*
%conv = fpext float %pitch_coef to double
%cmp = fcmp ogt double %conv, 9.900000e-01
%pitch_coef.addr.0 = select i1 %cmp, float 0x3FEFAE1480000000, float %pitch_coef
%cmp47 = icmp sgt i32 %nsf, 0
%cmp58 = icmp sgt i32 %start, 0
%or.cond9 = and i1 %cmp47, %cmp58
br i1 %or.cond9, label %for.body.lr.ph, label %for.cond9.preheader
for.body.lr.ph: ; preds = %entry
%3 = sub i32 0, %nsf
%4 = sub i32 0, %start
%5 = icmp ugt i32 %3, %4
%umax = select i1 %5, i32 %3, i32 %4
%6 = sub i32 0, %umax
br label %for.body
for.cond9.preheader: ; preds = %for.body, %entry
%i.0.lcssa = phi i32 [ 0, %entry ], [ %6, %for.body ]
%cmp105 = icmp slt i32 %i.0.lcssa, %nsf
br i1 %cmp105, label %for.body11, label %for.cond19.preheader
for.body: ; preds = %for.body, %for.body.lr.ph
%i.010 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.body ]
%sub6 = sub nsw i32 %i.010, %start
%arrayidx = getelementptr inbounds float* %exc2, i32 %sub6
%7 = load float* %arrayidx, align 4
%mul7 = fmul float %pitch_coef.addr.0, %7
%arrayidx8 = getelementptr inbounds float* %exc, i32 %i.010
store float %mul7, float* %arrayidx8, align 4
%inc = add nsw i32 %i.010, 1
%exitcond13 = icmp eq i32 %inc, %6
br i1 %exitcond13, label %for.cond9.preheader, label %for.body
for.cond19.preheader: ; preds = %for.body11, %for.cond9.preheader
br i1 %cmp47, label %for.body21, label %for.end26.thread
for.end26.thread: ; preds = %for.cond19.preheader
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %2, float* %ak, float* %awk1, float* %awk2, float* %2, i32 %nsf, i32 %p, i8* %add.ptr1)
br label %for.end36
for.body11: ; preds = %for.body11, %for.cond9.preheader
%i.16 = phi i32 [ %inc17, %for.body11 ], [ %i.0.lcssa, %for.cond9.preheader ]
%sub12 = sub nsw i32 %i.16, %start
%arrayidx13 = getelementptr inbounds float* %exc, i32 %sub12
%8 = load float* %arrayidx13, align 4
%mul14 = fmul float %pitch_coef.addr.0, %8
%arrayidx15 = getelementptr inbounds float* %exc, i32 %i.16
store float %mul14, float* %arrayidx15, align 4
%inc17 = add nsw i32 %i.16, 1
%exitcond12 = icmp eq i32 %inc17, %nsf
br i1 %exitcond12, label %for.cond19.preheader, label %for.body11
for.body21: ; preds = %for.body21, %for.cond19.preheader
%i.24 = phi i32 [ %inc25, %for.body21 ], [ 0, %for.cond19.preheader ]
%arrayidx22 = getelementptr inbounds float* %exc, i32 %i.24
%9 = load float* %arrayidx22, align 4
%arrayidx23 = getelementptr inbounds float* %2, i32 %i.24
store float %9, float* %arrayidx23, align 4
%inc25 = add nsw i32 %i.24, 1
%exitcond11 = icmp eq i32 %inc25, %nsf
br i1 %exitcond11, label %for.body29.preheader, label %for.body21
for.body29.preheader: ; preds = %for.body21
tail call fastcc void @_Z17syn_percep_zero16PKfS0_S0_S0_PfiiPc(float* %2, float* %ak, float* %awk1, float* %awk2, float* %2, i32 %nsf, i32 %p, i8* %add.ptr1)
br label %for.body29
for.body29: ; preds = %for.body29, %for.body29.preheader
%i.32 = phi i32 [ %inc35, %for.body29 ], [ 0, %for.body29.preheader ]
%arrayidx30 = getelementptr inbounds float* %target, i32 %i.32
%10 = load float* %arrayidx30, align 4
%arrayidx31 = getelementptr inbounds float* %2, i32 %i.32
%11 = load float* %arrayidx31, align 4
%sub32 = fsub float %10, %11
store float %sub32, float* %arrayidx30, align 4
%inc35 = add nsw i32 %i.32, 1
%exitcond = icmp eq i32 %inc35, %nsf
br i1 %exitcond, label %for.end36, label %for.body29
for.end36: ; preds = %for.body29, %for.end26.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 ssp {
entry:
%conv = fpext float %pitch_coef to double
%cmp = fcmp ogt double %conv, 9.900000e-01
%pitch_coef.addr.0 = select i1 %cmp, float 0x3FEFAE1480000000, float %pitch_coef
%cmp11 = icmp sgt i32 %nsf, 0
br i1 %cmp11, label %for.body, label %for.end
for.body: ; preds = %for.body, %entry
%i.02 = phi i32 [ %inc, %for.body ], [ 0, %entry ]
%sub = sub nsw i32 %i.02, %start
%arrayidx = getelementptr inbounds float* %exc, i32 %sub
%0 = load float* %arrayidx, align 4
%mul = fmul float %0, %pitch_coef.addr.0
%arrayidx2 = getelementptr inbounds float* %exc_out, i32 %i.02
store float %mul, float* %arrayidx2, align 4
%arrayidx4 = getelementptr inbounds float* %exc, i32 %i.02
store float %mul, float* %arrayidx4, align 4
%inc = add nsw i32 %i.02, 1
%exitcond = icmp eq i32 %inc, %nsf
br i1 %exitcond, label %for.end, label %for.body
for.end: ; preds = %for.body, %entry
store i32 %start, i32* %pitch_val, align 4
%arrayidx5 = getelementptr inbounds float* %gain_val, i32 2
store float 0.000000e+00, float* %arrayidx5, align 4
store float 0.000000e+00, float* %gain_val, align 4
%arrayidx7 = getelementptr inbounds float* %gain_val, i32 1
store float %pitch_coef.addr.0, float* %arrayidx7, align 4
ret void
}
define internal i32 @_Z13wb_mode_queryPKviPv(i8* nocapture %mode, i32 %request, i8* nocapture %ptr) nounwind ssp {
entry:
switch i32 %request, label %sw.default [
i32 0, label %sw.bb
i32 1, label %sw.bb1
]
sw.bb: ; preds = %entry
%frameSize = getelementptr inbounds i8* %mode, i32 4
%0 = bitcast i8* %frameSize to i32*
%1 = load i32* %0, align 4
%mul = shl nsw i32 %1, 1
%2 = bitcast i8* %ptr to i32*
store i32 %mul, i32* %2, align 4
br label %return
sw.bb1: ; preds = %entry
%3 = bitcast i8* %ptr to i32*
%4 = load i32* %3, align 4
%cmp = icmp eq i32 %4, 0
br i1 %cmp, label %if.then, label %if.else
if.then: ; preds = %sw.bb1
store i32 4, i32* %3, align 4
br label %return
if.else: ; preds = %sw.bb1
%submodes = getelementptr inbounds i8* %mode, i32 32
%5 = bitcast i8* %submodes to [8 x %struct.SpeexSubmode*]*
%arrayidx = getelementptr inbounds [8 x %struct.SpeexSubmode*]* %5, i32 0, i32 %4
%6 = load %struct.SpeexSubmode** %arrayidx, align 4
%cmp2 = icmp eq %struct.SpeexSubmode* %6, null
br i1 %cmp2, label %if.then3, label %if.else4
if.then3: ; preds = %if.else
store i32 -1, i32* %3, align 4
br label %return
if.else4: ; preds = %if.else
%bits_per_frame = getelementptr inbounds %struct.SpeexSubmode* %6, i32 0, i32 13
%7 = load i32* %bits_per_frame, align 4
store i32 %7, i32* %3, align 4
br label %return
sw.default: ; preds = %entry
%8 = load %struct.__sFILE** @stderr, align 4
%call.i = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %8, 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 %return
return: ; preds = %sw.default, %if.else4, %if.then3, %if.then, %sw.bb
%retval.0 = phi i32 [ -1, %sw.default ], [ 0, %if.then ], [ 0, %if.else4 ], [ 0, %if.then3 ], [ 0, %sw.bb ]
ret i32 %retval.0
}
define internal i8* @_Z15nb_encoder_initPK9SpeexMode(%struct.SpeexMode.58* %m) nounwind ssp {
entry:
%mode1 = getelementptr inbounds %struct.SpeexMode.58* %m, i32 0, i32 0
%0 = load i8** %mode1, align 4
%call.i.i = tail call fastcc i8* @malloc(i32 228) nounwind
%cmp4.i.i = icmp eq i8* %call.i.i, null
br i1 %cmp4.i.i, label %return, label %land.lhs.true5.i.i
land.lhs.true5.i.i: ; preds = %entry
%head.i.i = getelementptr inbounds i8* %call.i.i, i32 -4
%1 = bitcast i8* %head.i.i to i32*
%2 = load i32* %1, align 4
%and6.i.i = and i32 %2, 3
%cmp7.i.i = icmp eq i32 %and6.i.i, 0
br i1 %cmp7.i.i, label %if.end, label %if.then8.i.i
if.then8.i.i: ; preds = %land.lhs.true5.i.i
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i, i8 0, i32 228, i32 1, i1 false) nounwind
br label %if.end
if.end: ; preds = %if.then8.i.i, %land.lhs.true5.i.i
%call.i.i1 = tail call fastcc i8* @malloc(i32 32000) nounwind
%cmp4.i.i2 = icmp eq i8* %call.i.i1, null
br i1 %cmp4.i.i2, label %_Z19speex_alloc_scratchi.exit, label %land.lhs.true5.i.i6
land.lhs.true5.i.i6: ; preds = %if.end
%head.i.i3 = getelementptr inbounds i8* %call.i.i1, i32 -4
%3 = bitcast i8* %head.i.i3 to i32*
%4 = load i32* %3, align 4
%and6.i.i4 = and i32 %4, 3
%cmp7.i.i5 = icmp eq i32 %and6.i.i4, 0
br i1 %cmp7.i.i5, label %_Z19speex_alloc_scratchi.exit, label %if.then8.i.i7
if.then8.i.i7: ; preds = %land.lhs.true5.i.i6
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i1, i8 0, i32 32000, i32 1, i1 false) nounwind
br label %_Z19speex_alloc_scratchi.exit
_Z19speex_alloc_scratchi.exit: ; preds = %if.then8.i.i7, %land.lhs.true5.i.i6, %if.end
%stack = getelementptr inbounds i8* %call.i.i, i32 68
%5 = bitcast i8* %stack to i8**
store i8* %call.i.i1, i8** %5, align 4
%mode3 = bitcast i8* %call.i.i to %struct.SpeexMode.58**
store %struct.SpeexMode.58* %m, %struct.SpeexMode.58** %mode3, align 4
%frameSize = bitcast i8* %0 to i32*
%6 = load i32* %frameSize, align 4
%frameSize4 = getelementptr inbounds i8* %call.i.i, i32 8
%7 = bitcast i8* %frameSize4 to i32*
store i32 %6, i32* %7, align 4
%8 = load i32* %frameSize, align 4
%subframeSize = getelementptr inbounds i8* %0, i32 4
%9 = bitcast i8* %subframeSize to i32*
%10 = load i32* %9, align 4
%div = sdiv i32 %8, %10
%nbSubframes = getelementptr inbounds i8* %call.i.i, i32 16
%11 = bitcast i8* %nbSubframes to i32*
store i32 %div, i32* %11, align 4
%12 = load i32* %9, align 4
%subframeSize7 = getelementptr inbounds i8* %call.i.i, i32 12
%13 = bitcast i8* %subframeSize7 to i32*
store i32 %12, i32* %13, align 4
%add = add nsw i32 %6, %12
%windowSize = getelementptr inbounds i8* %call.i.i, i32 20
%14 = bitcast i8* %windowSize to i32*
store i32 %add, i32* %14, align 4
%lpcSize = getelementptr inbounds i8* %0, i32 8
%15 = bitcast i8* %lpcSize to i32*
%16 = load i32* %15, align 4
%lpcSize10 = getelementptr inbounds i8* %call.i.i, i32 24
%17 = bitcast i8* %lpcSize10 to i32*
store i32 %16, i32* %17, align 4
%gamma1 = getelementptr inbounds i8* %0, i32 20
%18 = bitcast i8* %gamma1 to float*
%19 = load float* %18, align 4
%gamma111 = getelementptr inbounds i8* %call.i.i, i32 56
%20 = bitcast i8* %gamma111 to float*
store float %19, float* %20, align 4
%gamma2 = getelementptr inbounds i8* %0, i32 24
%21 = bitcast i8* %gamma2 to float*
%22 = load float* %21, align 4
%gamma212 = getelementptr inbounds i8* %call.i.i, i32 60
%23 = bitcast i8* %gamma212 to float*
store float %22, float* %23, align 4
%pitchStart = getelementptr inbounds i8* %0, i32 12
%24 = bitcast i8* %pitchStart to i32*
%25 = load i32* %24, align 4
%min_pitch = getelementptr inbounds i8* %call.i.i, i32 28
%26 = bitcast i8* %min_pitch to i32*
store i32 %25, i32* %26, align 4
%pitchEnd = getelementptr inbounds i8* %0, i32 16
%27 = bitcast i8* %pitchEnd to i32*
%28 = load i32* %27, align 4
%max_pitch = getelementptr inbounds i8* %call.i.i, i32 32
%29 = bitcast i8* %max_pitch to i32*
store i32 %28, i32* %29, align 4
%lpc_floor = getelementptr inbounds i8* %0, i32 28
%30 = bitcast i8* %lpc_floor to float*
%31 = load float* %30, align 4
%lpc_floor13 = getelementptr inbounds i8* %call.i.i, i32 64
%32 = bitcast i8* %lpc_floor13 to float*
store float %31, float* %32, align 4
%submodes = getelementptr inbounds i8* %0, i32 32
%arraydecay = bitcast i8* %submodes to %struct.SpeexSubmode**
%submodes14 = getelementptr inbounds i8* %call.i.i, i32 208
%33 = bitcast i8* %submodes14 to %struct.SpeexSubmode***
store %struct.SpeexSubmode** %arraydecay, %struct.SpeexSubmode*** %33, align 4
%defaultSubmode = getelementptr inbounds i8* %0, i32 96
%34 = bitcast i8* %defaultSubmode to i32*
%35 = load i32* %34, align 4
%submodeSelect = getelementptr inbounds i8* %call.i.i, i32 216
%36 = bitcast i8* %submodeSelect to i32*
store i32 %35, i32* %36, align 4
%submodeID = getelementptr inbounds i8* %call.i.i, i32 212
%37 = bitcast i8* %submodeID to i32*
store i32 %35, i32* %37, align 4
%bounded_pitch = getelementptr inbounds i8* %call.i.i, i32 40
%38 = bitcast i8* %bounded_pitch to i32*
store i32 1, i32* %38, align 4
%encode_submode = getelementptr inbounds i8* %call.i.i, i32 204
%39 = bitcast i8* %encode_submode to i32*
store i32 1, i32* %39, align 4
%cumul_gain = getelementptr inbounds i8* %call.i.i, i32 36
%40 = bitcast i8* %cumul_gain to float*
store float 1.024000e+03, float* %40, align 4
%mul = shl i32 %12, 2
%call.i.i8 = tail call fastcc i8* @malloc(i32 %mul) nounwind
%cmp4.i.i9 = icmp eq i8* %call.i.i8, null
br i1 %cmp4.i.i9, label %_Z11speex_alloci.exit15, label %land.lhs.true5.i.i13
land.lhs.true5.i.i13: ; preds = %_Z19speex_alloc_scratchi.exit
%head.i.i10 = getelementptr inbounds i8* %call.i.i8, i32 -4
%41 = bitcast i8* %head.i.i10 to i32*
%42 = load i32* %41, align 4
%and6.i.i11 = and i32 %42, 3
%cmp7.i.i12 = icmp eq i32 %and6.i.i11, 0
br i1 %cmp7.i.i12, label %_Z11speex_alloci.exit15, label %if.then8.i.i14
if.then8.i.i14: ; preds = %land.lhs.true5.i.i13
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i8, i8 0, i32 %mul, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit15
_Z11speex_alloci.exit15: ; preds = %if.then8.i.i14, %land.lhs.true5.i.i13, %_Z19speex_alloc_scratchi.exit
%43 = bitcast i8* %call.i.i8 to float*
%winBuf = getelementptr inbounds i8* %call.i.i, i32 72
%44 = bitcast i8* %winBuf to float**
store float* %43, float** %44, align 4
%45 = load i32* %frameSize, align 4
%46 = load i32* %27, align 4
%add20 = add nsw i32 %46, %45
%add21 = shl i32 %add20, 2
%mul22 = add i32 %add21, 8
%call.i.i16 = tail call fastcc i8* @malloc(i32 %mul22) nounwind
%cmp4.i.i17 = icmp eq i8* %call.i.i16, null
br i1 %cmp4.i.i17, label %_Z11speex_alloci.exit23, label %land.lhs.true5.i.i21
land.lhs.true5.i.i21: ; preds = %_Z11speex_alloci.exit15
%head.i.i18 = getelementptr inbounds i8* %call.i.i16, i32 -4
%47 = bitcast i8* %head.i.i18 to i32*
%48 = load i32* %47, align 4
%and6.i.i19 = and i32 %48, 3
%cmp7.i.i20 = icmp eq i32 %and6.i.i19, 0
br i1 %cmp7.i.i20, label %_Z11speex_alloci.exit23, label %if.then8.i.i22
if.then8.i.i22: ; preds = %land.lhs.true5.i.i21
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i16, i8 0, i32 %mul22, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit23
_Z11speex_alloci.exit23: ; preds = %if.then8.i.i22, %land.lhs.true5.i.i21, %_Z11speex_alloci.exit15
%49 = bitcast i8* %call.i.i16 to float*
%excBuf = getelementptr inbounds i8* %call.i.i, i32 76
%50 = bitcast i8* %excBuf to float**
store float* %49, float** %50, align 4
%51 = load i32* %27, align 4
%add.ptr.sum = add i32 %51, 2
%add.ptr26 = getelementptr inbounds float* %49, i32 %add.ptr.sum
%exc = getelementptr inbounds i8* %call.i.i, i32 80
%52 = bitcast i8* %exc to float**
store float* %add.ptr26, float** %52, align 4
%53 = load i32* %frameSize, align 4
%54 = load i32* %27, align 4
%add29 = add nsw i32 %54, %53
%add30 = shl i32 %add29, 2
%mul31 = add i32 %add30, 8
%call.i.i24 = tail call fastcc i8* @malloc(i32 %mul31) nounwind
%cmp4.i.i25 = icmp eq i8* %call.i.i24, null
br i1 %cmp4.i.i25, label %_Z11speex_alloci.exit31, label %land.lhs.true5.i.i29
land.lhs.true5.i.i29: ; preds = %_Z11speex_alloci.exit23
%head.i.i26 = getelementptr inbounds i8* %call.i.i24, i32 -4
%55 = bitcast i8* %head.i.i26 to i32*
%56 = load i32* %55, align 4
%and6.i.i27 = and i32 %56, 3
%cmp7.i.i28 = icmp eq i32 %and6.i.i27, 0
br i1 %cmp7.i.i28, label %_Z11speex_alloci.exit31, label %if.then8.i.i30
if.then8.i.i30: ; preds = %land.lhs.true5.i.i29
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i24, i8 0, i32 %mul31, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit31
_Z11speex_alloci.exit31: ; preds = %if.then8.i.i30, %land.lhs.true5.i.i29, %_Z11speex_alloci.exit23
%57 = bitcast i8* %call.i.i24 to float*
%swBuf = getelementptr inbounds i8* %call.i.i, i32 84
%58 = bitcast i8* %swBuf to float**
store float* %57, float** %58, align 4
%59 = load i32* %27, align 4
%add.ptr35.sum = add i32 %59, 2
%add.ptr36 = getelementptr inbounds float* %57, i32 %add.ptr35.sum
%sw = getelementptr inbounds i8* %call.i.i, i32 88
%60 = bitcast i8* %sw to float**
store float* %add.ptr36, float** %60, align 4
%window = getelementptr inbounds i8* %call.i.i, i32 92
%61 = bitcast i8* %window to float**
store float* getelementptr inbounds ([200 x float]* @_ZL13nb_lpc_window, i32 0, i32 0), float** %61, align 4
%lagWindow = getelementptr inbounds i8* %call.i.i, i32 96
%62 = bitcast i8* %lagWindow to float**
store float* getelementptr inbounds ([11 x float]* @_ZL13nb_lag_window, i32 0, i32 0), float** %62, align 4
%63 = load i32* %17, align 4
%mul38 = shl i32 %63, 2
%call.i.i32 = tail call fastcc i8* @malloc(i32 %mul38) nounwind
%cmp4.i.i33 = icmp eq i8* %call.i.i32, null
br i1 %cmp4.i.i33, label %_Z11speex_alloci.exit39, label %land.lhs.true5.i.i37
land.lhs.true5.i.i37: ; preds = %_Z11speex_alloci.exit31
%head.i.i34 = getelementptr inbounds i8* %call.i.i32, i32 -4
%64 = bitcast i8* %head.i.i34 to i32*
%65 = load i32* %64, align 4
%and6.i.i35 = and i32 %65, 3
%cmp7.i.i36 = icmp eq i32 %and6.i.i35, 0
br i1 %cmp7.i.i36, label %_Z11speex_alloci.exit39, label %if.then8.i.i38
if.then8.i.i38: ; preds = %land.lhs.true5.i.i37
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i32, i8 0, i32 %mul38, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit39
_Z11speex_alloci.exit39: ; preds = %if.then8.i.i38, %land.lhs.true5.i.i37, %_Z11speex_alloci.exit31
%66 = bitcast i8* %call.i.i32 to float*
%old_lsp = getelementptr inbounds i8* %call.i.i, i32 100
%67 = bitcast i8* %old_lsp to float**
store float* %66, float** %67, align 4
%68 = load i32* %17, align 4
%mul41 = shl i32 %68, 2
%call.i.i40 = tail call fastcc i8* @malloc(i32 %mul41) nounwind
%cmp4.i.i41 = icmp eq i8* %call.i.i40, null
br i1 %cmp4.i.i41, label %_Z11speex_alloci.exit47, label %land.lhs.true5.i.i45
land.lhs.true5.i.i45: ; preds = %_Z11speex_alloci.exit39
%head.i.i42 = getelementptr inbounds i8* %call.i.i40, i32 -4
%69 = bitcast i8* %head.i.i42 to i32*
%70 = load i32* %69, align 4
%and6.i.i43 = and i32 %70, 3
%cmp7.i.i44 = icmp eq i32 %and6.i.i43, 0
br i1 %cmp7.i.i44, label %_Z11speex_alloci.exit47, label %if.then8.i.i46
if.then8.i.i46: ; preds = %land.lhs.true5.i.i45
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i40, i8 0, i32 %mul41, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit47
_Z11speex_alloci.exit47: ; preds = %if.then8.i.i46, %land.lhs.true5.i.i45, %_Z11speex_alloci.exit39
%71 = bitcast i8* %call.i.i40 to float*
%old_qlsp = getelementptr inbounds i8* %call.i.i, i32 104
%72 = bitcast i8* %old_qlsp to float**
store float* %71, float** %72, align 4
%first = getelementptr inbounds i8* %call.i.i, i32 4
%73 = bitcast i8* %first to i32*
store i32 1, i32* %73, align 4
%74 = load i32* %17, align 4
%cmp112 = icmp sgt i32 %74, 0
br i1 %cmp112, label %for.body, label %for.end
for.body: ; preds = %for.body, %_Z11speex_alloci.exit47
%75 = phi i32 [ %77, %for.body ], [ %74, %_Z11speex_alloci.exit47 ]
%i.0113 = phi i32 [ %add44, %for.body ], [ 0, %_Z11speex_alloci.exit47 ]
%add44 = add nsw i32 %i.0113, 1
%conv = sitofp i32 %add44 to float
%mul45 = fmul float %conv, 0x400921FB60000000
%add47 = add nsw i32 %75, 1
%conv48 = sitofp i32 %add47 to float
%div49 = fdiv float %mul45, %conv48
%76 = load float** %67, align 4
%arrayidx = getelementptr inbounds float* %76, i32 %i.0113
store float %div49, float* %arrayidx, align 4
%77 = load i32* %17, align 4
%cmp = icmp slt i32 %add44, %77
br i1 %cmp, label %for.body, label %for.end
for.end: ; preds = %for.body, %_Z11speex_alloci.exit47
%.lcssa = phi i32 [ %74, %_Z11speex_alloci.exit47 ], [ %77, %for.body ]
%mul52 = shl i32 %.lcssa, 2
%call.i.i48 = tail call fastcc i8* @malloc(i32 %mul52) nounwind
%cmp4.i.i49 = icmp eq i8* %call.i.i48, null
br i1 %cmp4.i.i49, label %_Z11speex_alloci.exit55, label %land.lhs.true5.i.i53
land.lhs.true5.i.i53: ; preds = %for.end
%head.i.i50 = getelementptr inbounds i8* %call.i.i48, i32 -4
%78 = bitcast i8* %head.i.i50 to i32*
%79 = load i32* %78, align 4
%and6.i.i51 = and i32 %79, 3
%cmp7.i.i52 = icmp eq i32 %and6.i.i51, 0
br i1 %cmp7.i.i52, label %_Z11speex_alloci.exit55, label %if.then8.i.i54
if.then8.i.i54: ; preds = %land.lhs.true5.i.i53
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i48, i8 0, i32 %mul52, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit55
_Z11speex_alloci.exit55: ; preds = %if.then8.i.i54, %land.lhs.true5.i.i53, %for.end
%80 = bitcast i8* %call.i.i48 to float*
%mem_sp = getelementptr inbounds i8* %call.i.i, i32 108
%81 = bitcast i8* %mem_sp to float**
store float* %80, float** %81, align 4
%82 = load i32* %17, align 4
%mul55 = shl i32 %82, 2
%call.i.i56 = tail call fastcc i8* @malloc(i32 %mul55) nounwind
%cmp4.i.i57 = icmp eq i8* %call.i.i56, null
br i1 %cmp4.i.i57, label %_Z11speex_alloci.exit63, label %land.lhs.true5.i.i61
land.lhs.true5.i.i61: ; preds = %_Z11speex_alloci.exit55
%head.i.i58 = getelementptr inbounds i8* %call.i.i56, i32 -4
%83 = bitcast i8* %head.i.i58 to i32*
%84 = load i32* %83, align 4
%and6.i.i59 = and i32 %84, 3
%cmp7.i.i60 = icmp eq i32 %and6.i.i59, 0
br i1 %cmp7.i.i60, label %_Z11speex_alloci.exit63, label %if.then8.i.i62
if.then8.i.i62: ; preds = %land.lhs.true5.i.i61
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i56, i8 0, i32 %mul55, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit63
_Z11speex_alloci.exit63: ; preds = %if.then8.i.i62, %land.lhs.true5.i.i61, %_Z11speex_alloci.exit55
%85 = bitcast i8* %call.i.i56 to float*
%mem_sw = getelementptr inbounds i8* %call.i.i, i32 112
%86 = bitcast i8* %mem_sw to float**
store float* %85, float** %86, align 4
%87 = load i32* %17, align 4
%mul58 = shl i32 %87, 2
%call.i.i64 = tail call fastcc i8* @malloc(i32 %mul58) nounwind
%cmp4.i.i65 = icmp eq i8* %call.i.i64, null
br i1 %cmp4.i.i65, label %_Z11speex_alloci.exit71, label %land.lhs.true5.i.i69
land.lhs.true5.i.i69: ; preds = %_Z11speex_alloci.exit63
%head.i.i66 = getelementptr inbounds i8* %call.i.i64, i32 -4
%88 = bitcast i8* %head.i.i66 to i32*
%89 = load i32* %88, align 4
%and6.i.i67 = and i32 %89, 3
%cmp7.i.i68 = icmp eq i32 %and6.i.i67, 0
br i1 %cmp7.i.i68, label %_Z11speex_alloci.exit71, label %if.then8.i.i70
if.then8.i.i70: ; preds = %land.lhs.true5.i.i69
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i64, i8 0, i32 %mul58, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit71
_Z11speex_alloci.exit71: ; preds = %if.then8.i.i70, %land.lhs.true5.i.i69, %_Z11speex_alloci.exit63
%90 = bitcast i8* %call.i.i64 to float*
%mem_sw_whole = getelementptr inbounds i8* %call.i.i, i32 116
%91 = bitcast i8* %mem_sw_whole to float**
store float* %90, float** %91, align 4
%92 = load i32* %17, align 4
%mul61 = shl i32 %92, 2
%call.i.i72 = tail call fastcc i8* @malloc(i32 %mul61) nounwind
%cmp4.i.i73 = icmp eq i8* %call.i.i72, null
br i1 %cmp4.i.i73, label %_Z11speex_alloci.exit79, label %land.lhs.true5.i.i77
land.lhs.true5.i.i77: ; preds = %_Z11speex_alloci.exit71
%head.i.i74 = getelementptr inbounds i8* %call.i.i72, i32 -4
%93 = bitcast i8* %head.i.i74 to i32*
%94 = load i32* %93, align 4
%and6.i.i75 = and i32 %94, 3
%cmp7.i.i76 = icmp eq i32 %and6.i.i75, 0
br i1 %cmp7.i.i76, label %_Z11speex_alloci.exit79, label %if.then8.i.i78
if.then8.i.i78: ; preds = %land.lhs.true5.i.i77
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i72, i8 0, i32 %mul61, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit79
_Z11speex_alloci.exit79: ; preds = %if.then8.i.i78, %land.lhs.true5.i.i77, %_Z11speex_alloci.exit71
%95 = bitcast i8* %call.i.i72 to float*
%mem_exc = getelementptr inbounds i8* %call.i.i, i32 120
%96 = bitcast i8* %mem_exc to float**
store float* %95, float** %96, align 4
%97 = load i32* %17, align 4
%mul64 = shl i32 %97, 2
%call.i.i80 = tail call fastcc i8* @malloc(i32 %mul64) nounwind
%cmp4.i.i81 = icmp eq i8* %call.i.i80, null
br i1 %cmp4.i.i81, label %_Z11speex_alloci.exit87, label %land.lhs.true5.i.i85
land.lhs.true5.i.i85: ; preds = %_Z11speex_alloci.exit79
%head.i.i82 = getelementptr inbounds i8* %call.i.i80, i32 -4
%98 = bitcast i8* %head.i.i82 to i32*
%99 = load i32* %98, align 4
%and6.i.i83 = and i32 %99, 3
%cmp7.i.i84 = icmp eq i32 %and6.i.i83, 0
br i1 %cmp7.i.i84, label %_Z11speex_alloci.exit87, label %if.then8.i.i86
if.then8.i.i86: ; preds = %land.lhs.true5.i.i85
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i80, i8 0, i32 %mul64, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit87
_Z11speex_alloci.exit87: ; preds = %if.then8.i.i86, %land.lhs.true5.i.i85, %_Z11speex_alloci.exit79
%100 = bitcast i8* %call.i.i80 to float*
%mem_exc2 = getelementptr inbounds i8* %call.i.i, i32 124
%101 = bitcast i8* %mem_exc2 to float**
store float* %100, float** %101, align 4
%102 = load i32* %11, align 4
%mul67 = shl i32 %102, 2
%call.i.i88 = tail call fastcc i8* @malloc(i32 %mul67) nounwind
%cmp4.i.i89 = icmp eq i8* %call.i.i88, null
br i1 %cmp4.i.i89, label %_Z11speex_alloci.exit95, label %land.lhs.true5.i.i93
land.lhs.true5.i.i93: ; preds = %_Z11speex_alloci.exit87
%head.i.i90 = getelementptr inbounds i8* %call.i.i88, i32 -4
%103 = bitcast i8* %head.i.i90 to i32*
%104 = load i32* %103, align 4
%and6.i.i91 = and i32 %104, 3
%cmp7.i.i92 = icmp eq i32 %and6.i.i91, 0
br i1 %cmp7.i.i92, label %_Z11speex_alloci.exit95, label %if.then8.i.i94
if.then8.i.i94: ; preds = %land.lhs.true5.i.i93
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i88, i8 0, i32 %mul67, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit95
_Z11speex_alloci.exit95: ; preds = %if.then8.i.i94, %land.lhs.true5.i.i93, %_Z11speex_alloci.exit87
%105 = bitcast i8* %call.i.i88 to float*
%pi_gain = getelementptr inbounds i8* %call.i.i, i32 136
%106 = bitcast i8* %pi_gain to float**
store float* %105, float** %106, align 4
%innov_rms_save = getelementptr inbounds i8* %call.i.i, i32 140
%107 = bitcast i8* %innov_rms_save to float**
store float* null, float** %107, align 4
%108 = load i32* %11, align 4
%mul70 = shl i32 %108, 2
%call.i.i96 = tail call fastcc i8* @malloc(i32 %mul70) nounwind
%cmp4.i.i97 = icmp eq i8* %call.i.i96, null
br i1 %cmp4.i.i97, label %_Z11speex_alloci.exit103, label %land.lhs.true5.i.i101
land.lhs.true5.i.i101: ; preds = %_Z11speex_alloci.exit95
%head.i.i98 = getelementptr inbounds i8* %call.i.i96, i32 -4
%109 = bitcast i8* %head.i.i98 to i32*
%110 = load i32* %109, align 4
%and6.i.i99 = and i32 %110, 3
%cmp7.i.i100 = icmp eq i32 %and6.i.i99, 0
br i1 %cmp7.i.i100, label %_Z11speex_alloci.exit103, label %if.then8.i.i102
if.then8.i.i102: ; preds = %land.lhs.true5.i.i101
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i96, i8 0, i32 %mul70, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit103
_Z11speex_alloci.exit103: ; preds = %if.then8.i.i102, %land.lhs.true5.i.i101, %_Z11speex_alloci.exit95
%111 = bitcast i8* %call.i.i96 to i32*
%pitch = getelementptr inbounds i8* %call.i.i, i32 52
%112 = bitcast i8* %pitch to i32**
store i32* %111, i32** %112, align 4
%call.i.i104 = tail call fastcc i8* @malloc(i32 64) nounwind
%cmp4.i.i105 = icmp eq i8* %call.i.i104, null
br i1 %cmp4.i.i105, label %_Z11speex_alloci.exit111, label %land.lhs.true5.i.i109
land.lhs.true5.i.i109: ; preds = %_Z11speex_alloci.exit103
%head.i.i106 = getelementptr inbounds i8* %call.i.i104, i32 -4
%113 = bitcast i8* %head.i.i106 to i32*
%114 = load i32* %113, align 4
%and6.i.i107 = and i32 %114, 3
%cmp7.i.i108 = icmp eq i32 %and6.i.i107, 0
br i1 %cmp7.i.i108, label %_Z11speex_alloci.exit111, label %if.then8.i.i110
if.then8.i.i110: ; preds = %land.lhs.true5.i.i109
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i104, i8 0, i32 64, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit111
_Z11speex_alloci.exit111: ; preds = %if.then8.i.i110, %land.lhs.true5.i.i109, %_Z11speex_alloci.exit103
%115 = bitcast i8* %call.i.i104 to %struct.VBRState*
%vbr = getelementptr inbounds i8* %call.i.i, i32 144
%116 = bitcast i8* %vbr to %struct.VBRState**
store %struct.VBRState* %115, %struct.VBRState** %116, align 4
%average_energy.i = getelementptr inbounds i8* %call.i.i104, i32 4
%117 = bitcast i8* %average_energy.i to float*
store float 0.000000e+00, float* %117, align 4
%last_energy.i = getelementptr inbounds i8* %call.i.i104, i32 8
%118 = bitcast i8* %last_energy.i to float*
store float 1.000000e+00, float* %118, align 4
%accum_sum.i = getelementptr inbounds i8* %call.i.i104, i32 32
%119 = bitcast i8* %accum_sum.i to float*
store float 0.000000e+00, float* %119, align 4
%energy_alpha.i = bitcast i8* %call.i.i104 to float*
store float 0x3FB99999A0000000, float* %energy_alpha.i, align 4
%soft_pitch.i = getelementptr inbounds i8* %call.i.i104, i32 40
%120 = bitcast i8* %soft_pitch.i to float*
store float 0.000000e+00, float* %120, align 4
%last_pitch_coef.i = getelementptr inbounds i8* %call.i.i104, i32 36
%121 = bitcast i8* %last_pitch_coef.i to float*
store float 0.000000e+00, float* %121, align 4
%last_quality.i = getelementptr inbounds i8* %call.i.i104, i32 44
%122 = bitcast i8* %last_quality.i to float*
store float 0.000000e+00, float* %122, align 4
%noise_accum.i = getelementptr inbounds i8* %call.i.i104, i32 52
%123 = bitcast i8* %noise_accum.i to float*
store float 0x3FE5C15C40000000, float* %123, align 4
%noise_accum_count.i = getelementptr inbounds i8* %call.i.i104, i32 56
%124 = bitcast i8* %noise_accum_count.i to float*
store float 0x3FA99999A0000000, float* %124, align 4
%noise_level.i = getelementptr inbounds i8* %call.i.i104, i32 48
%125 = bitcast i8* %noise_level.i to float*
store float 0x402B31B340000000, float* %125, align 4
%consec_noise.i = getelementptr inbounds i8* %call.i.i104, i32 60
%126 = bitcast i8* %consec_noise.i to i32*
store i32 0, i32* %126, align 4
%arrayidx.i = getelementptr inbounds i8* %call.i.i104, i32 12
%127 = bitcast i8* %arrayidx.i to float*
store float 0x40216626C0000000, float* %127, align 4
%arrayidx.1.i = getelementptr inbounds i8* %call.i.i104, i32 16
%128 = bitcast i8* %arrayidx.1.i to float*
store float 0x40216626C0000000, float* %128, align 4
%arrayidx.2.i = getelementptr inbounds i8* %call.i.i104, i32 20
%129 = bitcast i8* %arrayidx.2.i to float*
store float 0x40216626C0000000, float* %129, align 4
%arrayidx.3.i = getelementptr inbounds i8* %call.i.i104, i32 24
%130 = bitcast i8* %arrayidx.3.i to float*
store float 0x40216626C0000000, float* %130, align 4
%arrayidx.4.i = getelementptr inbounds i8* %call.i.i104, i32 28
%131 = bitcast i8* %arrayidx.4.i to float*
store float 0x40216626C0000000, float* %131, align 4
%vbr_quality = getelementptr inbounds i8* %call.i.i, i32 148
%132 = bitcast i8* %vbr_quality to float*
store float 8.000000e+00, float* %132, align 4
%vbr_enabled = getelementptr inbounds i8* %call.i.i, i32 156
%plc_tuning = getelementptr inbounds i8* %call.i.i, i32 200
%133 = bitcast i8* %plc_tuning to i32*
call void @llvm.memset.p0i8.i64(i8* %vbr_enabled, i8 0, i64 32, i32 4, i1 false)
store i32 2, i32* %133, align 4
%complexity = getelementptr inbounds i8* %call.i.i, i32 192
%134 = bitcast i8* %complexity to i32*
store i32 2, i32* %134, align 4
%sampling_rate = getelementptr inbounds i8* %call.i.i, i32 196
%135 = bitcast i8* %sampling_rate to i32*
store i32 8000, i32* %135, align 4
%isWideband = getelementptr inbounds i8* %call.i.i, i32 220
%136 = bitcast i8* %isWideband to i32*
store i32 0, i32* %136, align 4
%highpass_enabled = getelementptr inbounds i8* %call.i.i, i32 224
%137 = bitcast i8* %highpass_enabled to i32*
store i32 1, i32* %137, align 4
br label %return
return: ; preds = %_Z11speex_alloci.exit111, %entry
%retval.0 = phi i8* [ %call.i.i, %_Z11speex_alloci.exit111 ], [ null, %entry ]
ret i8* %retval.0
}
define internal void @_Z18nb_encoder_destroyPv(i8* %state) nounwind ssp {
entry:
%stack = getelementptr inbounds i8* %state, i32 68
%0 = bitcast i8* %stack to i8**
%1 = load i8** %0, align 4
tail call void @free(i8* %1) nounwind
%winBuf = getelementptr inbounds i8* %state, i32 72
%2 = bitcast i8* %winBuf to float**
%3 = load float** %2, align 4
%4 = bitcast float* %3 to i8*
tail call void @free(i8* %4) nounwind
%excBuf = getelementptr inbounds i8* %state, i32 76
%5 = bitcast i8* %excBuf to float**
%6 = load float** %5, align 4
%7 = bitcast float* %6 to i8*
tail call void @free(i8* %7) nounwind
%old_qlsp = getelementptr inbounds i8* %state, i32 104
%8 = bitcast i8* %old_qlsp to float**
%9 = load float** %8, align 4
%10 = bitcast float* %9 to i8*
tail call void @free(i8* %10) nounwind
%swBuf = getelementptr inbounds i8* %state, i32 84
%11 = bitcast i8* %swBuf to float**
%12 = load float** %11, align 4
%13 = bitcast float* %12 to i8*
tail call void @free(i8* %13) nounwind
%old_lsp = getelementptr inbounds i8* %state, i32 100
%14 = bitcast i8* %old_lsp to float**
%15 = load float** %14, align 4
%16 = bitcast float* %15 to i8*
tail call void @free(i8* %16) nounwind
%mem_sp = getelementptr inbounds i8* %state, i32 108
%17 = bitcast i8* %mem_sp to float**
%18 = load float** %17, align 4
%19 = bitcast float* %18 to i8*
tail call void @free(i8* %19) nounwind
%mem_sw = getelementptr inbounds i8* %state, i32 112
%20 = bitcast i8* %mem_sw to float**
%21 = load float** %20, align 4
%22 = bitcast float* %21 to i8*
tail call void @free(i8* %22) nounwind
%mem_sw_whole = getelementptr inbounds i8* %state, i32 116
%23 = bitcast i8* %mem_sw_whole to float**
%24 = load float** %23, align 4
%25 = bitcast float* %24 to i8*
tail call void @free(i8* %25) nounwind
%mem_exc = getelementptr inbounds i8* %state, i32 120
%26 = bitcast i8* %mem_exc to float**
%27 = load float** %26, align 4
%28 = bitcast float* %27 to i8*
tail call void @free(i8* %28) nounwind
%mem_exc2 = getelementptr inbounds i8* %state, i32 124
%29 = bitcast i8* %mem_exc2 to float**
%30 = load float** %29, align 4
%31 = bitcast float* %30 to i8*
tail call void @free(i8* %31) nounwind
%pi_gain = getelementptr inbounds i8* %state, i32 136
%32 = bitcast i8* %pi_gain to float**
%33 = load float** %32, align 4
%34 = bitcast float* %33 to i8*
tail call void @free(i8* %34) nounwind
%pitch = getelementptr inbounds i8* %state, i32 52
%35 = bitcast i8* %pitch to i32**
%36 = load i32** %35, align 4
%37 = bitcast i32* %36 to i8*
tail call void @free(i8* %37) nounwind
%vbr = getelementptr inbounds i8* %state, i32 144
%38 = bitcast i8* %vbr to %struct.VBRState**
%39 = load %struct.VBRState** %38, align 4
%40 = bitcast %struct.VBRState* %39 to i8*
tail call void @free(i8* %40) nounwind
tail call void @free(i8* %state) nounwind
ret void
}
define internal i32 @_Z9nb_encodePvS_P9SpeexBits(i8* %state, i8* nocapture %vin, %struct.SpeexBits* %bits) ssp {
entry:
%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
%0 = bitcast i8* %vin to float*
%stack1 = getelementptr inbounds i8* %state, i32 68
%1 = bitcast i8* %stack1 to i8**
%2 = load i8** %1, align 4
%3 = ptrtoint i8* %2 to i32
%4 = sub i32 0, %3
%and = and i32 %4, 3
%lpcSize = getelementptr inbounds i8* %state, i32 24
%5 = bitcast i8* %lpcSize to i32*
%6 = load i32* %5, align 4
%mul = shl i32 %6, 2
%add.ptr.sum = or i32 %and, %mul
%add.ptr3 = getelementptr inbounds i8* %2, i32 %add.ptr.sum
%add.ptr3.sum = sub i32 %add.ptr.sum, %mul
%add.ptr6 = getelementptr inbounds i8* %2, i32 %add.ptr3.sum
%7 = bitcast i8* %add.ptr6 to float*
%8 = ptrtoint i8* %add.ptr3 to i32
%9 = sub i32 0, %8
%and8 = and i32 %9, 3
%add.ptr3.sum1 = add i32 %and8, %add.ptr.sum
%add.ptr9.sum = add i32 %add.ptr3.sum1, %mul
%add.ptr12 = getelementptr inbounds i8* %2, i32 %add.ptr9.sum
%add.ptr16 = getelementptr inbounds i8* %2, i32 %add.ptr3.sum1
%10 = bitcast i8* %add.ptr16 to float*
%11 = ptrtoint i8* %add.ptr12 to i32
%12 = sub i32 0, %11
%and18 = and i32 %12, 3
%add.ptr12.sum2 = add i32 %and18, %add.ptr9.sum
%add.ptr19.sum = add i32 %add.ptr12.sum2, %mul
%add.ptr22 = getelementptr inbounds i8* %2, i32 %add.ptr19.sum
%add.ptr26 = getelementptr inbounds i8* %2, i32 %add.ptr12.sum2
%13 = bitcast i8* %add.ptr26 to float*
%14 = ptrtoint i8* %add.ptr22 to i32
%15 = sub i32 0, %14
%and28 = and i32 %15, 3
%add.ptr22.sum3 = add i32 %and28, %add.ptr19.sum
%add.ptr29.sum = add i32 %add.ptr22.sum3, %mul
%add.ptr32 = getelementptr inbounds i8* %2, i32 %add.ptr29.sum
%add.ptr36 = getelementptr inbounds i8* %2, i32 %add.ptr22.sum3
%16 = bitcast i8* %add.ptr36 to float*
%17 = ptrtoint i8* %add.ptr32 to i32
%18 = sub i32 0, %17
%and38 = and i32 %18, 3
%add.ptr32.sum4 = add i32 %and38, %add.ptr29.sum
%add.ptr39.sum = add i32 %add.ptr32.sum4, %mul
%add.ptr42 = getelementptr inbounds i8* %2, i32 %add.ptr39.sum
%add.ptr46 = getelementptr inbounds i8* %2, i32 %add.ptr32.sum4
%19 = bitcast i8* %add.ptr46 to float*
%20 = ptrtoint i8* %add.ptr42 to i32
%21 = sub i32 0, %20
%and48 = and i32 %21, 3
%add.ptr42.sum5 = add i32 %and48, %add.ptr39.sum
%add.ptr49.sum = add i32 %add.ptr42.sum5, %mul
%add.ptr52 = getelementptr inbounds i8* %2, i32 %add.ptr49.sum
%add.ptr56 = getelementptr inbounds i8* %2, i32 %add.ptr42.sum5
%22 = bitcast i8* %add.ptr56 to float*
%23 = ptrtoint i8* %add.ptr52 to i32
%24 = sub i32 0, %23
%and58 = and i32 %24, 3
%add.ptr52.sum6 = add i32 %and58, %add.ptr49.sum
%add.ptr59.sum = add i32 %add.ptr52.sum6, %mul
%add.ptr62 = getelementptr inbounds i8* %2, i32 %add.ptr59.sum
%add.ptr66 = getelementptr inbounds i8* %2, i32 %add.ptr52.sum6
%25 = bitcast i8* %add.ptr66 to float*
%26 = ptrtoint i8* %add.ptr62 to i32
%27 = sub i32 0, %26
%and68 = and i32 %27, 3
%add.ptr62.sum7 = add i32 %and68, %add.ptr59.sum
%add.ptr69.sum = add i32 %add.ptr62.sum7, %mul
%add.ptr72 = getelementptr inbounds i8* %2, i32 %add.ptr69.sum
%add.ptr76 = getelementptr inbounds i8* %2, i32 %add.ptr62.sum7
%28 = bitcast i8* %add.ptr76 to float*
%29 = ptrtoint i8* %add.ptr72 to i32
%30 = sub i32 0, %29
%and78 = and i32 %30, 3
%add.ptr72.sum8 = add i32 %and78, %add.ptr69.sum
%add.ptr79.sum = add i32 %add.ptr72.sum8, %mul
%add.ptr82 = getelementptr inbounds i8* %2, i32 %add.ptr79.sum
%add.ptr86 = getelementptr inbounds i8* %2, i32 %add.ptr72.sum8
%31 = bitcast i8* %add.ptr86 to float*
%excBuf = getelementptr inbounds i8* %state, i32 76
%32 = bitcast i8* %excBuf to float**
%33 = load float** %32, align 4
%34 = bitcast float* %33 to i8*
%frameSize = getelementptr inbounds i8* %state, i32 8
%35 = bitcast i8* %frameSize to i32*
%36 = load i32* %35, align 4
%add.ptr88 = getelementptr inbounds float* %33, i32 %36
%37 = bitcast float* %add.ptr88 to i8*
%max_pitch = getelementptr inbounds i8* %state, i32 32
%38 = bitcast i8* %max_pitch to i32*
%39 = load i32* %38, align 4
%add = shl i32 %39, 2
%mul89 = add i32 %add, 8
call void @llvm.memmove.p0i8.p0i8.i32(i8* %34, i8* %37, i32 %mul89, i32 4, i1 false)
%swBuf = getelementptr inbounds i8* %state, i32 84
%40 = bitcast i8* %swBuf to float**
%41 = load float** %40, align 4
%42 = bitcast float* %41 to i8*
%43 = load i32* %35, align 4
%add.ptr98 = getelementptr inbounds float* %41, i32 %43
%44 = bitcast float* %add.ptr98 to i8*
%45 = load i32* %38, align 4
%add100 = shl i32 %45, 2
%mul101 = add i32 %add100, 8
call void @llvm.memmove.p0i8.p0i8.i32(i8* %42, i8* %44, i32 %mul101, i32 4, i1 false)
%highpass_enabled = getelementptr inbounds i8* %state, i32 224
%46 = bitcast i8* %highpass_enabled to i32*
%47 = load i32* %46, align 4
%tobool = icmp eq i32 %47, 0
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
%48 = load i32* %35, align 4
%isWideband = getelementptr inbounds i8* %state, i32 220
%49 = bitcast i8* %isWideband to i32*
%50 = load i32* %49, align 4
%tobool113 = icmp ne i32 %50, 0
%cond = select i1 %tobool113, i32 2, i32 0
%mem_hp = getelementptr inbounds i8* %state, i32 128
%arraydecay = bitcast i8* %mem_hp to float*
%cmp31.i = icmp sgt i32 %48, 0
br i1 %cmp31.i, label %for.body.lr.ph.i, label %if.end
for.body.lr.ph.i: ; preds = %if.then
%arraydecay2.i = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Zcoef, i32 0, i32 %cond, i32 0
%51 = load float* %arraydecay2.i, align 4
%arrayidx7.i = getelementptr inbounds i8* %state, i32 132
%52 = bitcast i8* %arrayidx7.i to float*
%arrayidx8.i = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Zcoef, i32 0, i32 %cond, i32 1
%53 = load float* %arrayidx8.i, align 4
%arrayidx12.i = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Pcoef, i32 0, i32 %cond, i32 1
%54 = load float* %arrayidx12.i, align 4
%sub.i = fsub float -0.000000e+00, %54
%arrayidx16.i = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Zcoef, i32 0, i32 %cond, i32 2
%55 = load float* %arrayidx16.i, align 4
%arrayidx19.i = getelementptr inbounds [5 x [3 x float]]* @_ZZ8highpassPKfPfiiS1_E5Pcoef, i32 0, i32 %cond, i32 2
%56 = load float* %arrayidx19.i, align 4
%sub20.i = fsub float -0.000000e+00, %56
br label %for.body.i
for.body.i: ; preds = %for.body.i, %for.body.lr.ph.i
%i.02.i = phi i32 [ 0, %for.body.lr.ph.i ], [ %inc.i, %for.body.i ]
%arrayidx5.i = getelementptr inbounds float* %0, i32 %i.02.i
%57 = load float* %arrayidx5.i, align 4
%mul.i = fmul float %51, %57
%58 = load float* %arraydecay, align 4
%add.i = fadd float %mul.i, %58
%59 = load float* %52, align 4
%mul10.i = fmul float %53, %57
%add11.i = fadd float %59, %mul10.i
%mul13.i = fmul float %add.i, %sub.i
%add14.i = fadd float %add11.i, %mul13.i
store float %add14.i, float* %arraydecay, align 4
%60 = load float* %arrayidx5.i, align 4
%mul18.i = fmul float %55, %60
%mul21.i = fmul float %add.i, %sub20.i
%add22.i = fadd float %mul18.i, %mul21.i
store float %add22.i, float* %52, align 4
store float %add.i, float* %arrayidx5.i, align 4
%inc.i = add nsw i32 %i.02.i, 1
%exitcond.i = icmp eq i32 %inc.i, %48
br i1 %exitcond.i, label %if.end, label %for.body.i
if.end: ; preds = %for.body.i, %if.then, %entry
%61 = ptrtoint i8* %add.ptr82 to i32
%62 = sub i32 0, %61
%and115 = and i32 %62, 3
%add.ptr82.sum9 = add i32 %and115, %add.ptr79.sum
%windowSize = getelementptr inbounds i8* %state, i32 20
%63 = bitcast i8* %windowSize to i32*
%64 = load i32* %63, align 4
%mul117 = shl i32 %64, 2
%add.ptr116.sum = add i32 %mul117, %add.ptr82.sum9
%add.ptr118 = getelementptr inbounds i8* %2, i32 %add.ptr116.sum
%add.ptr122 = getelementptr inbounds i8* %2, i32 %add.ptr82.sum9
%65 = bitcast i8* %add.ptr122 to float*
%66 = ptrtoint i8* %add.ptr118 to i32
%67 = sub i32 0, %66
%and124 = and i32 %67, 3
%add.ptr118.sum10 = add i32 %and124, %add.ptr116.sum
%68 = load i32* %5, align 4
%add127 = shl i32 %68, 2
%mul128 = add i32 %add127, 4
%add.ptr125.sum = add i32 %mul128, %add.ptr118.sum10
%add.ptr129 = getelementptr inbounds i8* %2, i32 %add.ptr125.sum
%add.ptr134 = getelementptr inbounds i8* %2, i32 %add.ptr118.sum10
%69 = bitcast i8* %add.ptr134 to float*
%70 = load i32* %35, align 4
%sub137588 = sub nsw i32 %64, %70
%cmp589 = icmp sgt i32 %sub137588, 0
br i1 %cmp589, label %for.body.lr.ph, label %for.cond141.preheader
for.body.lr.ph: ; preds = %if.end
%winBuf = getelementptr inbounds i8* %state, i32 72
%71 = bitcast i8* %winBuf to float**
%window = getelementptr inbounds i8* %state, i32 92
%72 = bitcast i8* %window to float**
br label %for.body
for.cond141.preheader: ; preds = %for.body, %if.end
%73 = phi i32 [ %70, %if.end ], [ %81, %for.body ]
%74 = phi i32 [ %64, %if.end ], [ %80, %for.body ]
%i.0.lcssa = phi i32 [ 0, %if.end ], [ %inc, %for.body ]
%cmp143585 = icmp slt i32 %i.0.lcssa, %74
br i1 %cmp143585, label %for.body144.lr.ph, label %for.end156
for.body144.lr.ph: ; preds = %for.cond141.preheader
%window150 = getelementptr inbounds i8* %state, i32 92
%75 = bitcast i8* %window150 to float**
br label %for.body144
for.body: ; preds = %for.body, %for.body.lr.ph
%i.0590 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.body ]
%76 = load float** %71, align 4
%arrayidx = getelementptr inbounds float* %76, i32 %i.0590
%77 = load float* %arrayidx, align 4
%78 = load float** %72, align 4
%arrayidx138 = getelementptr inbounds float* %78, i32 %i.0590
%79 = load float* %arrayidx138, align 4
%mul139 = fmul float %77, %79
%arrayidx140 = getelementptr inbounds float* %65, i32 %i.0590
store float %mul139, float* %arrayidx140, align 4
%inc = add nsw i32 %i.0590, 1
%80 = load i32* %63, align 4
%81 = load i32* %35, align 4
%sub137 = sub nsw i32 %80, %81
%cmp = icmp slt i32 %inc, %sub137
br i1 %cmp, label %for.body, label %for.cond141.preheader
for.body144: ; preds = %for.body144.for.body144_crit_edge, %for.body144.lr.ph
%82 = phi i32 [ %73, %for.body144.lr.ph ], [ %.pre640, %for.body144.for.body144_crit_edge ]
%83 = phi i32 [ %74, %for.body144.lr.ph ], [ %87, %for.body144.for.body144_crit_edge ]
%i.1586 = phi i32 [ %i.0.lcssa, %for.body144.lr.ph ], [ %inc155, %for.body144.for.body144_crit_edge ]
%sub146 = sub i32 %i.1586, %83
%add148 = add i32 %sub146, %82
%arrayidx149 = getelementptr inbounds float* %0, i32 %add148
%84 = load float* %arrayidx149, align 4
%85 = load float** %75, align 4
%arrayidx151 = getelementptr inbounds float* %85, i32 %i.1586
%86 = load float* %arrayidx151, align 4
%mul152 = fmul float %84, %86
%arrayidx153 = getelementptr inbounds float* %65, i32 %i.1586
store float %mul152, float* %arrayidx153, align 4
%inc155 = add nsw i32 %i.1586, 1
%87 = load i32* %63, align 4
%cmp143 = icmp slt i32 %inc155, %87
br i1 %cmp143, label %for.body144.for.body144_crit_edge, label %for.end156
for.body144.for.body144_crit_edge: ; preds = %for.body144
%.pre640 = load i32* %35, align 4
br label %for.body144
for.end156: ; preds = %for.body144, %for.cond141.preheader
%.lcssa584 = phi i32 [ %74, %for.cond141.preheader ], [ %87, %for.body144 ]
%88 = load i32* %5, align 4
%add158 = add nsw i32 %88, 1
%tobool5.i = icmp eq i32 %add158, 0
br i1 %tobool5.i, label %_Z13_spx_autocorrPKfPfii.exit, label %for.cond.preheader.i
for.cond.preheader.i: ; preds = %for.end.i, %for.end156
%dec6.in.i = phi i32 [ %dec6.i, %for.end.i ], [ %add158, %for.end156 ]
%dec6.i = add nsw i32 %dec6.in.i, -1
%cmp1.i = icmp slt i32 %dec6.i, %.lcssa584
br i1 %cmp1.i, label %for.body.i33, label %for.end.i
for.body.i33: ; preds = %for.body.i33, %for.cond.preheader.i
%i.03.i = phi i32 [ %inc.i31, %for.body.i33 ], [ %dec6.i, %for.cond.preheader.i ]
%d.02.i = phi float [ %add.i30, %for.body.i33 ], [ 0.000000e+00, %for.cond.preheader.i ]
%arrayidx.i = getelementptr inbounds float* %65, i32 %i.03.i
%89 = load float* %arrayidx.i, align 4
%sub.i28 = sub nsw i32 %i.03.i, %dec6.i
%arrayidx1.i = getelementptr inbounds float* %65, i32 %sub.i28
%90 = load float* %arrayidx1.i, align 4
%mul.i29 = fmul float %89, %90
%add.i30 = fadd float %d.02.i, %mul.i29
%inc.i31 = add nsw i32 %i.03.i, 1
%exitcond.i32 = icmp eq i32 %inc.i31, %.lcssa584
br i1 %exitcond.i32, label %for.end.i, label %for.body.i33
for.end.i: ; preds = %for.body.i33, %for.cond.preheader.i
%d.0.lcssa.i = phi float [ 0.000000e+00, %for.cond.preheader.i ], [ %add.i30, %for.body.i33 ]
%arrayidx2.i = getelementptr inbounds float* %69, i32 %dec6.i
store float %d.0.lcssa.i, float* %arrayidx2.i, align 4
%tobool.i = icmp eq i32 %dec6.i, 0
br i1 %tobool.i, label %_Z13_spx_autocorrPKfPfii.exit, label %for.cond.preheader.i
_Z13_spx_autocorrPKfPfii.exit: ; preds = %for.end.i, %for.end156
%91 = load float* %69, align 4
%add4.i = fadd float %91, 1.000000e+01
store float %add4.i, float* %69, align 4
%lpc_floor = getelementptr inbounds i8* %state, i32 64
%92 = bitcast i8* %lpc_floor to float*
%93 = load float* %92, align 4
%mul162 = fmul float %add4.i, %93
%add163 = fadd float %add4.i, %mul162
store float %add163, float* %69, align 4
%94 = load i32* %5, align 4
%add167580 = add nsw i32 %94, 1
%cmp168581 = icmp sgt i32 %add167580, 0
br i1 %cmp168581, label %for.body169.lr.ph, label %for.end176
for.body169.lr.ph: ; preds = %_Z13_spx_autocorrPKfPfii.exit
%lagWindow = getelementptr inbounds i8* %state, i32 96
%95 = bitcast i8* %lagWindow to float**
br label %for.body169
for.body169: ; preds = %for.body169.for.body169_crit_edge, %for.body169.lr.ph
%96 = phi float [ %add163, %for.body169.lr.ph ], [ %.pre639, %for.body169.for.body169_crit_edge ]
%i.2582 = phi i32 [ 0, %for.body169.lr.ph ], [ %inc175, %for.body169.for.body169_crit_edge ]
%arrayidx170 = getelementptr inbounds float* %69, i32 %i.2582
%97 = load float** %95, align 4
%arrayidx171 = getelementptr inbounds float* %97, i32 %i.2582
%98 = load float* %arrayidx171, align 4
%mul172 = fmul float %96, %98
store float %mul172, float* %arrayidx170, align 4
%inc175 = add nsw i32 %i.2582, 1
%99 = load i32* %5, align 4
%add167 = add nsw i32 %99, 1
%cmp168 = icmp slt i32 %inc175, %add167
br i1 %cmp168, label %for.body169.for.body169_crit_edge, label %for.end176
for.body169.for.body169_crit_edge: ; preds = %for.body169
%arrayidx170.phi.trans.insert = getelementptr inbounds float* %69, i32 %inc175
%.pre639 = load float* %arrayidx170.phi.trans.insert, align 4
br label %for.body169
for.end176: ; preds = %for.body169, %_Z13_spx_autocorrPKfPfii.exit
%.lcssa579 = phi i32 [ %94, %_Z13_spx_autocorrPKfPfii.exit ], [ %99, %for.body169 ]
call fastcc void @_Z8_spx_lpcPfPKfi(float* %7, float* %69, i32 %.lcssa579)
%100 = load i32* %5, align 4
%call179 = call fastcc i32 @_Z10lpc_to_lspPfiS_ifPc(float* %7, i32 %100, float* %16, float 0x3FC99999A0000000, i8* %add.ptr129)
%101 = load i32* %5, align 4
%cmp181 = icmp ne i32 %call179, %101
%cmp185497 = icmp sgt i32 %101, 0
%or.cond653 = and i1 %cmp181, %cmp185497
br i1 %or.cond653, label %for.body186.lr.ph, label %if.end192
for.body186.lr.ph: ; preds = %for.end176
%old_lsp = getelementptr inbounds i8* %state, i32 100
%102 = bitcast i8* %old_lsp to float**
br label %for.body186
for.body186: ; preds = %for.body186, %for.body186.lr.ph
%i.3498 = phi i32 [ 0, %for.body186.lr.ph ], [ %inc190, %for.body186 ]
%103 = load float** %102, align 4
%arrayidx187 = getelementptr inbounds float* %103, i32 %i.3498
%104 = load float* %arrayidx187, align 4
%arrayidx188 = getelementptr inbounds float* %16, i32 %i.3498
store float %104, float* %arrayidx188, align 4
%inc190 = add nsw i32 %i.3498, 1
%105 = load i32* %5, align 4
%cmp185 = icmp slt i32 %inc190, %105
br i1 %cmp185, label %for.body186, label %if.end192
if.end192: ; preds = %for.body186, %for.end176
%106 = phi i32 [ %101, %for.end176 ], [ %105, %for.body186 ]
%107 = load i32* %63, align 4
%108 = load i32* %35, align 4
%sub195 = sub nsw i32 %107, %108
%first = getelementptr inbounds i8* %state, i32 4
%109 = bitcast i8* %first to i32*
%110 = load i32* %109, align 4
%tobool196 = icmp eq i32 %110, 0
br i1 %tobool196, label %if.else, label %for.cond198.preheader
for.cond198.preheader: ; preds = %if.end192
%cmp200499 = icmp sgt i32 %106, 0
br i1 %cmp200499, label %for.body201, label %if.end210
for.body201: ; preds = %for.body201, %for.cond198.preheader
%i.4500 = phi i32 [ %inc205, %for.body201 ], [ 0, %for.cond198.preheader ]
%arrayidx202 = getelementptr inbounds float* %16, i32 %i.4500
%111 = load float* %arrayidx202, align 4
%arrayidx203 = getelementptr inbounds float* %22, i32 %i.4500
store float %111, float* %arrayidx203, align 4
%inc205 = add nsw i32 %i.4500, 1
%112 = load i32* %5, align 4
%cmp200 = icmp slt i32 %inc205, %112
br i1 %cmp200, label %for.body201, label %if.end210
if.else: ; preds = %if.end192
%old_lsp207 = getelementptr inbounds i8* %state, i32 100
%113 = bitcast i8* %old_lsp207 to float**
%114 = load float** %113, align 4
%nbSubframes = getelementptr inbounds i8* %state, i32 16
%115 = bitcast i8* %nbSubframes to i32*
%116 = load i32* %115, align 4
%shl = shl i32 %116, 1
%conv.i = sitofp i32 %116 to float
%add.i34 = fadd float %conv.i, 1.000000e+00
%conv1.i = sitofp i32 %shl to float
%div.i = fdiv float %add.i34, %conv1.i
%cmp1.i35 = icmp sgt i32 %106, 0
br i1 %cmp1.i35, label %for.body.lr.ph.i37, label %if.end210
for.body.lr.ph.i37: ; preds = %if.else
%sub.i36 = fsub float 1.000000e+00, %div.i
br label %for.body.i46
for.body.i46: ; preds = %for.body.i46, %for.body.lr.ph.i37
%i.02.i38 = phi i32 [ 0, %for.body.lr.ph.i37 ], [ %inc.i44, %for.body.i46 ]
%arrayidx.i39 = getelementptr inbounds float* %114, i32 %i.02.i38
%117 = load float* %arrayidx.i39, align 4
%mul.i40 = fmul float %sub.i36, %117
%arrayidx2.i41 = getelementptr inbounds float* %16, i32 %i.02.i38
%118 = load float* %arrayidx2.i41, align 4
%mul3.i = fmul float %div.i, %118
%add4.i42 = fadd float %mul.i40, %mul3.i
%arrayidx5.i43 = getelementptr inbounds float* %22, i32 %i.02.i38
store float %add4.i42, float* %arrayidx5.i43, align 4
%inc.i44 = add nsw i32 %i.02.i38, 1
%exitcond.i45 = icmp eq i32 %inc.i44, %106
br i1 %exitcond.i45, label %if.end210.loopexit578, label %for.body.i46
if.end210.loopexit578: ; preds = %for.body.i46
%.pre = load i32* %5, align 4
br label %if.end210
if.end210: ; preds = %if.end210.loopexit578, %if.else, %for.body201, %for.cond198.preheader
%119 = phi i32 [ %.pre, %if.end210.loopexit578 ], [ %106, %if.else ], [ %106, %for.cond198.preheader ], [ %112, %for.body201 ]
%120 = load float* %22, align 4
%cmp.i = fcmp olt float %120, 0x3F60624DE0000000
br i1 %cmp.i, label %if.then.i, label %if.end.i
if.then.i: ; preds = %if.end210
store float 0x3F60624DE0000000, float* %22, align 4
br label %if.end.i
if.end.i: ; preds = %if.then.i, %if.end210
%sub.i88 = add nsw i32 %119, -1
%arrayidx3.i = getelementptr inbounds float* %22, i32 %sub.i88
%121 = load float* %arrayidx3.i, align 4
%conv.i89 = fpext float %121 to double
%cmp7.i = fcmp ogt double %conv.i89, 0x40091DE2C0CC2D18
br i1 %cmp7.i, label %if.then8.i, label %for.cond.preheader.i90
if.then8.i: ; preds = %if.end.i
store float 0x40091DE2C0000000, float* %arrayidx3.i, align 4
br label %for.cond.preheader.i90
for.cond.preheader.i90: ; preds = %if.then8.i, %if.end.i
%cmp171.i = icmp sgt i32 %sub.i88, 1
br i1 %cmp171.i, label %for.body.lr.ph.i91, label %_Z18lsp_enforce_marginPfif.exit
for.body.lr.ph.i91: ; preds = %for.cond.preheader.i90
%add.ptr56.sum495 = add i32 %add.ptr42.sum5, 4
%arrayidx18.phi.trans.insert.i = getelementptr inbounds i8* %2, i32 %add.ptr56.sum495
%122 = bitcast i8* %arrayidx18.phi.trans.insert.i to float*
%.pre.i = load float* %122, align 4
%.pre3.i = load float* %22, align 4
br label %for.body.i94
for.body.i94: ; preds = %for.cond.backedge.i, %for.body.lr.ph.i91
%123 = phi float [ %.pre3.i, %for.body.lr.ph.i91 ], [ %127, %for.cond.backedge.i ]
%124 = phi float [ %.pre.i, %for.body.lr.ph.i91 ], [ %126, %for.cond.backedge.i ]
%i.02.i92 = phi i32 [ 1, %for.body.lr.ph.i91 ], [ %add31.i, %for.cond.backedge.i ]
%arrayidx18.i = getelementptr inbounds float* %22, i32 %i.02.i92
%add.i93 = fadd float %123, 0x3F60624DE0000000
%cmp22.i = fcmp olt float %124, %add.i93
br i1 %cmp22.i, label %if.then23.i, label %if.end29.i
if.then23.i: ; preds = %for.body.i94
store float %add.i93, float* %arrayidx18.i, align 4
br label %if.end29.i
if.end29.i: ; preds = %if.then23.i, %for.body.i94
%125 = phi float [ %add.i93, %if.then23.i ], [ %124, %for.body.i94 ]
%add31.i = add nsw i32 %i.02.i92, 1
%arrayidx32.i = getelementptr inbounds float* %22, i32 %add31.i
%126 = load float* %arrayidx32.i, align 4
%sub34.i = fadd float %126, 0xBF60624DE0000000
%cmp35.i = fcmp ogt float %125, %sub34.i
br i1 %cmp35.i, label %if.then36.i, label %for.cond.backedge.i
for.cond.backedge.i: ; preds = %if.then36.i, %if.end29.i
%127 = phi float [ %125, %if.end29.i ], [ %mul43.i, %if.then36.i ]
%exitcond.i95 = icmp eq i32 %add31.i, %sub.i88
br i1 %exitcond.i95, label %_Z18lsp_enforce_marginPfif.exit, label %for.body.i94
if.then36.i: ; preds = %if.end29.i
%add40.i = fadd float %125, %126
%sub42.i = fadd float %add40.i, 0xBF60624DE0000000
%mul43.i = fmul float %sub42.i, 5.000000e-01
store float %mul43.i, float* %arrayidx18.i, align 4
br label %for.cond.backedge.i
_Z18lsp_enforce_marginPfif.exit: ; preds = %for.cond.backedge.i, %for.cond.preheader.i90
%128 = load i32* %5, align 4
call fastcc void @_Z10lsp_to_lpcPfS_iPc(float* %22, float* %28, i32 %128, i8* %add.ptr129)
%submodeID = getelementptr inbounds i8* %state, i32 212
%129 = bitcast i8* %submodeID to i32*
%130 = load i32* %129, align 4
%submodes = getelementptr inbounds i8* %state, i32 208
%131 = bitcast i8* %submodes to %struct.SpeexSubmode***
%132 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx213 = getelementptr inbounds %struct.SpeexSubmode** %132, i32 %130
%133 = load %struct.SpeexSubmode** %arrayidx213, align 4
%tobool214 = icmp eq %struct.SpeexSubmode* %133, null
br i1 %tobool214, label %if.then234, label %lor.lhs.false
lor.lhs.false: ; preds = %_Z18lsp_enforce_marginPfif.exit
%complexity = getelementptr inbounds i8* %state, i32 192
%134 = bitcast i8* %complexity to i32*
%135 = load i32* %134, align 4
%cmp215 = icmp sgt i32 %135, 2
br i1 %cmp215, label %land.lhs.true, label %lor.lhs.false220
land.lhs.true: ; preds = %lor.lhs.false
%have_subframe_gain = getelementptr inbounds %struct.SpeexSubmode* %133, i32 0, i32 2
%136 = load i32* %have_subframe_gain, align 4
%cmp219 = icmp slt i32 %136, 3
br i1 %cmp219, label %if.then234, label %lor.lhs.false220
lor.lhs.false220: ; preds = %land.lhs.true, %lor.lhs.false
%forced_pitch_gain = getelementptr inbounds %struct.SpeexSubmode* %133, i32 0, i32 1
%137 = load i32* %forced_pitch_gain, align 4
%tobool224 = icmp eq i32 %137, 0
br i1 %tobool224, label %lor.lhs.false225, label %if.then234
lor.lhs.false225: ; preds = %lor.lhs.false220
%lbr_pitch = getelementptr inbounds %struct.SpeexSubmode* %133, i32 0, i32 0
%138 = load i32* %lbr_pitch, align 4
%cmp229 = icmp eq i32 %138, -1
br i1 %cmp229, label %lor.lhs.false230, label %if.then234
lor.lhs.false230: ; preds = %lor.lhs.false225
%vbr_enabled = getelementptr inbounds i8* %state, i32 156
%139 = bitcast i8* %vbr_enabled to i32*
%140 = load i32* %139, align 4
%tobool231 = icmp eq i32 %140, 0
br i1 %tobool231, label %lor.lhs.false232, label %if.then234
lor.lhs.false232: ; preds = %lor.lhs.false230
%vad_enabled = getelementptr inbounds i8* %state, i32 164
%141 = bitcast i8* %vad_enabled to i32*
%142 = load i32* %141, align 4
%tobool233 = icmp eq i32 %142, 0
br i1 %tobool233, label %lor.lhs.false232.if.end351_crit_edge, label %if.then234
lor.lhs.false232.if.end351_crit_edge: ; preds = %lor.lhs.false232
%winBuf352.pre = getelementptr inbounds i8* %state, i32 72
%.pre641 = bitcast i8* %winBuf352.pre to float**
%mul353.pre = shl i32 %sub195, 2
br label %if.end351
if.then234: ; preds = %lor.lhs.false232, %lor.lhs.false230, %lor.lhs.false225, %lor.lhs.false220, %land.lhs.true, %_Z18lsp_enforce_marginPfif.exit
%gamma1 = getelementptr inbounds i8* %state, i32 56
%143 = bitcast i8* %gamma1 to float*
%144 = load float* %143, align 4
%145 = load i32* %5, align 4
%cmp1.i106 = icmp sgt i32 %145, 0
br i1 %cmp1.i106, label %for.body.i113, label %_Z6bw_lpcfPKfPfi.exit136
for.body.i113: ; preds = %for.body.i113, %if.then234
%tmp.03.i = phi float [ %mul2.i, %for.body.i113 ], [ %144, %if.then234 ]
%i.02.i107 = phi i32 [ %inc.i111, %for.body.i113 ], [ 0, %if.then234 ]
%arrayidx.i108 = getelementptr inbounds float* %28, i32 %i.02.i107
%146 = load float* %arrayidx.i108, align 4
%mul.i109 = fmul float %tmp.03.i, %146
%arrayidx1.i110 = getelementptr inbounds float* %10, i32 %i.02.i107
store float %mul.i109, float* %arrayidx1.i110, align 4
%mul2.i = fmul float %tmp.03.i, %144
%inc.i111 = add nsw i32 %i.02.i107, 1
%exitcond.i112 = icmp eq i32 %inc.i111, %145
br i1 %exitcond.i112, label %_Z6bw_lpcfPKfPfi.exit, label %for.body.i113
_Z6bw_lpcfPKfPfi.exit: ; preds = %for.body.i113
%.pr = load i32* %5, align 4
%gamma2 = getelementptr inbounds i8* %state, i32 60
%147 = bitcast i8* %gamma2 to float*
%148 = load float* %147, align 4
%cmp1.i125 = icmp sgt i32 %.pr, 0
br i1 %cmp1.i125, label %for.body.i134, label %_Z6bw_lpcfPKfPfi.exit136
for.body.i134: ; preds = %for.body.i134, %_Z6bw_lpcfPKfPfi.exit
%tmp.03.i126 = phi float [ %mul2.i131, %for.body.i134 ], [ %148, %_Z6bw_lpcfPKfPfi.exit ]
%i.02.i127 = phi i32 [ %inc.i132, %for.body.i134 ], [ 0, %_Z6bw_lpcfPKfPfi.exit ]
%arrayidx.i128 = getelementptr inbounds float* %28, i32 %i.02.i127
%149 = load float* %arrayidx.i128, align 4
%mul.i129 = fmul float %tmp.03.i126, %149
%arrayidx1.i130 = getelementptr inbounds float* %13, i32 %i.02.i127
store float %mul.i129, float* %arrayidx1.i130, align 4
%mul2.i131 = fmul float %tmp.03.i126, %148
%inc.i132 = add nsw i32 %i.02.i127, 1
%exitcond.i133 = icmp eq i32 %inc.i132, %.pr
br i1 %exitcond.i133, label %_Z6bw_lpcfPKfPfi.exit136, label %for.body.i134
_Z6bw_lpcfPKfPfi.exit136: ; preds = %for.body.i134, %_Z6bw_lpcfPKfPfi.exit, %if.then234
%sw = getelementptr inbounds i8* %state, i32 88
%150 = bitcast i8* %sw to float**
%151 = load float** %150, align 4
%152 = bitcast float* %151 to i8*
%winBuf237 = getelementptr inbounds i8* %state, i32 72
%153 = bitcast i8* %winBuf237 to float**
%154 = load float** %153, align 4
%155 = bitcast float* %154 to i8*
%mul238 = shl i32 %sub195, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %152, i8* %155, i32 %mul238, i32 4, i1 false)
%156 = load float** %150, align 4
%add.ptr248 = getelementptr inbounds float* %156, i32 %sub195
%157 = bitcast float* %add.ptr248 to i8*
%158 = load i32* %35, align 4
%sub250 = sub nsw i32 %158, %sub195
%mul251 = shl i32 %sub250, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %157, i8* %vin, i32 %mul251, i32 4, i1 false)
%159 = load float** %150, align 4
%160 = load i32* %35, align 4
%mem_sw_whole = getelementptr inbounds i8* %state, i32 116
%161 = bitcast i8* %mem_sw_whole to float**
%162 = load float** %161, align 4
%cmp3.i138 = icmp sgt i32 %160, 0
br i1 %cmp3.i138, label %for.body.lr.ph.i141, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169
for.body.lr.ph.i141: ; preds = %_Z6bw_lpcfPKfPfi.exit136
%163 = load i32* %5, align 4
%sub4.i139 = add nsw i32 %163, -1
%cmp51.i140 = icmp sgt i32 %sub4.i139, 0
%arrayidx16.i159 = getelementptr inbounds float* %10, i32 %sub4.i139
%arrayidx19.i161 = getelementptr inbounds float* %13, i32 %sub4.i139
%arrayidx23.i164 = getelementptr inbounds float* %162, i32 %sub4.i139
br label %for.body.i146
for.body.i146: ; preds = %for.end.i168, %for.body.lr.ph.i141
%i.04.i142 = phi i32 [ 0, %for.body.lr.ph.i141 ], [ %inc26.i166, %for.end.i168 ]
%arrayidx.i143 = getelementptr inbounds float* %159, i32 %i.04.i142
%164 = load float* %arrayidx.i143, align 4
%165 = load float* %162, align 4
%add.i144 = fadd float %164, %165
%sub.i145 = fsub float -0.000000e+00, %add.i144
br i1 %cmp51.i140, label %for.body6.i158, label %for.end.i168
for.body6.i158: ; preds = %for.body6.i158, %for.body.i146
%j.02.i147 = phi i32 [ %add7.i148, %for.body6.i158 ], [ 0, %for.body.i146 ]
%add7.i148 = add nsw i32 %j.02.i147, 1
%arrayidx8.i149 = getelementptr inbounds float* %162, i32 %add7.i148
%166 = load float* %arrayidx8.i149, align 4
%arrayidx9.i150 = getelementptr inbounds float* %10, i32 %j.02.i147
%167 = load float* %arrayidx9.i150, align 4
%mul.i151 = fmul float %167, %164
%add10.i152 = fadd float %166, %mul.i151
%arrayidx11.i153 = getelementptr inbounds float* %13, i32 %j.02.i147
%168 = load float* %arrayidx11.i153, align 4
%mul12.i154 = fmul float %168, %sub.i145
%add13.i155 = fadd float %add10.i152, %mul12.i154
%arrayidx14.i156 = getelementptr inbounds float* %162, i32 %j.02.i147
store float %add13.i155, float* %arrayidx14.i156, align 4
%exitcond.i157 = icmp eq i32 %add7.i148, %sub4.i139
br i1 %exitcond.i157, label %for.end.i168, label %for.body6.i158
for.end.i168: ; preds = %for.body6.i158, %for.body.i146
%169 = load float* %arrayidx16.i159, align 4
%mul17.i160 = fmul float %169, %164
%170 = load float* %arrayidx19.i161, align 4
%mul20.i162 = fmul float %170, %sub.i145
%add21.i163 = fadd float %mul17.i160, %mul20.i162
store float %add21.i163, float* %arrayidx23.i164, align 4
store float %add.i144, float* %arrayidx.i143, align 4
%inc26.i166 = add nsw i32 %i.04.i142, 1
%exitcond5.i167 = icmp eq i32 %inc26.i166, %160
br i1 %exitcond5.i167, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169.loopexit, label %for.body.i146
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169.loopexit: ; preds = %for.end.i168
%.pre604 = load float** %150, align 4
%.pre605 = load i32* %35, align 4
br label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169.loopexit, %_Z6bw_lpcfPKfPfi.exit136
%171 = phi i32 [ %.pre605, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169.loopexit ], [ %160, %_Z6bw_lpcfPKfPfi.exit136 ]
%172 = phi float* [ %.pre604, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169.loopexit ], [ %159, %_Z6bw_lpcfPKfPfi.exit136 ]
%min_pitch = getelementptr inbounds i8* %state, i32 28
%173 = bitcast i8* %min_pitch to i32*
%174 = load i32* %173, align 4
%175 = load i32* %38, align 4
%arraydecay267 = getelementptr inbounds [6 x i32]* %nol_pitch, i32 0, i32 0
%arraydecay268 = getelementptr inbounds [6 x float]* %nol_pitch_coef, i32 0, i32 0
call fastcc void @_Z21open_loop_nbest_pitchPfiiiPiS_iPc(float* %172, i32 %174, i32 %175, i32 %171, i32* %arraydecay267, float* %arraydecay268, i32 6, i8* %add.ptr129)
%176 = load i32* %arraydecay267, align 4
%177 = load float* %arraydecay268, align 4
%conv276 = fpext float %177 to double
%mul277 = fmul double %conv276, 8.500000e-01
br label %for.body273
for.body273: ; preds = %for.inc347, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169
%i.5577 = phi i32 [ 1, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169 ], [ %inc348, %for.inc347 ]
%ol_pitch.0576 = phi i32 [ %176, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit169 ], [ %ol_pitch.1, %for.inc347 ]
%arrayidx274 = getelementptr inbounds [6 x float]* %nol_pitch_coef, i32 0, i32 %i.5577
%178 = load float* %arrayidx274, align 4
%conv = fpext float %178 to double
%cmp278 = fcmp ogt double %conv, %mul277
br i1 %cmp278, label %land.lhs.true279, label %for.inc347
land.lhs.true279: ; preds = %for.body273
%arrayidx280 = getelementptr inbounds [6 x i32]* %nol_pitch, i32 0, i32 %i.5577
%179 = load i32* %arrayidx280, align 4
%mul281 = shl nsw i32 %179, 1
%sub282 = sub nsw i32 %mul281, %ol_pitch.0576
%cmp283 = icmp slt i32 %sub282, 0
%sub287 = sub nsw i32 0, %sub282
%cond291 = select i1 %cmp283, i32 %sub287, i32 %sub282
%cmp292 = icmp slt i32 %cond291, 3
br i1 %cmp292, label %if.then344, label %lor.lhs.false293
lor.lhs.false293: ; preds = %land.lhs.true279
%mul295 = mul nsw i32 %179, 3
%sub296 = sub nsw i32 %mul295, %ol_pitch.0576
%cmp297 = icmp slt i32 %sub296, 0
%sub302 = sub nsw i32 0, %sub296
%cond308 = select i1 %cmp297, i32 %sub302, i32 %sub296
%cmp309 = icmp slt i32 %cond308, 4
br i1 %cmp309, label %if.then344, label %lor.lhs.false310
lor.lhs.false310: ; preds = %lor.lhs.false293
%mul312 = shl nsw i32 %179, 2
%sub313 = sub nsw i32 %mul312, %ol_pitch.0576
%cmp314 = icmp slt i32 %sub313, 0
%sub319 = sub nsw i32 0, %sub313
%cond325 = select i1 %cmp314, i32 %sub319, i32 %sub313
%cmp326 = icmp slt i32 %cond325, 5
br i1 %cmp326, label %if.then344, label %lor.lhs.false327
lor.lhs.false327: ; preds = %lor.lhs.false310
%mul329 = mul nsw i32 %179, 5
%sub330 = sub nsw i32 %mul329, %ol_pitch.0576
%cmp331 = icmp slt i32 %sub330, 0
%sub336 = sub nsw i32 0, %sub330
%cond342 = select i1 %cmp331, i32 %sub336, i32 %sub330
%cmp343 = icmp slt i32 %cond342, 6
br i1 %cmp343, label %if.then344, label %for.inc347
if.then344: ; preds = %lor.lhs.false327, %lor.lhs.false310, %lor.lhs.false293, %land.lhs.true279
br label %for.inc347
for.inc347: ; preds = %if.then344, %lor.lhs.false327, %for.body273
%ol_pitch.1 = phi i32 [ %179, %if.then344 ], [ %ol_pitch.0576, %lor.lhs.false327 ], [ %ol_pitch.0576, %for.body273 ]
%inc348 = add nsw i32 %i.5577, 1
%exitcond = icmp eq i32 %inc348, 6
br i1 %exitcond, label %if.end351, label %for.body273
if.end351: ; preds = %for.inc347, %lor.lhs.false232.if.end351_crit_edge
%mul353.pre-phi = phi i32 [ %mul353.pre, %lor.lhs.false232.if.end351_crit_edge ], [ %mul238, %for.inc347 ]
%.pre-phi = phi float** [ %.pre641, %lor.lhs.false232.if.end351_crit_edge ], [ %153, %for.inc347 ]
%ol_pitch_coef.0 = phi float [ 0.000000e+00, %lor.lhs.false232.if.end351_crit_edge ], [ %177, %for.inc347 ]
%ol_pitch.2 = phi i32 [ 0, %lor.lhs.false232.if.end351_crit_edge ], [ %ol_pitch.1, %for.inc347 ]
%exc = getelementptr inbounds i8* %state, i32 80
%180 = bitcast i8* %exc to float**
%181 = load float** %180, align 4
%182 = bitcast float* %181 to i8*
%183 = load float** %.pre-phi, align 4
%184 = bitcast float* %183 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %182, i8* %184, i32 %mul353.pre-phi, i32 4, i1 false)
%185 = load float** %180, align 4
%add.ptr363 = getelementptr inbounds float* %185, i32 %sub195
%186 = bitcast float* %add.ptr363 to i8*
%187 = load i32* %35, align 4
%sub365 = sub nsw i32 %187, %sub195
%mul366 = shl i32 %sub365, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %186, i8* %vin, i32 %mul366, i32 4, i1 false)
%188 = load float** %180, align 4
%189 = load i32* %35, align 4
%mem_exc = getelementptr inbounds i8* %state, i32 120
%190 = bitcast i8* %mem_exc to float**
%191 = load float** %190, align 4
%cmp3.i170 = icmp sgt i32 %189, 0
br i1 %cmp3.i170, label %for.body.lr.ph.i173, label %_Z13compute_rms16PKfi.exit
for.body.lr.ph.i173: ; preds = %if.end351
%192 = load i32* %5, align 4
%sub.i171 = add nsw i32 %192, -1
%cmp41.i172 = icmp sgt i32 %sub.i171, 0
%arrayidx12.i187 = getelementptr inbounds float* %28, i32 %sub.i171
%arrayidx15.i189 = getelementptr inbounds float* %191, i32 %sub.i171
br label %for.body.i177
for.body.i177: ; preds = %for.end.i193, %for.body.lr.ph.i173
%i.04.i174 = phi i32 [ 0, %for.body.lr.ph.i173 ], [ %inc18.i191, %for.end.i193 ]
%arrayidx.i175 = getelementptr inbounds float* %188, i32 %i.04.i174
%193 = load float* %arrayidx.i175, align 4
%194 = load float* %191, align 4
%add.i176 = fadd float %193, %194
br i1 %cmp41.i172, label %for.body5.i186, label %for.end.i193
for.body5.i186: ; preds = %for.body5.i186, %for.body.i177
%j.02.i178 = phi i32 [ %add6.i179, %for.body5.i186 ], [ 0, %for.body.i177 ]
%add6.i179 = add nsw i32 %j.02.i178, 1
%arrayidx7.i180 = getelementptr inbounds float* %191, i32 %add6.i179
%195 = load float* %arrayidx7.i180, align 4
%arrayidx8.i181 = getelementptr inbounds float* %28, i32 %j.02.i178
%196 = load float* %arrayidx8.i181, align 4
%mul.i182 = fmul float %196, %193
%add9.i183 = fadd float %195, %mul.i182
%arrayidx10.i184 = getelementptr inbounds float* %191, i32 %j.02.i178
store float %add9.i183, float* %arrayidx10.i184, align 4
%exitcond.i185 = icmp eq i32 %add6.i179, %sub.i171
br i1 %exitcond.i185, label %for.end.i193, label %for.body5.i186
for.end.i193: ; preds = %for.body5.i186, %for.body.i177
%197 = load float* %arrayidx12.i187, align 4
%mul13.i188 = fmul float %197, %193
store float %mul13.i188, float* %arrayidx15.i189, align 4
store float %add.i176, float* %arrayidx.i175, align 4
%inc18.i191 = add nsw i32 %i.04.i174, 1
%exitcond5.i192 = icmp eq i32 %inc18.i191, %189
br i1 %exitcond5.i192, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit, label %for.body.i177
_Z9fir_mem16PKfS0_PfiiS1_Pc.exit: ; preds = %for.end.i193
%.pre606 = load float** %180, align 4
%.pre607 = load i32* %35, align 4
%cmp1.i.i = icmp sgt i32 %.pre607, 0
br i1 %cmp1.i.i, label %for.body.i.i, label %_Z13compute_rms16PKfi.exit
for.body.i.i: ; preds = %for.body.i.i, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit
%sum.03.i.i = phi float [ %add.i.i, %for.body.i.i ], [ 0.000000e+00, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit ]
%i.02.i.i = phi i32 [ %inc.i.i, %for.body.i.i ], [ 0, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit ]
%arrayidx.i.i = getelementptr inbounds float* %.pre606, i32 %i.02.i.i
%198 = load float* %arrayidx.i.i, align 4
%mul.i.i = fmul float %198, %198
%add.i.i = fadd float %sum.03.i.i, %mul.i.i
%inc.i.i = add nsw i32 %i.02.i.i, 1
%exitcond.i.i = icmp eq i32 %inc.i.i, %.pre607
br i1 %exitcond.i.i, label %_Z13compute_rms16PKfi.exit, label %for.body.i.i
_Z13compute_rms16PKfi.exit: ; preds = %for.body.i.i, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit, %if.end351
%199 = phi i32 [ %.pre607, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit ], [ %189, %if.end351 ], [ %.pre607, %for.body.i.i ]
%sum.0.lcssa.i.i = phi float [ 0.000000e+00, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit ], [ 0.000000e+00, %if.end351 ], [ %add.i.i, %for.body.i.i ]
%conv.i.i = sitofp i32 %199 to float
%div.i.i = fdiv float %sum.0.lcssa.i.i, %conv.i.i
%conv2.i.i = fpext float %div.i.i to double
%add3.i.i = fadd double %conv2.i.i, 1.000000e-01
%call.i.i = call double @sqrt(double %add3.i.i) nounwind readnone
%conv4.i.i = fptrunc double %call.i.i to float
%200 = load i32* %129, align 4
%cmp383 = icmp ne i32 %200, 1
%cmp385 = icmp sgt i32 %ol_pitch.2, 0
%or.cond = and i1 %cmp383, %cmp385
br i1 %or.cond, label %if.then386, label %if.end396
if.then386: ; preds = %_Z13compute_rms16PKfi.exit
%mul387 = fmul float %ol_pitch_coef.0, %ol_pitch_coef.0
%conv388 = fpext float %mul387 to double
%mul389 = fmul double %conv388, 8.000000e-01
%sub390 = fsub double 1.000000e+00, %mul389
%call391 = call double @sqrt(double %sub390) nounwind readnone
%mul392 = fmul double %call391, 1.100000e+00
%conv393 = fptrunc double %mul392 to float
%mul394 = fmul float %conv4.i.i, %conv393
br label %if.end396
if.end396: ; preds = %if.then386, %_Z13compute_rms16PKfi.exit
%ol_gain.0 = phi float [ %mul394, %if.then386 ], [ %conv4.i.i, %_Z13compute_rms16PKfi.exit ]
%vbr = getelementptr inbounds i8* %state, i32 144
%201 = bitcast i8* %vbr to %struct.VBRState**
%202 = load %struct.VBRState** %201, align 4
%tobool397 = icmp eq %struct.VBRState* %202, null
br i1 %tobool397, label %if.else580, label %land.lhs.true398
land.lhs.true398: ; preds = %if.end396
%vbr_enabled399 = getelementptr inbounds i8* %state, i32 156
%203 = bitcast i8* %vbr_enabled399 to i32*
%204 = load i32* %203, align 4
%tobool400 = icmp eq i32 %204, 0
br i1 %tobool400, label %lor.lhs.false401, label %for.cond405.preheader
lor.lhs.false401: ; preds = %land.lhs.true398
%vad_enabled402 = getelementptr inbounds i8* %state, i32 164
%205 = bitcast i8* %vad_enabled402 to i32*
%206 = load i32* %205, align 4
%tobool403 = icmp eq i32 %206, 0
br i1 %tobool403, label %if.else580, label %for.cond405.preheader
for.cond405.preheader: ; preds = %lor.lhs.false401, %land.lhs.true398
%207 = load i32* %5, align 4
%cmp407503 = icmp sgt i32 %207, 0
br i1 %cmp407503, label %for.body408.lr.ph, label %for.end421
for.body408.lr.ph: ; preds = %for.cond405.preheader
%old_lsp409 = getelementptr inbounds i8* %state, i32 100
%208 = bitcast i8* %old_lsp409 to float**
%209 = load float** %208, align 4
br label %for.body408
for.body408: ; preds = %for.body408, %for.body408.lr.ph
%i.6505 = phi i32 [ 0, %for.body408.lr.ph ], [ %inc420, %for.body408 ]
%lsp_dist.0504 = phi float [ 0.000000e+00, %for.body408.lr.ph ], [ %add418, %for.body408 ]
%arrayidx410 = getelementptr inbounds float* %209, i32 %i.6505
%210 = load float* %arrayidx410, align 4
%arrayidx411 = getelementptr inbounds float* %16, i32 %i.6505
%211 = load float* %arrayidx411, align 4
%sub412 = fsub float %210, %211
%mul417 = fmul float %sub412, %sub412
%add418 = fadd float %lsp_dist.0504, %mul417
%inc420 = add nsw i32 %i.6505, 1
%cmp407 = icmp slt i32 %inc420, %207
br i1 %cmp407, label %for.body408, label %for.cond405.for.end421_crit_edge
for.cond405.for.end421_crit_edge: ; preds = %for.body408
%phitmp = fpext float %add418 to double
br label %for.end421
for.end421: ; preds = %for.cond405.for.end421_crit_edge, %for.cond405.preheader
%lsp_dist.0.lcssa = phi double [ %phitmp, %for.cond405.for.end421_crit_edge ], [ 0.000000e+00, %for.cond405.preheader ]
%abr_enabled = getelementptr inbounds i8* %state, i32 176
%212 = bitcast i8* %abr_enabled to i32*
%213 = load i32* %212, align 4
%tobool422 = icmp eq i32 %213, 0
br i1 %tobool422, label %if.end454, label %if.then423
if.then423: ; preds = %for.end421
%abr_drift2 = getelementptr inbounds i8* %state, i32 184
%214 = bitcast i8* %abr_drift2 to float*
%215 = load float* %214, align 4
%abr_drift = getelementptr inbounds i8* %state, i32 180
%216 = bitcast i8* %abr_drift to float*
%217 = load float* %216, align 4
%mul424 = fmul float %215, %217
%cmp425 = fcmp ogt float %mul424, 0.000000e+00
br i1 %cmp425, label %if.then426, label %if.end442
if.then426: ; preds = %if.then423
%conv428 = fpext float %217 to double
%mul429 = fmul double %conv428, -1.000000e-05
%abr_count = getelementptr inbounds i8* %state, i32 188
%218 = bitcast i8* %abr_count to float*
%219 = load float* %218, align 4
%add430 = fadd float %219, 1.000000e+00
%conv431 = fpext float %add430 to double
%div432 = fdiv double %mul429, %conv431
%conv433 = fptrunc double %div432 to float
%conv434 = fpext float %conv433 to double
%cmp435 = fcmp ogt double %conv434, 5.000000e-02
%qual_change.0 = select i1 %cmp435, float 0x3FA99999A0000000, float %conv433
%conv438 = fpext float %qual_change.0 to double
%cmp439 = fcmp olt double %conv438, -5.000000e-02
br i1 %cmp439, label %if.then440, label %if.end442
if.then440: ; preds = %if.then426
br label %if.end442
if.end442: ; preds = %if.then440, %if.then426, %if.then423
%qual_change.1 = phi float [ 0xBFA99999A0000000, %if.then440 ], [ %qual_change.0, %if.then426 ], [ 0.000000e+00, %if.then423 ]
%vbr_quality = getelementptr inbounds i8* %state, i32 148
%220 = bitcast i8* %vbr_quality to float*
%221 = load float* %220, align 4
%add443 = fadd float %221, %qual_change.1
%cmp445 = fcmp ogt float %add443, 1.000000e+01
%storemerge23 = select i1 %cmp445, float 1.000000e+01, float %add443
store float %storemerge23, float* %220, align 4
%cmp450 = fcmp olt float %storemerge23, 0.000000e+00
br i1 %cmp450, label %if.then451, label %if.end454
if.then451: ; preds = %if.end442
store float 0.000000e+00, float* %220, align 4
br label %if.end454
if.end454: ; preds = %if.then451, %if.end442, %for.end421
%shr.i = ashr i32 %199, 1
%cmp9.i = icmp sgt i32 %shr.i, 0
br i1 %cmp9.i, label %for.body.i5, label %for.cond3.preheader.i
for.cond3.preheader.i: ; preds = %for.body.i5, %if.end454
%ener1.0.lcssa.i = phi float [ 0.000000e+00, %if.end454 ], [ %add.i3, %for.body.i5 ]
%cmp46.i = icmp slt i32 %shr.i, %199
br i1 %cmp46.i, label %for.body5.i8, label %for.end12.i
for.body.i5: ; preds = %for.body.i5, %if.end454
%i.011.i = phi i32 [ %inc.i4, %for.body.i5 ], [ 0, %if.end454 ]
%ener1.010.i = phi float [ %add.i3, %for.body.i5 ], [ 0.000000e+00, %if.end454 ]
%arrayidx.i1 = getelementptr inbounds float* %0, i32 %i.011.i
%222 = load float* %arrayidx.i1, align 4
%mul.i2 = fmul float %222, %222
%add.i3 = fadd float %ener1.010.i, %mul.i2
%inc.i4 = add nsw i32 %i.011.i, 1
%exitcond14.i = icmp eq i32 %inc.i4, %shr.i
br i1 %exitcond14.i, label %for.cond3.preheader.i, label %for.body.i5
for.body5.i8: ; preds = %for.body5.i8, %for.cond3.preheader.i
%i.18.i = phi i32 [ %inc11.i, %for.body5.i8 ], [ %shr.i, %for.cond3.preheader.i ]
%ener2.07.i = phi float [ %add9.i6, %for.body5.i8 ], [ 0.000000e+00, %for.cond3.preheader.i ]
%arrayidx6.i = getelementptr inbounds float* %0, i32 %i.18.i
%223 = load float* %arrayidx6.i, align 4
%mul8.i = fmul float %223, %223
%add9.i6 = fadd float %ener2.07.i, %mul8.i
%inc11.i = add nsw i32 %i.18.i, 1
%exitcond.i7 = icmp eq i32 %inc11.i, %199
br i1 %exitcond.i7, label %for.end12.i, label %for.body5.i8
for.end12.i: ; preds = %for.body5.i8, %for.cond3.preheader.i
%ener2.0.lcssa.i = phi float [ 0.000000e+00, %for.cond3.preheader.i ], [ %add9.i6, %for.body5.i8 ]
%add13.i9 = fadd float %ener1.0.lcssa.i, %ener2.0.lcssa.i
%add14.i10 = fadd float %add13.i9, 6.000000e+03
%conv.i11 = fpext float %add14.i10 to double
%call.i12 = call double @log(double %conv.i11)
%conv15.i = fptrunc double %call.i12 to float
%arrayidx19.i13 = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 3, i32 0
%224 = load float* %arrayidx19.i13, align 4
%sub.i14 = fsub float %conv15.i, %224
%mul23.i = fmul float %sub.i14, %sub.i14
%add24.i = fadd float %mul23.i, 0.000000e+00
%arrayidx19.1.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 3, i32 1
%225 = load float* %arrayidx19.1.i, align 4
%sub.1.i = fsub float %conv15.i, %225
%mul23.1.i = fmul float %sub.1.i, %sub.1.i
%add24.1.i = fadd float %add24.i, %mul23.1.i
%arrayidx19.2.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 3, i32 2
%226 = load float* %arrayidx19.2.i, align 4
%sub.2.i = fsub float %conv15.i, %226
%mul23.2.i = fmul float %sub.2.i, %sub.2.i
%add24.2.i = fadd float %add24.1.i, %mul23.2.i
%arrayidx19.3.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 3, i32 3
%227 = load float* %arrayidx19.3.i, align 4
%sub.3.i = fsub float %conv15.i, %227
%mul23.3.i = fmul float %sub.3.i, %sub.3.i
%add24.3.i = fadd float %add24.2.i, %mul23.3.i
%arrayidx19.4.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 3, i32 4
%228 = load float* %arrayidx19.4.i, align 4
%sub.4.i = fsub float %conv15.i, %228
%mul23.4.i = fmul float %sub.4.i, %sub.4.i
%add24.4.i = fadd float %add24.3.i, %mul23.4.i
%div.i15 = fdiv float %add24.4.i, 1.500000e+02
%cmp28.i = fcmp ogt float %div.i15, 1.000000e+00
%non_st.1.i = select i1 %cmp28.i, float 1.000000e+00, float %div.i15
%conv29.i = fpext float %ol_pitch_coef.0 to double
%sub30.i = fadd double %conv29.i, -4.000000e-01
%mul31.i = fmul double %sub30.i, 3.000000e+00
%call34.i = call double @fabs(double %sub30.i)
%mul35.i = fmul double %mul31.i, %call34.i
%conv36.i = fptrunc double %mul35.i to float
%energy_alpha.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 0
%229 = load float* %energy_alpha.i, align 4
%sub37.i = fsub float 1.000000e+00, %229
%average_energy.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 1
%230 = load float* %average_energy.i, align 4
%mul38.i = fmul float %sub37.i, %230
%mul40.i = fmul float %229, %add13.i9
%add41.i = fadd float %mul38.i, %mul40.i
store float %add41.i, float* %average_energy.i, align 4
%noise_accum.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 9
%231 = load float* %noise_accum.i, align 4
%noise_accum_count.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 10
%232 = load float* %noise_accum_count.i, align 4
%div43.i = fdiv float %231, %232
%noise_level.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 8
store float %div43.i, float* %noise_level.i, align 4
%conv44.i = fpext float %add13.i9 to double
%233 = call double @llvm.pow.f64(double %conv44.i, double 0x3FD3333340000000)
%conv45.i = fptrunc double %233 to float
%conv47.i = fpext float %232 to double
%cmp48.i = fcmp olt double %conv47.i, 6.000000e-02
%cmp49.i = fcmp ogt float %add13.i9, 6.000000e+03
%or.cond.i = and i1 %cmp48.i, %cmp49.i
br i1 %or.cond.i, label %if.then50.i, label %if.end55.i
if.then50.i: ; preds = %for.end12.i
%conv51.i = fpext float %conv45.i to double
%mul52.i = fmul double %conv51.i, 5.000000e-02
%conv53.i = fptrunc double %mul52.i to float
store float %conv53.i, float* %noise_accum.i, align 4
br label %if.end55.i
if.end55.i: ; preds = %if.then50.i, %for.end12.i
%234 = phi float [ %conv53.i, %if.then50.i ], [ %231, %for.end12.i ]
%conv56.i = fpext float %conv36.i to double
%cmp57.i = fcmp olt double %conv56.i, 3.000000e-01
br i1 %cmp57.i, label %land.lhs.true58.i, label %lor.lhs.false78.i
land.lhs.true58.i: ; preds = %if.end55.i
%conv59.i = fpext float %non_st.1.i to double
%cmp60.i = fcmp olt double %conv59.i, 2.000000e-01
br i1 %cmp60.i, label %land.lhs.true61.i, label %land.lhs.true69.i
land.lhs.true61.i: ; preds = %land.lhs.true58.i
%conv62.i = fpext float %conv45.i to double
%conv64.i = fpext float %div43.i to double
%mul65.i = fmul double %conv64.i, 1.200000e+00
%cmp66.i = fcmp olt double %conv62.i, %mul65.i
br i1 %cmp66.i, label %if.then95.i, label %lor.lhs.false.i
lor.lhs.false.i: ; preds = %land.lhs.true61.i
%cmp71.i = fcmp olt double %conv59.i, 5.000000e-02
br i1 %cmp71.i, label %land.lhs.true72.i, label %lor.lhs.false78.i
land.lhs.true69.i: ; preds = %land.lhs.true58.i
%cmp71.old.i = fcmp olt double %conv59.i, 5.000000e-02
br i1 %cmp71.old.i, label %land.lhs.true69.land.lhs.true72_crit_edge.i, label %lor.lhs.false78.i
land.lhs.true69.land.lhs.true72_crit_edge.i: ; preds = %land.lhs.true69.i
%conv73.pre.i = fpext float %conv45.i to double
%conv75.pre.i = fpext float %div43.i to double
br label %land.lhs.true72.i
land.lhs.true72.i: ; preds = %land.lhs.true69.land.lhs.true72_crit_edge.i, %lor.lhs.false.i
%conv75.pre-phi.i = phi double [ %conv75.pre.i, %land.lhs.true69.land.lhs.true72_crit_edge.i ], [ %conv64.i, %lor.lhs.false.i ]
%conv73.pre-phi.i = phi double [ %conv73.pre.i, %land.lhs.true69.land.lhs.true72_crit_edge.i ], [ %conv62.i, %lor.lhs.false.i ]
%mul76.i = fmul double %conv75.pre-phi.i, 1.500000e+00
%cmp77.i = fcmp olt double %conv73.pre-phi.i, %mul76.i
br i1 %cmp77.i, label %if.then95.i, label %lor.lhs.false78.i
lor.lhs.false78.i: ; preds = %land.lhs.true72.i, %land.lhs.true69.i, %lor.lhs.false.i, %if.end55.i
%cmp80.i = fcmp olt double %conv56.i, 4.000000e-01
br i1 %cmp80.i, label %land.lhs.true81.i, label %lor.lhs.false90.i
land.lhs.true81.i: ; preds = %lor.lhs.false78.i
%conv82.i = fpext float %non_st.1.i to double
%cmp83.i = fcmp olt double %conv82.i, 5.000000e-02
br i1 %cmp83.i, label %land.lhs.true84.i, label %lor.lhs.false90.i
land.lhs.true84.i: ; preds = %land.lhs.true81.i
%conv85.i = fpext float %conv45.i to double
%conv87.i = fpext float %div43.i to double
%mul88.i = fmul double %conv87.i, 1.200000e+00
%cmp89.i = fcmp olt double %conv85.i, %mul88.i
br i1 %cmp89.i, label %if.then95.i, label %lor.lhs.false90.i
lor.lhs.false90.i: ; preds = %land.lhs.true84.i, %land.lhs.true81.i, %lor.lhs.false78.i
%cmp91.i = fcmp olt float %conv36.i, 0.000000e+00
br i1 %cmp91.i, label %land.lhs.true92.i, label %if.else122.i
land.lhs.true92.i: ; preds = %lor.lhs.false90.i
%conv93.i = fpext float %non_st.1.i to double
%cmp94.i = fcmp olt double %conv93.i, 5.000000e-02
br i1 %cmp94.i, label %if.then95.i, label %if.else122.i
if.then95.i: ; preds = %land.lhs.true92.i, %land.lhs.true84.i, %land.lhs.true72.i, %land.lhs.true61.i
%consec_noise.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 11
%235 = load i32* %consec_noise.i, align 4
%inc96.i = add nsw i32 %235, 1
store i32 %inc96.i, i32* %consec_noise.i, align 4
%mul98.i = fmul float %div43.i, 3.000000e+00
%cmp105.i = icmp sgt i32 %inc96.i, 3
br i1 %cmp105.i, label %if.then106.i, label %if.end124.i
if.then106.i: ; preds = %if.then95.i
%cmp99.i = fcmp ogt float %conv45.i, %mul98.i
%mul98.conv45.i = select i1 %cmp99.i, float %mul98.i, float %conv45.i
%conv108.i = fpext float %234 to double
%mul109.i = fmul double %conv108.i, 9.500000e-01
%conv110.i = fpext float %mul98.conv45.i to double
%mul111.i = fmul double %conv110.i, 5.000000e-02
%add112.i = fadd double %mul109.i, %mul111.i
%conv113.i = fptrunc double %add112.i to float
store float %conv113.i, float* %noise_accum.i, align 4
%mul117.i = fmul double %conv47.i, 9.500000e-01
%add118.i = fadd double %mul117.i, 5.000000e-02
%conv119.i = fptrunc double %add118.i to float
store float %conv119.i, float* %noise_accum_count.i, align 4
br label %if.end124.i
if.else122.i: ; preds = %land.lhs.true92.i, %lor.lhs.false90.i
%consec_noise123.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 11
store i32 0, i32* %consec_noise123.i, align 4
br label %if.end124.i
if.end124.i: ; preds = %if.else122.i, %if.then106.i, %if.then95.i
%236 = phi float [ %232, %if.then95.i ], [ %conv119.i, %if.then106.i ], [ %232, %if.else122.i ]
%237 = phi float [ %234, %if.then95.i ], [ %conv113.i, %if.then106.i ], [ %234, %if.else122.i ]
%cmp126.i = fcmp olt float %conv45.i, %div43.i
%or.cond1.i = and i1 %cmp126.i, %cmp49.i
br i1 %or.cond1.i, label %if.then129.i, label %if.end144.i
if.then129.i: ; preds = %if.end124.i
%conv131.i = fpext float %237 to double
%mul132.i = fmul double %conv131.i, 9.500000e-01
%conv133.i = fpext float %conv45.i to double
%mul134.i = fmul double %conv133.i, 5.000000e-02
%add135.i = fadd double %mul132.i, %mul134.i
%conv136.i = fptrunc double %add135.i to float
store float %conv136.i, float* %noise_accum.i, align 4
%conv139.i = fpext float %236 to double
%mul140.i = fmul double %conv139.i, 9.500000e-01
%add141.i = fadd double %mul140.i, 5.000000e-02
%conv142.i = fptrunc double %add141.i to float
store float %conv142.i, float* %noise_accum_count.i, align 4
br label %if.end144.i
if.end144.i: ; preds = %if.then129.i, %if.end124.i
%cmp145.i = fcmp olt float %add13.i9, 3.000000e+04
br i1 %cmp145.i, label %if.then146.i, label %if.else162.i
if.then146.i: ; preds = %if.end144.i
%cmp150.i = fcmp olt float %add13.i9, 1.000000e+04
%qual.0.i = select i1 %cmp150.i, float 0x4016666680000000, float 0x4019333340000000
%cmp156.i = fcmp olt float %add13.i9, 3.000000e+03
br i1 %cmp156.i, label %if.then157.i, label %if.end220.i
if.then157.i: ; preds = %if.then146.i
%conv158.i = fpext float %qual.0.i to double
%sub159.i = fadd double %conv158.i, -7.000000e-01
%conv160.i = fptrunc double %sub159.i to float
br label %if.end220.i
if.else162.i: ; preds = %if.end144.i
%add165.i = fadd float %add13.i9, 1.000000e+00
%last_energy.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 2
%238 = load float* %last_energy.i, align 4
%add166.i = fadd float %238, 1.000000e+00
%div167.i = fdiv float %add165.i, %add166.i
%conv168.i = fpext float %div167.i to double
%call169.i = call double @log(double %conv168.i)
%conv170.i = fptrunc double %call169.i to float
%239 = load float* %average_energy.i, align 4
%add173.i = fadd float %239, 1.000000e+00
%div174.i = fdiv float %add165.i, %add173.i
%conv175.i = fpext float %div174.i to double
%call176.i = call double @log(double %conv175.i)
%conv177.i = fptrunc double %call176.i to float
%cmp178.i = fcmp olt float %conv177.i, -5.000000e+00
%long_diff.0.i = select i1 %cmp178.i, float -5.000000e+00, float %conv177.i
%cmp181.i = fcmp ogt float %long_diff.0.i, 2.000000e+00
%long_diff.1.i = select i1 %cmp181.i, float 2.000000e+00, float %long_diff.0.i
%cmp184.i = fcmp ogt float %long_diff.1.i, 0.000000e+00
br i1 %cmp184.i, label %if.then185.i, label %if.end191.i
if.then185.i: ; preds = %if.else162.i
%conv186.i = fpext float %long_diff.1.i to double
%mul187.i = fmul double %conv186.i, 6.000000e-01
%add189.i = fadd double %mul187.i, 7.000000e+00
%conv190.i = fptrunc double %add189.i to float
br label %if.end191.i
if.end191.i: ; preds = %if.then185.i, %if.else162.i
%qual.1.i = phi float [ %conv190.i, %if.then185.i ], [ 7.000000e+00, %if.else162.i ]
%cmp192.i = fcmp olt float %long_diff.1.i, 0.000000e+00
br i1 %cmp192.i, label %if.then193.i, label %if.end199.i
if.then193.i: ; preds = %if.end191.i
%conv194.i = fpext float %long_diff.1.i to double
%mul195.i = fmul double %conv194.i, 5.000000e-01
%conv196.i = fpext float %qual.1.i to double
%add197.i = fadd double %conv196.i, %mul195.i
%conv198.i = fptrunc double %add197.i to float
br label %if.end199.i
if.end199.i: ; preds = %if.then193.i, %if.end191.i
%qual.2.i = phi float [ %conv198.i, %if.then193.i ], [ %qual.1.i, %if.end191.i ]
%cmp200.i = fcmp ogt float %conv170.i, 0.000000e+00
br i1 %cmp200.i, label %if.then201.i, label %if.end210.i
if.then201.i: ; preds = %if.end199.i
%cmp202.i = fcmp ogt float %conv170.i, 5.000000e+00
%240 = fpext float %conv170.i to double
%.op.i = fmul double %240, 5.000000e-01
%mul206.i = select i1 %cmp202.i, double 2.500000e+00, double %.op.i
%conv207.i = fpext float %qual.2.i to double
%add208.i = fadd double %conv207.i, %mul206.i
%conv209.i = fptrunc double %add208.i to float
br label %if.end210.i
if.end210.i: ; preds = %if.then201.i, %if.end199.i
%qual.3.i = phi float [ %conv209.i, %if.then201.i ], [ %qual.2.i, %if.end199.i ]
%conv211.i = fpext float %ener2.0.lcssa.i to double
%conv212.i = fpext float %ener1.0.lcssa.i to double
%mul213.i = fmul double %conv212.i, 1.600000e+00
%cmp214.i = fcmp ogt double %conv211.i, %mul213.i
br i1 %cmp214.i, label %if.then215.i, label %if.end220.i
if.then215.i: ; preds = %if.end210.i
%conv218.i = fadd float %qual.3.i, 5.000000e-01
br label %if.end220.i
if.end220.i: ; preds = %if.then215.i, %if.end210.i, %if.then157.i, %if.then146.i
%qual.4.i = phi float [ %conv160.i, %if.then157.i ], [ %qual.0.i, %if.then146.i ], [ %conv218.i, %if.then215.i ], [ %qual.3.i, %if.end210.i ]
%last_energy221.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 2
store float %add13.i9, float* %last_energy221.i, align 4
%soft_pitch.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 6
%241 = load float* %soft_pitch.i, align 4
%conv222.i = fpext float %241 to double
%mul223.i = fmul double %conv222.i, 6.000000e-01
%mul225.i = fmul double %conv29.i, 4.000000e-01
%add226.i = fadd double %mul223.i, %mul225.i
%conv227.i = fptrunc double %add226.i to float
store float %conv227.i, float* %soft_pitch.i, align 4
%conv232.i = fpext float %conv227.i to double
%sub233.i = fadd double %conv232.i, -4.000000e-01
%add234.i = fadd double %sub30.i, %sub233.i
%mul235.i = fmul double %add234.i, 2.200000e+00
%conv236.i = fpext float %qual.4.i to double
%add237.i = fadd double %conv236.i, %mul235.i
%conv238.i = fptrunc double %add237.i to float
%last_quality.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 7
%242 = load float* %last_quality.i, align 4
%cmp239.i = fcmp olt float %conv238.i, %242
br i1 %cmp239.i, label %if.then240.i, label %if.end248.i
if.then240.i: ; preds = %if.end220.i
%conv241.i = fpext float %conv238.i to double
%mul242.i = fmul double %conv241.i, 5.000000e-01
%conv244.i = fpext float %242 to double
%mul245.i = fmul double %conv244.i, 5.000000e-01
%add246.i = fadd double %mul242.i, %mul245.i
%conv247.i = fptrunc double %add246.i to float
br label %if.end248.i
if.end248.i: ; preds = %if.then240.i, %if.end220.i
%qual.5.i = phi float [ %conv247.i, %if.then240.i ], [ %conv238.i, %if.end220.i ]
%cmp249.i = fcmp olt float %qual.5.i, 4.000000e+00
%qual.6.i = select i1 %cmp249.i, float 4.000000e+00, float %qual.5.i
%cmp252.i = fcmp ogt float %qual.6.i, 1.000000e+01
%qual.7.i = select i1 %cmp252.i, float 1.000000e+01, float %qual.6.i
%consec_noise255.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 11
%243 = load i32* %consec_noise255.i, align 4
%cmp256.i = icmp sgt i32 %243, 2
%.qual.7.i = select i1 %cmp256.i, float 4.000000e+00, float %qual.7.i
%tobool.i16 = icmp eq i32 %243, 0
br i1 %tobool.i16, label %if.end272.i, label %if.then260.i
if.then260.i: ; preds = %if.end248.i
%conv262.i = sitofp i32 %243 to float
%add263.i = fadd float %conv262.i, 3.000000e+00
%conv264.i = fpext float %add263.i to double
%call265.i = call double @log(double %conv264.i)
%sub267.i = fadd double %call265.i, 0xBFF193EA7AAD030B
%conv269.i = fpext float %.qual.7.i to double
%sub270.i = fsub double %conv269.i, %sub267.i
%conv271.i = fptrunc double %sub270.i to float
br label %if.end272.i
if.end272.i: ; preds = %if.then260.i, %if.end248.i
%qual.9.i = phi float [ %conv271.i, %if.then260.i ], [ %.qual.7.i, %if.end248.i ]
%cmp273.i = fcmp olt float %qual.9.i, 0.000000e+00
%qual.10.i = select i1 %cmp273.i, float 0.000000e+00, float %qual.9.i
%cmp276.i = fcmp olt float %add13.i9, 6.000000e+04
br i1 %cmp276.i, label %if.then277.i, label %_Z12vbr_analysisP8VBRStatePfiif.exit
if.then277.i: ; preds = %if.end272.i
%244 = load i32* %consec_noise255.i, align 4
%cmp279.i = icmp sgt i32 %244, 2
br i1 %cmp279.i, label %if.then280.i, label %if.end292.i
if.then280.i: ; preds = %if.then277.i
%conv282.i = sitofp i32 %244 to float
%add283.i = fadd float %conv282.i, 3.000000e+00
%conv284.i = fpext float %add283.i to double
%call285.i = call double @log(double %conv284.i)
%sub287.i = fadd double %call285.i, 0xBFF193EA7AAD030B
%mul288.i = fmul double %sub287.i, 5.000000e-01
%conv289.i = fpext float %qual.10.i to double
%sub290.i = fsub double %conv289.i, %mul288.i
%conv291.i = fptrunc double %sub290.i to float
br label %if.end292.i
if.end292.i: ; preds = %if.then280.i, %if.then277.i
%qual.11.i = phi float [ %conv291.i, %if.then280.i ], [ %qual.10.i, %if.then277.i ]
%cmp293.i = fcmp olt float %add13.i9, 1.000000e+04
br i1 %cmp293.i, label %land.lhs.true294.i, label %if.end309.i
land.lhs.true294.i: ; preds = %if.end292.i
%245 = load i32* %consec_noise255.i, align 4
%cmp296.i = icmp sgt i32 %245, 2
br i1 %cmp296.i, label %if.then297.i, label %if.end309.i
if.then297.i: ; preds = %land.lhs.true294.i
%conv299.i = sitofp i32 %245 to float
%add300.i = fadd float %conv299.i, 3.000000e+00
%conv301.i = fpext float %add300.i to double
%call302.i = call double @log(double %conv301.i)
%sub304.i = fadd double %call302.i, 0xBFF193EA7AAD030B
%mul305.i = fmul double %sub304.i, 5.000000e-01
%conv306.i = fpext float %qual.11.i to double
%sub307.i = fsub double %conv306.i, %mul305.i
%conv308.i = fptrunc double %sub307.i to float
br label %if.end309.i
if.end309.i: ; preds = %if.then297.i, %land.lhs.true294.i, %if.end292.i
%qual.12.i = phi float [ %conv308.i, %if.then297.i ], [ %qual.11.i, %land.lhs.true294.i ], [ %qual.11.i, %if.end292.i ]
%cmp310.i = fcmp olt float %qual.12.i, 0.000000e+00
%div314.i = fdiv double %conv44.i, 6.000000e+04
%add315.i = fadd double %div314.i, 1.000000e-04
%call316.i = call double @log(double %add315.i)
%mul317.i = fmul double %call316.i, 3.000000e-01
%246 = fpext float %qual.12.i to double
%conv318.i = select i1 %cmp310.i, double 0.000000e+00, double %246
%add319.i = fadd double %conv318.i, %mul317.i
%conv320.i = fptrunc double %add319.i to float
br label %_Z12vbr_analysisP8VBRStatePfiif.exit
_Z12vbr_analysisP8VBRStatePfiif.exit: ; preds = %if.end309.i, %if.end272.i
%qual.14.i = phi float [ %conv320.i, %if.end309.i ], [ %qual.10.i, %if.end272.i ]
%cmp322.i = fcmp olt float %qual.14.i, -1.000000e+00
%qual.15.i = select i1 %cmp322.i, float -1.000000e+00, float %qual.14.i
%last_pitch_coef.i = getelementptr inbounds %struct.VBRState* %202, i32 0, i32 5
store float %ol_pitch_coef.0, float* %last_pitch_coef.i, align 4
store float %qual.15.i, float* %last_quality.i, align 4
%247 = load float* %arrayidx19.3.i, align 4
store float %247, float* %arrayidx19.4.i, align 4
%248 = load float* %arrayidx19.2.i, align 4
store float %248, float* %arrayidx19.3.i, align 4
%249 = load float* %arrayidx19.1.i, align 4
store float %249, float* %arrayidx19.2.i, align 4
%250 = load float* %arrayidx19.i13, align 4
store float %250, float* %arrayidx19.1.i, align 4
store float %conv15.i, float* %arrayidx19.i13, align 4
%relative_quality = getelementptr inbounds i8* %state, i32 152
%251 = bitcast i8* %relative_quality to float*
store float %qual.15.i, float* %251, align 4
%252 = load i32* %203, align 4
%tobool460 = icmp eq i32 %252, 0
br i1 %tobool460, label %if.else553, label %while.cond.preheader
while.cond.preheader: ; preds = %_Z12vbr_analysisP8VBRStatePfiif.exit
store i32 8, i32* %mode, align 4
%vbr_quality463 = getelementptr inbounds i8* %state, i32 148
%253 = bitcast i8* %vbr_quality463 to float*
br label %while.body
while.body: ; preds = %if.end497, %while.cond.preheader
%254 = phi i32 [ 8, %while.cond.preheader ], [ %dec, %if.end497 ]
%min_diff.0502 = phi float [ 1.000000e+02, %while.cond.preheader ], [ %min_diff.1, %if.end497 ]
%choice.0501 = phi i32 [ 0, %while.cond.preheader ], [ %choice.1, %if.end497 ]
%255 = load float* %253, align 4
%floorf = call float @floorf(float %255)
%conv466 = fptosi float %floorf to i32
%cmp467 = icmp eq i32 %conv466, 10
br i1 %cmp467, label %if.then468, label %if.else471
if.then468: ; preds = %while.body
%arrayidx470 = getelementptr inbounds [9 x [11 x float]]* @vbr_nb_thresh, i32 0, i32 %254, i32 10
%256 = load float* %arrayidx470, align 4
br label %if.end487
if.else471: ; preds = %while.body
%257 = load float* %253, align 4
%conv473 = sitofp i32 %conv466 to float
%sub474 = fsub float %257, %conv473
%add475 = add nsw i32 %conv466, 1
%arrayidx477 = getelementptr inbounds [9 x [11 x float]]* @vbr_nb_thresh, i32 0, i32 %254, i32 %add475
%258 = load float* %arrayidx477, align 4
%mul478 = fmul float %sub474, %258
%conv480 = sitofp i32 %add475 to float
%sub482 = fsub float %conv480, %257
%arrayidx484 = getelementptr inbounds [9 x [11 x float]]* @vbr_nb_thresh, i32 0, i32 %254, i32 %conv466
%259 = load float* %arrayidx484, align 4
%mul485 = fmul float %sub482, %259
%add486 = fadd float %mul478, %mul485
br label %if.end487
if.end487: ; preds = %if.else471, %if.then468
%thresh.0 = phi float [ %256, %if.then468 ], [ %add486, %if.else471 ]
%260 = load float* %251, align 4
%cmp489 = fcmp ogt float %260, %thresh.0
br i1 %cmp489, label %land.lhs.true490, label %if.end497
land.lhs.true490: ; preds = %if.end487
%sub492 = fsub float %260, %thresh.0
%cmp493 = fcmp olt float %sub492, %min_diff.0502
br i1 %cmp493, label %if.then494, label %if.end497
if.then494: ; preds = %land.lhs.true490
br label %if.end497
if.end497: ; preds = %if.then494, %land.lhs.true490, %if.end487
%choice.1 = phi i32 [ %254, %if.then494 ], [ %choice.0501, %land.lhs.true490 ], [ %choice.0501, %if.end487 ]
%min_diff.1 = phi float [ %sub492, %if.then494 ], [ %min_diff.0502, %land.lhs.true490 ], [ %min_diff.0502, %if.end487 ]
%dec = add nsw i32 %254, -1
store i32 %dec, i32* %mode, align 4
%tobool462 = icmp eq i32 %dec, 0
br i1 %tobool462, label %while.end, label %while.body
while.end: ; preds = %if.end497
store i32 %choice.1, i32* %mode, align 4
%cmp498 = icmp eq i32 %choice.1, 0
%dtx_count = getelementptr inbounds i8* %state, i32 172
%261 = bitcast i8* %dtx_count to i32*
br i1 %cmp498, label %if.then499, label %if.else515
if.then499: ; preds = %while.end
%262 = load i32* %261, align 4
%cmp500 = icmp eq i32 %262, 0
%cmp503 = fcmp ogt double %lsp_dist.0.lcssa, 5.000000e-02
%or.cond654 = or i1 %cmp500, %cmp503
br i1 %or.cond654, label %if.then509, label %lor.lhs.false504
lor.lhs.false504: ; preds = %if.then499
%dtx_enabled = getelementptr inbounds i8* %state, i32 168
%263 = bitcast i8* %dtx_enabled to i32*
%264 = load i32* %263, align 4
%tobool505 = icmp eq i32 %264, 0
%cmp508 = icmp sgt i32 %262, 20
%or.cond24 = or i1 %tobool505, %cmp508
br i1 %or.cond24, label %if.then509, label %if.else511
if.then509: ; preds = %lor.lhs.false504, %if.then499
store i32 1, i32* %mode, align 4
store i32 1, i32* %261, align 4
br label %if.end517
if.else511: ; preds = %lor.lhs.false504
store i32 0, i32* %mode, align 4
%inc513 = add nsw i32 %262, 1
store i32 %inc513, i32* %261, align 4
br label %if.end517
if.else515: ; preds = %while.end
store i32 0, i32* %261, align 4
br label %if.end517
if.end517: ; preds = %if.else515, %if.else511, %if.then509
%265 = bitcast i32* %mode to i8*
%266 = bitcast i8* %state to %struct.SpeexMode.117**
%267 = load %struct.SpeexMode.117** %266, align 4
%enc_ctl.i = getelementptr inbounds %struct.SpeexMode.117* %267, i32 0, i32 11
%268 = load i32 (i8*, i32, i8*)** %enc_ctl.i, align 4
%call.i204 = call i32 %268(i8* %state, i32 6, i8* %265)
%vbr_max = getelementptr inbounds i8* %state, i32 160
%269 = bitcast i8* %vbr_max to i32*
%270 = load i32* %269, align 4
%cmp519 = icmp sgt i32 %270, 0
br i1 %cmp519, label %if.then520, label %if.end528
if.then520: ; preds = %if.end517
%271 = bitcast i32* %rate to i8*
%272 = load %struct.SpeexMode.117** %266, align 4
%enc_ctl.i205 = getelementptr inbounds %struct.SpeexMode.117* %272, i32 0, i32 11
%273 = load i32 (i8*, i32, i8*)** %enc_ctl.i205, align 4
%call.i206 = call i32 %273(i8* %state, i32 19, i8* %271)
%274 = load i32* %rate, align 4
%275 = load i32* %269, align 4
%cmp523 = icmp sgt i32 %274, %275
br i1 %cmp523, label %if.then524, label %if.end528
if.then524: ; preds = %if.then520
store i32 %275, i32* %rate, align 4
%276 = load %struct.SpeexMode.117** %266, align 4
%enc_ctl.i207 = getelementptr inbounds %struct.SpeexMode.117* %276, i32 0, i32 11
%277 = load i32 (i8*, i32, i8*)** %enc_ctl.i207, align 4
%call.i208 = call i32 %277(i8* %state, i32 18, i8* %271)
br label %if.end528
if.end528: ; preds = %if.then524, %if.then520, %if.end517
%278 = load i32* %212, align 4
%tobool530 = icmp eq i32 %278, 0
br i1 %tobool530, label %if.end582, label %if.then531
if.then531: ; preds = %if.end528
%279 = bitcast i32* %bitrate to i8*
%280 = load %struct.SpeexMode.117** %266, align 4
%enc_ctl.i209 = getelementptr inbounds %struct.SpeexMode.117* %280, i32 0, i32 11
%281 = load i32 (i8*, i32, i8*)** %enc_ctl.i209, align 4
%call.i210 = call i32 %281(i8* %state, i32 19, i8* %279)
%282 = load i32* %bitrate, align 4
%283 = load i32* %212, align 4
%sub534 = sub nsw i32 %282, %283
%conv535 = sitofp i32 %sub534 to float
%abr_drift536 = getelementptr inbounds i8* %state, i32 180
%284 = bitcast i8* %abr_drift536 to float*
%285 = load float* %284, align 4
%add537 = fadd float %285, %conv535
store float %add537, float* %284, align 4
%abr_drift2538 = getelementptr inbounds i8* %state, i32 184
%286 = bitcast i8* %abr_drift2538 to float*
%287 = load float* %286, align 4
%conv539 = fpext float %287 to double
%mul540 = fmul double %conv539, 9.500000e-01
%conv543 = sitofp i32 %sub534 to double
%mul544 = fmul double %conv543, 5.000000e-02
%add545 = fadd double %mul540, %mul544
%conv546 = fptrunc double %add545 to float
store float %conv546, float* %286, align 4
%abr_count548 = getelementptr inbounds i8* %state, i32 188
%288 = bitcast i8* %abr_count548 to float*
%289 = load float* %288, align 4
%conv551 = fadd float %289, 1.000000e+00
store float %conv551, float* %288, align 4
br label %if.end582
if.else553: ; preds = %_Z12vbr_analysisP8VBRStatePfiif.exit
%cmp556 = fcmp olt float %qual.15.i, 2.000000e+00
%dtx_count558 = getelementptr inbounds i8* %state, i32 172
%290 = bitcast i8* %dtx_count558 to i32*
br i1 %cmp556, label %if.then557, label %if.else575
if.then557: ; preds = %if.else553
%291 = load i32* %290, align 4
%cmp559 = icmp eq i32 %291, 0
%cmp562 = fcmp ogt double %lsp_dist.0.lcssa, 5.000000e-02
%or.cond655 = or i1 %cmp559, %cmp562
br i1 %or.cond655, label %if.then569, label %lor.lhs.false563
lor.lhs.false563: ; preds = %if.then557
%dtx_enabled564 = getelementptr inbounds i8* %state, i32 168
%292 = bitcast i8* %dtx_enabled564 to i32*
%293 = load i32* %292, align 4
%tobool565 = icmp eq i32 %293, 0
%cmp568 = icmp sgt i32 %291, 20
%or.cond25 = or i1 %tobool565, %cmp568
br i1 %or.cond25, label %if.then569, label %if.else571
if.then569: ; preds = %lor.lhs.false563, %if.then557
store i32 1, i32* %290, align 4
br label %if.end577
if.else571: ; preds = %lor.lhs.false563
%inc573 = add nsw i32 %291, 1
store i32 %inc573, i32* %290, align 4
br label %if.end577
if.else575: ; preds = %if.else553
store i32 0, i32* %290, align 4
%submodeSelect = getelementptr inbounds i8* %state, i32 216
%294 = bitcast i8* %submodeSelect to i32*
%295 = load i32* %294, align 4
br label %if.end577
if.end577: ; preds = %if.else575, %if.else571, %if.then569
%mode554.0 = phi i32 [ 1, %if.then569 ], [ 0, %if.else571 ], [ %295, %if.else575 ]
store i32 %mode554.0, i32* %129, align 4
br label %if.end582
if.else580: ; preds = %lor.lhs.false401, %if.end396
%relative_quality581 = getelementptr inbounds i8* %state, i32 152
%296 = bitcast i8* %relative_quality581 to float*
store float -1.000000e+00, float* %296, align 4
br label %if.end582
if.end582: ; preds = %if.else580, %if.end577, %if.then531, %if.end528
%encode_submode = getelementptr inbounds i8* %state, i32 204
%297 = bitcast i8* %encode_submode to i32*
%298 = load i32* %297, align 4
%tobool583 = icmp eq i32 %298, 0
br i1 %tobool583, label %if.end586, label %if.then584
if.then584: ; preds = %if.end582
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 0, i32 1)
%299 = load i32* %129, align 4
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %299, i32 4)
br label %if.end586
if.end586: ; preds = %if.then584, %if.end582
%300 = load i32* %129, align 4
%301 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx589 = getelementptr inbounds %struct.SpeexSubmode** %301, i32 %300
%302 = load %struct.SpeexSubmode** %arrayidx589, align 4
%cmp590 = icmp eq %struct.SpeexSubmode* %302, null
br i1 %cmp590, label %for.cond592.preheader, label %if.end644
for.cond592.preheader: ; preds = %if.end586
%303 = load i32* %35, align 4
%cmp594574 = icmp sgt i32 %303, 0
br i1 %cmp594574, label %for.body595.lr.ph, label %for.cond603.preheader
for.body595.lr.ph: ; preds = %for.cond592.preheader
%sw596 = getelementptr inbounds i8* %state, i32 88
%304 = bitcast i8* %sw596 to float**
br label %for.body595
for.cond603.preheader: ; preds = %for.body595, %for.cond592.preheader
%305 = phi i32 [ %303, %for.cond592.preheader ], [ %310, %for.body595 ]
%306 = load i32* %5, align 4
%cmp605572 = icmp sgt i32 %306, 0
br i1 %cmp605572, label %for.body606.lr.ph, label %for.end610
for.body606.lr.ph: ; preds = %for.cond603.preheader
%mem_sw = getelementptr inbounds i8* %state, i32 112
%307 = bitcast i8* %mem_sw to float**
br label %for.body606
for.body595: ; preds = %for.body595, %for.body595.lr.ph
%i.7575 = phi i32 [ 0, %for.body595.lr.ph ], [ %inc601, %for.body595 ]
%308 = load float** %304, align 4
%arrayidx597 = getelementptr inbounds float* %308, i32 %i.7575
store float 0x3CD203AFA0000000, float* %arrayidx597, align 4
%309 = load float** %180, align 4
%arrayidx599 = getelementptr inbounds float* %309, i32 %i.7575
store float 0x3CD203AFA0000000, float* %arrayidx599, align 4
%inc601 = add nsw i32 %i.7575, 1
%310 = load i32* %35, align 4
%cmp594 = icmp slt i32 %inc601, %310
br i1 %cmp594, label %for.body595, label %for.cond603.preheader
for.body606: ; preds = %for.body606, %for.body606.lr.ph
%i.8573 = phi i32 [ 0, %for.body606.lr.ph ], [ %inc609, %for.body606 ]
%311 = load float** %307, align 4
%arrayidx607 = getelementptr inbounds float* %311, i32 %i.8573
store float 0.000000e+00, float* %arrayidx607, align 4
%inc609 = add nsw i32 %i.8573, 1
%312 = load i32* %5, align 4
%cmp605 = icmp slt i32 %inc609, %312
br i1 %cmp605, label %for.body606, label %for.cond603.for.end610_crit_edge
for.cond603.for.end610_crit_edge: ; preds = %for.body606
%.pre634 = load i32* %35, align 4
br label %for.end610
for.end610: ; preds = %for.cond603.for.end610_crit_edge, %for.cond603.preheader
%313 = phi i32 [ %.pre634, %for.cond603.for.end610_crit_edge ], [ %305, %for.cond603.preheader ]
store i32 1, i32* %109, align 4
%bounded_pitch = getelementptr inbounds i8* %state, i32 40
%314 = bitcast i8* %bounded_pitch to i32*
store i32 1, i32* %314, align 4
%315 = load float** %.pre-phi, align 4
%316 = bitcast float* %315 to i8*
%mul614 = shl nsw i32 %313, 1
%317 = load i32* %63, align 4
%add.ptr615.sum = sub i32 %mul614, %317
%add.ptr618 = getelementptr inbounds float* %0, i32 %add.ptr615.sum
%318 = bitcast float* %add.ptr618 to i8*
%sub621 = sub nsw i32 %317, %313
%mul622 = shl i32 %sub621, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %316, i8* %318, i32 %mul622, i32 4, i1 false)
%319 = load i32* %5, align 4
%cmp638570 = icmp sgt i32 %319, 0
br i1 %cmp638570, label %for.body639.lr.ph, label %return
for.body639.lr.ph: ; preds = %for.end610
%mem_sp = getelementptr inbounds i8* %state, i32 108
%320 = bitcast i8* %mem_sp to float**
br label %for.body639
for.body639: ; preds = %for.body639, %for.body639.lr.ph
%i.9571 = phi i32 [ 0, %for.body639.lr.ph ], [ %inc642, %for.body639 ]
%321 = load float** %320, align 4
%arrayidx640 = getelementptr inbounds float* %321, i32 %i.9571
store float 0.000000e+00, float* %arrayidx640, align 4
%inc642 = add nsw i32 %i.9571, 1
%322 = load i32* %5, align 4
%cmp638 = icmp slt i32 %inc642, %322
br i1 %cmp638, label %for.body639, label %return
if.end644: ; preds = %if.end586
%323 = load i32* %109, align 4
%tobool646 = icmp ne i32 %323, 0
%.pre635 = load i32* %5, align 4
%cmp650506 = icmp sgt i32 %.pre635, 0
%or.cond656 = and i1 %tobool646, %cmp650506
br i1 %or.cond656, label %for.body651.lr.ph, label %if.end658
for.body651.lr.ph: ; preds = %if.end644
%old_lsp653 = getelementptr inbounds i8* %state, i32 100
%324 = bitcast i8* %old_lsp653 to float**
br label %for.body651
for.body651: ; preds = %for.body651, %for.body651.lr.ph
%i.10507 = phi i32 [ 0, %for.body651.lr.ph ], [ %inc656, %for.body651 ]
%arrayidx652 = getelementptr inbounds float* %16, i32 %i.10507
%325 = load float* %arrayidx652, align 4
%326 = load float** %324, align 4
%arrayidx654 = getelementptr inbounds float* %326, i32 %i.10507
store float %325, float* %arrayidx654, align 4
%inc656 = add nsw i32 %i.10507, 1
%327 = load i32* %5, align 4
%cmp650 = icmp slt i32 %inc656, %327
br i1 %cmp650, label %for.body651, label %for.cond648.if.end658.loopexit_crit_edge
for.cond648.if.end658.loopexit_crit_edge: ; preds = %for.body651
%.pre608.pre = load i32* %129, align 4
%.pre609.pre = load %struct.SpeexSubmode*** %131, align 4
%arrayidx661.phi.trans.insert.phi.trans.insert = getelementptr inbounds %struct.SpeexSubmode** %.pre609.pre, i32 %.pre608.pre
%.pre610.pre = load %struct.SpeexSubmode** %arrayidx661.phi.trans.insert.phi.trans.insert, align 4
br label %if.end658
if.end658: ; preds = %for.cond648.if.end658.loopexit_crit_edge, %if.end644
%328 = phi i32 [ %327, %for.cond648.if.end658.loopexit_crit_edge ], [ %.pre635, %if.end644 ]
%329 = phi %struct.SpeexSubmode* [ %.pre610.pre, %for.cond648.if.end658.loopexit_crit_edge ], [ %302, %if.end644 ]
%lsp_quant = getelementptr inbounds %struct.SpeexSubmode* %329, i32 0, i32 4
%330 = load void (float*, float*, i32, %struct.SpeexBits*)** %lsp_quant, align 4
call void %330(float* %16, float* %19, i32 %328, %struct.SpeexBits* %bits)
%331 = load i32* %129, align 4
%332 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx665 = getelementptr inbounds %struct.SpeexSubmode** %332, i32 %331
%333 = load %struct.SpeexSubmode** %arrayidx665, align 4
%lbr_pitch666 = getelementptr inbounds %struct.SpeexSubmode* %333, i32 0, i32 0
%334 = load i32* %lbr_pitch666, align 4
%cmp667 = icmp eq i32 %334, -1
br i1 %cmp667, label %if.end671, label %if.then668
if.then668: ; preds = %if.end658
%min_pitch669 = getelementptr inbounds i8* %state, i32 28
%335 = bitcast i8* %min_pitch669 to i32*
%336 = load i32* %335, align 4
%sub670 = sub nsw i32 %ol_pitch.2, %336
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %sub670, i32 7)
%.pre611 = load i32* %129, align 4
%.pre612 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx674.phi.trans.insert = getelementptr inbounds %struct.SpeexSubmode** %.pre612, i32 %.pre611
%.pre613 = load %struct.SpeexSubmode** %arrayidx674.phi.trans.insert, align 4
br label %if.end671
if.end671: ; preds = %if.then668, %if.end658
%337 = phi %struct.SpeexSubmode* [ %333, %if.end658 ], [ %.pre613, %if.then668 ]
%forced_pitch_gain675 = getelementptr inbounds %struct.SpeexSubmode* %337, i32 0, i32 1
%338 = load i32* %forced_pitch_gain675, align 4
%tobool676 = icmp eq i32 %338, 0
br i1 %tobool676, label %if.end696, label %if.then677
if.then677: ; preds = %if.end671
%conv678 = fpext float %ol_pitch_coef.0 to double
%mul679 = fmul double %conv678, 9.000000e-01
%conv680 = fptrunc double %mul679 to float
%mul681 = fmul float %conv680, 1.500000e+01
%conv683 = fpext float %mul681 to double
%add684 = fadd double %conv683, 5.000000e-01
%call685 = call double @floor(double %add684)
%conv686 = fptosi double %call685 to i32
%cmp687 = icmp sgt i32 %conv686, 15
%.conv686 = select i1 %cmp687, i32 15, i32 %conv686
%cmp690 = icmp slt i32 %.conv686, 0
%quant.1 = select i1 %cmp690, i32 0, i32 %.conv686
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %quant.1, i32 4)
%conv693 = sitofp i32 %quant.1 to double
%mul694 = fmul double %conv693, 6.666700e-02
%conv695 = fptrunc double %mul694 to float
br label %if.end696
if.end696: ; preds = %if.then677, %if.end671
%ol_pitch_coef.1 = phi float [ %conv695, %if.then677 ], [ %ol_pitch_coef.0, %if.end671 ]
%conv697 = fpext float %ol_gain.0 to double
%call700 = call double @log(double %conv697)
%mul701 = fmul double %call700, 3.500000e+00
%add702 = fadd double %mul701, 5.000000e-01
%call703 = call double @floor(double %add702)
%conv704 = fptosi double %call703 to i32
%cmp705 = icmp slt i32 %conv704, 0
%.conv704 = select i1 %cmp705, i32 0, i32 %conv704
%cmp708 = icmp sgt i32 %.conv704, 31
%qe.1 = select i1 %cmp708, i32 31, i32 %.conv704
%conv711 = sitofp i32 %qe.1 to double
%div712 = fdiv double %conv711, 3.500000e+00
%call713 = call double @exp(double %div712)
%conv715 = fptrunc double %call713 to float
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %qe.1, i32 5)
%339 = load i32* %109, align 4
%tobool717 = icmp ne i32 %339, 0
%.pre636 = load i32* %5, align 4
%cmp721508 = icmp sgt i32 %.pre636, 0
%or.cond657 = and i1 %tobool717, %cmp721508
br i1 %or.cond657, label %for.body722.lr.ph, label %if.end728
for.body722.lr.ph: ; preds = %if.end696
%old_qlsp = getelementptr inbounds i8* %state, i32 104
%340 = bitcast i8* %old_qlsp to float**
br label %for.body722
for.body722: ; preds = %for.body722, %for.body722.lr.ph
%i.11509 = phi i32 [ 0, %for.body722.lr.ph ], [ %inc726, %for.body722 ]
%arrayidx723 = getelementptr inbounds float* %19, i32 %i.11509
%341 = load float* %arrayidx723, align 4
%342 = load float** %340, align 4
%arrayidx724 = getelementptr inbounds float* %342, i32 %i.11509
store float %341, float* %arrayidx724, align 4
%inc726 = add nsw i32 %i.11509, 1
%343 = load i32* %5, align 4
%cmp721 = icmp slt i32 %inc726, %343
br i1 %cmp721, label %for.body722, label %if.end728
if.end728: ; preds = %for.body722, %if.end696
%344 = phi i32 [ %.pre636, %if.end696 ], [ %343, %for.body722 ]
%345 = ptrtoint i8* %add.ptr129 to i32
%346 = sub i32 0, %345
%and730 = and i32 %346, 3
%add.ptr129.sum11 = add i32 %and730, %add.ptr125.sum
%subframeSize = getelementptr inbounds i8* %state, i32 12
%347 = bitcast i8* %subframeSize to i32*
%348 = load i32* %347, align 4
%mul732 = shl i32 %348, 2
%add.ptr731.sum = add i32 %mul732, %add.ptr129.sum11
%add.ptr733 = getelementptr inbounds i8* %2, i32 %add.ptr731.sum
%add.ptr737 = getelementptr inbounds i8* %2, i32 %add.ptr129.sum11
%349 = bitcast i8* %add.ptr737 to float*
%350 = ptrtoint i8* %add.ptr733 to i32
%351 = sub i32 0, %350
%and739 = and i32 %351, 3
%add.ptr733.sum12 = add i32 %and739, %add.ptr731.sum
%add.ptr740.sum = add i32 %add.ptr733.sum12, %mul732
%add.ptr743 = getelementptr inbounds i8* %2, i32 %add.ptr740.sum
%add.ptr747 = getelementptr inbounds i8* %2, i32 %add.ptr733.sum12
%352 = bitcast i8* %add.ptr747 to float*
%353 = ptrtoint i8* %add.ptr743 to i32
%354 = sub i32 0, %353
%and749 = and i32 %354, 3
%add.ptr743.sum13 = add i32 %and749, %add.ptr740.sum
%add.ptr750.sum = add i32 %add.ptr743.sum13, %mul732
%add.ptr753 = getelementptr inbounds i8* %2, i32 %add.ptr750.sum
%add.ptr757 = getelementptr inbounds i8* %2, i32 %add.ptr743.sum13
%355 = bitcast i8* %add.ptr757 to float*
%356 = ptrtoint i8* %add.ptr753 to i32
%357 = sub i32 0, %356
%and759 = and i32 %357, 3
%add.ptr753.sum14 = add i32 %and759, %add.ptr750.sum
%add.ptr760.sum = add i32 %add.ptr753.sum14, %mul732
%add.ptr763 = getelementptr inbounds i8* %2, i32 %add.ptr760.sum
%add.ptr767 = getelementptr inbounds i8* %2, i32 %add.ptr753.sum14
%358 = bitcast i8* %add.ptr767 to float*
%359 = ptrtoint i8* %add.ptr763 to i32
%360 = sub i32 0, %359
%and769 = and i32 %360, 3
%add.ptr763.sum15 = add i32 %and769, %add.ptr760.sum
%add.ptr770.sum = add i32 %add.ptr763.sum15, %mul732
%add.ptr773 = getelementptr inbounds i8* %2, i32 %add.ptr770.sum
%add.ptr777 = getelementptr inbounds i8* %2, i32 %add.ptr763.sum15
%361 = bitcast i8* %add.ptr777 to float*
%362 = ptrtoint i8* %add.ptr773 to i32
%363 = sub i32 0, %362
%and779 = and i32 %363, 3
%add.ptr773.sum16 = add i32 %and779, %add.ptr770.sum
%add.ptr780.sum = add i32 %add.ptr773.sum16, %mul732
%add.ptr783 = getelementptr inbounds i8* %2, i32 %add.ptr780.sum
%add.ptr787 = getelementptr inbounds i8* %2, i32 %add.ptr773.sum16
%364 = bitcast i8* %add.ptr787 to float*
%365 = ptrtoint i8* %add.ptr783 to i32
%366 = sub i32 0, %365
%and789 = and i32 %366, 3
%add.ptr783.sum17 = add i32 %and789, %add.ptr780.sum
%mul792 = shl i32 %344, 2
%add.ptr790.sum = add i32 %add.ptr783.sum17, %mul792
%add.ptr793 = getelementptr inbounds i8* %2, i32 %add.ptr790.sum
%add.ptr797 = getelementptr inbounds i8* %2, i32 %add.ptr783.sum17
%367 = bitcast i8* %add.ptr797 to float*
%nbSubframes799 = getelementptr inbounds i8* %state, i32 16
%368 = bitcast i8* %nbSubframes799 to i32*
%369 = load i32* %368, align 4
%cmp800567 = icmp sgt i32 %369, 0
br i1 %cmp800567, label %for.body801.lr.ph, label %for.end1189
for.body801.lr.ph: ; preds = %if.end728
%sw809 = getelementptr inbounds i8* %state, i32 88
%370 = bitcast i8* %sw809 to float**
%old_lsp811 = getelementptr inbounds i8* %state, i32 100
%371 = bitcast i8* %old_lsp811 to float**
%old_qlsp814 = getelementptr inbounds i8* %state, i32 104
%372 = bitcast i8* %old_qlsp814 to float**
%add.ptr56.sum = add i32 %add.ptr42.sum5, 4
%arrayidx18.phi.trans.insert.i289 = getelementptr inbounds i8* %2, i32 %add.ptr56.sum
%373 = bitcast i8* %arrayidx18.phi.trans.insert.i289 to float*
%add.ptr66.sum = add i32 %add.ptr52.sum6, 4
%arrayidx18.phi.trans.insert.i322 = getelementptr inbounds i8* %2, i32 %add.ptr66.sum
%374 = bitcast i8* %arrayidx18.phi.trans.insert.i322 to float*
%pi_gain = getelementptr inbounds i8* %state, i32 136
%375 = bitcast i8* %pi_gain to float**
%gamma1834 = getelementptr inbounds i8* %state, i32 56
%376 = bitcast i8* %gamma1834 to float*
%gamma2836 = getelementptr inbounds i8* %state, i32 60
%377 = bitcast i8* %gamma2836 to float*
%mem_exc2 = getelementptr inbounds i8* %state, i32 124
%378 = bitcast i8* %mem_exc2 to float**
%complexity889 = getelementptr inbounds i8* %state, i32 192
%379 = bitcast i8* %complexity889 to i32*
%mem_sw954 = getelementptr inbounds i8* %state, i32 112
%380 = bitcast i8* %mem_sw954 to float**
%min_pitch991 = getelementptr inbounds i8* %state, i32 28
%381 = bitcast i8* %min_pitch991 to i32*
%bounded_pitch1016 = getelementptr inbounds i8* %state, i32 40
%382 = bitcast i8* %bounded_pitch1016 to i32*
%plc_tuning = getelementptr inbounds i8* %state, i32 200
%383 = bitcast i8* %plc_tuning to i32*
%cumul_gain = getelementptr inbounds i8* %state, i32 36
%384 = bitcast i8* %cumul_gain to float*
%pitch1033 = getelementptr inbounds i8* %state, i32 52
%385 = bitcast i8* %pitch1033 to i32**
%innov_rms_save = getelementptr inbounds i8* %state, i32 140
%386 = bitcast i8* %innov_rms_save to float**
%mem_sp1179 = getelementptr inbounds i8* %state, i32 108
%387 = bitcast i8* %mem_sp1179 to float**
%388 = ptrtoint i8* %add.ptr793 to i32
%389 = sub i32 0, %388
%and1113 = and i32 %389, 3
%add.ptr793.sum18 = add i32 %and1113, %add.ptr790.sum
%add.ptr1121 = getelementptr inbounds i8* %2, i32 %add.ptr793.sum18
%390 = bitcast i8* %add.ptr1121 to float*
br label %for.body801
for.body801: ; preds = %for.inc1187.for.body801_crit_edge, %for.body801.lr.ph
%391 = phi i32 [ %344, %for.body801.lr.ph ], [ %.pre638, %for.inc1187.for.body801_crit_edge ]
%392 = phi i32 [ %348, %for.body801.lr.ph ], [ %.pre637, %for.inc1187.for.body801_crit_edge ]
%393 = phi i32 [ %369, %for.body801.lr.ph ], [ %597, %for.inc1187.for.body801_crit_edge ]
%sub.0569 = phi i32 [ 0, %for.body801.lr.ph ], [ %inc1188, %for.inc1187.for.body801_crit_edge ]
%ol_pitch.3568 = phi i32 [ %ol_pitch.2, %for.body801.lr.ph ], [ %ol_pitch.6, %for.inc1187.for.body801_crit_edge ]
%mul806 = mul nsw i32 %392, %sub.0569
%394 = load float** %180, align 4
%add.ptr808 = getelementptr inbounds float* %394, i32 %mul806
%395 = load float** %370, align 4
%add.ptr810 = getelementptr inbounds float* %395, i32 %mul806
%396 = load float** %371, align 4
%conv.i211 = sitofp i32 %sub.0569 to float
%add.i212 = fadd float %conv.i211, 1.000000e+00
%conv1.i213 = sitofp i32 %393 to float
%div.i214 = fdiv float %add.i212, %conv1.i213
%cmp1.i215 = icmp sgt i32 %391, 0
br i1 %cmp1.i215, label %for.body.lr.ph.i217, label %_Z15lsp_interpolatePfS_S_iii.exit251
for.body.lr.ph.i217: ; preds = %for.body801
%sub.i216 = fsub float 1.000000e+00, %div.i214
br label %for.body.i227
for.body.i227: ; preds = %for.body.i227, %for.body.lr.ph.i217
%i.02.i218 = phi i32 [ 0, %for.body.lr.ph.i217 ], [ %inc.i225, %for.body.i227 ]
%arrayidx.i219 = getelementptr inbounds float* %396, i32 %i.02.i218
%397 = load float* %arrayidx.i219, align 4
%mul.i220 = fmul float %sub.i216, %397
%arrayidx2.i221 = getelementptr inbounds float* %16, i32 %i.02.i218
%398 = load float* %arrayidx2.i221, align 4
%mul3.i222 = fmul float %div.i214, %398
%add4.i223 = fadd float %mul.i220, %mul3.i222
%arrayidx5.i224 = getelementptr inbounds float* %22, i32 %i.02.i218
store float %add4.i223, float* %arrayidx5.i224, align 4
%inc.i225 = add nsw i32 %i.02.i218, 1
%exitcond.i226 = icmp eq i32 %inc.i225, %391
br i1 %exitcond.i226, label %_Z15lsp_interpolatePfS_S_iii.exit229, label %for.body.i227
_Z15lsp_interpolatePfS_S_iii.exit229: ; preds = %for.body.i227
%.pre614 = load i32* %5, align 4
%.pre615 = load i32* %368, align 4
%399 = load float** %372, align 4
%conv1.i235 = sitofp i32 %.pre615 to float
%div.i236 = fdiv float %add.i212, %conv1.i235
%cmp1.i237 = icmp sgt i32 %.pre614, 0
br i1 %cmp1.i237, label %for.body.lr.ph.i239, label %_Z15lsp_interpolatePfS_S_iii.exit251
for.body.lr.ph.i239: ; preds = %_Z15lsp_interpolatePfS_S_iii.exit229
%sub.i238 = fsub float 1.000000e+00, %div.i236
br label %for.body.i249
for.body.i249: ; preds = %for.body.i249, %for.body.lr.ph.i239
%i.02.i240 = phi i32 [ 0, %for.body.lr.ph.i239 ], [ %inc.i247, %for.body.i249 ]
%arrayidx.i241 = getelementptr inbounds float* %399, i32 %i.02.i240
%400 = load float* %arrayidx.i241, align 4
%mul.i242 = fmul float %sub.i238, %400
%arrayidx2.i243 = getelementptr inbounds float* %19, i32 %i.02.i240
%401 = load float* %arrayidx2.i243, align 4
%mul3.i244 = fmul float %div.i236, %401
%add4.i245 = fadd float %mul.i242, %mul3.i244
%arrayidx5.i246 = getelementptr inbounds float* %25, i32 %i.02.i240
store float %add4.i245, float* %arrayidx5.i246, align 4
%inc.i247 = add nsw i32 %i.02.i240, 1
%exitcond.i248 = icmp eq i32 %inc.i247, %.pre614
br i1 %exitcond.i248, label %_Z15lsp_interpolatePfS_S_iii.exit251.loopexit, label %for.body.i249
_Z15lsp_interpolatePfS_S_iii.exit251.loopexit: ; preds = %for.body.i249
%.pre616 = load i32* %5, align 4
br label %_Z15lsp_interpolatePfS_S_iii.exit251
_Z15lsp_interpolatePfS_S_iii.exit251: ; preds = %_Z15lsp_interpolatePfS_S_iii.exit251.loopexit, %_Z15lsp_interpolatePfS_S_iii.exit229, %for.body801
%402 = phi i32 [ %.pre616, %_Z15lsp_interpolatePfS_S_iii.exit251.loopexit ], [ %.pre614, %_Z15lsp_interpolatePfS_S_iii.exit229 ], [ %391, %for.body801 ]
%403 = load float* %22, align 4
%cmp.i279 = fcmp olt float %403, 0x3F60624DE0000000
br i1 %cmp.i279, label %if.then.i280, label %if.end.i285
if.then.i280: ; preds = %_Z15lsp_interpolatePfS_S_iii.exit251
store float 0x3F60624DE0000000, float* %22, align 4
br label %if.end.i285
if.end.i285: ; preds = %if.then.i280, %_Z15lsp_interpolatePfS_S_iii.exit251
%sub.i281 = add nsw i32 %402, -1
%arrayidx3.i282 = getelementptr inbounds float* %22, i32 %sub.i281
%404 = load float* %arrayidx3.i282, align 4
%conv.i283 = fpext float %404 to double
%cmp7.i284 = fcmp ogt double %conv.i283, 0x40091DE2C0CC2D18
br i1 %cmp7.i284, label %if.then8.i286, label %for.cond.preheader.i288
if.then8.i286: ; preds = %if.end.i285
store float 0x40091DE2C0000000, float* %arrayidx3.i282, align 4
br label %for.cond.preheader.i288
for.cond.preheader.i288: ; preds = %if.then8.i286, %if.end.i285
%cmp171.i287 = icmp sgt i32 %sub.i281, 1
br i1 %cmp171.i287, label %for.body.lr.ph.i292, label %_Z18lsp_enforce_marginPfif.exit311
for.body.lr.ph.i292: ; preds = %for.cond.preheader.i288
%.pre.i290 = load float* %373, align 4
%.pre3.i291 = load float* %22, align 4
br label %for.body.i297
for.body.i297: ; preds = %for.cond.backedge.i305, %for.body.lr.ph.i292
%405 = phi float [ %.pre3.i291, %for.body.lr.ph.i292 ], [ %409, %for.cond.backedge.i305 ]
%406 = phi float [ %.pre.i290, %for.body.lr.ph.i292 ], [ %408, %for.cond.backedge.i305 ]
%i.02.i293 = phi i32 [ 1, %for.body.lr.ph.i292 ], [ %add31.i299, %for.cond.backedge.i305 ]
%arrayidx18.i294 = getelementptr inbounds float* %22, i32 %i.02.i293
%add.i295 = fadd float %405, 0x3F60624DE0000000
%cmp22.i296 = fcmp olt float %406, %add.i295
br i1 %cmp22.i296, label %if.then23.i298, label %if.end29.i303
if.then23.i298: ; preds = %for.body.i297
store float %add.i295, float* %arrayidx18.i294, align 4
br label %if.end29.i303
if.end29.i303: ; preds = %if.then23.i298, %for.body.i297
%407 = phi float [ %add.i295, %if.then23.i298 ], [ %406, %for.body.i297 ]
%add31.i299 = add nsw i32 %i.02.i293, 1
%arrayidx32.i300 = getelementptr inbounds float* %22, i32 %add31.i299
%408 = load float* %arrayidx32.i300, align 4
%sub34.i301 = fadd float %408, 0xBF60624DE0000000
%cmp35.i302 = fcmp ogt float %407, %sub34.i301
br i1 %cmp35.i302, label %if.then36.i309, label %for.cond.backedge.i305
for.cond.backedge.i305: ; preds = %if.then36.i309, %if.end29.i303
%409 = phi float [ %407, %if.end29.i303 ], [ %mul43.i308, %if.then36.i309 ]
%exitcond.i304 = icmp eq i32 %add31.i299, %sub.i281
br i1 %exitcond.i304, label %_Z18lsp_enforce_marginPfif.exit311, label %for.body.i297
if.then36.i309: ; preds = %if.end29.i303
%add40.i306 = fadd float %407, %408
%sub42.i307 = fadd float %add40.i306, 0xBF60624DE0000000
%mul43.i308 = fmul float %sub42.i307, 5.000000e-01
store float %mul43.i308, float* %arrayidx18.i294, align 4
br label %for.cond.backedge.i305
_Z18lsp_enforce_marginPfif.exit311: ; preds = %for.cond.backedge.i305, %for.cond.preheader.i288
%410 = load i32* %5, align 4
%411 = load float* %25, align 4
%cmp.i312 = fcmp olt float %411, 0x3F60624DE0000000
br i1 %cmp.i312, label %if.then.i313, label %if.end.i318
if.then.i313: ; preds = %_Z18lsp_enforce_marginPfif.exit311
store float 0x3F60624DE0000000, float* %25, align 4
br label %if.end.i318
if.end.i318: ; preds = %if.then.i313, %_Z18lsp_enforce_marginPfif.exit311
%sub.i314 = add nsw i32 %410, -1
%arrayidx3.i315 = getelementptr inbounds float* %25, i32 %sub.i314
%412 = load float* %arrayidx3.i315, align 4
%conv.i316 = fpext float %412 to double
%cmp7.i317 = fcmp ogt double %conv.i316, 0x40091DE2C0CC2D18
br i1 %cmp7.i317, label %if.then8.i319, label %for.cond.preheader.i321
if.then8.i319: ; preds = %if.end.i318
store float 0x40091DE2C0000000, float* %arrayidx3.i315, align 4
br label %for.cond.preheader.i321
for.cond.preheader.i321: ; preds = %if.then8.i319, %if.end.i318
%cmp171.i320 = icmp sgt i32 %sub.i314, 1
br i1 %cmp171.i320, label %for.body.lr.ph.i325, label %_Z18lsp_enforce_marginPfif.exit344
for.body.lr.ph.i325: ; preds = %for.cond.preheader.i321
%.pre.i323 = load float* %374, align 4
%.pre3.i324 = load float* %25, align 4
br label %for.body.i330
for.body.i330: ; preds = %for.cond.backedge.i338, %for.body.lr.ph.i325
%413 = phi float [ %.pre3.i324, %for.body.lr.ph.i325 ], [ %417, %for.cond.backedge.i338 ]
%414 = phi float [ %.pre.i323, %for.body.lr.ph.i325 ], [ %416, %for.cond.backedge.i338 ]
%i.02.i326 = phi i32 [ 1, %for.body.lr.ph.i325 ], [ %add31.i332, %for.cond.backedge.i338 ]
%arrayidx18.i327 = getelementptr inbounds float* %25, i32 %i.02.i326
%add.i328 = fadd float %413, 0x3F60624DE0000000
%cmp22.i329 = fcmp olt float %414, %add.i328
br i1 %cmp22.i329, label %if.then23.i331, label %if.end29.i336
if.then23.i331: ; preds = %for.body.i330
store float %add.i328, float* %arrayidx18.i327, align 4
br label %if.end29.i336
if.end29.i336: ; preds = %if.then23.i331, %for.body.i330
%415 = phi float [ %add.i328, %if.then23.i331 ], [ %414, %for.body.i330 ]
%add31.i332 = add nsw i32 %i.02.i326, 1
%arrayidx32.i333 = getelementptr inbounds float* %25, i32 %add31.i332
%416 = load float* %arrayidx32.i333, align 4
%sub34.i334 = fadd float %416, 0xBF60624DE0000000
%cmp35.i335 = fcmp ogt float %415, %sub34.i334
br i1 %cmp35.i335, label %if.then36.i342, label %for.cond.backedge.i338
for.cond.backedge.i338: ; preds = %if.then36.i342, %if.end29.i336
%417 = phi float [ %415, %if.end29.i336 ], [ %mul43.i341, %if.then36.i342 ]
%exitcond.i337 = icmp eq i32 %add31.i332, %sub.i314
br i1 %exitcond.i337, label %_Z18lsp_enforce_marginPfif.exit344, label %for.body.i330
if.then36.i342: ; preds = %if.end29.i336
%add40.i339 = fadd float %415, %416
%sub42.i340 = fadd float %add40.i339, 0xBF60624DE0000000
%mul43.i341 = fmul float %sub42.i340, 5.000000e-01
store float %mul43.i341, float* %arrayidx18.i327, align 4
br label %for.cond.backedge.i338
_Z18lsp_enforce_marginPfif.exit344: ; preds = %for.cond.backedge.i338, %for.cond.preheader.i321
%418 = load i32* %5, align 4
call fastcc void @_Z10lsp_to_lpcPfS_iPc(float* %22, float* %28, i32 %418, i8* %add.ptr793)
%419 = load i32* %5, align 4
call fastcc void @_Z10lsp_to_lpcPfS_iPc(float* %25, float* %31, i32 %419, i8* %add.ptr793)
%420 = load i32* %5, align 4
%cmp823517 = icmp sgt i32 %420, 0
br i1 %cmp823517, label %for.body824, label %for.end832
for.body824: ; preds = %for.body824, %_Z18lsp_enforce_marginPfif.exit344
%pi_g.0519 = phi float [ %add829, %for.body824 ], [ 1.000000e+00, %_Z18lsp_enforce_marginPfif.exit344 ]
%i.12518 = phi i32 [ %add831, %for.body824 ], [ 0, %_Z18lsp_enforce_marginPfif.exit344 ]
%add82522 = or i32 %i.12518, 1
%arrayidx826 = getelementptr inbounds float* %31, i32 %add82522
%421 = load float* %arrayidx826, align 4
%arrayidx827 = getelementptr inbounds float* %31, i32 %i.12518
%422 = load float* %arrayidx827, align 4
%sub828 = fsub float %421, %422
%add829 = fadd float %pi_g.0519, %sub828
%add831 = add nsw i32 %i.12518, 2
%cmp823 = icmp slt i32 %add831, %420
br i1 %cmp823, label %for.body824, label %for.end832
for.end832: ; preds = %for.body824, %_Z18lsp_enforce_marginPfif.exit344
%pi_g.0.lcssa = phi float [ 1.000000e+00, %_Z18lsp_enforce_marginPfif.exit344 ], [ %add829, %for.body824 ]
%423 = load float** %375, align 4
%arrayidx833 = getelementptr inbounds float* %423, i32 %sub.0569
store float %pi_g.0.lcssa, float* %arrayidx833, align 4
%424 = load float* %376, align 4
%425 = load i32* %5, align 4
%cmp1.i346 = icmp sgt i32 %425, 0
br i1 %cmp1.i346, label %for.body.i355, label %_Z6bw_lpcfPKfPfi.exit357
for.body.i355: ; preds = %for.body.i355, %for.end832
%tmp.03.i347 = phi float [ %mul2.i352, %for.body.i355 ], [ %424, %for.end832 ]
%i.02.i348 = phi i32 [ %inc.i353, %for.body.i355 ], [ 0, %for.end832 ]
%arrayidx.i349 = getelementptr inbounds float* %28, i32 %i.02.i348
%426 = load float* %arrayidx.i349, align 4
%mul.i350 = fmul float %tmp.03.i347, %426
%arrayidx1.i351 = getelementptr inbounds float* %10, i32 %i.02.i348
store float %mul.i350, float* %arrayidx1.i351, align 4
%mul2.i352 = fmul float %tmp.03.i347, %424
%inc.i353 = add nsw i32 %i.02.i348, 1
%exitcond.i354 = icmp eq i32 %inc.i353, %425
br i1 %exitcond.i354, label %_Z6bw_lpcfPKfPfi.exit357thread-pre-split, label %for.body.i355
_Z6bw_lpcfPKfPfi.exit357thread-pre-split: ; preds = %for.body.i355
%.pr17 = load i32* %5, align 4
br label %_Z6bw_lpcfPKfPfi.exit357
_Z6bw_lpcfPKfPfi.exit357: ; preds = %_Z6bw_lpcfPKfPfi.exit357thread-pre-split, %for.end832
%427 = phi i32 [ %.pr17, %_Z6bw_lpcfPKfPfi.exit357thread-pre-split ], [ %425, %for.end832 ]
%428 = load float* %377, align 4
%cmp837 = fcmp ult float %428, 0.000000e+00
%cmp844522 = icmp sgt i32 %427, 0
br i1 %cmp837, label %for.cond842.preheader, label %if.then838
for.cond842.preheader: ; preds = %_Z6bw_lpcfPKfPfi.exit357
br i1 %cmp844522, label %for.body845, label %if.end850
if.then838: ; preds = %_Z6bw_lpcfPKfPfi.exit357
br i1 %cmp844522, label %for.body.i367, label %if.end850
for.body.i367: ; preds = %for.body.i367, %if.then838
%tmp.03.i359 = phi float [ %mul2.i364, %for.body.i367 ], [ %428, %if.then838 ]
%i.02.i360 = phi i32 [ %inc.i365, %for.body.i367 ], [ 0, %if.then838 ]
%arrayidx.i361 = getelementptr inbounds float* %28, i32 %i.02.i360
%429 = load float* %arrayidx.i361, align 4
%mul.i362 = fmul float %tmp.03.i359, %429
%arrayidx1.i363 = getelementptr inbounds float* %13, i32 %i.02.i360
store float %mul.i362, float* %arrayidx1.i363, align 4
%mul2.i364 = fmul float %tmp.03.i359, %428
%inc.i365 = add nsw i32 %i.02.i360, 1
%exitcond.i366 = icmp eq i32 %inc.i365, %427
br i1 %exitcond.i366, label %if.end850, label %for.body.i367
for.body845: ; preds = %for.body845, %for.cond842.preheader
%i.13523 = phi i32 [ %inc848, %for.body845 ], [ 0, %for.cond842.preheader ]
%arrayidx846 = getelementptr inbounds float* %13, i32 %i.13523
store float 0.000000e+00, float* %arrayidx846, align 4
%inc848 = add nsw i32 %i.13523, 1
%430 = load i32* %5, align 4
%cmp844 = icmp slt i32 %inc848, %430
br i1 %cmp844, label %for.body845, label %if.end850
if.end850: ; preds = %for.body845, %for.body.i367, %if.then838, %for.cond842.preheader
%431 = load i32* %63, align 4
%432 = load i32* %35, align 4
%sub853 = sub nsw i32 %431, %432
%433 = load i32* %347, align 4
%cmp855 = icmp eq i32 %sub853, %433
br i1 %cmp855, label %if.end857, label %if.then856
if.then856: ; preds = %if.end850
%434 = load %struct.__sFILE** @stderr, align 4
%call.i460 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %434, i8* getelementptr inbounds ([43 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([82 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)
%.pr18 = load i32* %347, align 4
br label %if.end857
if.end857: ; preds = %if.then856, %if.end850
%435 = phi i32 [ %.pr18, %if.then856 ], [ %433, %if.end850 ]
%cmp858 = icmp eq i32 %sub.0569, 0
%cmp862526 = icmp sgt i32 %435, 0
br i1 %cmp858, label %for.cond860.preheader, label %for.cond872.preheader
for.cond860.preheader: ; preds = %if.end857
br i1 %cmp862526, label %for.body863, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit485
for.cond872.preheader: ; preds = %if.end857
br i1 %cmp862526, label %for.body875.lr.ph, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit485
for.body875.lr.ph: ; preds = %for.cond872.preheader
%sub876 = add nsw i32 %sub.0569, -1
br label %for.body875
for.body863: ; preds = %for.body863, %for.cond860.preheader
%i.14527 = phi i32 [ %inc869, %for.body863 ], [ 0, %for.cond860.preheader ]
%436 = load float** %.pre-phi, align 4
%arrayidx865 = getelementptr inbounds float* %436, i32 %i.14527
%437 = load float* %arrayidx865, align 4
%add.ptr810.sum21 = add i32 %i.14527, %mul806
%arrayidx866 = getelementptr inbounds float* %395, i32 %add.ptr810.sum21
store float %437, float* %arrayidx866, align 4
%arrayidx867 = getelementptr inbounds float* %364, i32 %i.14527
store float %437, float* %arrayidx867, align 4
%inc869 = add nsw i32 %i.14527, 1
%438 = load i32* %347, align 4
%cmp862 = icmp slt i32 %inc869, %438
br i1 %cmp862, label %for.body863, label %if.end886
for.body875: ; preds = %for.body875, %for.body875.lr.ph
%439 = phi i32 [ %435, %for.body875.lr.ph ], [ %441, %for.body875 ]
%i.15515 = phi i32 [ 0, %for.body875.lr.ph ], [ %inc884, %for.body875 ]
%mul878 = mul nsw i32 %439, %sub876
%add879 = add nsw i32 %mul878, %i.15515
%arrayidx880 = getelementptr inbounds float* %0, i32 %add879
%440 = load float* %arrayidx880, align 4
%add.ptr810.sum20 = add i32 %i.15515, %mul806
%arrayidx881 = getelementptr inbounds float* %395, i32 %add.ptr810.sum20
store float %440, float* %arrayidx881, align 4
%arrayidx882 = getelementptr inbounds float* %364, i32 %i.15515
store float %440, float* %arrayidx882, align 4
%inc884 = add nsw i32 %i.15515, 1
%441 = load i32* %347, align 4
%cmp874 = icmp slt i32 %inc884, %441
br i1 %cmp874, label %for.body875, label %if.end886
if.end886: ; preds = %for.body875, %for.body863
%442 = phi i32 [ %441, %for.body875 ], [ %438, %for.body863 ]
%443 = load float** %378, align 4
%cmp3.i461 = icmp sgt i32 %442, 0
br i1 %cmp3.i461, label %for.body.lr.ph.i464, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit485
for.body.lr.ph.i464: ; preds = %if.end886
%444 = load i32* %5, align 4
%sub.i462 = add nsw i32 %444, -1
%cmp41.i463 = icmp sgt i32 %sub.i462, 0
%arrayidx12.i478 = getelementptr inbounds float* %31, i32 %sub.i462
%arrayidx15.i480 = getelementptr inbounds float* %443, i32 %sub.i462
br label %for.body.i468
for.body.i468: ; preds = %for.end.i484, %for.body.lr.ph.i464
%i.04.i465 = phi i32 [ 0, %for.body.lr.ph.i464 ], [ %inc18.i482, %for.end.i484 ]
%arrayidx.i466 = getelementptr inbounds float* %364, i32 %i.04.i465
%445 = load float* %arrayidx.i466, align 4
%446 = load float* %443, align 4
%add.i467 = fadd float %445, %446
br i1 %cmp41.i463, label %for.body5.i477, label %for.end.i484
for.body5.i477: ; preds = %for.body5.i477, %for.body.i468
%j.02.i469 = phi i32 [ %add6.i470, %for.body5.i477 ], [ 0, %for.body.i468 ]
%add6.i470 = add nsw i32 %j.02.i469, 1
%arrayidx7.i471 = getelementptr inbounds float* %443, i32 %add6.i470
%447 = load float* %arrayidx7.i471, align 4
%arrayidx8.i472 = getelementptr inbounds float* %31, i32 %j.02.i469
%448 = load float* %arrayidx8.i472, align 4
%mul.i473 = fmul float %448, %445
%add9.i474 = fadd float %447, %mul.i473
%arrayidx10.i475 = getelementptr inbounds float* %443, i32 %j.02.i469
store float %add9.i474, float* %arrayidx10.i475, align 4
%exitcond.i476 = icmp eq i32 %add6.i470, %sub.i462
br i1 %exitcond.i476, label %for.end.i484, label %for.body5.i477
for.end.i484: ; preds = %for.body5.i477, %for.body.i468
%449 = load float* %arrayidx12.i478, align 4
%mul13.i479 = fmul float %449, %445
store float %mul13.i479, float* %arrayidx15.i480, align 4
store float %add.i467, float* %arrayidx.i466, align 4
%inc18.i482 = add nsw i32 %i.04.i465, 1
%exitcond5.i483 = icmp eq i32 %inc18.i482, %442
br i1 %exitcond5.i483, label %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit485, label %for.body.i468
_Z9fir_mem16PKfS0_PfiiS1_Pc.exit485: ; preds = %for.end.i484, %if.end886, %for.cond872.preheader, %for.cond860.preheader
%450 = load i32* %379, align 4
%cmp890 = icmp eq i32 %450, 0
%shr = zext i1 %cmp890 to i32
%shr. = ashr i32 %392, %shr
%451 = load i32* %5, align 4
call fastcc void @_Z24compute_impulse_responsePKfS0_S0_PfiiPc(float* %31, float* %10, float* %13, float* %361, i32 %shr., i32 %451, i8* %add.ptr793)
%452 = load i32* %347, align 4
%cmp896529 = icmp slt i32 %shr., %452
br i1 %cmp896529, label %for.body897, label %for.cond902.loopexit
for.body897: ; preds = %for.body897, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit485
%i.16530 = phi i32 [ %inc900, %for.body897 ], [ %shr., %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit485 ]
%arrayidx898 = getelementptr inbounds float* %361, i32 %i.16530
store float 0x3CD203AFA0000000, float* %arrayidx898, align 4
%inc900 = add nsw i32 %i.16530, 1
%453 = load i32* %347, align 4
%cmp896 = icmp slt i32 %inc900, %453
br i1 %cmp896, label %for.body897, label %for.cond902.loopexit
for.cond902.loopexit: ; preds = %for.body897, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit485
%454 = phi i32 [ %452, %_Z9fir_mem16PKfS0_PfiiS1_Pc.exit485 ], [ %453, %for.body897 ]
%455 = load i32* %5, align 4
%cmp904531 = icmp sgt i32 %455, 0
br i1 %cmp904531, label %for.body905, label %for.cond912.loopexit
for.body905: ; preds = %for.body905, %for.cond902.loopexit
%i.17532 = phi i32 [ %inc910, %for.body905 ], [ 0, %for.cond902.loopexit ]
%456 = load float** %387, align 4
%arrayidx907 = getelementptr inbounds float* %456, i32 %i.17532
%457 = load float* %arrayidx907, align 4
%arrayidx908 = getelementptr inbounds float* %367, i32 %i.17532
store float %457, float* %arrayidx908, align 4
%inc910 = add nsw i32 %i.17532, 1
%458 = load i32* %5, align 4
%cmp904 = icmp slt i32 %inc910, %458
br i1 %cmp904, label %for.body905, label %for.cond902.for.cond912.loopexit_crit_edge
for.cond902.for.cond912.loopexit_crit_edge: ; preds = %for.body905
%.pre617 = load i32* %347, align 4
br label %for.cond912.loopexit
for.cond912.loopexit: ; preds = %for.cond902.for.cond912.loopexit_crit_edge, %for.cond902.loopexit
%459 = phi i32 [ %.pre617, %for.cond902.for.cond912.loopexit_crit_edge ], [ %454, %for.cond902.loopexit ]
%cmp914534 = icmp sgt i32 %459, 0
br i1 %cmp914534, label %for.body915, label %for.cond922.preheader
for.body915: ; preds = %for.body915, %for.cond912.loopexit
%i.18535 = phi i32 [ %inc918, %for.body915 ], [ 0, %for.cond912.loopexit ]
%arrayidx916 = getelementptr inbounds float* %358, i32 %i.18535
store float 0x3CD203AFA0000000, float* %arrayidx916, align 4
%inc918 = add nsw i32 %i.18535, 1
%460 = load i32* %347, align 4
%cmp914 = icmp slt i32 %inc918, %460
br i1 %cmp914, label %for.body915, label %for.end919
for.end919: ; preds = %for.body915
%cmp3.i434 = icmp sgt i32 %460, 0
br i1 %cmp3.i434, label %for.body.lr.ph.i437, label %for.cond922.preheader
for.body.lr.ph.i437: ; preds = %for.end919
%461 = load i32* %5, align 4
%sub3.i435 = add nsw i32 %461, -1
%cmp41.i436 = icmp sgt i32 %sub3.i435, 0
%arrayidx12.i452 = getelementptr inbounds float* %31, i32 %sub3.i435
%arrayidx15.i454 = getelementptr inbounds float* %367, i32 %sub3.i435
br label %for.body.i442
for.body.i442: ; preds = %for.end.i458, %for.body.lr.ph.i437
%i.04.i438 = phi i32 [ 0, %for.body.lr.ph.i437 ], [ %inc18.i456, %for.end.i458 ]
%arrayidx.i439 = getelementptr inbounds float* %358, i32 %i.04.i438
%462 = load float* %arrayidx.i439, align 4
%463 = load float* %367, align 4
%add.i440 = fadd float %462, %463
%sub.i441 = fsub float -0.000000e+00, %add.i440
br i1 %cmp41.i436, label %for.body5.i451, label %for.end.i458
for.body5.i451: ; preds = %for.body5.i451, %for.body.i442
%j.02.i443 = phi i32 [ %add6.i444, %for.body5.i451 ], [ 0, %for.body.i442 ]
%add6.i444 = add nsw i32 %j.02.i443, 1
%arrayidx7.i445 = getelementptr inbounds float* %367, i32 %add6.i444
%464 = load float* %arrayidx7.i445, align 4
%arrayidx8.i446 = getelementptr inbounds float* %31, i32 %j.02.i443
%465 = load float* %arrayidx8.i446, align 4
%mul.i447 = fmul float %465, %sub.i441
%add9.i448 = fadd float %464, %mul.i447
%arrayidx10.i449 = getelementptr inbounds float* %367, i32 %j.02.i443
store float %add9.i448, float* %arrayidx10.i449, align 4
%exitcond.i450 = icmp eq i32 %add6.i444, %sub3.i435
br i1 %exitcond.i450, label %for.end.i458, label %for.body5.i451
for.end.i458: ; preds = %for.body5.i451, %for.body.i442
%466 = load float* %arrayidx12.i452, align 4
%mul13.i453 = fmul float %466, %sub.i441
store float %mul13.i453, float* %arrayidx15.i454, align 4
store float %add.i440, float* %arrayidx.i439, align 4
%inc18.i456 = add nsw i32 %i.04.i438, 1
%exitcond5.i457 = icmp eq i32 %inc18.i456, %460
br i1 %exitcond5.i457, label %for.cond922.preheader, label %for.body.i442
for.cond922.preheader: ; preds = %for.end.i458, %for.end919, %for.cond912.loopexit
%467 = load i32* %5, align 4
%cmp924538 = icmp sgt i32 %467, 0
br i1 %cmp924538, label %for.body925, label %for.end931
for.body925: ; preds = %for.body925, %for.cond922.preheader
%i.19539 = phi i32 [ %inc930, %for.body925 ], [ 0, %for.cond922.preheader ]
%468 = load float** %380, align 4
%arrayidx927 = getelementptr inbounds float* %468, i32 %i.19539
%469 = load float* %arrayidx927, align 4
%arrayidx928 = getelementptr inbounds float* %367, i32 %i.19539
store float %469, float* %arrayidx928, align 4
%inc930 = add nsw i32 %i.19539, 1
%470 = load i32* %5, align 4
%cmp924 = icmp slt i32 %inc930, %470
br i1 %cmp924, label %for.body925, label %for.end931
for.end931: ; preds = %for.body925, %for.cond922.preheader
%471 = phi i32 [ %467, %for.cond922.preheader ], [ %470, %for.body925 ]
%472 = load i32* %347, align 4
%cmp3.i402 = icmp sgt i32 %472, 0
br i1 %cmp3.i402, label %for.body.lr.ph.i405, label %for.cond934.preheader
for.body.lr.ph.i405: ; preds = %for.end931
%sub4.i403 = add nsw i32 %471, -1
%cmp51.i404 = icmp sgt i32 %sub4.i403, 0
%arrayidx16.i423 = getelementptr inbounds float* %10, i32 %sub4.i403
%arrayidx19.i425 = getelementptr inbounds float* %13, i32 %sub4.i403
%arrayidx23.i428 = getelementptr inbounds float* %367, i32 %sub4.i403
br label %for.body.i410
for.body.i410: ; preds = %for.end.i432, %for.body.lr.ph.i405
%i.04.i406 = phi i32 [ 0, %for.body.lr.ph.i405 ], [ %inc26.i430, %for.end.i432 ]
%arrayidx.i407 = getelementptr inbounds float* %358, i32 %i.04.i406
%473 = load float* %arrayidx.i407, align 4
%474 = load float* %367, align 4
%add.i408 = fadd float %473, %474
%sub.i409 = fsub float -0.000000e+00, %add.i408
br i1 %cmp51.i404, label %for.body6.i422, label %for.end.i432
for.body6.i422: ; preds = %for.body6.i422, %for.body.i410
%j.02.i411 = phi i32 [ %add7.i412, %for.body6.i422 ], [ 0, %for.body.i410 ]
%add7.i412 = add nsw i32 %j.02.i411, 1
%arrayidx8.i413 = getelementptr inbounds float* %367, i32 %add7.i412
%475 = load float* %arrayidx8.i413, align 4
%arrayidx9.i414 = getelementptr inbounds float* %10, i32 %j.02.i411
%476 = load float* %arrayidx9.i414, align 4
%mul.i415 = fmul float %476, %473
%add10.i416 = fadd float %475, %mul.i415
%arrayidx11.i417 = getelementptr inbounds float* %13, i32 %j.02.i411
%477 = load float* %arrayidx11.i417, align 4
%mul12.i418 = fmul float %477, %sub.i409
%add13.i419 = fadd float %add10.i416, %mul12.i418
%arrayidx14.i420 = getelementptr inbounds float* %367, i32 %j.02.i411
store float %add13.i419, float* %arrayidx14.i420, align 4
%exitcond.i421 = icmp eq i32 %add7.i412, %sub4.i403
br i1 %exitcond.i421, label %for.end.i432, label %for.body6.i422
for.end.i432: ; preds = %for.body6.i422, %for.body.i410
%478 = load float* %arrayidx16.i423, align 4
%mul17.i424 = fmul float %478, %473
%479 = load float* %arrayidx19.i425, align 4
%mul20.i426 = fmul float %479, %sub.i409
%add21.i427 = fadd float %mul17.i424, %mul20.i426
store float %add21.i427, float* %arrayidx23.i428, align 4
store float %add.i408, float* %arrayidx.i407, align 4
%inc26.i430 = add nsw i32 %i.04.i406, 1
%exitcond5.i431 = icmp eq i32 %inc26.i430, %472
br i1 %exitcond5.i431, label %for.cond934.loopexit, label %for.body.i410
for.cond934.loopexit: ; preds = %for.end.i432
%.pre618 = load i32* %5, align 4
br label %for.cond934.preheader
for.cond934.preheader: ; preds = %for.cond934.loopexit, %for.end931
%480 = phi i32 [ %471, %for.end931 ], [ %.pre618, %for.cond934.loopexit ]
%cmp936542 = icmp sgt i32 %480, 0
br i1 %cmp936542, label %for.body937, label %for.end943
for.body937: ; preds = %for.body937, %for.cond934.preheader
%i.20543 = phi i32 [ %inc942, %for.body937 ], [ 0, %for.cond934.preheader ]
%481 = load float** %380, align 4
%arrayidx939 = getelementptr inbounds float* %481, i32 %i.20543
%482 = load float* %arrayidx939, align 4
%arrayidx940 = getelementptr inbounds float* %367, i32 %i.20543
store float %482, float* %arrayidx940, align 4
%inc942 = add nsw i32 %i.20543, 1
%483 = load i32* %5, align 4
%cmp936 = icmp slt i32 %inc942, %483
br i1 %cmp936, label %for.body937, label %for.end943
for.end943: ; preds = %for.body937, %for.cond934.preheader
%.lcssa541 = phi i32 [ %480, %for.cond934.preheader ], [ %483, %for.body937 ]
%484 = load i32* %347, align 4
%cmp3.i370 = icmp sgt i32 %484, 0
br i1 %cmp3.i370, label %for.body.lr.ph.i373, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit401
for.body.lr.ph.i373: ; preds = %for.end943
%sub4.i371 = add nsw i32 %.lcssa541, -1
%cmp51.i372 = icmp sgt i32 %sub4.i371, 0
%arrayidx16.i391 = getelementptr inbounds float* %10, i32 %sub4.i371
%arrayidx19.i393 = getelementptr inbounds float* %13, i32 %sub4.i371
%arrayidx23.i396 = getelementptr inbounds float* %367, i32 %sub4.i371
br label %for.body.i378
for.body.i378: ; preds = %for.end.i400, %for.body.lr.ph.i373
%i.04.i374 = phi i32 [ 0, %for.body.lr.ph.i373 ], [ %inc26.i398, %for.end.i400 ]
%add.ptr810.sum494 = add i32 %i.04.i374, %mul806
%arrayidx.i375 = getelementptr inbounds float* %395, i32 %add.ptr810.sum494
%485 = load float* %arrayidx.i375, align 4
%486 = load float* %367, align 4
%add.i376 = fadd float %485, %486
%sub.i377 = fsub float -0.000000e+00, %add.i376
br i1 %cmp51.i372, label %for.body6.i390, label %for.end.i400
for.body6.i390: ; preds = %for.body6.i390, %for.body.i378
%j.02.i379 = phi i32 [ %add7.i380, %for.body6.i390 ], [ 0, %for.body.i378 ]
%add7.i380 = add nsw i32 %j.02.i379, 1
%arrayidx8.i381 = getelementptr inbounds float* %367, i32 %add7.i380
%487 = load float* %arrayidx8.i381, align 4
%arrayidx9.i382 = getelementptr inbounds float* %10, i32 %j.02.i379
%488 = load float* %arrayidx9.i382, align 4
%mul.i383 = fmul float %488, %485
%add10.i384 = fadd float %487, %mul.i383
%arrayidx11.i385 = getelementptr inbounds float* %13, i32 %j.02.i379
%489 = load float* %arrayidx11.i385, align 4
%mul12.i386 = fmul float %489, %sub.i377
%add13.i387 = fadd float %add10.i384, %mul12.i386
%arrayidx14.i388 = getelementptr inbounds float* %367, i32 %j.02.i379
store float %add13.i387, float* %arrayidx14.i388, align 4
%exitcond.i389 = icmp eq i32 %add7.i380, %sub4.i371
br i1 %exitcond.i389, label %for.end.i400, label %for.body6.i390
for.end.i400: ; preds = %for.body6.i390, %for.body.i378
%490 = load float* %arrayidx16.i391, align 4
%mul17.i392 = fmul float %490, %485
%491 = load float* %arrayidx19.i393, align 4
%mul20.i394 = fmul float %491, %sub.i377
%add21.i395 = fadd float %mul17.i392, %mul20.i394
store float %add21.i395, float* %arrayidx23.i396, align 4
store float %add.i376, float* %arrayidx.i375, align 4
%inc26.i398 = add nsw i32 %i.04.i374, 1
%exitcond5.i399 = icmp eq i32 %inc26.i398, %484
br i1 %exitcond5.i399, label %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit401, label %for.body.i378
_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit401: ; preds = %for.end.i400, %for.end943
%492 = load i32* %379, align 4
%cmp947 = icmp eq i32 %492, 0
br i1 %cmp947, label %for.cond949.preheader, label %for.cond960.preheader
for.cond949.preheader: ; preds = %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit401
%493 = load i32* %5, align 4
%cmp951545 = icmp sgt i32 %493, 0
br i1 %cmp951545, label %for.body952, label %for.cond960.preheader
for.body952: ; preds = %for.body952, %for.cond949.preheader
%i.21546 = phi i32 [ %inc957, %for.body952 ], [ 0, %for.cond949.preheader ]
%arrayidx953 = getelementptr inbounds float* %367, i32 %i.21546
%494 = load float* %arrayidx953, align 4
%495 = load float** %380, align 4
%arrayidx955 = getelementptr inbounds float* %495, i32 %i.21546
store float %494, float* %arrayidx955, align 4
%inc957 = add nsw i32 %i.21546, 1
%496 = load i32* %5, align 4
%cmp951 = icmp slt i32 %inc957, %496
br i1 %cmp951, label %for.body952, label %for.cond960.preheader
for.cond960.preheader: ; preds = %for.body952, %for.cond949.preheader, %_Z12filter_mem16PKfS0_S0_PfiiS1_Pc.exit401
%497 = load i32* %347, align 4
%cmp962548 = icmp sgt i32 %497, 0
br i1 %cmp962548, label %for.body963, label %for.end970
for.body963: ; preds = %for.body963, %for.cond960.preheader
%i.22549 = phi i32 [ %inc969, %for.body963 ], [ 0, %for.cond960.preheader ]
%add.ptr810.sum = add i32 %i.22549, %mul806
%arrayidx964 = getelementptr inbounds float* %395, i32 %add.ptr810.sum
%498 = load float* %arrayidx964, align 4
%arrayidx965 = getelementptr inbounds float* %358, i32 %i.22549
%499 = load float* %arrayidx965, align 4
%sub966 = fsub float %498, %499
%arrayidx967 = getelementptr inbounds float* %349, i32 %i.22549
store float %sub966, float* %arrayidx967, align 4
%inc969 = add nsw i32 %i.22549, 1
%500 = load i32* %347, align 4
%cmp962 = icmp slt i32 %inc969, %500
br i1 %cmp962, label %for.body963, label %for.end970
for.end970: ; preds = %for.body963, %for.cond960.preheader
%.lcssa547 = phi i32 [ %497, %for.cond960.preheader ], [ %500, %for.body963 ]
%501 = bitcast float* %add.ptr808 to i8*
%mul972 = shl i32 %.lcssa547, 2
call void @llvm.memset.p0i8.i32(i8* %501, i8 0, i32 %mul972, i32 4, i1 false)
%502 = load i32* %129, align 4
%503 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx975 = getelementptr inbounds %struct.SpeexSubmode** %503, i32 %502
%504 = load %struct.SpeexSubmode** %arrayidx975, align 4
%ltp_quant = getelementptr inbounds %struct.SpeexSubmode* %504, i32 0, i32 6
%505 = load i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)** %ltp_quant, align 4
%tobool976 = icmp eq i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)* %505, null
br i1 %tobool976, label %if.then977, label %if.end978
if.then977: ; preds = %for.end970
%506 = load %struct.__sFILE** @stderr, align 4
%call.i345 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %506, i8* getelementptr inbounds ([43 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([82 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)
%.pre619 = load i32* %129, align 4
%.pre620 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx981.phi.trans.insert = getelementptr inbounds %struct.SpeexSubmode** %.pre620, i32 %.pre619
%.pre621 = load %struct.SpeexSubmode** %arrayidx981.phi.trans.insert, align 4
br label %if.end978
if.end978: ; preds = %if.then977, %for.end970
%507 = phi %struct.SpeexSubmode* [ %504, %for.end970 ], [ %.pre621, %if.then977 ]
%lbr_pitch982 = getelementptr inbounds %struct.SpeexSubmode* %507, i32 0, i32 0
%508 = load i32* %lbr_pitch982, align 4
switch i32 %508, label %if.then990 [
i32 -1, label %if.else1012
i32 0, label %if.end1015
]
if.then990: ; preds = %if.end978
%509 = load i32* %381, align 4
%add992 = add i32 %508, -1
%sub993 = add i32 %add992, %509
%cmp994 = icmp slt i32 %ol_pitch.3568, %sub993
%sub993.ol_pitch.3 = select i1 %cmp994, i32 %sub993, i32 %ol_pitch.3568
%510 = load i32* %38, align 4
%sub1001 = sub nsw i32 %510, %508
%cmp1002 = icmp sgt i32 %sub993.ol_pitch.3, %sub1001
%ol_pitch.5 = select i1 %cmp1002, i32 %sub1001, i32 %sub993.ol_pitch.3
%sub1007 = sub i32 1, %508
%add1008 = add i32 %sub1007, %ol_pitch.5
%add1009 = add nsw i32 %ol_pitch.5, %508
br label %if.end1015
if.else1012: ; preds = %if.end978
%511 = load i32* %381, align 4
%512 = load i32* %38, align 4
br label %if.end1015
if.end1015: ; preds = %if.else1012, %if.then990, %if.end978
%ol_pitch.6 = phi i32 [ %ol_pitch.5, %if.then990 ], [ %ol_pitch.3568, %if.else1012 ], [ %ol_pitch.3568, %if.end978 ]
%pit_min.0 = phi i32 [ %add1008, %if.then990 ], [ %511, %if.else1012 ], [ %ol_pitch.3568, %if.end978 ]
%pit_max.0 = phi i32 [ %add1009, %if.then990 ], [ %512, %if.else1012 ], [ %ol_pitch.3568, %if.end978 ]
%513 = load i32* %382, align 4
%tobool1017 = icmp ne i32 %513, 0
%cmp1019 = icmp sgt i32 %pit_max.0, %mul806
%or.cond26 = and i1 %tobool1017, %cmp1019
%pit_max.1 = select i1 %or.cond26, i32 %mul806, i32 %pit_max.0
%ltp_quant1025 = getelementptr inbounds %struct.SpeexSubmode* %507, i32 0, i32 6
%514 = load i32 (float*, float*, float*, float*, float*, float*, i8*, i32, i32, float, i32, i32, %struct.SpeexBits*, i8*, float*, float*, i32, i32, i32, float*)** %ltp_quant1025, align 4
%ltp_params = getelementptr inbounds %struct.SpeexSubmode* %507, i32 0, i32 8
%515 = load i8** %ltp_params, align 4
%516 = load i32* %5, align 4
%517 = load i32* %347, align 4
%518 = load i32* %379, align 4
%519 = load i32* %383, align 4
%call1032 = call i32 %514(float* %349, float* %add.ptr810, float* %31, float* %10, float* %13, float* %355, i8* %515, i32 %pit_min.0, i32 %pit_max.1, float %ol_pitch_coef.1, i32 %516, i32 %517, %struct.SpeexBits* %bits, i8* %add.ptr793, float* %add.ptr808, float* %361, i32 %518, i32 0, i32 %519, float* %384)
%520 = load i32** %385, align 4
%arrayidx1034 = getelementptr inbounds i32* %520, i32 %sub.0569
store i32 %call1032, i32* %arrayidx1034, align 4
%521 = load i32* %347, align 4
%mul1036 = shl i32 %521, 2
call void @llvm.memset.p0i8.i32(i8* %add.ptr747, i8 0, i32 %mul1036, i32 4, i1 false)
%522 = load i32* %347, align 4
%cmp1039552 = icmp sgt i32 %522, 0
br i1 %cmp1039552, label %for.body1040, label %_Z13compute_rms16PKfi.exit278
for.body1040: ; preds = %for.body1040, %if.end1015
%i.23553 = phi i32 [ %inc1046, %for.body1040 ], [ 0, %if.end1015 ]
%arrayidx1041 = getelementptr inbounds float* %364, i32 %i.23553
%523 = load float* %arrayidx1041, align 4
%arrayidx1042 = getelementptr inbounds float* %355, i32 %i.23553
%524 = load float* %arrayidx1042, align 4
%sub1043 = fsub float %523, %524
store float %sub1043, float* %arrayidx1041, align 4
%inc1046 = add nsw i32 %i.23553, 1
%525 = load i32* %347, align 4
%cmp1039 = icmp slt i32 %inc1046, %525
br i1 %cmp1039, label %for.body1040, label %for.end1047
for.end1047: ; preds = %for.body1040
%cmp1.i.i262 = icmp sgt i32 %525, 0
br i1 %cmp1.i.i262, label %for.body.i.i270, label %_Z13compute_rms16PKfi.exit278
for.body.i.i270: ; preds = %for.body.i.i270, %for.end1047
%sum.03.i.i263 = phi float [ %add.i.i267, %for.body.i.i270 ], [ 0.000000e+00, %for.end1047 ]
%i.02.i.i264 = phi i32 [ %inc.i.i268, %for.body.i.i270 ], [ 0, %for.end1047 ]
%arrayidx.i.i265 = getelementptr inbounds float* %364, i32 %i.02.i.i264
%526 = load float* %arrayidx.i.i265, align 4
%mul.i.i266 = fmul float %526, %526
%add.i.i267 = fadd float %sum.03.i.i263, %mul.i.i266
%inc.i.i268 = add nsw i32 %i.02.i.i264, 1
%exitcond.i.i269 = icmp eq i32 %inc.i.i268, %525
br i1 %exitcond.i.i269, label %_Z13compute_rms16PKfi.exit278, label %for.body.i.i270
_Z13compute_rms16PKfi.exit278: ; preds = %for.body.i.i270, %for.end1047, %if.end1015
%.lcssa551649 = phi i32 [ %525, %for.end1047 ], [ %522, %if.end1015 ], [ %525, %for.body.i.i270 ]
%sum.0.lcssa.i.i271 = phi float [ 0.000000e+00, %for.end1047 ], [ 0.000000e+00, %if.end1015 ], [ %add.i.i267, %for.body.i.i270 ]
%conv.i.i272 = sitofp i32 %.lcssa551649 to float
%div.i.i273 = fdiv float %sum.0.lcssa.i.i271, %conv.i.i272
%conv2.i.i274 = fpext float %div.i.i273 to double
%add3.i.i275 = fadd double %conv2.i.i274, 1.000000e-01
%call.i.i276 = call double @sqrt(double %add3.i.i275) nounwind readnone
%conv4.i.i277 = fptrunc double %call.i.i276 to float
%div1050 = fdiv float %conv4.i.i277, %conv715
%527 = load i32* %129, align 4
%528 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx1053 = getelementptr inbounds %struct.SpeexSubmode** %528, i32 %527
%529 = load %struct.SpeexSubmode** %arrayidx1053, align 4
%have_subframe_gain1054 = getelementptr inbounds %struct.SpeexSubmode* %529, i32 0, i32 2
%530 = load i32* %have_subframe_gain1054, align 4
switch i32 %530, label %while.cond.i [
i32 0, label %if.end1073
i32 3, label %while.cond.i255
]
while.cond.i255: ; preds = %while.body.i260, %_Z13compute_rms16PKfi.exit278
%boundary.addr.0.i252 = phi float* [ %incdec.ptr.i258, %while.body.i260 ], [ getelementptr inbounds ([7 x float]* @_ZL26exc_gain_quant_scal3_bound, i32 0, i32 0), %_Z13compute_rms16PKfi.exit278 ]
%i.0.i253 = phi i32 [ %inc.i259, %while.body.i260 ], [ 0, %_Z13compute_rms16PKfi.exit278 ]
%cmp.i254 = icmp slt i32 %i.0.i253, 7
br i1 %cmp.i254, label %land.rhs.i257, label %_Z10scal_quantfPKfi.exit261
land.rhs.i257: ; preds = %while.cond.i255
%531 = load float* %boundary.addr.0.i252, align 4
%cmp1.i256 = fcmp olt float %531, %div1050
br i1 %cmp1.i256, label %while.body.i260, label %_Z10scal_quantfPKfi.exit261
while.body.i260: ; preds = %land.rhs.i257
%incdec.ptr.i258 = getelementptr inbounds float* %boundary.addr.0.i252, i32 1
%inc.i259 = add nsw i32 %i.0.i253, 1
br label %while.cond.i255
_Z10scal_quantfPKfi.exit261: ; preds = %land.rhs.i257, %while.cond.i255
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %i.0.i253, i32 3)
%arrayidx1065 = getelementptr inbounds [8 x float]* @_ZL20exc_gain_quant_scal3, i32 0, i32 %i.0.i253
%532 = load float* %arrayidx1065, align 4
%mul1066 = fmul float %532, %conv715
br label %if.end1073
while.cond.i: ; preds = %while.body.i, %_Z13compute_rms16PKfi.exit278
%boundary.addr.0.i = phi float* [ %incdec.ptr.i, %while.body.i ], [ getelementptr inbounds ([1 x float]* @_ZL26exc_gain_quant_scal1_bound, i32 0, i32 0), %_Z13compute_rms16PKfi.exit278 ]
%i.0.i = phi i32 [ %inc.i232, %while.body.i ], [ 0, %_Z13compute_rms16PKfi.exit278 ]
%cmp.i230 = icmp slt i32 %i.0.i, 1
br i1 %cmp.i230, label %land.rhs.i, label %_Z10scal_quantfPKfi.exit
land.rhs.i: ; preds = %while.cond.i
%533 = load float* %boundary.addr.0.i, align 4
%cmp1.i231 = fcmp olt float %533, %div1050
br i1 %cmp1.i231, label %while.body.i, label %_Z10scal_quantfPKfi.exit
while.body.i: ; preds = %land.rhs.i
%incdec.ptr.i = getelementptr inbounds float* %boundary.addr.0.i, i32 1
%inc.i232 = add nsw i32 %i.0.i, 1
br label %while.cond.i
_Z10scal_quantfPKfi.exit: ; preds = %land.rhs.i, %while.cond.i
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 %i.0.i, i32 1)
%arrayidx1069 = getelementptr inbounds [2 x float]* @_ZL20exc_gain_quant_scal1, i32 0, i32 %i.0.i
%534 = load float* %arrayidx1069, align 4
%mul1070 = fmul float %534, %conv715
br label %if.end1073
if.end1073: ; preds = %_Z10scal_quantfPKfi.exit, %_Z10scal_quantfPKfi.exit261, %_Z13compute_rms16PKfi.exit278
%ener.0 = phi float [ %mul1066, %_Z10scal_quantfPKfi.exit261 ], [ %mul1070, %_Z10scal_quantfPKfi.exit ], [ %conv715, %_Z13compute_rms16PKfi.exit278 ]
%535 = load i32* %347, align 4
%div.i194 = fdiv float 1.000000e+00, %ener.0
%cmp1.i195 = icmp sgt i32 %535, 0
br i1 %cmp1.i195, label %for.body.i202, label %_Z10signal_divPKfPffi.exit
for.body.i202: ; preds = %for.body.i202, %if.end1073
%i.02.i196 = phi i32 [ %inc.i200, %for.body.i202 ], [ 0, %if.end1073 ]
%arrayidx.i197 = getelementptr inbounds float* %349, i32 %i.02.i196
%536 = load float* %arrayidx.i197, align 4
%mul.i198 = fmul float %div.i194, %536
store float %mul.i198, float* %arrayidx.i197, align 4
%inc.i200 = add nsw i32 %i.02.i196, 1
%exitcond.i201 = icmp eq i32 %inc.i200, %535
br i1 %exitcond.i201, label %_Z10signal_divPKfPffi.exit, label %for.body.i202
_Z10signal_divPKfPffi.exit: ; preds = %for.body.i202, %if.end1073
%537 = load i32* %129, align 4
%538 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx1077 = getelementptr inbounds %struct.SpeexSubmode** %538, i32 %537
%539 = load %struct.SpeexSubmode** %arrayidx1077, align 4
%innovation_quant = getelementptr inbounds %struct.SpeexSubmode* %539, i32 0, i32 9
%540 = load void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)** %innovation_quant, align 4
%tobool1078 = icmp eq void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* %540, null
br i1 %tobool1078, label %if.then1079, label %if.end1080
if.then1079: ; preds = %_Z10signal_divPKfPffi.exit
%541 = load %struct.__sFILE** @stderr, align 4
%call.i137 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %541, i8* getelementptr inbounds ([43 x i8]* @.str211, i32 0, i32 0), i8* getelementptr inbounds ([82 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)
%.pre622 = load i32* %129, align 4
%.pre623 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx1083.phi.trans.insert = getelementptr inbounds %struct.SpeexSubmode** %.pre623, i32 %.pre622
%.pre624 = load %struct.SpeexSubmode** %arrayidx1083.phi.trans.insert, align 4
%innovation_quant1084.phi.trans.insert = getelementptr inbounds %struct.SpeexSubmode* %.pre624, i32 0, i32 9
%.pre625 = load void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)** %innovation_quant1084.phi.trans.insert, align 4
br label %if.end1080
if.end1080: ; preds = %if.then1079, %_Z10signal_divPKfPffi.exit
%542 = phi void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* [ %.pre625, %if.then1079 ], [ %540, %_Z10signal_divPKfPffi.exit ]
%543 = phi %struct.SpeexSubmode* [ %.pre624, %if.then1079 ], [ %539, %_Z10signal_divPKfPffi.exit ]
%innovation_params = getelementptr inbounds %struct.SpeexSubmode* %543, i32 0, i32 11
%544 = load i8** %innovation_params, align 4
%545 = load i32* %5, align 4
%546 = load i32* %347, align 4
%547 = load i32* %379, align 4
%double_codebook = getelementptr inbounds %struct.SpeexSubmode* %543, i32 0, i32 3
%548 = load i32* %double_codebook, align 4
call void %542(float* %349, float* %31, float* %10, float* %13, i8* %544, i32 %545, i32 %546, float* %352, float* %361, %struct.SpeexBits* %bits, i8* %add.ptr793, i32 %547, i32 %548)
%549 = load i32* %347, align 4
%cmp1.i115 = icmp sgt i32 %549, 0
br i1 %cmp1.i115, label %for.body.i122, label %for.end1105
for.body.i122: ; preds = %for.body.i122, %if.end1080
%i.02.i116 = phi i32 [ %inc.i120, %for.body.i122 ], [ 0, %if.end1080 ]
%arrayidx.i117 = getelementptr inbounds float* %352, i32 %i.02.i116
%550 = load float* %arrayidx.i117, align 4
%mul.i118 = fmul float %550, %ener.0
store float %mul.i118, float* %arrayidx.i117, align 4
%inc.i120 = add nsw i32 %i.02.i116, 1
%exitcond.i121 = icmp eq i32 %inc.i120, %549
br i1 %exitcond.i121, label %for.cond1095.preheader, label %for.body.i122
for.cond1095.preheader: ; preds = %for.body.i122
%.pre626 = load i32* %347, align 4
%cmp1097556 = icmp sgt i32 %.pre626, 0
br i1 %cmp1097556, label %for.body1098, label %for.end1105
for.body1098: ; preds = %for.body1098, %for.cond1095.preheader
%i.24557 = phi i32 [ %inc1104, %for.body1098 ], [ 0, %for.cond1095.preheader ]
%arrayidx1099 = getelementptr inbounds float* %355, i32 %i.24557
%551 = load float* %arrayidx1099, align 4
%arrayidx1100 = getelementptr inbounds float* %352, i32 %i.24557
%552 = load float* %arrayidx1100, align 4
%add1101 = fadd float %551, %552
%add.ptr808.sum19 = add i32 %i.24557, %mul806
%arrayidx1102 = getelementptr inbounds float* %394, i32 %add.ptr808.sum19
store float %add1101, float* %arrayidx1102, align 4
%inc1104 = add nsw i32 %i.24557, 1
%553 = load i32* %347, align 4
%cmp1097 = icmp slt i32 %inc1104, %553
br i1 %cmp1097, label %for.body1098, label %for.end1105
for.end1105: ; preds = %for.body1098, %for.cond1095.preheader, %if.end1080
%.pr488628 = phi i32 [ %.pre626, %for.cond1095.preheader ], [ %549, %if.end1080 ], [ %553, %for.body1098 ]
%554 = load i32* %129, align 4
%555 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx1108 = getelementptr inbounds %struct.SpeexSubmode** %555, i32 %554
%556 = load %struct.SpeexSubmode** %arrayidx1108, align 4
%double_codebook1109 = getelementptr inbounds %struct.SpeexSubmode* %556, i32 0, i32 3
%557 = load i32* %double_codebook1109, align 4
%tobool1110 = icmp eq i32 %557, 0
br i1 %tobool1110, label %for.cond1159, label %if.then1111
if.then1111: ; preds = %for.end1105
%mul1116 = shl i32 %.pr488628, 2
%add.ptr1114.sum = add i32 %mul1116, %add.ptr793.sum18
%add.ptr1117 = getelementptr inbounds i8* %2, i32 %add.ptr1114.sum
call void @llvm.memset.p0i8.i32(i8* %add.ptr1121, i8 0, i32 %mul1116, i32 4, i1 false)
%558 = load i32* %347, align 4
%cmp1126560 = icmp sgt i32 %558, 0
br i1 %cmp1126560, label %for.body1127, label %for.end1133
for.body1127: ; preds = %for.body1127, %if.then1111
%i.25561 = phi i32 [ %inc1132, %for.body1127 ], [ 0, %if.then1111 ]
%arrayidx1128 = getelementptr inbounds float* %349, i32 %i.25561
%559 = load float* %arrayidx1128, align 4
%mul1129 = fmul float %559, 0x40019999A0000000
store float %mul1129, float* %arrayidx1128, align 4
%inc1132 = add nsw i32 %i.25561, 1
%560 = load i32* %347, align 4
%cmp1126 = icmp slt i32 %inc1132, %560
br i1 %cmp1126, label %for.body1127, label %for.end1133
for.end1133: ; preds = %for.body1127, %if.then1111
%.lcssa559 = phi i32 [ %558, %if.then1111 ], [ %560, %for.body1127 ]
%561 = load i32* %129, align 4
%562 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx1136 = getelementptr inbounds %struct.SpeexSubmode** %562, i32 %561
%563 = load %struct.SpeexSubmode** %arrayidx1136, align 4
%innovation_quant1137 = getelementptr inbounds %struct.SpeexSubmode* %563, i32 0, i32 9
%564 = load void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)** %innovation_quant1137, align 4
%innovation_params1141 = getelementptr inbounds %struct.SpeexSubmode* %563, i32 0, i32 11
%565 = load i8** %innovation_params1141, align 4
%566 = load i32* %5, align 4
%567 = load i32* %379, align 4
call void %564(float* %349, float* %31, float* %10, float* %13, i8* %565, i32 %566, i32 %.lcssa559, float* %390, float* %361, %struct.SpeexBits* %bits, i8* %add.ptr1117, i32 %567, i32 0)
%mul1145 = fmul float %ener.0, 0x3FDD1743E0000000
%568 = load i32* %347, align 4
%cmp1.i97 = icmp sgt i32 %568, 0
br i1 %cmp1.i97, label %for.body.i104, label %for.cond1159
for.body.i104: ; preds = %for.body.i104, %for.end1133
%i.02.i98 = phi i32 [ %inc.i102, %for.body.i104 ], [ 0, %for.end1133 ]
%arrayidx.i99 = getelementptr inbounds float* %390, i32 %i.02.i98
%569 = load float* %arrayidx.i99, align 4
%mul.i100 = fmul float %569, %mul1145
store float %mul.i100, float* %arrayidx.i99, align 4
%inc.i102 = add nsw i32 %i.02.i98, 1
%exitcond.i103 = icmp eq i32 %inc.i102, %568
br i1 %exitcond.i103, label %for.cond1147.preheader, label %for.body.i104
for.cond1147.preheader: ; preds = %for.body.i104
%.pre630 = load i32* %347, align 4
%cmp1149564 = icmp sgt i32 %.pre630, 0
br i1 %cmp1149564, label %for.body1150, label %for.cond1159
for.body1150: ; preds = %for.body1150, %for.cond1147.preheader
%i.26565 = phi i32 [ %inc1156, %for.body1150 ], [ 0, %for.cond1147.preheader ]
%arrayidx1151 = getelementptr inbounds float* %352, i32 %i.26565
%570 = load float* %arrayidx1151, align 4
%arrayidx1152 = getelementptr inbounds float* %390, i32 %i.26565
%571 = load float* %arrayidx1152, align 4
%add1153 = fadd float %570, %571
store float %add1153, float* %arrayidx1151, align 4
%inc1156 = add nsw i32 %i.26565, 1
%572 = load i32* %347, align 4
%cmp1149 = icmp slt i32 %inc1156, %572
br i1 %cmp1149, label %for.body1150, label %for.cond1159
for.cond1159: ; preds = %for.body1162, %for.body1150, %for.cond1147.preheader, %for.end1133, %for.end1105
%573 = phi i32 [ %.pr488.pre, %for.body1162 ], [ %.pre630, %for.cond1147.preheader ], [ %568, %for.end1133 ], [ %.pr488628, %for.end1105 ], [ %572, %for.body1150 ]
%i.27 = phi i32 [ %inc1168, %for.body1162 ], [ 0, %for.body1150 ], [ 0, %for.end1105 ], [ 0, %for.end1133 ], [ 0, %for.cond1147.preheader ]
%cmp1161 = icmp slt i32 %i.27, %573
br i1 %cmp1161, label %for.body1162, label %for.end1169
for.body1162: ; preds = %for.cond1159
%arrayidx1163 = getelementptr inbounds float* %355, i32 %i.27
%574 = load float* %arrayidx1163, align 4
%arrayidx1164 = getelementptr inbounds float* %352, i32 %i.27
%575 = load float* %arrayidx1164, align 4
%add1165 = fadd float %574, %575
%add.ptr808.sum = add i32 %i.27, %mul806
%arrayidx1166 = getelementptr inbounds float* %394, i32 %add.ptr808.sum
store float %add1165, float* %arrayidx1166, align 4
%inc1168 = add nsw i32 %i.27, 1
%.pr488.pre = load i32* %347, align 4
br label %for.cond1159
for.end1169: ; preds = %for.cond1159
%576 = load float** %386, align 4
%tobool1170 = icmp eq float* %576, null
br i1 %tobool1170, label %if.end1176, label %if.then1171
if.then1171: ; preds = %for.end1169
%cmp1.i77 = icmp sgt i32 %573, 0
br i1 %cmp1.i77, label %for.body.i84, label %_Z11compute_rmsPKfi.exit
for.body.i84: ; preds = %for.body.i84, %if.then1171
%sum.03.i = phi float [ %add.i81, %for.body.i84 ], [ 0.000000e+00, %if.then1171 ]
%i.02.i78 = phi i32 [ %inc.i82, %for.body.i84 ], [ 0, %if.then1171 ]
%arrayidx.i79 = getelementptr inbounds float* %352, i32 %i.02.i78
%577 = load float* %arrayidx.i79, align 4
%mul.i80 = fmul float %577, %577
%add.i81 = fadd float %sum.03.i, %mul.i80
%inc.i82 = add nsw i32 %i.02.i78, 1
%exitcond.i83 = icmp eq i32 %inc.i82, %573
br i1 %exitcond.i83, label %_Z11compute_rmsPKfi.exit, label %for.body.i84
_Z11compute_rmsPKfi.exit: ; preds = %for.body.i84, %if.then1171
%sum.0.lcssa.i = phi float [ 0.000000e+00, %if.then1171 ], [ %add.i81, %for.body.i84 ]
%conv.i85 = sitofp i32 %573 to float
%div.i86 = fdiv float %sum.0.lcssa.i, %conv.i85
%conv2.i = fpext float %div.i86 to double
%add3.i = fadd double %conv2.i, 1.000000e-01
%call.i = call double @sqrt(double %add3.i) nounwind readnone
%conv4.i = fptrunc double %call.i to float
%arrayidx1175 = getelementptr inbounds float* %576, i32 %sub.0569
store float %conv4.i, float* %arrayidx1175, align 4
%.pre629 = load i32* %347, align 4
br label %if.end1176
if.end1176: ; preds = %_Z11compute_rmsPKfi.exit, %for.end1169
%578 = phi i32 [ %573, %for.end1169 ], [ %.pre629, %_Z11compute_rmsPKfi.exit ]
%579 = load float** %387, align 4
%cmp3.i60 = icmp sgt i32 %578, 0
br i1 %cmp3.i60, label %for.body.lr.ph.i61, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit
for.body.lr.ph.i61: ; preds = %if.end1176
%580 = load i32* %5, align 4
%sub3.i = add nsw i32 %580, -1
%cmp41.i = icmp sgt i32 %sub3.i, 0
%arrayidx12.i72 = getelementptr inbounds float* %31, i32 %sub3.i
%arrayidx15.i = getelementptr inbounds float* %579, i32 %sub3.i
br label %for.body.i66
for.body.i66: ; preds = %for.end.i76, %for.body.lr.ph.i61
%i.04.i62 = phi i32 [ 0, %for.body.lr.ph.i61 ], [ %inc18.i, %for.end.i76 ]
%add.ptr808.sum492 = add i32 %i.04.i62, %mul806
%arrayidx.i63 = getelementptr inbounds float* %394, i32 %add.ptr808.sum492
%581 = load float* %arrayidx.i63, align 4
%582 = load float* %579, align 4
%add.i64 = fadd float %581, %582
%sub.i65 = fsub float -0.000000e+00, %add.i64
br i1 %cmp41.i, label %for.body5.i, label %for.end.i76
for.body5.i: ; preds = %for.body5.i, %for.body.i66
%j.02.i67 = phi i32 [ %add6.i, %for.body5.i ], [ 0, %for.body.i66 ]
%add6.i = add nsw i32 %j.02.i67, 1
%arrayidx7.i68 = getelementptr inbounds float* %579, i32 %add6.i
%583 = load float* %arrayidx7.i68, align 4
%arrayidx8.i69 = getelementptr inbounds float* %31, i32 %j.02.i67
%584 = load float* %arrayidx8.i69, align 4
%mul.i70 = fmul float %584, %sub.i65
%add9.i = fadd float %583, %mul.i70
%arrayidx10.i = getelementptr inbounds float* %579, i32 %j.02.i67
store float %add9.i, float* %arrayidx10.i, align 4
%exitcond.i71 = icmp eq i32 %add6.i, %sub3.i
br i1 %exitcond.i71, label %for.end.i76, label %for.body5.i
for.end.i76: ; preds = %for.body5.i, %for.body.i66
%585 = load float* %arrayidx12.i72, align 4
%mul13.i73 = fmul float %585, %sub.i65
store float %mul13.i73, float* %arrayidx15.i, align 4
%arrayidx16.i74 = getelementptr inbounds float* %395, i32 %add.ptr808.sum492
store float %add.i64, float* %arrayidx16.i74, align 4
%inc18.i = add nsw i32 %i.04.i62, 1
%exitcond5.i75 = icmp eq i32 %inc18.i, %578
br i1 %exitcond5.i75, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit, label %for.body.i66
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit: ; preds = %for.end.i76, %if.end1176
%586 = load i32* %379, align 4
%cmp1181 = icmp eq i32 %586, 0
br i1 %cmp1181, label %for.inc1187, label %if.then1182
if.then1182: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit
%587 = load i32* %347, align 4
%588 = load float** %380, align 4
%cmp3.i = icmp sgt i32 %587, 0
br i1 %cmp3.i, label %for.body.lr.ph.i48, label %for.inc1187
for.body.lr.ph.i48: ; preds = %if.then1182
%589 = load i32* %5, align 4
%sub4.i = add nsw i32 %589, -1
%cmp51.i = icmp sgt i32 %sub4.i, 0
%arrayidx16.i56 = getelementptr inbounds float* %10, i32 %sub4.i
%arrayidx19.i57 = getelementptr inbounds float* %13, i32 %sub4.i
%arrayidx23.i = getelementptr inbounds float* %588, i32 %sub4.i
br label %for.body.i52
for.body.i52: ; preds = %for.end.i59, %for.body.lr.ph.i48
%i.04.i = phi i32 [ 0, %for.body.lr.ph.i48 ], [ %inc26.i, %for.end.i59 ]
%add.ptr810.sum491 = add i32 %i.04.i, %mul806
%arrayidx.i49 = getelementptr inbounds float* %395, i32 %add.ptr810.sum491
%590 = load float* %arrayidx.i49, align 4
%591 = load float* %588, align 4
%add.i50 = fadd float %590, %591
%sub.i51 = fsub float -0.000000e+00, %add.i50
br i1 %cmp51.i, label %for.body6.i, label %for.end.i59
for.body6.i: ; preds = %for.body6.i, %for.body.i52
%j.02.i = phi i32 [ %add7.i, %for.body6.i ], [ 0, %for.body.i52 ]
%add7.i = add nsw i32 %j.02.i, 1
%arrayidx8.i53 = getelementptr inbounds float* %588, i32 %add7.i
%592 = load float* %arrayidx8.i53, align 4
%arrayidx9.i = getelementptr inbounds float* %10, i32 %j.02.i
%593 = load float* %arrayidx9.i, align 4
%mul.i54 = fmul float %593, %590
%add10.i = fadd float %592, %mul.i54
%arrayidx11.i = getelementptr inbounds float* %13, i32 %j.02.i
%594 = load float* %arrayidx11.i, align 4
%mul12.i = fmul float %594, %sub.i51
%add13.i = fadd float %add10.i, %mul12.i
%arrayidx14.i = getelementptr inbounds float* %588, i32 %j.02.i
store float %add13.i, float* %arrayidx14.i, align 4
%exitcond.i55 = icmp eq i32 %add7.i, %sub4.i
br i1 %exitcond.i55, label %for.end.i59, label %for.body6.i
for.end.i59: ; preds = %for.body6.i, %for.body.i52
%595 = load float* %arrayidx16.i56, align 4
%mul17.i = fmul float %595, %590
%596 = load float* %arrayidx19.i57, align 4
%mul20.i = fmul float %596, %sub.i51
%add21.i = fadd float %mul17.i, %mul20.i
store float %add21.i, float* %arrayidx23.i, align 4
store float %add.i50, float* %arrayidx.i49, align 4
%inc26.i = add nsw i32 %i.04.i, 1
%exitcond5.i = icmp eq i32 %inc26.i, %587
br i1 %exitcond5.i, label %for.inc1187, label %for.body.i52
for.inc1187: ; preds = %for.end.i59, %if.then1182, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit
%inc1188 = add nsw i32 %sub.0569, 1
%597 = load i32* %368, align 4
%cmp800 = icmp slt i32 %inc1188, %597
br i1 %cmp800, label %for.inc1187.for.body801_crit_edge, label %for.end1189
for.inc1187.for.body801_crit_edge: ; preds = %for.inc1187
%.pre637 = load i32* %347, align 4
%.pre638 = load i32* %5, align 4
br label %for.body801
for.end1189: ; preds = %for.inc1187, %if.end728
%598 = load i32* %129, align 4
%cmp1191 = icmp sgt i32 %598, 0
br i1 %cmp1191, label %for.cond1193.preheader, label %if.end1222
for.cond1193.preheader: ; preds = %for.end1189
%599 = load i32* %5, align 4
%cmp1195512 = icmp sgt i32 %599, 0
br i1 %cmp1195512, label %for.body1196.lr.ph, label %if.end1213
for.body1196.lr.ph: ; preds = %for.cond1193.preheader
%old_lsp1198 = getelementptr inbounds i8* %state, i32 100
%600 = bitcast i8* %old_lsp1198 to float**
br label %for.body1196
for.cond1203.preheader: ; preds = %for.body1196
%cmp1205510 = icmp sgt i32 %604, 0
br i1 %cmp1205510, label %for.body1206.lr.ph, label %if.end1213
for.body1206.lr.ph: ; preds = %for.cond1203.preheader
%old_qlsp1208 = getelementptr inbounds i8* %state, i32 104
%601 = bitcast i8* %old_qlsp1208 to float**
br label %for.body1206
for.body1196: ; preds = %for.body1196, %for.body1196.lr.ph
%i.28513 = phi i32 [ 0, %for.body1196.lr.ph ], [ %inc1201, %for.body1196 ]
%arrayidx1197 = getelementptr inbounds float* %16, i32 %i.28513
%602 = load float* %arrayidx1197, align 4
%603 = load float** %600, align 4
%arrayidx1199 = getelementptr inbounds float* %603, i32 %i.28513
store float %602, float* %arrayidx1199, align 4
%inc1201 = add nsw i32 %i.28513, 1
%604 = load i32* %5, align 4
%cmp1195 = icmp slt i32 %inc1201, %604
br i1 %cmp1195, label %for.body1196, label %for.cond1203.preheader
for.body1206: ; preds = %for.body1206, %for.body1206.lr.ph
%i.29511 = phi i32 [ 0, %for.body1206.lr.ph ], [ %inc1211, %for.body1206 ]
%arrayidx1207 = getelementptr inbounds float* %19, i32 %i.29511
%605 = load float* %arrayidx1207, align 4
%606 = load float** %601, align 4
%arrayidx1209 = getelementptr inbounds float* %606, i32 %i.29511
store float %605, float* %arrayidx1209, align 4
%inc1211 = add nsw i32 %i.29511, 1
%607 = load i32* %5, align 4
%cmp1205 = icmp slt i32 %inc1211, %607
br i1 %cmp1205, label %for.body1206, label %if.end1213
if.end1213: ; preds = %for.body1206, %for.cond1203.preheader, %for.cond1193.preheader
%.pr489 = load i32* %129, align 4
%cmp1215 = icmp eq i32 %.pr489, 1
br i1 %cmp1215, label %if.then1216, label %if.end1222
if.then1216: ; preds = %if.end1213
%dtx_count1217 = getelementptr inbounds i8* %state, i32 172
%608 = bitcast i8* %dtx_count1217 to i32*
%609 = load i32* %608, align 4
%tobool1218 = icmp eq i32 %609, 0
br i1 %tobool1218, label %if.else1220, label %if.then1219
if.then1219: ; preds = %if.then1216
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 15, i32 4)
br label %if.end1222
if.else1220: ; preds = %if.then1216
call fastcc void @speex_bits_pack(%struct.SpeexBits* %bits, i32 0, i32 4)
br label %if.end1222
if.end1222: ; preds = %if.else1220, %if.then1219, %if.end1213, %for.end1189
store i32 0, i32* %109, align 4
%610 = load float** %.pre-phi, align 4
%611 = bitcast float* %610 to i8*
%612 = load i32* %35, align 4
%mul1226 = shl nsw i32 %612, 1
%613 = load i32* %63, align 4
%add.ptr1227.sum = sub i32 %mul1226, %613
%add.ptr1230 = getelementptr inbounds float* %0, i32 %add.ptr1227.sum
%614 = bitcast float* %add.ptr1230 to i8*
%sub1233 = sub nsw i32 %613, %612
%mul1234 = shl i32 %sub1233, 2
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %611, i8* %614, i32 %mul1234, i32 4, i1 false)
%615 = load i32* %129, align 4
%616 = load %struct.SpeexSubmode*** %131, align 4
%arrayidx1250 = getelementptr inbounds %struct.SpeexSubmode** %616, i32 %615
%617 = load %struct.SpeexSubmode** %arrayidx1250, align 4
%innovation_quant1251 = getelementptr inbounds %struct.SpeexSubmode* %617, i32 0, i32 9
%618 = load void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)** %innovation_quant1251, align 4
%cmp1252 = icmp eq void (float*, float*, float*, float*, i8*, i32, i32, float*, float*, %struct.SpeexBits*, i8*, i32, i32)* %618, @_Z20noise_codebook_quantPfS_S_S_PKviiS_S_P9SpeexBitsPcii
%cmp1255 = icmp eq i32 %615, 0
%or.cond27 = or i1 %cmp1252, %cmp1255
%bounded_pitch1257 = getelementptr inbounds i8* %state, i32 40
%619 = bitcast i8* %bounded_pitch1257 to i32*
br i1 %or.cond27, label %if.then1256, label %if.else1258
if.then1256: ; preds = %if.end1222
store i32 1, i32* %619, align 4
br label %return
if.else1258: ; preds = %if.end1222
store i32 0, i32* %619, align 4
br label %return
return: ; preds = %if.else1258, %if.then1256, %for.body639, %for.end610
%retval.0 = phi i32 [ 1, %if.else1258 ], [ 1, %if.then1256 ], [ 0, %for.end610 ], [ 0, %for.body639 ]
ret i32 %retval.0
}
define internal i8* @_Z15nb_decoder_initPK9SpeexMode(%struct.SpeexMode.58* %m) nounwind ssp {
entry:
%mode1 = getelementptr inbounds %struct.SpeexMode.58* %m, i32 0, i32 0
%0 = load i8** %mode1, align 4
%call.i.i = tail call fastcc i8* @malloc(i32 508) nounwind
%cmp4.i.i = icmp eq i8* %call.i.i, null
br i1 %cmp4.i.i, label %return, label %land.lhs.true5.i.i
land.lhs.true5.i.i: ; preds = %entry
%head.i.i = getelementptr inbounds i8* %call.i.i, i32 -4
%1 = bitcast i8* %head.i.i to i32*
%2 = load i32* %1, align 4
%and6.i.i = and i32 %2, 3
%cmp7.i.i = icmp eq i32 %and6.i.i, 0
br i1 %cmp7.i.i, label %if.end, label %if.then8.i.i
if.then8.i.i: ; preds = %land.lhs.true5.i.i
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i, i8 0, i32 508, i32 1, i1 false) nounwind
br label %if.end
if.end: ; preds = %if.then8.i.i, %land.lhs.true5.i.i
%call.i.i1 = tail call fastcc i8* @malloc(i32 16000) nounwind
%cmp4.i.i2 = icmp eq i8* %call.i.i1, null
br i1 %cmp4.i.i2, label %_Z19speex_alloc_scratchi.exit, label %land.lhs.true5.i.i6
land.lhs.true5.i.i6: ; preds = %if.end
%head.i.i3 = getelementptr inbounds i8* %call.i.i1, i32 -4
%3 = bitcast i8* %head.i.i3 to i32*
%4 = load i32* %3, align 4
%and6.i.i4 = and i32 %4, 3
%cmp7.i.i5 = icmp eq i32 %and6.i.i4, 0
br i1 %cmp7.i.i5, label %_Z19speex_alloc_scratchi.exit, label %if.then8.i.i7
if.then8.i.i7: ; preds = %land.lhs.true5.i.i6
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i1, i8 0, i32 16000, i32 1, i1 false) nounwind
br label %_Z19speex_alloc_scratchi.exit
_Z19speex_alloc_scratchi.exit: ; preds = %if.then8.i.i7, %land.lhs.true5.i.i6, %if.end
%stack = getelementptr inbounds i8* %call.i.i, i32 44
%5 = bitcast i8* %stack to i8**
store i8* %call.i.i1, i8** %5, align 4
%mode3 = bitcast i8* %call.i.i to %struct.SpeexMode.58**
store %struct.SpeexMode.58* %m, %struct.SpeexMode.58** %mode3, align 4
%encode_submode = getelementptr inbounds i8* %call.i.i, i32 124
%6 = bitcast i8* %encode_submode to i32*
store i32 1, i32* %6, align 4
%first = getelementptr inbounds i8* %call.i.i, i32 4
%7 = bitcast i8* %first to i32*
store i32 1, i32* %7, align 4
%frameSize = bitcast i8* %0 to i32*
%8 = load i32* %frameSize, align 4
%frameSize4 = getelementptr inbounds i8* %call.i.i, i32 12
%9 = bitcast i8* %frameSize4 to i32*
store i32 %8, i32* %9, align 4
%10 = load i32* %frameSize, align 4
%subframeSize = getelementptr inbounds i8* %0, i32 4
%11 = bitcast i8* %subframeSize to i32*
%12 = load i32* %11, align 4
%div = sdiv i32 %10, %12
%nbSubframes = getelementptr inbounds i8* %call.i.i, i32 20
%13 = bitcast i8* %nbSubframes to i32*
store i32 %div, i32* %13, align 4
%14 = load i32* %11, align 4
%subframeSize7 = getelementptr inbounds i8* %call.i.i, i32 16
%15 = bitcast i8* %subframeSize7 to i32*
store i32 %14, i32* %15, align 4
%lpcSize = getelementptr inbounds i8* %0, i32 8
%16 = bitcast i8* %lpcSize to i32*
%17 = load i32* %16, align 4
%lpcSize8 = getelementptr inbounds i8* %call.i.i, i32 24
%18 = bitcast i8* %lpcSize8 to i32*
store i32 %17, i32* %18, align 4
%pitchStart = getelementptr inbounds i8* %0, i32 12
%19 = bitcast i8* %pitchStart to i32*
%20 = load i32* %19, align 4
%min_pitch = getelementptr inbounds i8* %call.i.i, i32 28
%21 = bitcast i8* %min_pitch to i32*
store i32 %20, i32* %21, align 4
%pitchEnd = getelementptr inbounds i8* %0, i32 16
%22 = bitcast i8* %pitchEnd to i32*
%23 = load i32* %22, align 4
%max_pitch = getelementptr inbounds i8* %call.i.i, i32 32
%24 = bitcast i8* %max_pitch to i32*
store i32 %23, i32* %24, align 4
%submodes = getelementptr inbounds i8* %0, i32 32
%arraydecay = bitcast i8* %submodes to %struct.SpeexSubmode**
%submodes9 = getelementptr inbounds i8* %call.i.i, i32 128
%25 = bitcast i8* %submodes9 to %struct.SpeexSubmode***
store %struct.SpeexSubmode** %arraydecay, %struct.SpeexSubmode*** %25, align 4
%defaultSubmode = getelementptr inbounds i8* %0, i32 96
%26 = bitcast i8* %defaultSubmode to i32*
%27 = load i32* %26, align 4
%submodeID = getelementptr inbounds i8* %call.i.i, i32 132
%28 = bitcast i8* %submodeID to i32*
store i32 %27, i32* %28, align 4
%lpc_enh_enabled = getelementptr inbounds i8* %call.i.i, i32 136
%29 = bitcast i8* %lpc_enh_enabled to i32*
store i32 1, i32* %29, align 4
%mul = shl i32 %23, 1
%add = add i32 %14, %8
%add13 = add i32 %add, %mul
%add14 = shl i32 %add13, 2
%mul15 = add i32 %add14, 48
%call.i.i8 = tail call fastcc i8* @malloc(i32 %mul15) nounwind
%cmp4.i.i9 = icmp eq i8* %call.i.i8, null
br i1 %cmp4.i.i9, label %_Z11speex_alloci.exit15, label %land.lhs.true5.i.i13
land.lhs.true5.i.i13: ; preds = %_Z19speex_alloc_scratchi.exit
%head.i.i10 = getelementptr inbounds i8* %call.i.i8, i32 -4
%30 = bitcast i8* %head.i.i10 to i32*
%31 = load i32* %30, align 4
%and6.i.i11 = and i32 %31, 3
%cmp7.i.i12 = icmp eq i32 %and6.i.i11, 0
br i1 %cmp7.i.i12, label %_Z11speex_alloci.exit15, label %if.then8.i.i14
if.then8.i.i14: ; preds = %land.lhs.true5.i.i13
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i8, i8 0, i32 %mul15, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit15
_Z11speex_alloci.exit15: ; preds = %if.then8.i.i14, %land.lhs.true5.i.i13, %_Z19speex_alloc_scratchi.exit
%32 = bitcast i8* %call.i.i8 to float*
%excBuf = getelementptr inbounds i8* %call.i.i, i32 48
%33 = bitcast i8* %excBuf to float**
store float* %32, float** %33, align 4
%34 = load i32* %24, align 4
%mul19 = shl i32 %34, 1
%35 = load i32* %15, align 4
%add.ptr.sum = add i32 %35, 6
%add.ptr21.sum = add i32 %add.ptr.sum, %mul19
%add.ptr22 = getelementptr inbounds float* %32, i32 %add.ptr21.sum
%exc = getelementptr inbounds i8* %call.i.i, i32 52
%36 = bitcast i8* %exc to float**
store float* %add.ptr22, float** %36, align 4
%37 = load i32* %9, align 4
%add26 = add nsw i32 %34, %37
%mul27 = shl i32 %add26, 2
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i8, i8 0, i32 %mul27, i32 4, i1 false)
%38 = load i32* %18, align 4
%mul29 = shl i32 %38, 2
%call.i.i16 = tail call fastcc i8* @malloc(i32 %mul29) nounwind
%cmp4.i.i17 = icmp eq i8* %call.i.i16, null
br i1 %cmp4.i.i17, label %_Z11speex_alloci.exit23, label %land.lhs.true5.i.i21
land.lhs.true5.i.i21: ; preds = %_Z11speex_alloci.exit15
%head.i.i18 = getelementptr inbounds i8* %call.i.i16, i32 -4
%39 = bitcast i8* %head.i.i18 to i32*
%40 = load i32* %39, align 4
%and6.i.i19 = and i32 %40, 3
%cmp7.i.i20 = icmp eq i32 %and6.i.i19, 0
br i1 %cmp7.i.i20, label %_Z11speex_alloci.exit23, label %if.then8.i.i22
if.then8.i.i22: ; preds = %land.lhs.true5.i.i21
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i16, i8 0, i32 %mul29, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit23
_Z11speex_alloci.exit23: ; preds = %if.then8.i.i22, %land.lhs.true5.i.i21, %_Z11speex_alloci.exit15
%41 = bitcast i8* %call.i.i16 to float*
%interp_qlpc = getelementptr inbounds i8* %call.i.i, i32 60
%42 = bitcast i8* %interp_qlpc to float**
store float* %41, float** %42, align 4
%43 = load i32* %18, align 4
%mul32 = shl i32 %43, 2
%call.i.i24 = tail call fastcc i8* @malloc(i32 %mul32) nounwind
%cmp4.i.i25 = icmp eq i8* %call.i.i24, null
br i1 %cmp4.i.i25, label %_Z11speex_alloci.exit31, label %land.lhs.true5.i.i29
land.lhs.true5.i.i29: ; preds = %_Z11speex_alloci.exit23
%head.i.i26 = getelementptr inbounds i8* %call.i.i24, i32 -4
%44 = bitcast i8* %head.i.i26 to i32*
%45 = load i32* %44, align 4
%and6.i.i27 = and i32 %45, 3
%cmp7.i.i28 = icmp eq i32 %and6.i.i27, 0
br i1 %cmp7.i.i28, label %_Z11speex_alloci.exit31, label %if.then8.i.i30
if.then8.i.i30: ; preds = %land.lhs.true5.i.i29
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i24, i8 0, i32 %mul32, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit31
_Z11speex_alloci.exit31: ; preds = %if.then8.i.i30, %land.lhs.true5.i.i29, %_Z11speex_alloci.exit23
%46 = bitcast i8* %call.i.i24 to float*
%old_qlsp = getelementptr inbounds i8* %call.i.i, i32 56
%47 = bitcast i8* %old_qlsp to float**
store float* %46, float** %47, align 4
%48 = load i32* %18, align 4
%mul35 = shl i32 %48, 2
%call.i.i32 = tail call fastcc i8* @malloc(i32 %mul35) nounwind
%cmp4.i.i33 = icmp eq i8* %call.i.i32, null
br i1 %cmp4.i.i33, label %_Z11speex_alloci.exit39, label %land.lhs.true5.i.i37
land.lhs.true5.i.i37: ; preds = %_Z11speex_alloci.exit31
%head.i.i34 = getelementptr inbounds i8* %call.i.i32, i32 -4
%49 = bitcast i8* %head.i.i34 to i32*
%50 = load i32* %49, align 4
%and6.i.i35 = and i32 %50, 3
%cmp7.i.i36 = icmp eq i32 %and6.i.i35, 0
br i1 %cmp7.i.i36, label %_Z11speex_alloci.exit39, label %if.then8.i.i38
if.then8.i.i38: ; preds = %land.lhs.true5.i.i37
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i32, i8 0, i32 %mul35, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit39
_Z11speex_alloci.exit39: ; preds = %if.then8.i.i38, %land.lhs.true5.i.i37, %_Z11speex_alloci.exit31
%51 = bitcast i8* %call.i.i32 to float*
%mem_sp = getelementptr inbounds i8* %call.i.i, i32 64
%52 = bitcast i8* %mem_sp to float**
store float* %51, float** %52, align 4
%53 = load i32* %13, align 4
%mul38 = shl i32 %53, 2
%call.i.i40 = tail call fastcc i8* @malloc(i32 %mul38) nounwind
%cmp4.i.i41 = icmp eq i8* %call.i.i40, null
br i1 %cmp4.i.i41, label %_Z11speex_alloci.exit47, label %land.lhs.true5.i.i45
land.lhs.true5.i.i45: ; preds = %_Z11speex_alloci.exit39
%head.i.i42 = getelementptr inbounds i8* %call.i.i40, i32 -4
%54 = bitcast i8* %head.i.i42 to i32*
%55 = load i32* %54, align 4
%and6.i.i43 = and i32 %55, 3
%cmp7.i.i44 = icmp eq i32 %and6.i.i43, 0
br i1 %cmp7.i.i44, label %_Z11speex_alloci.exit47, label %if.then8.i.i46
if.then8.i.i46: ; preds = %land.lhs.true5.i.i45
tail call void @llvm.memset.p0i8.i32(i8* %call.i.i40, i8 0, i32 %mul38, i32 1, i1 false) nounwind
br label %_Z11speex_alloci.exit47
_Z11speex_alloci.exit47: ; preds = %if.then8.i.i46, %land.lhs.true5.i.i45, %_Z11speex_alloci.exit39
%56 = bitcast i8* %call.i.i40 to float*
%pi_gain = getelementptr inbounds i8* %call.i.i, i32 76
%57 = bitcast i8* %pi_gain to float**
store float* %56, float** %57, align 4
%last_pitch = getelementptr inbounds i8* %call.i.i, i32 96
%58 = bitcast i8* %last_pitch to i32*
store i32 40, i32* %58, align 4
%count_lost = getelementptr inbounds i8* %call.i.i, i32 8
%59 = bitcast i8* %count_lost to i32*
store i32 0, i32* %59, align 4
%pitch_gain_buf = getelementptr inbounds i8* %call.i.i, i32 104
%seed = getelementptr inbounds i8* %call.i.i, i32 120
%60 = bitcast i8* %seed to i32*
call void @llvm.memset.p0i8.i64(i8* %pitch_gain_buf, i8 0, i64 16, i32 4, i1 false)
store i32 1000, i32* %60, align 4
%sampling_rate = getelementptr inbounds i8* %call.i.i, i32 36
%61 = bitcast i8* %sampling_rate to i32*
store i32 8000, i32* %61, align 4
%last_ol_gain = getelementptr inbounds i8* %call.i.i, i32 40
%62 = bitcast i8* %last_ol_gain to float*
store float 0.000000e+00, float* %62, align 4
%func = getelementptr inbounds i8* %call.i.i, i32 464
%63 = bitcast i8* %func to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* @speex_default_user_handler, i32 (%struct.SpeexBits*, i8*, i8*)** %63, align 4
%data = getelementptr inbounds i8* %call.i.i, i32 468
%64 = bitcast i8* %data to i8**
store i8* null, i8** %64, align 4
%func46 = getelementptr inbounds i8* %call.i.i, i32 144
%65 = bitcast i8* %func46 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %65, align 4
%func46.1 = getelementptr inbounds i8* %call.i.i, i32 164
%66 = bitcast i8* %func46.1 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %66, align 4
%func46.2 = getelementptr inbounds i8* %call.i.i, i32 184
%67 = bitcast i8* %func46.2 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %67, align 4
%func46.3 = getelementptr inbounds i8* %call.i.i, i32 204
%68 = bitcast i8* %func46.3 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %68, align 4
%func46.4 = getelementptr inbounds i8* %call.i.i, i32 224
%69 = bitcast i8* %func46.4 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %69, align 4
%func46.5 = getelementptr inbounds i8* %call.i.i, i32 244
%70 = bitcast i8* %func46.5 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %70, align 4
%func46.6 = getelementptr inbounds i8* %call.i.i, i32 264
%71 = bitcast i8* %func46.6 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %71, align 4
%func46.7 = getelementptr inbounds i8* %call.i.i, i32 284
%72 = bitcast i8* %func46.7 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %72, align 4
%func46.8 = getelementptr inbounds i8* %call.i.i, i32 304
%73 = bitcast i8* %func46.8 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %73, align 4
%func46.9 = getelementptr inbounds i8* %call.i.i, i32 324
%74 = bitcast i8* %func46.9 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %74, align 4
%func46.10 = getelementptr inbounds i8* %call.i.i, i32 344
%75 = bitcast i8* %func46.10 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %75, align 4
%func46.11 = getelementptr inbounds i8* %call.i.i, i32 364
%76 = bitcast i8* %func46.11 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %76, align 4
%func46.12 = getelementptr inbounds i8* %call.i.i, i32 384
%77 = bitcast i8* %func46.12 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %77, align 4
%func46.13 = getelementptr inbounds i8* %call.i.i, i32 404
%78 = bitcast i8* %func46.13 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %78, align 4
%func46.14 = getelementptr inbounds i8* %call.i.i, i32 424
%79 = bitcast i8* %func46.14 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %79, align 4
%func46.15 = getelementptr inbounds i8* %call.i.i, i32 444
%80 = bitcast i8* %func46.15 to i32 (%struct.SpeexBits*, i8*, i8*)**
store i32 (%struct.SpeexBits*, i8*, i8*)* null, i32 (%struct.SpeexBits*, i8*, i8*)** %80, align 4
%voc_m1 = getelementptr inbounds i8* %call.i.i, i32 480
%highpass_enabled = getelementptr inbounds i8* %call.i.i, i32 504
%81 = bitcast i8* %highpass_enabled to i32*
call void @llvm.memset.p0i8.i64(i8* %voc_m1, i8 0, i64 24, i32 4, i1 false)
store i32 1, i32* %81, align 4
br label %return
return: ; preds = %_Z11speex_alloci.exit47, %entry
%retval.0 = phi i8* [ %call.i.i, %_Z11speex_alloci.exit47 ], [ null, %entry ]
ret i8* %retval.0
}
define internal void @_Z18nb_decoder_destroyPv(i8* %state) nounwind ssp {
entry:
%stack = getelementptr inbounds i8* %state, i32 44
%0 = bitcast i8* %stack to i8**
%1 = load i8** %0, align 4
tail call void @free(i8* %1) nounwind
%excBuf = getelementptr inbounds i8* %state, i32 48
%2 = bitcast i8* %excBuf to float**
%3 = load float** %2, align 4
%4 = bitcast float* %3 to i8*
tail call void @free(i8* %4) nounwind
%interp_qlpc = getelementptr inbounds i8* %state, i32 60
%5 = bitcast i8* %interp_qlpc to float**
%6 = load float** %5, align 4
%7 = bitcast float* %6 to i8*
tail call void @free(i8* %7) nounwind
%old_qlsp = getelementptr inbounds i8* %state, i32 56
%8 = bitcast i8* %old_qlsp to float**
%9 = load float** %8, align 4
%10 = bitcast float* %9 to i8*
tail call void @free(i8* %10) nounwind
%mem_sp = getelementptr inbounds i8* %state, i32 64
%11 = bitcast i8* %mem_sp to float**
%12 = load float** %11, align 4
%13 = bitcast float* %12 to i8*
tail call void @free(i8* %13) nounwind
%pi_gain = getelementptr inbounds i8* %state, i32 76
%14 = bitcast i8* %pi_gain to float**
%15 = load float** %14, align 4
%16 = bitcast float* %15 to i8*
tail call void @free(i8* %16) nounwind
tail call void @free(i8* %state) nounwind
ret void
}
define internal i32 @_Z9nb_decodePvP9SpeexBitsS_(i8* %state, %struct.SpeexBits* %bits, i8* nocapture %vout) ssp {
entry:
%pitch = alloca i32, align 4
%pitch_gain = alloca [3 x float], align 4
%0 = bitcast i8* %vout to float*
%1 = bitcast i8* %state to %struct.DecState*
%stack1 = getelementptr inbounds i8* %state, i32 44
%2 = bitcast i8* %stack1 to i8**
%3 = load i8** %2, align 4
%tobool = icmp eq %struct.SpeexBits* %bits, null
br i1 %tobool, label %land.lhs.true, label %if.end
land.lhs.true: ; preds = %entry
%dtx_enabled = getelementptr inbounds i8* %state, i32 496
%4 = bitcast i8* %dtx_enabled to i32*
%5 = load i32* %4, align 4
%tobool2 = icmp eq i32 %5, 0
br i1 %tobool2, label %if.then4, label %if.then
if.then: ; preds = %land.lhs.true
%submodeID = getelementptr inbounds i8* %state, i32 132
%6 = bitcast i8* %submodeID to i32*
store i32 0, i32* %6, align 4
br label %if.end69
if.then4: ; preds = %land.lhs.true
%count_lost.i = getelementptr inbounds i8* %state, i32 8
%7 = bitcast i8* %count_lost.i to i32*
%8 = load i32* %7, align 4
%cmp.i = icmp slt i32 %8, 10
br i1 %cmp.i, label %if.then.i, label %if.end.i
if.then.i: ; preds = %if.then4
%arrayidx.i = getelementptr inbounds [10 x float]* @_ZL11attenuation, i32 0, i32 %8
%9 = load float* %arrayidx.i, align 4
br label %if.end.i
if.end.i: ; preds = %if.then.i, %if.then4
%fact.0.i = phi float [ %9, %if.then.i ], [ 0.000000e+00, %if.then4 ]
%arrayidx2.i = getelementptr inbounds i8* %state, i32 104
%10 = bitcast i8* %arrayidx2.i to float*
%11 = load float* %10, align 4
%arrayidx4.i = getelementptr inbounds i8* %state, i32 108
%12 = bitcast i8* %arrayidx4.i to float*
%13 = load float* %12, align 4
%cmp5.i = fcmp olt float %11, %13
%arrayidx9.i = getelementptr inbounds i8* %state, i32 112
%14 = bitcast i8* %arrayidx9.i to float*
%15 = load float* %14, align 4
br i1 %cmp5.i, label %cond.true.i, label %cond.false27.i
cond.true.i: ; preds = %if.end.i
%cmp10.i = fcmp olt float %13, %15
br i1 %cmp10.i, label %cond.end52.i, label %cond.false.i
cond.false.i: ; preds = %cond.true.i
%cmp18.i = fcmp olt float %11, %15
%..i = select i1 %cmp18.i, float %15, float %11
br label %cond.end52.i
cond.false27.i: ; preds = %if.end.i
%cmp32.i = fcmp olt float %15, %13
br i1 %cmp32.i, label %cond.end52.i, label %cond.false36.i
cond.false36.i: ; preds = %cond.false27.i
%cmp41.i = fcmp olt float %15, %11
%.1.i = select i1 %cmp41.i, float %15, float %11
br label %cond.end52.i
cond.end52.i: ; preds = %cond.false36.i, %cond.false27.i, %cond.false.i, %cond.true.i
%cond53.i = phi float [ %13, %cond.true.i ], [ %..i, %cond.false.i ], [ %13, %cond.false27.i ], [ %.1.i, %cond.false36.i ]
%last_pitch_gain.i = getelementptr inbounds i8* %state, i32 100
%16 = bitcast i8* %last_pitch_gain.i to float*
%17 = load float* %16, align 4
%cmp54.i = fcmp olt float %cond53.i, %17
br i1 %cmp54.i, label %if.then55.i, label %if.end57.i
if.then55.i: ; preds = %cond.end52.i
store float %cond53.i, float* %16, align 4
br label %if.end57.i
if.end57.i: ; preds = %if.then55.i, %cond.end52.i
%18 = phi float [ %cond53.i, %if.then55.i ], [ %17, %cond.end52.i ]
%conv.i = fpext float %18 to double
%cmp59.i = fcmp ogt double %conv.i, 8.500000e-01
%pitch_gain.0.i = select i1 %cmp59.i, float 0x3FEB333340000000, float %18
%mul62.i = fmul float %fact.0.i, %pitch_gain.0.i
%add.i = fadd float %mul62.i, 0x3CD203AFA0000000
%exc.i = getelementptr inbounds i8* %state, i32 52
%19 = bitcast i8* %exc.i to float**
%20 = load float** %19, align 4
%frameSize.i = getelementptr inbounds i8* %state, i32 12
%21 = bitcast i8* %frameSize.i to i32*
%22 = load i32* %21, align 4
%cmp1.i.i.i = icmp sgt i32 %22, 0
br i1 %cmp1.i.i.i, label %for.body.i.i.i, label %_Z13compute_rms16PKfi.exit.i
for.body.i.i.i: ; preds = %for.body.i.i.i, %if.end57.i
%sum.03.i.i.i = phi float [ %add.i.i.i, %for.body.i.i.i ], [ 0.000000e+00, %if.end57.i ]
%i.02.i.i.i = phi i32 [ %inc.i.i.i, %for.body.i.i.i ], [ 0, %if.end57.i ]
%arrayidx.i.i.i = getelementptr inbounds float* %20, i32 %i.02.i.i.i
%23 = load float* %arrayidx.i.i.i, align 4
%mul.i.i.i = fmul float %23, %23
%add.i.i.i = fadd float %sum.03.i.i.i, %mul.i.i.i
%inc.i.i.i = add nsw i32 %i.02.i.i.i, 1
%exitcond.i.i.i = icmp eq i32 %inc.i.i.i, %22
br i1 %exitcond.i.i.i, label %_Z13compute_rms16PKfi.exit.i, label %for.body.i.i.i
_Z13compute_rms16PKfi.exit.i: ; preds = %for.body.i.i.i, %if.end57.i
%sum.0.lcssa.i.i.i = phi float [ 0.000000e+00, %if.end57.i ], [ %add.i.i.i, %for.body.i.i.i ]
%excBuf.i = getelementptr inbounds i8* %state, i32 48
%24 = bitcast i8* %excBuf.i to float**
%25 = load float** %24, align 4
%26 = bitcast float* %25 to i8*
%add.ptr.i = getelementptr inbounds float* %25, i32 %22
%27 = bitcast float* %add.ptr.i to i8*
%max_pitch.i = getelementptr inbounds i8* %state, i32 32
%28 = bitcast i8* %max_pitch.i to i32*
%29 = load i32* %28, align 4
%mul68.i = shl i32 %29, 1
%subframeSize.i = getelementptr inbounds i8* %state, i32 16
%30 = bitcast i8* %subframeSize.i to i32*
%31 = load i32* %30, align 4
%add69.i = add nsw i32 %mul68.i, %31
%add70.i = shl i32 %add69.i, 2
%mul71.i = add i32 %add70.i, 48
call void @llvm.memmove.p0i8.p0i8.i32(i8* %26, i8* %27, i32 %mul71.i, i32 4, i1 false) nounwind
%last_pitch.i = getelementptr inbounds i8* %state, i32 96
%32 = bitcast i8* %last_pitch.i to i32*
%33 = load i32* %32, align 4
%34 = load i32* %7, align 4
%add79.i = add nsw i32 %34, 1
%conv80.i = sitofp i32 %add79.i to float
%seed.i = getelementptr inbounds i8* %state, i32 120
%35 = bitcast i8* %seed.i to i32*
%36 = load i32* %35, align 4
%mul.i.i = mul nsw i32 %36, 1664525
%add.i.i = add nsw i32 %mul.i.i, 1013904223
store i32 %add.i.i, i32* %35, align 4
%and.i.i = and i32 %add.i.i, 8388607
%or.i.i = or i32 %and.i.i, 1065353216
%37 = bitcast i32 %or.i.i to float
%conv1.i.i = fadd float %37, -1.500000e+00
%conv2.i.i = fpext float %conv80.i to double
%mul3.i.i = fmul double %conv2.i.i, 3.464200e+00
%conv5.i.i = fpext float %conv1.i.i to double
%mul6.i.i = fmul double %mul3.i.i, %conv5.i.i
%conv7.i.i = fptrunc double %mul6.i.i to float
%conv82.i = fptosi float %conv7.i.i to i32
%add83.i = add nsw i32 %conv82.i, %33
%38 = load i32* %28, align 4
%cmp85.i = icmp sgt i32 %add83.i, %38
%.add83.i = select i1 %cmp85.i, i32 %38, i32 %add83.i
%min_pitch.i = getelementptr inbounds i8* %state, i32 28
%39 = bitcast i8* %min_pitch.i to i32*
%40 = load i32* %39, align 4
%cmp89.i = icmp slt i32 %.add83.i, %40
%pitch_val.1.i = select i1 %cmp89.i, i32 %40, i32 %.add83.i
%41 = load i32* %21, align 4
%cmp943.i = icmp sgt i32 %41, 0
br i1 %cmp943.i, label %for.body.lr.ph.i, label %for.end.i
for.body.lr.ph.i: ; preds = %_Z13compute_rms16PKfi.exit.i
%conv.i.i.i = sitofp i32 %22 to float
%div.i.i.i = fdiv float %sum.0.lcssa.i.i.i, %conv.i.i.i
%conv2.i.i.i = fpext float %div.i.i.i to double
%mul63.i = fmul float %add.i, %add.i
%add3.i.i.i = fadd double %conv2.i.i.i, 1.000000e-01
%sub.i = fsub float 1.000000e+00, %mul63.i
%call.i.i.i = call double @sqrt(double %add3.i.i.i) nounwind readnone
%mul64.i = fmul float %fact.0.i, %sub.i
%conv4.i.i.i = fptrunc double %call.i.i.i to float
%mul65.i = fmul float %conv4.i.i.i, %mul64.i
%conv2.i23.i = fpext float %mul65.i to double
%mul3.i24.i = fmul double %conv2.i23.i, 3.464200e+00
br label %for.body.i
for.body.i: ; preds = %for.body.for.body_crit_edge.i, %for.body.lr.ph.i
%42 = phi i32 [ %add.i.i, %for.body.lr.ph.i ], [ %.pre6.i, %for.body.for.body_crit_edge.i ]
%i.04.i = phi i32 [ 0, %for.body.lr.ph.i ], [ %inc.i, %for.body.for.body_crit_edge.i ]
%sub95.i = sub nsw i32 %i.04.i, %pitch_val.1.i
%43 = load float** %19, align 4
%arrayidx97.i = getelementptr inbounds float* %43, i32 %sub95.i
%44 = load float* %arrayidx97.i, align 4
%add98.i = fadd float %44, 0x3CD203AFA0000000
%mul99.i = fmul float %add.i, %add98.i
%mul.i18.i = mul nsw i32 %42, 1664525
%add.i19.i = add nsw i32 %mul.i18.i, 1013904223
store i32 %add.i19.i, i32* %35, align 4
%and.i20.i = and i32 %add.i19.i, 8388607
%or.i21.i = or i32 %and.i20.i, 1065353216
%45 = bitcast i32 %or.i21.i to float
%conv1.i22.i = fadd float %45, -1.500000e+00
%conv5.i25.i = fpext float %conv1.i22.i to double
%mul6.i26.i = fmul double %mul3.i24.i, %conv5.i25.i
%conv7.i27.i = fptrunc double %mul6.i26.i to float
%add102.i = fadd float %mul99.i, %conv7.i27.i
%arrayidx104.i = getelementptr inbounds float* %43, i32 %i.04.i
store float %add102.i, float* %arrayidx104.i, align 4
%inc.i = add nsw i32 %i.04.i, 1
%46 = load i32* %21, align 4
%cmp94.i = icmp slt i32 %inc.i, %46
br i1 %cmp94.i, label %for.body.for.body_crit_edge.i, label %for.end.i
for.body.for.body_crit_edge.i: ; preds = %for.body.i
%.pre6.i = load i32* %35, align 4
br label %for.body.i
for.end.i: ; preds = %for.body.i, %_Z13compute_rms16PKfi.exit.i
%47 = phi i32 [ %41, %_Z13compute_rms16PKfi.exit.i ], [ %46, %for.body.i ]
%interp_qlpc.i = getelementptr inbounds i8* %state, i32 60
%48 = bitcast i8* %interp_qlpc.i to float**
%49 = load float** %48, align 4
%lpcSize.i = getelementptr inbounds i8* %state, i32 24
%50 = bitcast i8* %lpcSize.i to i32*
%51 = load i32* %50, align 4
%cmp1.i.i = icmp sgt i32 %51, 0
br i1 %cmp1.i.i, label %for.body.i16.i, label %_Z6bw_lpcfPKfPfi.exit.i
for.body.i16.i: ; preds = %for.body.i16.i, %for.end.i
%tmp.03.i.i = phi float [ %mul2.i.i, %for.body.i16.i ], [ 0x3FEF5C2900000000, %for.end.i ]
%i.02.i11.i = phi i32 [ %inc.i14.i, %for.body.i16.i ], [ 0, %for.end.i ]
%arrayidx.i12.i = getelementptr inbounds float* %49, i32 %i.02.i11.i
%52 = load float* %arrayidx.i12.i, align 4
%mul.i13.i = fmul float %tmp.03.i.i, %52
store float %mul.i13.i, float* %arrayidx.i12.i, align 4
%mul2.i.i = fmul float %tmp.03.i.i, 0x3FEF5C2900000000
%inc.i14.i = add nsw i32 %i.02.i11.i, 1
%exitcond.i15.i = icmp eq i32 %inc.i14.i, %51
br i1 %exitcond.i15.i, label %_Z6bw_lpcfPKfPfi.exit.loopexit.i, label %for.body.i16.i
_Z6bw_lpcfPKfPfi.exit.loopexit.i: ; preds = %for.body.i16.i
%.pre.i = load float** %48, align 4
%.pre5.i = load i32* %21, align 4
br label %_Z6bw_lpcfPKfPfi.exit.i
_Z6bw_lpcfPKfPfi.exit.i: ; preds = %_Z6bw_lpcfPKfPfi.exit.loopexit.i, %for.end.i
%53 = phi i32 [ %.pre5.i, %_Z6bw_lpcfPKfPfi.exit.loopexit.i ], [ %47, %for.end.i ]
%54 = phi float* [ %.pre.i, %_Z6bw_lpcfPKfPfi.exit.loopexit.i ], [ %49, %for.end.i ]
%55 = load i32* %30, align 4
%56 = load float** %19, align 4
%mem_sp.i = getelementptr inbounds i8* %state, i32 64
%57 = bitcast i8* %mem_sp.i to float**
%58 = load float** %57, align 4
%cmp3.i.i = icmp sgt i32 %53, 0
br i1 %cmp3.i.i, label %for.body.lr.ph.i4.i, label %_Z8highpassPKfPfiiS1_.exit.i
for.body.lr.ph.i4.i: ; preds = %_Z6bw_lpcfPKfPfi.exit.i
%59 = load i32* %50, align 4
%sub3.i.i = add nsw i32 %59, -1
%cmp41.i.i = icmp sgt i32 %sub3.i.i, 0
%arrayidx12.i.i = getelementptr inbounds float* %54, i32 %sub3.i.i
%arrayidx15.i.i = getelementptr inbounds float* %58, i32 %sub3.i.i
br label %for.body.i6.i
for.body.i6.i: ; preds = %for.end.i.i, %for.body.lr.ph.i4.i
%i.04.i.i = phi i32 [ 0, %for.body.lr.ph.i4.i ], [ %inc18.i.i, %for.end.i.i ]
%arrayidx109.sum.i = sub i32 %i.04.i.i, %55
%arrayidx.i.i = getelementptr inbounds float* %56, i32 %arrayidx109.sum.i
%60 = load float* %arrayidx.i.i, align 4
%61 = load float* %58, align 4
%add.i5.i = fadd float %60, %61
%sub.i.i = fsub float -0.000000e+00, %add.i5.i
br i1 %cmp41.i.i, label %for.body5.i.i, label %for.end.i.i
for.body5.i.i: ; preds = %for.body5.i.i, %for.body.i6.i
%j.02.i.i = phi i32 [ %add6.i.i, %for.body5.i.i ], [ 0, %for.body.i6.i ]
%add6.i.i = add nsw i32 %j.02.i.i, 1
%arrayidx7.i7.i = getelementptr inbounds float* %58, i32 %add6.i.i
%62 = load float* %arrayidx7.i7.i, align 4
%arrayidx8.i.i = getelementptr inbounds float* %54, i32 %j.02.i.i
%63 = load float* %arrayidx8.i.i, align 4
%mul.i8.i = fmul float %63, %sub.i.i
%add9.i.i = fadd float %62, %mul.i8.i
%arrayidx10.i.i = getelementptr inbounds float* %58, i32 %j.02.i.i
store float %add9.i.i, float* %arrayidx10.i.i, align 4
%exitcond.i9.i = icmp eq i32 %add6.i.i, %sub3.i.i
br i1 %exitcond.i9.i, label %for.end.i.i, label %for.body5.i.i
for.end.i.i: ; preds = %for.body5.i.i, %for.body.i6.i
%64 = load float* %arrayidx12.i.i, align 4
%mul13.i10.i = fmul float %64, %sub.i.i
store float %mul13.i10.i, float* %arrayidx15.i.i, align 4
%arrayidx16.i.i = getelementptr inbounds float* %0, i32 %i.04.i.i
store float %add.i5.i, float* %arrayidx16.i.i, align 4
%inc18.i.i = add nsw i32 %i.04.i.i, 1
%exitcond5.i.i = icmp eq i32 %inc18.i.i, %53
br i1 %exitcond5.i.i, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.i, label %for.body.i6.i
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.i: ; preds = %for.end.i.i
%.pr.i = load i32* %21, align 4
%arraydecay.i = getelementptr inbounds i8* %state, i32 68
%65 = bitcast i8* %arraydecay.i to float*
%cmp31.i.i = icmp sgt i32 %.pr.i, 0
br i1 %cmp31.i.i, label %for.body.lr.ph.i.i, label %_Z8highpassPKfPfiiS1_.exit.i
for.body.lr.ph.i.i: ; preds = %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.i
%arrayidx7.i.i = getelementptr inbounds i8* %state, i32 72
%66 = bitcast i8* %arrayidx7.i.i to float*
br label %for.body.i.i
for.body.i.i: ; preds = %for.body.i.i, %for.body.lr.ph.i.i
%i.02.i.i = phi i32 [ 0, %for.body.lr.ph.i.i ], [ %inc.i.i, %for.body.i.i ]
%arrayidx5.i.i = getelementptr inbounds float* %0, i32 %i.02.i.i
%67 = load float* %arrayidx5.i.i, align 4
%mul.i2.i = fmul float %67, 0x3FEEDCDB40000000
%68 = load float* %65, align 4
%add.i3.i = fadd float %mul.i2.i, %68
%69 = load float* %66, align 4
%mul10.i.i = fmul float %67, 0xBFFEDC52E0000000
%add11.i.i = fadd float %69, %mul10.i.i
%mul13.i.i = fmul float %add.i3.i, 0x3FFED44BC0000000
%add14.i.i = fadd float %add11.i.i, %mul13.i.i
store float %add14.i.i, float* %65, align 4
%70 = load float* %arrayidx5.i.i, align 4
%mul18.i.i = fmul float %70, 0x3FEEDCDB40000000
%mul21.i.i = fmul float %add.i3.i, 0xBFEDC86060000000
%add22.i.i = fadd float %mul18.i.i, %mul21.i.i
store float %add22.i.i, float* %66, align 4
store float %add.i3.i, float* %arrayidx5.i.i, align 4
%inc.i.i = add nsw i32 %i.02.i.i, 1
%exitcond.i.i = icmp eq i32 %inc.i.i, %.pr.i
br i1 %exitcond.i.i, label %_Z8highpassPKfPfiiS1_.exit.i, label %for.body.i.i
_Z8highpassPKfPfiiS1_.exit.i: ; preds = %for.body.i.i, %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit.i, %_Z6bw_lpcfPKfPfi.exit.i
%first.i = getelementptr inbounds i8* %state, i32 4
%71 = bitcast i8* %first.i to i32*
store i32 0, i32* %71, align 4
%72 = load i32* %7, align 4
%inc115.i = add nsw i32 %72, 1
store i32 %inc115.i, i32* %7, align 4
%pitch_gain_buf_idx.i = getelementptr inbounds i8* %state, i32 116
%73 = bitcast i8* %pitch_gain_buf_idx.i to i32*
%74 = load i32* %73, align 4
%inc116.i = add nsw i32 %74, 1
store i32 %inc116.i, i32* %73, align 4
%arrayidx118.i = getelementptr inbounds %struct.DecState* %1, i32 0, i32 25, i32 %74
store float %add.i, float* %arrayidx118.i, align 4
%75 = load i32* %73, align 4
%cmp120.i = icmp sgt i32 %75, 2
br i1 %cmp120.i, label %if.then121.i, label %return
if.then121.i: ; preds = %_Z8highpassPKfPfiiS1_.exit.i
store i32 0, i32* %73, align 4
br label %return
if.end: ; preds = %entry
%encode_submode = getelementptr inbounds i8* %state, i32 124
%76 = bitcast i8* %encode_submode to i32*
%77 = load i32* %76, align 4
%tobool5 = icmp eq i32 %77, 0
br i1 %tobool5, label %if.end.if.end69_crit_edge, label %do.body.preheader
if.end.if.end69_crit_edge: ; preds = %if.end
%submodeID79.pre = getelementptr inbounds i8* %state, i32 132
%.pre719 = bitcast i8* %submodeID79.pre to i32*
br label %if.end69
do.body.preheader: ; preds = %if.end
%overflow.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
%nbBits.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%charPtr.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%bitPtr.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%chars.i = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%speex_callbacks = getelementptr inbounds i8* %state, i32 140
%arraydecay = bitcast i8* %speex_callbacks to %struct.SpeexCallback*
%func = getelementptr inbounds i8* %state, i32 464
%78 = bitcast i8* %func to i32 (%struct.SpeexBits*, i8*, i8*)**
%data = getelementptr inbounds i8* %state, i32 468
%79 = bitcast i8* %data to i8**
br label %do.bodythread-pre-split
do.bodythread-pre-split: ; preds = %if.then52, %speex_inband_handler.exit, %if.end.i8.i, %do.body.preheader
%.pr = load i32* %overflow.i, align 4
%phitmp25 = icmp eq i32 %.pr, 0
br i1 %phitmp25, label %speex_bits_remaining.exit, label %return
speex_bits_remaining.exit: ; preds = %do.bodythread-pre-split
%80 = load i32* %nbBits.i, align 4
%81 = load i32* %charPtr.i, align 4
%shl.i = shl i32 %81, 3
%82 = load i32* %bitPtr.i, align 4
%add.neg.i = sub i32 %80, %shl.i
%sub.i9 = sub i32 %add.neg.i, %82
%cmp = icmp slt i32 %sub.i9, 5
br i1 %cmp, label %return, label %if.end8
if.end8: ; preds = %speex_bits_remaining.exit
%add.i34668 = or i32 %shl.i, 1
%add1.i = add i32 %add.i34668, %82
%cmp.i35 = icmp sgt i32 %add1.i, %80
br i1 %cmp.i35, label %if.end.thread.i, label %while.body.lr.ph.i
if.end.thread.i: ; preds = %if.end8
store i32 1, i32* %overflow.i, align 4
br label %return
while.body.lr.ph.i: ; preds = %if.end8
%.pre.i39 = load i8** %chars.i, align 4
%arrayidx.i40 = getelementptr inbounds i8* %.pre.i39, i32 %81
%83 = load i8* %arrayidx.i40, align 1
%conv.i41 = sext i8 %83 to i32
%sub.i42 = sub nsw i32 7, %82
%inc.i43 = add nsw i32 %82, 1
store i32 %inc.i43, i32* %bitPtr.i, align 4
%cmp12.i = icmp eq i32 %inc.i43, 8
br i1 %cmp12.i, label %if.then13.i, label %if.end17.i
if.then13.i: ; preds = %while.body.lr.ph.i
store i32 0, i32* %bitPtr.i, align 4
%inc16.i = add nsw i32 %81, 1
store i32 %inc16.i, i32* %charPtr.i, align 4
br label %if.end17.i
if.end17.i: ; preds = %if.then13.i, %while.body.lr.ph.i
%84 = phi i32 [ 0, %if.then13.i ], [ %inc.i43, %while.body.lr.ph.i ]
%85 = phi i32 [ %inc16.i, %if.then13.i ], [ %81, %while.body.lr.ph.i ]
%86 = shl i32 1, %sub.i42
%and.i721 = and i32 %conv.i41, %86
%tobool10 = icmp eq i32 %and.i721, 0
br i1 %tobool10, label %speex_bits_remaining.exit361, label %if.then11
if.then11: ; preds = %if.end17.i
%shl.i80 = shl i32 %85, 3
%add.i82669 = or i32 %shl.i80, 3
%add1.i83 = add i32 %add.i82669, %84
%cmp.i85 = icmp sgt i32 %add1.i83, %80
br i1 %cmp.i85, label %if.end.thread.i87, label %while.body.lr.ph.i93
if.end.thread.i87: ; preds = %if.then11
store i32 1, i32* %overflow.i, align 4
br label %speex_bits_unpack_unsigned.exit112
while.body.lr.ph.i93: ; preds = %if.then11
%arrayidx.i97 = getelementptr inbounds i8* %.pre.i39, i32 %85
%87 = load i8* %arrayidx.i97, align 1
%conv.i98 = sext i8 %87 to i32
%sub.i99 = sub nsw i32 7, %84
%shr1.i100 = lshr i32 %conv.i98, %sub.i99
%inc.i103 = add nsw i32 %84, 1
store i32 %inc.i103, i32* %bitPtr.i, align 4
%cmp12.i104 = icmp eq i32 %inc.i103, 8
br i1 %cmp12.i104, label %if.then13.i107, label %if.end17.i110
if.then13.i107: ; preds = %while.body.lr.ph.i93
store i32 0, i32* %bitPtr.i, align 4
%inc16.i106 = add nsw i32 %85, 1
store i32 %inc16.i106, i32* %charPtr.i, align 4
br label %if.end17.i110
if.end17.i110: ; preds = %if.then13.i107, %while.body.lr.ph.i93
%88 = phi i32 [ 0, %if.then13.i107 ], [ %inc.i103, %while.body.lr.ph.i93 ]
%89 = phi i32 [ %inc16.i106, %if.then13.i107 ], [ %85, %while.body.lr.ph.i93 ]
%and.i101 = shl i32 %shr1.i100, 1
%shl7.i96.1 = and i32 %and.i101, 2
%arrayidx.i97.1 = getelementptr inbounds i8* %.pre.i39, i32 %89
%90 = load i8* %arrayidx.i97.1, align 1
%conv.i98.1 = sext i8 %90 to i32
%sub.i99.1 = sub nsw i32 7, %88
%shr1.i100.1 = lshr i32 %conv.i98.1, %sub.i99.1
%and.i101.1 = and i32 %shr1.i100.1, 1
%or.i102.1 = or i32 %and.i101.1, %shl7.i96.1
%inc.i103.1 = add nsw i32 %88, 1
store i32 %inc.i103.1, i32* %bitPtr.i, align 4
%cmp12.i104.1 = icmp eq i32 %inc.i103.1, 8
br i1 %cmp12.i104.1, label %if.then13.i107.1, label %if.end17.i110.1
speex_bits_unpack_unsigned.exit112: ; preds = %if.then13.i107.2, %if.end17.i110.1, %if.end.thread.i87
%.pre5.i.i21 = phi i32 [ 1, %if.end.thread.i87 ], [ 0, %if.then13.i107.2 ], [ 0, %if.end17.i110.1 ]
%.pre5.i197 = phi i1 [ false, %if.end.thread.i87 ], [ true, %if.then13.i107.2 ], [ true, %if.end17.i110.1 ]
%91 = phi i32 [ %84, %if.end.thread.i87 ], [ 0, %if.then13.i107.2 ], [ %inc.i103.2, %if.end17.i110.1 ]
%92 = phi i32 [ %85, %if.end.thread.i87 ], [ %inc16.i106.2, %if.then13.i107.2 ], [ %477, %if.end17.i110.1 ]
%retval.0.i111 = phi i32 [ 0, %if.end.thread.i87 ], [ %or.i102.2, %if.then13.i107.2 ], [ %or.i102.2, %if.end17.i110.1 ]
%arrayidx = getelementptr inbounds [8 x i32]* @_ZL13wb_skip_table, i32 0, i32 %retval.0.i111
%93 = load i32* %arrayidx, align 4
%shl.i114 = shl i32 %92, 3
%sub16 = add i32 %93, -4
%add.i116 = add i32 %sub16, %91
%add1.i117 = add i32 %add.i116, %shl.i114
%cmp.i119 = icmp sle i32 %add1.i117, %80
%or.cond = and i1 %cmp.i119, %.pre5.i197
br i1 %or.cond, label %speex_bits_remaining.exit135, label %speex_bits_advance.exit.thread
speex_bits_advance.exit.thread: ; preds = %speex_bits_unpack_unsigned.exit112
store i32 1, i32* %overflow.i, align 4
br label %return
speex_bits_remaining.exit135: ; preds = %speex_bits_unpack_unsigned.exit112
%shr.i = ashr i32 %add.i116, 3
%add6.i122 = add nsw i32 %shr.i, %92
store i32 %add6.i122, i32* %charPtr.i, align 4
%and.i123 = and i32 %add.i116, 7
store i32 %and.i123, i32* %bitPtr.i, align 4
%shl.i129 = shl i32 %add6.i122, 3
%add.neg.i131 = sub i32 %80, %shl.i129
%sub.i132 = sub i32 %add.neg.i131, %and.i123
%cmp18 = icmp slt i32 %sub.i132, 5
br i1 %cmp18, label %return, label %if.end20
if.end20: ; preds = %speex_bits_remaining.exit135
%add.i147670 = or i32 %shl.i129, 1
%add1.i148 = add i32 %add.i147670, %and.i123
%cmp.i150 = icmp sgt i32 %add1.i148, %80
br i1 %cmp.i150, label %if.end.thread.i152, label %while.body.lr.ph.i158
if.end.thread.i152: ; preds = %if.end20
store i32 1, i32* %overflow.i, align 4
br label %return
while.body.lr.ph.i158: ; preds = %if.end20
%arrayidx.i162 = getelementptr inbounds i8* %.pre.i39, i32 %add6.i122
%94 = load i8* %arrayidx.i162, align 1
%conv.i163 = sext i8 %94 to i32
%95 = xor i32 %and.i123, 7
%inc.i168 = add nsw i32 %and.i123, 1
store i32 %inc.i168, i32* %bitPtr.i, align 4
%cmp12.i169 = icmp eq i32 %inc.i168, 8
br i1 %cmp12.i169, label %if.then13.i172, label %if.end17.i175
if.then13.i172: ; preds = %while.body.lr.ph.i158
store i32 0, i32* %bitPtr.i, align 4
%inc16.i171 = add nsw i32 %add6.i122, 1
store i32 %inc16.i171, i32* %charPtr.i, align 4
br label %if.end17.i175
if.end17.i175: ; preds = %if.then13.i172, %while.body.lr.ph.i158
%96 = phi i32 [ 0, %if.then13.i172 ], [ %inc.i168, %while.body.lr.ph.i158 ]
%97 = phi i32 [ %inc16.i171, %if.then13.i172 ], [ %add6.i122, %while.body.lr.ph.i158 ]
%98 = shl i32 1, %95
%and.i166722 = and i32 %conv.i163, %98
%tobool22 = icmp eq i32 %and.i166722, 0
br i1 %tobool22, label %speex_bits_remaining.exit361, label %if.then23
if.then23: ; preds = %if.end17.i175
%shl.i189 = shl i32 %97, 3
%add.i191671 = or i32 %shl.i189, 3
%add1.i192 = add i32 %add.i191671, %96
%cmp.i194 = icmp sgt i32 %add1.i192, %80
br i1 %cmp.i194, label %if.end.thread.i196, label %while.body.lr.ph.i202
if.end.thread.i196: ; preds = %if.then23
store i32 1, i32* %overflow.i, align 4
br label %speex_bits_unpack_unsigned.exit221
while.body.lr.ph.i202: ; preds = %if.then23
%arrayidx.i206 = getelementptr inbounds i8* %.pre.i39, i32 %97
%99 = load i8* %arrayidx.i206, align 1
%conv.i207 = sext i8 %99 to i32
%sub.i208 = sub nsw i32 7, %96
%shr1.i209 = lshr i32 %conv.i207, %sub.i208
%inc.i212 = add nsw i32 %96, 1
store i32 %inc.i212, i32* %bitPtr.i, align 4
%cmp12.i213 = icmp eq i32 %inc.i212, 8
br i1 %cmp12.i213, label %if.then13.i216, label %if.end17.i219
if.then13.i216: ; preds = %while.body.lr.ph.i202
store i32 0, i32* %bitPtr.i, align 4
%inc16.i215 = add nsw i32 %97, 1
store i32 %inc16.i215, i32* %charPtr.i, align 4
br label %if.end17.i219
if.end17.i219: ; preds = %if.then13.i216, %while.body.lr.ph.i202
%100 = phi i32 [ 0, %if.then13.i216 ], [ %inc.i212, %while.body.lr.ph.i202 ]
%101 = phi i32 [ %inc16.i215, %if.then13.i216 ], [ %97, %while.body.lr.ph.i202 ]
%and.i210 = shl i32 %shr1.i209, 1
%shl7.i205.1 = and i32 %and.i210, 2
%arrayidx.i206.1 = getelementptr inbounds i8* %.pre.i39, i32 %101
%102 = load i8* %arrayidx.i206.1, align 1
%conv.i207.1 = sext i8 %102 to i32
%sub.i208.1 = sub nsw i32 7, %100
%shr1.i209.1 = lshr i32 %conv.i207.1, %sub.i208.1
%and.i210.1 = and i32 %shr1.i209.1, 1
%or.i211.1 = or i32 %and.i210.1, %shl7.i205.1
%inc.i212.1 = add nsw i32 %100, 1
store i32 %inc.i212.1, i32* %bitPtr.i, align 4
%cmp12.i213.1 = icmp eq i32 %inc.i212.1, 8
br i1 %cmp12.i213.1, label %if.then13.i216.1, label %if.end17.i219.1
speex_bits_unpack_unsigned.exit221: ; preds = %if.then13.i216.2, %if.end17.i219.1, %if.end.thread.i196
%.pre5.i.i20 = phi i32 [ 1, %if.end.thread.i196 ], [ %.pre5.i.i21, %if.then13.i216.2 ], [ %.pre5.i.i21, %if.end17.i219.1 ]
%103 = phi i1 [ false, %if.end.thread.i196 ], [ true, %if.then13.i216.2 ], [ true, %if.end17.i219.1 ]
%104 = phi i32 [ %96, %if.end.thread.i196 ], [ 0, %if.then13.i216.2 ], [ %inc.i212.2, %if.end17.i219.1 ]
%105 = phi i32 [ %97, %if.end.thread.i196 ], [ %inc16.i215.2, %if.then13.i216.2 ], [ %474, %if.end17.i219.1 ]
%retval.0.i220 = phi i32 [ 0, %if.end.thread.i196 ], [ %or.i211.2, %if.then13.i216.2 ], [ %or.i211.2, %if.end17.i219.1 ]
%arrayidx25 = getelementptr inbounds [8 x i32]* @_ZL13wb_skip_table, i32 0, i32 %retval.0.i220
%106 = load i32* %arrayidx25, align 4
%shl.i223 = shl i32 %105, 3
%sub29 = add i32 %106, -4
%add.i225 = add i32 %sub29, %104
%add1.i226 = add i32 %add.i225, %shl.i223
%cmp.i228 = icmp sle i32 %add1.i226, %80
%or.cond729 = and i1 %cmp.i228, %103
br i1 %or.cond729, label %if.end.i236, label %if.then.i232
if.then.i232: ; preds = %speex_bits_unpack_unsigned.exit221
store i32 1, i32* %overflow.i, align 4
br label %speex_bits_advance.exit237
if.end.i236: ; preds = %speex_bits_unpack_unsigned.exit221
%shr.i233 = ashr i32 %add.i225, 3
%add6.i234 = add nsw i32 %shr.i233, %105
store i32 %add6.i234, i32* %charPtr.i, align 4
%and.i235 = and i32 %add.i225, 7
store i32 %and.i235, i32* %bitPtr.i, align 4
br label %speex_bits_advance.exit237
speex_bits_advance.exit237: ; preds = %if.end.i236, %if.then.i232
%.pre5.i.i19 = phi i32 [ 1, %if.then.i232 ], [ %.pre5.i.i20, %if.end.i236 ]
%.pre5.i247 = phi i32 [ 1, %if.then.i232 ], [ 0, %if.end.i236 ]
%107 = phi i32 [ %104, %if.then.i232 ], [ %and.i235, %if.end.i236 ]
%108 = phi i32 [ %105, %if.then.i232 ], [ %add6.i234, %if.end.i236 ]
%shl.i239 = shl i32 %108, 3
%add.i241672 = or i32 %shl.i239, 1
%add1.i242 = add i32 %add.i241672, %107
%cmp.i244 = icmp sgt i32 %add1.i242, %80
br i1 %cmp.i244, label %if.end.thread.i246, label %if.end.i249
if.end.thread.i246: ; preds = %speex_bits_advance.exit237
store i32 1, i32* %overflow.i, align 4
br label %return
if.end.i249: ; preds = %speex_bits_advance.exit237
%phitmp.i248 = icmp eq i32 %.pre5.i247, 0
br i1 %phitmp.i248, label %while.body.lr.ph.i252, label %return
while.body.lr.ph.i252: ; preds = %if.end.i249
%arrayidx.i256 = getelementptr inbounds i8* %.pre.i39, i32 %108
%109 = load i8* %arrayidx.i256, align 1
%conv.i257 = sext i8 %109 to i32
%sub.i258 = sub nsw i32 7, %107
%inc.i262 = add nsw i32 %107, 1
store i32 %inc.i262, i32* %bitPtr.i, align 4
%cmp12.i263 = icmp eq i32 %inc.i262, 8
br i1 %cmp12.i263, label %if.then13.i266, label %if.end17.i269
if.then13.i266: ; preds = %while.body.lr.ph.i252
store i32 0, i32* %bitPtr.i, align 4
%inc16.i265 = add nsw i32 %108, 1
store i32 %inc16.i265, i32* %charPtr.i, align 4
br label %if.end17.i269
if.end17.i269: ; preds = %if.then13.i266, %while.body.lr.ph.i252
%110 = phi i32 [ 0, %if.then13.i266 ], [ %inc.i262, %while.body.lr.ph.i252 ]
%111 = phi i32 [ %inc16.i265, %if.then13.i266 ], [ %108, %while.body.lr.ph.i252 ]
%112 = shl i32 1, %sub.i258
%and.i260723 = and i32 %conv.i257, %112
%tobool31 = icmp eq i32 %and.i260723, 0
br i1 %tobool31, label %speex_bits_remaining.exit361, label %if.then32
if.then32: ; preds = %if.end17.i269
%113 = load %struct.__sFILE** @stderr, align 4
%call.i350 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %113, 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 %return
speex_bits_remaining.exit361: ; preds = %if.end17.i269, %if.end17.i175, %if.end17.i
%.pre5.i.i = phi i32 [ %.pre5.i.i19, %if.end17.i269 ], [ %.pre5.i.i21, %if.end17.i175 ], [ 0, %if.end17.i ]
%114 = phi i32 [ %110, %if.end17.i269 ], [ %96, %if.end17.i175 ], [ %84, %if.end17.i ]
%115 = phi i32 [ %111, %if.end17.i269 ], [ %97, %if.end17.i175 ], [ %85, %if.end17.i ]
%shl.i355 = shl i32 %115, 3
%add.neg.i357 = sub i32 %80, %shl.i355
%sub.i358 = sub i32 %add.neg.i357, %114
%cmp37 = icmp slt i32 %sub.i358, 4
br i1 %cmp37, label %return, label %if.end39
if.end39: ; preds = %speex_bits_remaining.exit361
%add.i366673 = or i32 %shl.i355, 4
%add1.i367 = add i32 %add.i366673, %114
%cmp.i369 = icmp sgt i32 %add1.i367, %80
br i1 %cmp.i369, label %if.end.thread.i371, label %while.body.lr.ph.i377
if.end.thread.i371: ; preds = %if.end39
store i32 1, i32* %overflow.i, align 4
br label %do.end
while.body.lr.ph.i377: ; preds = %if.end39
%arrayidx.i381 = getelementptr inbounds i8* %.pre.i39, i32 %115
%116 = load i8* %arrayidx.i381, align 1
%conv.i382 = sext i8 %116 to i32
%sub.i383 = sub nsw i32 7, %114
%shr1.i384 = lshr i32 %conv.i382, %sub.i383
%inc.i387 = add nsw i32 %114, 1
store i32 %inc.i387, i32* %bitPtr.i, align 4
%cmp12.i388 = icmp eq i32 %inc.i387, 8
br i1 %cmp12.i388, label %if.then13.i391, label %if.end17.i394
if.then13.i391: ; preds = %while.body.lr.ph.i377
store i32 0, i32* %bitPtr.i, align 4
%inc16.i390 = add nsw i32 %115, 1
store i32 %inc16.i390, i32* %charPtr.i, align 4
br label %if.end17.i394
if.end17.i394: ; preds = %if.then13.i391, %while.body.lr.ph.i377
%117 = phi i32 [ 0, %if.then13.i391 ], [ %inc.i387, %while.body.lr.ph.i377 ]
%118 = phi i32 [ %inc16.i390, %if.then13.i391 ], [ %115, %while.body.lr.ph.i377 ]
%and.i385 = shl i32 %shr1.i384, 1
%shl7.i380.1 = and i32 %and.i385, 2
%arrayidx.i381.1 = getelementptr inbounds i8* %.pre.i39, i32 %118
%119 = load i8* %arrayidx.i381.1, align 1
%conv.i382.1 = sext i8 %119 to i32
%sub.i383.1 = sub nsw i32 7, %117
%shr1.i384.1 = lshr i32 %conv.i382.1, %sub.i383.1
%and.i385.1 = and i32 %shr1.i384.1, 1
%or.i386.1 = or i32 %and.i385.1, %shl7.i380.1
%inc.i387.1 = add nsw i32 %117, 1
store i32 %inc.i387.1, i32* %bitPtr.i, align 4
%cmp12.i388.1 = icmp eq i32 %inc.i387.1, 8
br i1 %cmp12.i388.1, label %if.then13.i391.1, label %if.end17.i394.1
if.then45: ; preds = %if.end17.i394.3
%shl.i.i = shl i32 %486, 3
%add.i9.i = or i32 %shl.i.i, 4
%add1.i.i = add i32 %add.i9.i, %485
%cmp.i.i = icmp sgt i32 %add1.i.i, %80
br i1 %cmp.i.i, label %if.end.thread.i.i, label %if.end.i.i
if.end.thread.i.i: ; preds = %if.then45
store i32 1, i32* %overflow.i, align 4
br label %speex_bits_unpack_unsigned.exit.i
if.end.i.i: ; preds = %if.then45
%phitmp.i.i = icmp eq i32 %.pre5.i.i, 0
br i1 %phitmp.i.i, label %while.body.lr.ph.i.i, label %speex_bits_unpack_unsigned.exit.i
while.body.lr.ph.i.i: ; preds = %if.end.i.i
%arrayidx.i.i1 = getelementptr inbounds i8* %.pre.i39, i32 %486
%120 = load i8* %arrayidx.i.i1, align 1
%conv.i.i2 = sext i8 %120 to i32
%sub.i.i3 = sub nsw i32 7, %485
%shr1.i.i = lshr i32 %conv.i.i2, %sub.i.i3
%inc.i.i4 = add nsw i32 %485, 1
store i32 %inc.i.i4, i32* %bitPtr.i, align 4
%cmp12.i.i = icmp eq i32 %inc.i.i4, 8
br i1 %cmp12.i.i, label %if.then13.i.i, label %if.end17.i.i
if.then13.i.i: ; preds = %while.body.lr.ph.i.i
store i32 0, i32* %bitPtr.i, align 4
%inc16.i.i = add nsw i32 %486, 1
store i32 %inc16.i.i, i32* %charPtr.i, align 4
br label %if.end17.i.i
if.end17.i.i: ; preds = %if.then13.i.i, %while.body.lr.ph.i.i
%121 = phi i32 [ 0, %if.then13.i.i ], [ %inc.i.i4, %while.body.lr.ph.i.i ]
%122 = phi i32 [ %inc16.i.i, %if.then13.i.i ], [ %486, %while.body.lr.ph.i.i ]
%and.i.i5 = shl i32 %shr1.i.i, 1
%shl7.i.1.i = and i32 %and.i.i5, 2
%arrayidx.i.1.i = getelementptr inbounds i8* %.pre.i39, i32 %122
%123 = load i8* %arrayidx.i.1.i, align 1
%conv.i.1.i = sext i8 %123 to i32
%sub.i.1.i = sub nsw i32 7, %121
%shr1.i.1.i = lshr i32 %conv.i.1.i, %sub.i.1.i
%and.i.1.i = and i32 %shr1.i.1.i, 1
%or.i.1.i = or i32 %and.i.1.i, %shl7.i.1.i
%inc.i.1.i = add nsw i32 %121, 1
store i32 %inc.i.1.i, i32* %bitPtr.i, align 4
%cmp12.i.1.i = icmp eq i32 %inc.i.1.i, 8
br i1 %cmp12.i.1.i, label %if.then13.i.1.i, label %if.end17.i.1.i
speex_bits_unpack_unsigned.exit.i: ; preds = %if.then13.i.3.i, %if.end17.i.2.i, %if.end.i.i, %if.end.thread.i.i
%124 = phi i32 [ %.pre5.i.i, %if.end.i.i ], [ 1, %if.end.thread.i.i ], [ 0, %if.then13.i.3.i ], [ 0, %if.end17.i.2.i ]
%125 = phi i32 [ %485, %if.end.i.i ], [ %485, %if.end.thread.i.i ], [ 0, %if.then13.i.3.i ], [ %inc.i.3.i, %if.end17.i.2.i ]
%126 = phi i32 [ %486, %if.end.i.i ], [ %486, %if.end.thread.i.i ], [ %inc16.i.3.i, %if.then13.i.3.i ], [ %132, %if.end17.i.2.i ]
%retval.0.i.i = phi i32 [ 0, %if.end.i.i ], [ 0, %if.end.thread.i.i ], [ %or.i.3.i, %if.then13.i.3.i ], [ %or.i.3.i, %if.end17.i.2.i ]
%func.i = getelementptr inbounds %struct.SpeexCallback* %arraydecay, i32 %retval.0.i.i, i32 1
%127 = load i32 (%struct.SpeexBits*, i8*, i8*)** %func.i, align 4
%tobool.i6 = icmp eq i32 (%struct.SpeexBits*, i8*, i8*)* %127, null
br i1 %tobool.i6, label %if.else.i, label %speex_inband_handler.exit
if.else.i: ; preds = %speex_bits_unpack_unsigned.exit.i
%cmp.i8 = icmp slt i32 %retval.0.i.i, 2
br i1 %cmp.i8, label %if.end20.i, label %if.else4.i
if.else4.i: ; preds = %if.else.i
%cmp5.i9 = icmp slt i32 %retval.0.i.i, 8
br i1 %cmp5.i9, label %if.end20.i, label %if.else7.i
if.else7.i: ; preds = %if.else4.i
%cmp8.i = icmp slt i32 %retval.0.i.i, 10
br i1 %cmp8.i, label %if.end20.i, label %if.else10.i
if.else10.i: ; preds = %if.else7.i
%cmp11.i = icmp slt i32 %retval.0.i.i, 12
br i1 %cmp11.i, label %if.end20.i, label %if.else13.i
if.else13.i: ; preds = %if.else10.i
%cmp14.i = icmp slt i32 %retval.0.i.i, 14
%..i10 = select i1 %cmp14.i, i32 32, i32 64
br label %if.end20.i
if.end20.i: ; preds = %if.else13.i, %if.else10.i, %if.else7.i, %if.else4.i, %if.else.i
%adv.0.i = phi i32 [ 1, %if.else.i ], [ 4, %if.else4.i ], [ 8, %if.else7.i ], [ 16, %if.else10.i ], [ %..i10, %if.else13.i ]
%shl.i2.i = shl i32 %126, 3
%add.i4.i = add i32 %125, %adv.0.i
%add1.i5.i = add i32 %add.i4.i, %shl.i2.i
%cmp.i6.i = icmp sle i32 %add1.i5.i, %80
%tobool.i.i = icmp eq i32 %124, 0
%or.cond.i11 = and i1 %cmp.i6.i, %tobool.i.i
br i1 %or.cond.i11, label %if.end.i8.i, label %if.then.i.i
if.then.i.i: ; preds = %if.end20.i
store i32 1, i32* %overflow.i, align 4
br label %return
if.end.i8.i: ; preds = %if.end20.i
%shr.i.i = ashr i32 %add.i4.i, 3
%add6.i.i12 = add nsw i32 %shr.i.i, %126
store i32 %add6.i.i12, i32* %charPtr.i, align 4
%and.i7.i = and i32 %add.i4.i, 7
store i32 %and.i7.i, i32* %bitPtr.i, align 4
br label %do.bodythread-pre-split
if.then13.i.1.i: ; preds = %if.end17.i.i
store i32 0, i32* %bitPtr.i, align 4
%inc16.i.1.i = add nsw i32 %122, 1
store i32 %inc16.i.1.i, i32* %charPtr.i, align 4
br label %if.end17.i.1.i
if.end17.i.1.i: ; preds = %if.then13.i.1.i, %if.end17.i.i
%128 = phi i32 [ 0, %if.then13.i.1.i ], [ %inc.i.1.i, %if.end17.i.i ]
%129 = phi i32 [ %inc16.i.1.i, %if.then13.i.1.i ], [ %122, %if.end17.i.i ]
%shl7.i.2.i = shl nuw nsw i32 %or.i.1.i, 1
%arrayidx.i.2.i = getelementptr inbounds i8* %.pre.i39, i32 %129
%130 = load i8* %arrayidx.i.2.i, align 1
%conv.i.2.i = sext i8 %130 to i32
%sub.i.2.i = sub nsw i32 7, %128
%shr1.i.2.i = lshr i32 %conv.i.2.i, %sub.i.2.i
%and.i.2.i = and i32 %shr1.i.2.i, 1
%or.i.2.i = or i32 %and.i.2.i, %shl7.i.2.i
%inc.i.2.i = add nsw i32 %128, 1
store i32 %inc.i.2.i, i32* %bitPtr.i, align 4
%cmp12.i.2.i = icmp eq i32 %inc.i.2.i, 8
br i1 %cmp12.i.2.i, label %if.then13.i.2.i, label %if.end17.i.2.i
if.then13.i.2.i: ; preds = %if.end17.i.1.i
store i32 0, i32* %bitPtr.i, align 4
%inc16.i.2.i = add nsw i32 %129, 1
store i32 %inc16.i.2.i, i32* %charPtr.i, align 4
br label %if.end17.i.2.i
if.end17.i.2.i: ; preds = %if.then13.i.2.i, %if.end17.i.1.i
%131 = phi i32 [ 0, %if.then13.i.2.i ], [ %inc.i.2.i, %if.end17.i.1.i ]
%132 = phi i32 [ %inc16.i.2.i, %if.then13.i.2.i ], [ %129, %if.end17.i.1.i ]
%shl7.i.3.i = shl nuw nsw i32 %or.i.2.i, 1
%arrayidx.i.3.i = getelementptr inbounds i8* %.pre.i39, i32 %132
%133 = load i8* %arrayidx.i.3.i, align 1
%conv.i.3.i = sext i8 %133 to i32
%sub.i.3.i = sub nsw i32 7, %131
%shr1.i.3.i = lshr i32 %conv.i.3.i, %sub.i.3.i
%and.i.3.i = and i32 %shr1.i.3.i, 1
%or.i.3.i = or i32 %and.i.3.i, %shl7.i.3.i
%inc.i.3.i = add nsw i32 %131, 1
store i32 %inc.i.3.i, i32* %bitPtr.i, align 4
%cmp12.i.3.i = icmp eq i32 %inc.i.3.i, 8
br i1 %cmp12.i.3.i, label %if.then13.i.3.i, label %speex_bits_unpack_unsigned.exit.i
if.then13.i.3.i: ; preds = %if.end17.i.2.i
store i32 0, i32* %bitPtr.i, align 4
%inc16.i.3.i = add nsw i32 %132, 1
store i32 %inc16.i.3.i, i32* %charPtr.i, align 4
br label %speex_bits_unpack_unsigned.exit.i
speex_inband_handler.exit: ; preds = %speex_bits_unpack_unsigned.exit.i
%data.i = getelementptr inbounds %struct.SpeexCallback* %arraydecay, i32 %retval.0.i.i, i32 2
%134 = load i8** %data.i, align 4
%call2.i = call i32 %127(%struct.SpeexBits* %bits, i8* %state, i8* %134)
%tobool47 = icmp eq i32 %call2.i, 0
br i1 %tobool47, label %do.bodythread-pre-split, label %return
if.then52: ; preds = %if.end17.i394.3
%135 = load i32 (%struct.SpeexBits*, i8*, i8*)** %78, align 4
%136 = load i8** %79, align 4
%call55 = call i32 %135(%struct.SpeexBits* %bits, i8* %state, i8* %136)
%tobool56 = icmp eq i32 %call55, 0
br i1 %tobool56, label %do.bodythread-pre-split, label %return
if.else59: ; preds = %if.end17.i394.3
%cmp60 = icmp ugt i32 %or.i386.3, 8
br i1 %cmp60, label %if.then61, label %do.end
if.then61: ; preds = %if.else59
%137 = load %struct.__sFILE** @stderr, align 4
%call.i397 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %137, 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 %return
do.end: ; preds = %if.else59, %if.end.thread.i371
%retval.0.i395600.ph = phi i32 [ %or.i386.3, %if.else59 ], [ 0, %if.end.thread.i371 ]
%submodeID67 = getelementptr inbounds i8* %state, i32 132
%138 = bitcast i8* %submodeID67 to i32*
store i32 %retval.0.i395600.ph, i32* %138, align 4
br label %if.end69
if.end69: ; preds = %do.end, %if.end.if.end69_crit_edge, %if.then
%.pre-phi720 = phi i32* [ %.pre719, %if.end.if.end69_crit_edge ], [ %138, %do.end ], [ %6, %if.then ]
%excBuf = getelementptr inbounds i8* %state, i32 48
%139 = bitcast i8* %excBuf to float**
%140 = load float** %139, align 4
%141 = bitcast float* %140 to i8*
%frameSize = getelementptr inbounds i8* %state, i32 12
%142 = bitcast i8* %frameSize to i32*
%143 = load i32* %142, align 4
%add.ptr = getelementptr inbounds float* %140, i32 %143
%144 = bitcast float* %add.ptr to i8*
%max_pitch = getelementptr inbounds i8* %state, i32 32
%145 = bitcast i8* %max_pitch to i32*
%146 = load i32* %145, align 4
%mul = shl i32 %146, 1
%subframeSize = getelementptr inbounds i8* %state, i32 16
%147 = bitcast i8* %subframeSize to i32*
%148 = load i32* %147, align 4
%add = add nsw i32 %mul, %148
%add71 = shl i32 %add, 2
%mul72 = add i32 %add71, 48
call void @llvm.memmove.p0i8.p0i8.i32(i8* %141, i8* %144, i32 %mul72, i32 4, i1 false)
%149 = load i32* %.pre-phi720, align 4
%submodes = getelementptr inbounds i8* %state, i32 128
%150 = bitcast i8* %submodes to %struct.SpeexSubmode***
%151 = load %struct.SpeexSubmode*** %150, align 4
%arrayidx80 = getelementptr inbounds %struct.SpeexSubmode** %151, i32 %149
%152 = load %struct.SpeexSubmode** %arrayidx80, align 4
%cmp81 = icmp eq %struct.SpeexSubmode* %152, null
%153 = ptrtoint i8* %3 to i32
%154 = sub i32 0, %153
%and = and i32 %154, 3
%lpcSize = getelementptr inbounds i8* %state, i32 24
%155 = bitcast i8* %lpcSize to i32*
%156 = load i32* %155, align 4
%mul85 = shl i32 %156, 2
%add.ptr84.sum = or i32 %mul85, %and
%add.ptr86 = getelementptr inbounds i8* %3, i32 %add.ptr84.sum
%add.ptr86.sum = sub i32 %add.ptr84.sum, %mul85
%add.ptr89 = getelementptr inbounds i8* %3, i32 %add.ptr86.sum
%157 = bitcast i8* %add.ptr89 to float*
br i1 %cmp81, label %if.then82, label %if.end101
if.then82: ; preds = %if.end69
%interp_qlpc = getelementptr inbounds i8* %state, i32 60
%158 = bitcast i8* %interp_qlpc to float**
%159 = load float** %158, align 4
%cmp1.i398 = icmp sgt i32 %156, 0
br i1 %cmp1.i398, label %for.body.i405, label %_Z6bw_lpcfPKfPfi.exit
for.body.i405: ; preds = %for.body.i405, %if.then82
%tmp.03.i = phi float [ %mul2.i, %for.body.i405 ], [ 0x3FEDC28F60000000, %if.then82 ]
%i.02.i399 = phi i32 [ %inc.i403, %for.body.i405 ], [ 0, %if.then82 ]
%arrayidx.i400 = getelementptr inbounds float* %159, i32 %i.02.i399
%160 = load float* %arrayidx.i400, align 4
%mul.i401 = fmul float %tmp.03.i, %160
%arrayidx1.i402 = getelementptr inbounds float* %157, i32 %i.02.i399
store float %mul.i401, float* %arrayidx1.i402, align 4
%mul2.i = fmul float %tmp.03.i, 0x3FEDC28F60000000
%inc.i403 = add nsw i32 %i.02.i399, 1
%exitcond.i404 = icmp eq i32 %inc.i403, %156
br i1 %exitcond.i404, label %_Z6bw_lpcfPKfPfi.exit, label %for.body.i405
_Z6bw_lpcfPKfPfi.exit: ; preds = %for.body.i405, %if.then82
%exc = getelementptr inbounds i8* %state, i32 52
%161 = bitcast i8* %exc to float**
%162 = load float** %161, align 4
%163 = load i32* %142, align 4
%cmp1.i.i543 = icmp sgt i32 %163, 0
br i1 %cmp1.i.i543, label %for.body.i.i551, label %for.end.thread
for.body.i.i551: ; preds = %for.body.i.i551, %_Z6bw_lpcfPKfPfi.exit
%sum.03.i.i544 = phi float [ %add.i.i548, %for.body.i.i551 ], [ 0.000000e+00, %_Z6bw_lpcfPKfPfi.exit ]
%i.02.i.i545 = phi i32 [ %inc.i.i549, %for.body.i.i551 ], [ 0, %_Z6bw_lpcfPKfPfi.exit ]
%arrayidx.i.i546 = getelementptr inbounds float* %162, i32 %i.02.i.i545
%164 = load float* %arrayidx.i.i546, align 4
%mul.i.i547 = fmul float %164, %164
%add.i.i548 = fadd float %sum.03.i.i544, %mul.i.i547
%inc.i.i549 = add nsw i32 %i.02.i.i545, 1
%exitcond.i.i550 = icmp eq i32 %inc.i.i549, %163
br i1 %exitcond.i.i550, label %for.body.lr.ph, label %for.body.i.i551
for.body.lr.ph: ; preds = %for.body.i.i551
%conv.i.i553 = sitofp i32 %163 to float
%div.i.i554 = fdiv float %add.i.i548, %conv.i.i553
%conv2.i.i555 = fpext float %div.i.i554 to double
%add3.i.i556 = fadd double %conv2.i.i555, 1.000000e-01
%call.i.i557 = call double @sqrt(double %add3.i.i556) nounwind readnone
%conv4.i.i558 = fptrunc double %call.i.i557 to float
%seed = getelementptr inbounds i8* %state, i32 120
%165 = bitcast i8* %seed to i32*
%conv2.i = fpext float %conv4.i.i558 to double
%mul3.i565 = fmul double %conv2.i, 3.464200e+00
br label %for.body
for.body: ; preds = %for.body, %for.body.lr.ph
%166 = phi float* [ %162, %for.body.lr.ph ], [ %.pre708, %for.body ]
%i.0666 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.body ]
%167 = load i32* %165, align 4
%mul.i560 = mul nsw i32 %167, 1664525
%add.i561 = add nsw i32 %mul.i560, 1013904223
store i32 %add.i561, i32* %165, align 4
%and.i562 = and i32 %add.i561, 8388607
%or.i563 = or i32 %and.i562, 1065353216
%168 = bitcast i32 %or.i563 to float
%conv1.i564 = fadd float %168, -1.500000e+00
%conv5.i = fpext float %conv1.i564 to double
%mul6.i = fmul double %mul3.i565, %conv5.i
%conv7.i = fptrunc double %mul6.i to float
%arrayidx97 = getelementptr inbounds float* %166, i32 %i.0666
store float %conv7.i, float* %arrayidx97, align 4
%inc = add nsw i32 %i.0666, 1
%169 = load i32* %142, align 4
%cmp94 = icmp slt i32 %inc, %169
%.pre708 = load float** %161, align 4
br i1 %cmp94, label %for.body, label %for.end
for.end.thread: ; preds = %_Z6bw_lpcfPKfPfi.exit
%first724 = getelementptr inbounds i8* %state, i32 4
%170 = bitcast i8* %first724 to i32*
store i32 1, i32* %170, align 4
br label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit591
for.end: ; preds = %for.body
%first = getelementptr inbounds i8* %state, i32 4
%171 = bitcast i8* %first to i32*
store i32 1, i32* %171, align 4
%mem_sp = getelementptr inbounds i8* %state, i32 64
%172 = bitcast i8* %mem_sp to float**
%173 = load float** %172, align 4
%cmp3.i566 = icmp sgt i32 %169, 0
br i1 %cmp3.i566, label %for.body.lr.ph.i569, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit591
for.body.lr.ph.i569: ; preds = %for.end
%174 = load i32* %155, align 4
%sub3.i567 = add nsw i32 %174, -1
%cmp41.i568 = icmp sgt i32 %sub3.i567, 0
%arrayidx12.i584 = getelementptr inbounds float* %157, i32 %sub3.i567
%arrayidx15.i586 = getelementptr inbounds float* %173, i32 %sub3.i567
br label %for.body.i574
for.body.i574: ; preds = %for.end.i590, %for.body.lr.ph.i569
%i.04.i570 = phi i32 [ 0, %for.body.lr.ph.i569 ], [ %inc18.i588, %for.end.i590 ]
%arrayidx.i571 = getelementptr inbounds float* %.pre708, i32 %i.04.i570
%175 = load float* %arrayidx.i571, align 4
%176 = load float* %173, align 4
%add.i572 = fadd float %175, %176
%sub.i573 = fsub float -0.000000e+00, %add.i572
br i1 %cmp41.i568, label %for.body5.i583, label %for.end.i590
for.body5.i583: ; preds = %for.body5.i583, %for.body.i574
%j.02.i575 = phi i32 [ %add6.i576, %for.body5.i583 ], [ 0, %for.body.i574 ]
%add6.i576 = add nsw i32 %j.02.i575, 1
%arrayidx7.i577 = getelementptr inbounds float* %173, i32 %add6.i576
%177 = load float* %arrayidx7.i577, align 4
%arrayidx8.i578 = getelementptr inbounds float* %157, i32 %j.02.i575
%178 = load float* %arrayidx8.i578, align 4
%mul.i579 = fmul float %178, %sub.i573
%add9.i580 = fadd float %177, %mul.i579
%arrayidx10.i581 = getelementptr inbounds float* %173, i32 %j.02.i575
store float %add9.i580, float* %arrayidx10.i581, align 4
%exitcond.i582 = icmp eq i32 %add6.i576, %sub3.i567
br i1 %exitcond.i582, label %for.end.i590, label %for.body5.i583
for.end.i590: ; preds = %for.body5.i583, %for.body.i574
%179 = load float* %arrayidx12.i584, align 4
%mul13.i585 = fmul float %179, %sub.i573
store float %mul13.i585, float* %arrayidx15.i586, align 4
%arrayidx16.i587 = getelementptr inbounds float* %0, i32 %i.04.i570
store float %add.i572, float* %arrayidx16.i587, align 4
%inc18.i588 = add nsw i32 %i.04.i570, 1
%exitcond5.i589 = icmp eq i32 %inc18.i588, %169
br i1 %exitcond5.i589, label %_Z9iir_mem16PKfS0_PfiiS1_Pc.exit591, label %for.body.i574
_Z9iir_mem16PKfS0_PfiiS1_Pc.exit591: ; preds = %for.end.i590, %for.end, %for.end.thread
%count_lost = getelementptr inbounds i8* %state, i32 8
%180 = bitcast i8* %count_lost to i32*
store i32 0, i32* %180, align 4
br label %return
if.end101: ; preds = %if.end69
%lsp_unquant = getelementptr inbounds %struct.SpeexSubmode* %152, i32 0, i32 5
%181 = load void (float*, i32, %struct.SpeexBits*)** %lsp_unquant, align 4
call void %181(float* %157, i32 %156, %struct.SpeexBits* %bits)
%count_lost116 = getelementptr inbounds i8* %state, i32 8
%182 = bitcast i8* %count_lost116 to i32*
%183 = load i32* %182, align 4
%tobool117 = icmp eq i32 %183, 0
br i1 %tobool117, label %if.end156, label %for.cond119.preheader
for.cond119.preheader: ; preds = %if.end101
%184 = load i32* %155, align 4
%cmp121624 = icmp sgt i32 %184, 0
br i1 %cmp121624, label %for.body122.lr.ph, label %for.end139
for.body122.lr.ph: ; preds = %for.cond119.preheader
%old_qlsp = getelementptr inbounds i8* %state, i32 56
%185 = bitcast i8* %old_qlsp to float**
%186 = load float** %185, align 4
br label %for.body122
for.body122: ; preds = %cond.end, %for.body122.lr.ph
%i.1626 = phi i32 [ 0, %for.body122.lr.ph ], [ %inc138, %cond.end ]
%lsp_dist.0625 = phi float [ 0.000000e+00, %for.body122.lr.ph ], [ %add136, %cond.end ]
%arrayidx123 = getelementptr inbounds float* %186, i32 %i.1626
%187 = load float* %arrayidx123, align 4
%arrayidx124 = getelementptr inbounds float* %157, i32 %i.1626
%188 = load float* %arrayidx124, align 4
%sub125 = fsub float %187, %188
%cmp126 = fcmp olt float %sub125, 0.000000e+00
br i1 %cmp126, label %cond.true, label %cond.end
cond.true: ; preds = %for.body122
%sub131 = fsub float -0.000000e+00, %sub125
br label %cond.end
cond.end: ; preds = %cond.true, %for.body122
%cond = phi float [ %sub131, %cond.true ], [ %sub125, %for.body122 ]
%add136 = fadd float %lsp_dist.0625, %cond
%inc138 = add nsw i32 %i.1626, 1
%cmp121 = icmp slt i32 %inc138, %184
br i1 %cmp121, label %for.body122, label %for.cond119.for.end139_crit_edge
for.cond119.for.end139_crit_edge: ; preds = %cond.end
%phitmp = fpext float %add136 to double
%phitmp680 = fmul double %phitmp, -2.000000e-01
br label %for.end139
for.end139: ; preds = %for.cond119.for.end139_crit_edge, %for.cond119.preheader
%lsp_dist.0.lcssa = phi double [ %phitmp680, %for.cond119.for.end139_crit_edge ], [ -0.000000e+00, %for.cond119.preheader ]
%call141 = call double @exp(double %lsp_dist.0.lcssa)
%mul142 = fmul double %call141, 6.000000e-01
%conv143 = fptrunc double %mul142 to float
%189 = load i32* %155, align 4
%cmp146622 = icmp sgt i32 %189, 0
br i1 %cmp146622, label %for.body147.lr.ph, label %if.end156
for.body147.lr.ph: ; preds = %for.end139
%mem_sp148 = getelementptr inbounds i8* %state, i32 64
%190 = bitcast i8* %mem_sp148 to float**
br label %for.body147
for.body147: ; preds = %for.body147, %for.body147.lr.ph
%i.2623 = phi i32 [ 0, %for.body147.lr.ph ], [ %inc154, %for.body147 ]
%191 = load float** %190, align 4
%arrayidx149 = getelementptr inbounds float* %191, i32 %i.2623
%192 = load float* %arrayidx149, align 4
%mul150 = fmul float %conv143, %192
store float %mul150, float* %arrayidx149, align 4
%inc154 = add nsw i32 %i.2623, 1
%193 = load i32* %155, align 4
%cmp146 = icmp slt i32 %inc154, %193
br i1 %cmp146, label %for.body147, label %if.end156
if.end156: ; preds = %for.body147, %for.end139, %if.end101
%first157 = getelementptr inbounds i8* %state, i32 4
%194 = bitcast i8* %first157 to i32*
%195 = load i32* %194, align 4
%tobool158 = icmp eq i32 %195, 0
br i1 %tobool158, label %lor.lhs.false, label %for.cond162.preheader
lor.lhs.false: ; preds = %if.end156
%196 = load i32* %182, align 4
%tobool160 = icmp eq i32 %196, 0
br i1 %tobool160, label %if.end172, label %for.cond162.preheader
for.cond162.preheader: ; preds = %lor.lhs.false, %if.end156
%197 = load i32* %155, align 4
%cmp164627 = icmp sgt i32 %197, 0
br i1 %cmp164627, label %for.body165.lr.ph, label %if.end172
for.body165.lr.ph: ; preds = %for.cond162.preheader
%old_qlsp167 = getelementptr inbounds i8* %state, i32 56
%198 = bitcast i8* %old_qlsp167 to float**
br label %for.body165
for.body165: ; preds = %for.body165, %for.body165.lr.ph
%i.3628 = phi i32 [ 0, %for.body165.lr.ph ], [ %inc170, %for.body165 ]
%arrayidx166 = getelementptr inbounds float* %157, i32 %i.3628
%199 = load float* %arrayidx166, align 4
%200 = load float** %198, align 4
%arrayidx168 = getelementptr inbounds float* %200, i32 %i.3628
store float %199, float* %arrayidx168, align 4
%inc170 = add nsw i32 %i.3628, 1
%201 = load i32* %155, align 4
%cmp164 = icmp slt i32 %inc170, %201
br i1 %cmp164, label %for.body165, label %if.end172
if.end172: ; preds = %for.body165, %for.cond162.preheader, %lor.lhs.false
%202 = load i32* %.pre-phi720, align 4
%203 = load %struct.SpeexSubmode*** %150, align 4
%arrayidx175 = getelementptr inbounds %struct.SpeexSubmode** %203, i32 %202
%204 = load %struct.SpeexSubmode** %arrayidx175, align 4
%lbr_pitch = getelementptr inbounds %struct.SpeexSubmode* %204, i32 0, i32 0
%205 = load i32* %lbr_pitch, align 4
%cmp176 = icmp eq i32 %205, -1
br i1 %cmp176, label %if.end172.if.end180_crit_edge, label %if.then177
if.end172.if.end180_crit_edge: ; preds = %if.end172
%charPtr.i441.phi.trans.insert.phi.trans.insert = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%.pre709.pre = load i32* %charPtr.i441.phi.trans.insert.phi.trans.insert, align 4
br label %if.end180
if.then177: ; preds = %if.end172
%min_pitch = getelementptr inbounds i8* %state, i32 28
%206 = bitcast i8* %min_pitch to i32*
%207 = load i32* %206, align 4
%charPtr.i509 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 2
%208 = load i32* %charPtr.i509, align 4
%shl.i510 = shl i32 %208, 3
%bitPtr.i511 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 3
%209 = load i32* %bitPtr.i511, align 4
%add.i512674 = or i32 %shl.i510, 7
%add1.i513 = add i32 %add.i512674, %209
%nbBits2.i514 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 1
%210 = load i32* %nbBits2.i514, align 4
%cmp.i515 = icmp sgt i32 %add1.i513, %210
%overflow.i516 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 5
br i1 %cmp.i515, label %if.end.thread.i517, label %if.end.i520
if.end.thread.i517: ; preds = %if.then177
store i32 1, i32* %overflow.i516, align 4
br label %speex_bits_unpack_unsigned.exit542
if.end.i520: ; preds = %if.then177
%.pre5.i518 = load i32* %overflow.i516, align 4
%phitmp.i519 = icmp eq i32 %.pre5.i518, 0
br i1 %phitmp.i519, label %while.body.lr.ph.i523, label %speex_bits_unpack_unsigned.exit542
while.body.lr.ph.i523: ; preds = %if.end.i520
%chars.i521 = getelementptr inbounds %struct.SpeexBits* %bits, i32 0, i32 0
%.pre.i522 = load i8** %chars.i521, align 4
%arrayidx.i527 = getelementptr inbounds i8* %.pre.i522, i32 %208
%211 = load i8* %arrayidx.i527, align 1
%conv.i528 = sext i8 %211 to i32
%sub.i529 = sub nsw i32 7, %209
%shr1.i530 = lshr i32 %conv.i528, %sub.i529
%inc.i533 = add nsw i32 %209, 1
store i32 %inc.i533, i32* %bitPtr.i511, align 4
%cmp12.i534 = icmp eq i32 %inc.i533, 8
br i1 %cmp12.i534, label %if.then13.i537, label %if.end17.i540
if.then13.i537: ; preds = %while.body.lr.ph.i523
store i32 0, i32* %bitPtr.i511, align 4
%inc16.i536 = add nsw i32 %208, 1
store i32 %inc16.i536, i32* %charPtr.i509, align 4
br label %if.end17.i540
if.end17.i540: ; preds = %if.then13.i537, %while.body.lr.ph.i523
%212 = phi i32 [ 0, %if.then13.i537 ], [ %inc.i533, %while.body.lr.ph.i523 ]
%213 = phi i32 [ %inc16.i536, %if.then13.i537 ], [ %208, %while.body.lr.ph.i523 ]
%and.i531 = shl i32 %shr1.i530, 1
%shl7.i526.1 = and i32 %and.i531, 2
%arrayidx.i527.1 = getelementptr inbounds i8* %.pre.i522, i32 %213
%214 = load i8* %arrayidx.i527.1, align 1
%conv.i528.1 = sext i8 %214 to i32
%sub.i529.1 = sub nsw i32 7, %212
%shr1.i530.1 = lshr i32 %conv.i528.1, %sub.i529.1
%and.i531.1 = and i32 %shr1.i530.1, 1
%or.i532.1 = or i32 %and.i531.1, %shl7.i526.1
%inc.i533.1 = add nsw i32 %212, 1
store i32 %inc.i533.1, i32* %bitPtr.i511, align 4
%cmp12.i534.1 = icmp eq i32 %inc.i533.1, 8
br i1 %cmp12.i534.1, label %if.then13.i537.1, label %if.end17.i540.1
speex_bits_unpack_unsigned.exit542: ; preds = %if.then13.i537.6, %if.end17.i540.5, %if.end.i520, %if.end.thread.i517
%.pre70924 = phi i32 [ %208, %if.end.i520 ], [ %208, %if.end.thread.i517 ], [ %inc16.i536.6, %if.then13.i537.6 ], [ %500, %if.end17.i540.5 ]
%retval.0.i541 = phi i32 [ 0, %if.end.i520 ], [ 0, %if.end.thread.i517 ], [ %or.i532.6, %if.then13.i537.6 ], [ %or.i532.6, %if.end17.i540.5 ]
%add179 = add i32 %retval.0.i541, %207
%.pre687 = loa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment