Skip to content

Instantly share code, notes, and snippets.

@tgymnich
Created November 15, 2021 02:06
Show Gist options
  • Save tgymnich/5f8edc01555e080dcc3175b6056b72c1 to your computer and use it in GitHub Desktop.
Save tgymnich/5f8edc01555e080dcc3175b6056b72c1 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
vscode@1b1847a1ee68:/workspaces/Enzyme$ cd enzyme/build/
vscode@1b1847a1ee68:/workspaces/Enzyme/enzyme/build$ cmake .. -DLLVM_EXTERNAL_LIT=`which lit` -DCMAKE_BUILD_TYPE=Debug -DLLVM_DIR=/usr/lib/llvm-12/lib/cmake/
LLVM_SHLIBEXT=.so
found llvm dir /usr/lib/llvm-12/lib/cmake
found llvm lit /usr/local/bin/lit
CMAKE_PREFIX_PATH /usr/lib/llvm-12/lib/cmake
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
LLVM_INSTALL_PREFIX: /usr/lib/llvm-12
LLVM_INCLUDE_DIRS: /usr/lib/llvm-12/include
found llvm definitions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
found llvm version 12
first llvm include directory/usr/lib/llvm-12/include
found bench flags: -I/workspaces/Enzyme/enzyme/build/benchmarks/adept2/src/adept2/include -I/workspaces/Enzyme/enzyme/build/benchmarks/tapenade/src/tapenade
-- Configuring done
-- Generating done
-- Build files have been written to: /workspaces/Enzyme/enzyme/build
vscode@1b1847a1ee68:/workspaces/Enzyme/enzyme/build$ make -j 8 check-enzyme-integration-reverse
[ 0%] Built target intrinsics_gen
Scanning dependencies of target ClangEnzyme-12
Scanning dependencies of target LLVMEnzyme-12
[ 8%] Built target BCPass-12
[ 10%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/ActivityAnalysis.cpp.o
[ 13%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/CApi.cpp.o
[ 18%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/CacheUtility.cpp.o
[ 18%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/ActivityAnalysisPrinter.cpp.o
[ 21%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/EnzymeLogic.cpp.o
[ 24%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/Enzyme.cpp.o
[ 27%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/FunctionUtils.cpp.o
[ 29%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/ActivityAnalysis.cpp.o
In file included from /usr/lib/llvm-12/include/llvm/Transforms/IPO/Attributor.h:106,
from /workspaces/Enzyme/enzyme/Enzyme/CApi.cpp:39:
/usr/lib/llvm-12/include/llvm/Analysis/CFG.h:140:1: warning: multi-line comment [-Wcomment]
140 | /// / \
| ^
[ 32%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/GradientUtils.cpp.o
[ 35%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/MustExitScalarEvolution.cpp.o
[ 37%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/Utils.cpp.o
In file included from /workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:30:
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCallInst(llvm::CallInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitCall(llvm::CallInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6488:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6488 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6488:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6547:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6547 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6547:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6589:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6589 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6589:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6653:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6653 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6653:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6706:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6706 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6706:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6756:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6756 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6756:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6928:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6928 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6928:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6988:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6988 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6988:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7047:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7047 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7047:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7107:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7107 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7107:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7163:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7163 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7163:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7243:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7243 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7243:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7356:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7356 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7356:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7431:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7431 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7431:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7514:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7514 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7514:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitSelectInst(llvm::SelectInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:210:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitSelect(llvm::SelectInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:210:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1013:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1013 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1013:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitInstruction(llvm::Instruction&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:211:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitUserOp1(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:211:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:360:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
360 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:360:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitExtractElementInst(llvm::ExtractElementInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:214:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitExtractElement(llvm::ExtractElementInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:214:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1171:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1171 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1171:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitInsertElementInst(llvm::InsertElementInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:215:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitInsertElement(llvm::InsertElementInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:215:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1223:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1223 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1223:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitShuffleVectorInst(llvm::ShuffleVectorInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:216:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitShuffleVector(llvm::ShuffleVectorInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:216:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1300:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1300 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1300:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitExtractValueInst(llvm::ExtractValueInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:217:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitExtractValue(llvm::ExtractValueInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:217:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1383:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1383 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1383:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitFreezeInst(llvm::FreezeInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:220:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitFreeze(llvm::FreezeInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:220:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:309:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
309 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:309:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCallInst(llvm::CallInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitCall(llvm::CallInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6488:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6488 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6488:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6547:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6547 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6547:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6589:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6589 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6589:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6653:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6653 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6653:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6706:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6706 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6706:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6756:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6756 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6756:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6928:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6928 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6928:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6988:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6988 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6988:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7047:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7047 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7047:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7107:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7107 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7107:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7163:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7163 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7163:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7243:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7243 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7243:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7356:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7356 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7356:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7431:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7431 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7431:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7514:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7514 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7514:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitSelectInst(llvm::SelectInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:210:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitSelect(llvm::SelectInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:210:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1013:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1013 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1013:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitInstruction(llvm::Instruction&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:211:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitUserOp1(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:211:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:360:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
360 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:360:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitExtractElementInst(llvm::ExtractElementInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:214:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitExtractElement(llvm::ExtractElementInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:214:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1171:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1171 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1171:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitInsertElementInst(llvm::InsertElementInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:215:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitInsertElement(llvm::InsertElementInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:215:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1223:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1223 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1223:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitShuffleVectorInst(llvm::ShuffleVectorInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:216:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitShuffleVector(llvm::ShuffleVectorInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:216:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1300:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1300 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1300:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitExtractValueInst(llvm::ExtractValueInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:217:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitExtractValue(llvm::ExtractValueInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:217:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1383:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1383 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1383:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitFreezeInst(llvm::FreezeInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:220:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitFreeze(llvm::FreezeInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:220:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:309:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
309 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:309:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitLoadLike(llvm::Instruction&, llvm::MaybeAlign, bool, llvm::Value*, llvm::Value*, llvm::Value*) [with AugmentedReturnType = AugmentedReturn*]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:683:5: required from 'void AdjointGenerator<AugmentedReturnType>::visitLoadInst(llvm::LoadInst&) [with AugmentedReturnType = AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:172:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitLoad(llvm::LoadInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:172:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:451:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
451 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:451:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:592:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
592 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:592:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCommonStore(llvm::Instruction&, llvm::Value*, llvm::Value*, llvm::MaybeAlign, bool, llvm::AtomicOrdering, llvm::SyncScope::ID, llvm::Value*) [with AugmentedReturnType = AugmentedReturn*; llvm::SyncScope::ID = unsigned char]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:721:5: required from 'void AdjointGenerator<AugmentedReturnType>::visitStoreInst(llvm::StoreInst&) [with AugmentedReturnType = AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:173:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitStore(llvm::StoreInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:173:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:788:7: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
788 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:788:7: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCastInst(llvm::CastInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:177:53: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitTruncInst(llvm::TruncInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:184:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitTrunc(llvm::TruncInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:184:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:934:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
934 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:934:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::handleAdjointForIntrinsic(llvm::Intrinsic::ID, llvm::Instruction&, llvm::SmallVectorImpl<llvm::Value*>&) [with AugmentedReturnType = AugmentedReturn*; llvm::Intrinsic::ID = unsigned int]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7339:13: required from 'void AdjointGenerator<AugmentedReturnType>::visitCallInst(llvm::CallInst&) [with AugmentedReturnType = AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitCall(llvm::CallInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:2618:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
2618 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:2618:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitLoadLike(llvm::Instruction&, llvm::MaybeAlign, bool, llvm::Value*, llvm::Value*, llvm::Value*) [with AugmentedReturnType = const AugmentedReturn*]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:683:5: required from 'void AdjointGenerator<AugmentedReturnType>::visitLoadInst(llvm::LoadInst&) [with AugmentedReturnType = const AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:172:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitLoad(llvm::LoadInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:172:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:451:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
451 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:451:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:592:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
592 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:592:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCommonStore(llvm::Instruction&, llvm::Value*, llvm::Value*, llvm::MaybeAlign, bool, llvm::AtomicOrdering, llvm::SyncScope::ID, llvm::Value*) [with AugmentedReturnType = const AugmentedReturn*; llvm::SyncScope::ID = unsigned char]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:721:5: required from 'void AdjointGenerator<AugmentedReturnType>::visitStoreInst(llvm::StoreInst&) [with AugmentedReturnType = const AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:173:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitStore(llvm::StoreInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:173:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:788:7: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
788 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:788:7: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCastInst(llvm::CastInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:177:53: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitTruncInst(llvm::TruncInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:184:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitTrunc(llvm::TruncInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:184:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:934:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
934 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:934:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::handleAdjointForIntrinsic(llvm::Intrinsic::ID, llvm::Instruction&, llvm::SmallVectorImpl<llvm::Value*>&) [with AugmentedReturnType = const AugmentedReturn*; llvm::Intrinsic::ID = unsigned int]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7339:13: required from 'void AdjointGenerator<AugmentedReturnType>::visitCallInst(llvm::CallInst&) [with AugmentedReturnType = const AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitCall(llvm::CallInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:2618:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
2618 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:2618:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
[ 40%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/ActivityAnalysisPrinter.cpp.o
[ 43%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/SCEV/ScalarEvolutionExpander.cpp.o
[ 45%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/TypeAnalysis/TypeAnalysis.cpp.o
[ 48%] Building CXX object Enzyme/CMakeFiles/ClangEnzyme-12.dir/TypeAnalysis/TypeAnalysisPrinter.cpp.o
[ 51%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/CApi.cpp.o
In file included from /usr/lib/llvm-12/include/llvm/Transforms/IPO/Attributor.h:106,
from /workspaces/Enzyme/enzyme/Enzyme/CApi.cpp:39:
/usr/lib/llvm-12/include/llvm/Analysis/CFG.h:140:1: warning: multi-line comment [-Wcomment]
140 | /// / \
| ^
[ 54%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/CacheUtility.cpp.o
[ 56%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/Enzyme.cpp.o
/workspaces/Enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp: In member function 'void TypeAnalyzer::visitSelectInst(llvm::SelectInst&)':
/workspaces/Enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp:1682:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
1682 | if (cmpI->getOperand(0) == I.getTrueValue() &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
1683 | cmpI->getOperand(1) == I.getFalseValue() ||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/workspaces/Enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp: In member function 'void TypeAnalyzer::visitCallInst(llvm::CallInst&)':
/workspaces/Enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp:3280:18: warning: unused variable 'arg' [-Wunused-variable]
3280 | for (auto &arg : call.arg_operands())
| ^~~
[ 59%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/EnzymeLogic.cpp.o
[ 62%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/FunctionUtils.cpp.o
[ 64%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/GradientUtils.cpp.o
[ 67%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/MustExitScalarEvolution.cpp.o
[ 70%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/Utils.cpp.o
[ 72%] Linking CXX shared module ClangEnzyme-12.so
[ 75%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/SCEV/ScalarEvolutionExpander.cpp.o
[ 78%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/TypeAnalysis/TypeAnalysis.cpp.o
In file included from /workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:30:
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCallInst(llvm::CallInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitCall(llvm::CallInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6488:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6488 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6488:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6547:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6547 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6547:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6589:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6589 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6589:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6653:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6653 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6653:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6706:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6706 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6706:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6756:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6756 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6756:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6928:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6928 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6928:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6988:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6988 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6988:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7047:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7047 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7047:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7107:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7107 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7107:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7163:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7163 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7163:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7243:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7243 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7243:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7356:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7356 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7356:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7431:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7431 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7431:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7514:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7514 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7514:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitSelectInst(llvm::SelectInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:210:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitSelect(llvm::SelectInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:210:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1013:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1013 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1013:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitInstruction(llvm::Instruction&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:211:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitUserOp1(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:211:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:360:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
360 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:360:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitExtractElementInst(llvm::ExtractElementInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:214:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitExtractElement(llvm::ExtractElementInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:214:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1171:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1171 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1171:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitInsertElementInst(llvm::InsertElementInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:215:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitInsertElement(llvm::InsertElementInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:215:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1223:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1223 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1223:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitShuffleVectorInst(llvm::ShuffleVectorInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:216:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitShuffleVector(llvm::ShuffleVectorInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:216:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1300:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1300 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1300:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitExtractValueInst(llvm::ExtractValueInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:217:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitExtractValue(llvm::ExtractValueInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:217:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1383:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1383 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1383:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitFreezeInst(llvm::FreezeInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:220:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitFreeze(llvm::FreezeInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:220:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:309:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
309 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:309:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCallInst(llvm::CallInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitCall(llvm::CallInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6488:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6488 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6488:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6547:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6547 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6547:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6589:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6589 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6589:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6653:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6653 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6653:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6706:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6706 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6706:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6756:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6756 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6756:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6928:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6928 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6928:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6988:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
6988 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:6988:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7047:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7047 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7047:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7107:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7107 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7107:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7163:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7163 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7163:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7243:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7243 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7243:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7356:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7356 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7356:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7431:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7431 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7431:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7514:11: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
7514 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7514:11: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitSelectInst(llvm::SelectInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:210:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitSelect(llvm::SelectInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:210:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1013:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1013 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1013:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitInstruction(llvm::Instruction&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:211:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitUserOp1(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:211:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:360:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
360 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:360:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitExtractElementInst(llvm::ExtractElementInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:214:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitExtractElement(llvm::ExtractElementInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:214:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1171:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1171 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1171:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitInsertElementInst(llvm::InsertElementInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:215:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitInsertElement(llvm::InsertElementInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:215:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1223:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1223 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1223:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitShuffleVectorInst(llvm::ShuffleVectorInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:216:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitShuffleVector(llvm::ShuffleVectorInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:216:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1300:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1300 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1300:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitExtractValueInst(llvm::ExtractValueInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:217:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitExtractValue(llvm::ExtractValueInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:217:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1383:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
1383 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:1383:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitFreezeInst(llvm::FreezeInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:220:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitFreeze(llvm::FreezeInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:220:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:309:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
309 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:309:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
[ 81%] Building CXX object Enzyme/CMakeFiles/LLVMEnzyme-12.dir/TypeAnalysis/TypeAnalysisPrinter.cpp.o
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitLoadLike(llvm::Instruction&, llvm::MaybeAlign, bool, llvm::Value*, llvm::Value*, llvm::Value*) [with AugmentedReturnType = AugmentedReturn*]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:683:5: required from 'void AdjointGenerator<AugmentedReturnType>::visitLoadInst(llvm::LoadInst&) [with AugmentedReturnType = AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:172:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitLoad(llvm::LoadInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:172:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:451:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
451 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:451:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:592:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
592 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:592:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCommonStore(llvm::Instruction&, llvm::Value*, llvm::Value*, llvm::MaybeAlign, bool, llvm::AtomicOrdering, llvm::SyncScope::ID, llvm::Value*) [with AugmentedReturnType = AugmentedReturn*; llvm::SyncScope::ID = unsigned char]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:721:5: required from 'void AdjointGenerator<AugmentedReturnType>::visitStoreInst(llvm::StoreInst&) [with AugmentedReturnType = AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:173:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitStore(llvm::StoreInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:173:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:788:7: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
788 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:788:7: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCastInst(llvm::CastInst&) [with AugmentedReturnType = AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:177:53: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitTruncInst(llvm::TruncInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:184:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitTrunc(llvm::TruncInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:184:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:934:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
934 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:934:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::handleAdjointForIntrinsic(llvm::Intrinsic::ID, llvm::Instruction&, llvm::SmallVectorImpl<llvm::Value*>&) [with AugmentedReturnType = AugmentedReturn*; llvm::Intrinsic::ID = unsigned int]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7339:13: required from 'void AdjointGenerator<AugmentedReturnType>::visitCallInst(llvm::CallInst&) [with AugmentedReturnType = AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitCall(llvm::CallInst&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:1901:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:2618:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
2618 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:2618:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitLoadLike(llvm::Instruction&, llvm::MaybeAlign, bool, llvm::Value*, llvm::Value*, llvm::Value*) [with AugmentedReturnType = const AugmentedReturn*]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:683:5: required from 'void AdjointGenerator<AugmentedReturnType>::visitLoadInst(llvm::LoadInst&) [with AugmentedReturnType = const AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:172:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitLoad(llvm::LoadInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:172:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:451:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
451 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:451:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:592:9: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
592 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:592:9: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCommonStore(llvm::Instruction&, llvm::Value*, llvm::Value*, llvm::MaybeAlign, bool, llvm::AtomicOrdering, llvm::SyncScope::ID, llvm::Value*) [with AugmentedReturnType = const AugmentedReturn*; llvm::SyncScope::ID = unsigned char]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:721:5: required from 'void AdjointGenerator<AugmentedReturnType>::visitStoreInst(llvm::StoreInst&) [with AugmentedReturnType = const AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:173:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitStore(llvm::StoreInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:173:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:788:7: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
788 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:788:7: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::visitCastInst(llvm::CastInst&) [with AugmentedReturnType = const AugmentedReturn*]':
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:177:53: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitTruncInst(llvm::TruncInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:184:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitTrunc(llvm::TruncInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:184:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:934:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
934 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:934:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h: In instantiation of 'void AdjointGenerator<AugmentedReturnType>::handleAdjointForIntrinsic(llvm::Intrinsic::ID, llvm::Instruction&, llvm::SmallVectorImpl<llvm::Value*>&) [with AugmentedReturnType = const AugmentedReturn*; llvm::Intrinsic::ID = unsigned int]':
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:7339:13: required from 'void AdjointGenerator<AugmentedReturnType>::visitCallInst(llvm::CallInst&) [with AugmentedReturnType = const AugmentedReturn*]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visitCall(llvm::CallInst&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/Instruction.def:209:1: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction&) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/usr/lib/llvm-12/include/llvm/IR/InstVisitor.h:112:49: required from 'RetTy llvm::InstVisitor<SubClass, RetTy>::visit(llvm::Instruction*) [with SubClass = AdjointGenerator<const AugmentedReturn*>; RetTy = void]'
/workspaces/Enzyme/enzyme/Enzyme/EnzymeLogic.cpp:3412:22: required from here
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:2618:5: warning: enumeration value 'ForwardModeVector' not handled in switch [-Wswitch]
2618 | switch (Mode) {
| ^~~~~~
/workspaces/Enzyme/enzyme/Enzyme/AdjointGenerator.h:2618:5: warning: enumeration value 'ForwardModeSplit' not handled in switch [-Wswitch]
[ 89%] Built target ClangEnzyme-12
/workspaces/Enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp: In member function 'void TypeAnalyzer::visitSelectInst(llvm::SelectInst&)':
/workspaces/Enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp:1682:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
1682 | if (cmpI->getOperand(0) == I.getTrueValue() &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
1683 | cmpI->getOperand(1) == I.getFalseValue() ||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/workspaces/Enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp: In member function 'void TypeAnalyzer::visitCallInst(llvm::CallInst&)':
/workspaces/Enzyme/enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp:3280:18: warning: unused variable 'arg' [-Wunused-variable]
3280 | for (auto &arg : call.arg_operands())
| ^~~
[ 91%] Linking CXX shared module LLVMEnzyme-12.so
[ 97%] Built target LLVMEnzyme-12
[100%] Running enzyme reverse mode integration tests
FAIL: Enzyme :: Integration/ReverseMode/integrateexp.cpp (4 of 68)
******************** TEST 'Enzyme :: Integration/ReverseMode/integrateexp.cpp' FAILED ********************
Script:
--
: 'RUN: at line 4'; /usr/lib/llvm-12/bin/clang++ -fno-use-cxa-atexit -ffast-math -mllvm -force-vector-width=1 -ffast-math -fno-unroll-loops -fno-vectorize -fno-slp-vectorize -fno-exceptions -O3 /workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp -S -emit-llvm -o - | /usr/lib/llvm-12/bin/opt - -load=/workspaces/Enzyme/enzyme/build/Enzyme/LLVMEnzyme-12.so -enzyme -S | /usr/lib/llvm-12/bin/lli -
: 'RUN: at line 5'; /usr/lib/llvm-12/bin/clang++ -fno-use-cxa-atexit -ffast-math -fno-unroll-loops -fno-vectorize -fno-slp-vectorize -fno-exceptions -O2 /workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp -S -emit-llvm -o - | /usr/lib/llvm-12/bin/opt - -load=/workspaces/Enzyme/enzyme/build/Enzyme/LLVMEnzyme-12.so -enzyme -S | /usr/lib/llvm-12/bin/lli -
: 'RUN: at line 6'; /usr/lib/llvm-12/bin/clang++ -Xclang -new-struct-path-tbaa -fno-use-cxa-atexit -ffast-math -fno-unroll-loops -fno-vectorize -fno-slp-vectorize -fno-exceptions -O1 /workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp -S -emit-llvm -o - | /usr/lib/llvm-12/bin/opt - -load=/workspaces/Enzyme/enzyme/build/Enzyme/LLVMEnzyme-12.so -enzyme -S | /usr/lib/llvm-12/bin/lli -
: 'RUN: at line 8'; /usr/lib/llvm-12/bin/clang++ -Xclang -new-struct-path-tbaa -fno-use-cxa-atexit -ffast-math -fno-unroll-loops -fno-vectorize -fno-slp-vectorize -fno-exceptions -O1 -Xclang -disable-llvm-optzns /workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp -S -emit-llvm -o - | /usr/lib/llvm-12/bin/opt - -load=/workspaces/Enzyme/enzyme/build/Enzyme/LLVMEnzyme-12.so -enzyme -S | /usr/lib/llvm-12/bin/lli -
: 'RUN: at line 9'; /usr/lib/llvm-12/bin/clang++ -fno-use-cxa-atexit -ffast-math -fno-unroll-loops -fno-vectorize -fno-slp-vectorize -fno-exceptions -O3 /workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp -S -emit-llvm -o - | /usr/lib/llvm-12/bin/opt - -load=/workspaces/Enzyme/enzyme/build/Enzyme/LLVMEnzyme-12.so -enzyme -enzyme-inline=1 -S | /usr/lib/llvm-12/bin/lli -
: 'RUN: at line 10'; /usr/lib/llvm-12/bin/clang++ -fno-use-cxa-atexit -ffast-math -fno-unroll-loops -fno-vectorize -fno-slp-vectorize -fno-exceptions -O2 /workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp -S -emit-llvm -o - | /usr/lib/llvm-12/bin/opt - -load=/workspaces/Enzyme/enzyme/build/Enzyme/LLVMEnzyme-12.so -enzyme -enzyme-inline=1 -S | /usr/lib/llvm-12/bin/lli -
: 'RUN: at line 12'; /usr/lib/llvm-12/bin/clang++ -fno-use-cxa-atexit -ffast-math -fno-unroll-loops -fno-vectorize -fno-slp-vectorize -fno-exceptions -O1 /workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp -S -emit-llvm -o - | /usr/lib/llvm-12/bin/opt - -load=/workspaces/Enzyme/enzyme/build/Enzyme/LLVMEnzyme-12.so -enzyme -enzyme-inline=1 -S | /usr/lib/llvm-12/bin/lli -
--
Exit Code: 255
Command Output (stdout):
--
t=0.100000 d/dt(exp(-1.2*t))=-1.064305, -1.2*exp(-1.2*t)=-1.064305
t=0.200000 d/dt(exp(-1.2*t))=-0.943953, -1.2*exp(-1.2*t)=-0.943953
t=0.300000 d/dt(exp(-1.2*t))=-0.837212, -1.2*exp(-1.2*t)=-0.837212
t=0.400000 d/dt(exp(-1.2*t))=-0.742540, -1.2*exp(-1.2*t)=-0.742540
t=0.500000 d/dt(exp(-1.2*t))=-0.658574, -1.2*exp(-1.2*t)=-0.658574
t=0.600000 d/dt(exp(-1.2*t))=-0.584103, -1.2*exp(-1.2*t)=-0.584103
t=0.700000 d/dt(exp(-1.2*t))=-0.518053, -1.2*exp(-1.2*t)=-0.518053
t=0.800000 d/dt(exp(-1.2*t))=-0.459471, -1.2*exp(-1.2*t)=-0.459471
t=0.900000 d/dt(exp(-1.2*t))=-0.407515, -1.2*exp(-1.2*t)=-0.407515
t=1.000000 d/dt(exp(-1.2*t))=-0.361433, -1.2*exp(-1.2*t)=-0.361433
t=1.100000 d/dt(exp(-1.2*t))=-0.320562, -1.2*exp(-1.2*t)=-0.320562
t=1.200000 d/dt(exp(-1.2*t))=-0.284313, -1.2*exp(-1.2*t)=-0.284313
t=1.300000 d/dt(exp(-1.2*t))=-0.252163, -1.2*exp(-1.2*t)=-0.252163
t=1.400000 d/dt(exp(-1.2*t))=-0.223649, -1.2*exp(-1.2*t)=-0.223649
t=1.500000 d/dt(exp(-1.2*t))=-0.198359, -1.2*exp(-1.2*t)=-0.198359
t=1.600000 d/dt(exp(-1.2*t))=-0.175928, -1.2*exp(-1.2*t)=-0.175928
t=1.700000 d/dt(exp(-1.2*t))=-0.156034, -1.2*exp(-1.2*t)=-0.156034
t=1.800000 d/dt(exp(-1.2*t))=-0.138390, -1.2*exp(-1.2*t)=-0.138390
t=1.900000 d/dt(exp(-1.2*t))=-0.122741, -1.2*exp(-1.2*t)=-0.122741
t=2.000000 d/dt(exp(-1.2*t))=-0.108862, -1.2*exp(-1.2*t)=-0.108862
t=2.100000 d/dt(exp(-1.2*t))=-0.096552, -1.2*exp(-1.2*t)=-0.096552
t=2.200000 d/dt(exp(-1.2*t))=-0.085634, -1.2*exp(-1.2*t)=-0.085634
t=2.300000 d/dt(exp(-1.2*t))=-0.075950, -1.2*exp(-1.2*t)=-0.075950
t=2.400000 d/dt(exp(-1.2*t))=-0.067362, -1.2*exp(-1.2*t)=-0.067362
t=2.500000 d/dt(exp(-1.2*t))=-0.059744, -1.2*exp(-1.2*t)=-0.059744
t=2.600000 d/dt(exp(-1.2*t))=-0.052989, -1.2*exp(-1.2*t)=-0.052989
t=2.700000 d/dt(exp(-1.2*t))=-0.048059, -1.2*exp(-1.2*t)=-0.046997
t=2.800000 d/dt(exp(-1.2*t))=-0.041682, -1.2*exp(-1.2*t)=-0.041682
t=2.900000 d/dt(exp(-1.2*t))=-0.036969, -1.2*exp(-1.2*t)=-0.036969
t=3.000000 d/dt(exp(-1.2*t))=-0.032788, -1.2*exp(-1.2*t)=-0.032788
t=3.100000 d/dt(exp(-1.2*t))=-0.029881, -1.2*exp(-1.2*t)=-0.029081
t=3.200000 d/dt(exp(-1.2*t))=-0.025792, -1.2*exp(-1.2*t)=-0.025792
t=3.300000 d/dt(exp(-1.2*t))=-0.022876, -1.2*exp(-1.2*t)=-0.022876
t=3.400000 d/dt(exp(-1.2*t))=-0.020289, -1.2*exp(-1.2*t)=-0.020289
t=3.500000 d/dt(exp(-1.2*t))=-0.018579, -1.2*exp(-1.2*t)=-0.017995
t=3.600000 d/dt(exp(-1.2*t))=-0.016498, -1.2*exp(-1.2*t)=-0.015960
t=3.700000 d/dt(exp(-1.2*t))=-0.014650, -1.2*exp(-1.2*t)=-0.014155
t=3.800000 d/dt(exp(-1.2*t))=-0.012554, -1.2*exp(-1.2*t)=-0.012554
t=3.900000 d/dt(exp(-1.2*t))=-0.011552, -1.2*exp(-1.2*t)=-0.011135
t=4.000000 d/dt(exp(-1.2*t))=-0.009876, -1.2*exp(-1.2*t)=-0.009876
t=4.100000 d/dt(exp(-1.2*t))=-0.009109, -1.2*exp(-1.2*t)=-0.008759
t=4.200000 d/dt(exp(-1.2*t))=-0.007768, -1.2*exp(-1.2*t)=-0.007768
t=4.300000 d/dt(exp(-1.2*t))=-0.006890, -1.2*exp(-1.2*t)=-0.006890
t=4.400000 d/dt(exp(-1.2*t))=-0.006111, -1.2*exp(-1.2*t)=-0.006111
t=4.500000 d/dt(exp(-1.2*t))=-0.005420, -1.2*exp(-1.2*t)=-0.005420
t=4.600000 d/dt(exp(-1.2*t))=-0.004807, -1.2*exp(-1.2*t)=-0.004807
t=4.700000 d/dt(exp(-1.2*t))=-0.004263, -1.2*exp(-1.2*t)=-0.004263
t=4.800000 d/dt(exp(-1.2*t))=-0.003781, -1.2*exp(-1.2*t)=-0.003781
t=4.900000 d/dt(exp(-1.2*t))=-0.003354, -1.2*exp(-1.2*t)=-0.003354
t=5.000000 d/dt(exp(-1.2*t))=-0.002975, -1.2*exp(-1.2*t)=-0.002975
t=5.100000 d/dt(exp(-1.2*t))=-0.002638, -1.2*exp(-1.2*t)=-0.002638
t=5.200000 d/dt(exp(-1.2*t))=-0.002340, -1.2*exp(-1.2*t)=-0.002340
t=5.300000 d/dt(exp(-1.2*t))=-0.002075, -1.2*exp(-1.2*t)=-0.002075
t=5.400000 d/dt(exp(-1.2*t))=-0.001944, -1.2*exp(-1.2*t)=-0.001841
t=5.500000 d/dt(exp(-1.2*t))=-0.001632, -1.2*exp(-1.2*t)=-0.001632
t=5.600000 d/dt(exp(-1.2*t))=-0.001448, -1.2*exp(-1.2*t)=-0.001448
t=5.700000 d/dt(exp(-1.2*t))=-0.001284, -1.2*exp(-1.2*t)=-0.001284
t=5.800000 d/dt(exp(-1.2*t))=-0.001139, -1.2*exp(-1.2*t)=-0.001139
t=5.900000 d/dt(exp(-1.2*t))=-0.001010, -1.2*exp(-1.2*t)=-0.001010
t=6.000000 d/dt(exp(-1.2*t))=-0.000896, -1.2*exp(-1.2*t)=-0.000896
t=6.100000 d/dt(exp(-1.2*t))=-0.000795, -1.2*exp(-1.2*t)=-0.000795
t=6.200000 d/dt(exp(-1.2*t))=-0.000752, -1.2*exp(-1.2*t)=-0.000705
t=6.300000 d/dt(exp(-1.2*t))=-0.000625, -1.2*exp(-1.2*t)=-0.000625
t=6.400000 d/dt(exp(-1.2*t))=-0.000554, -1.2*exp(-1.2*t)=-0.000554
t=6.500000 d/dt(exp(-1.2*t))=-0.000526, -1.2*exp(-1.2*t)=-0.000492
t=6.600000 d/dt(exp(-1.2*t))=-0.000436, -1.2*exp(-1.2*t)=-0.000436
t=6.700000 d/dt(exp(-1.2*t))=-0.000387, -1.2*exp(-1.2*t)=-0.000387
t=6.800000 d/dt(exp(-1.2*t))=-0.000343, -1.2*exp(-1.2*t)=-0.000343
t=6.900000 d/dt(exp(-1.2*t))=-0.000304, -1.2*exp(-1.2*t)=-0.000304
t=7.000000 d/dt(exp(-1.2*t))=-0.000291, -1.2*exp(-1.2*t)=-0.000270
t=7.100000 d/dt(exp(-1.2*t))=-0.000239, -1.2*exp(-1.2*t)=-0.000239
t=7.200000 d/dt(exp(-1.2*t))=-0.000229, -1.2*exp(-1.2*t)=-0.000212
t=7.300000 d/dt(exp(-1.2*t))=-0.000203, -1.2*exp(-1.2*t)=-0.000188
t=7.400000 d/dt(exp(-1.2*t))=-0.000181, -1.2*exp(-1.2*t)=-0.000167
t=7.500000 d/dt(exp(-1.2*t))=-0.000148, -1.2*exp(-1.2*t)=-0.000148
t=7.600000 d/dt(exp(-1.2*t))=-0.000131, -1.2*exp(-1.2*t)=-0.000131
t=7.700000 d/dt(exp(-1.2*t))=-0.000116, -1.2*exp(-1.2*t)=-0.000116
t=7.800000 d/dt(exp(-1.2*t))=-0.000112, -1.2*exp(-1.2*t)=-0.000103
t=7.900000 d/dt(exp(-1.2*t))=-0.000092, -1.2*exp(-1.2*t)=-0.000092
t=8.000000 d/dt(exp(-1.2*t))=-0.000081, -1.2*exp(-1.2*t)=-0.000081
t=8.100000 d/dt(exp(-1.2*t))=-0.000072, -1.2*exp(-1.2*t)=-0.000072
t=8.200000 d/dt(exp(-1.2*t))=-0.000070, -1.2*exp(-1.2*t)=-0.000064
t=8.300000 d/dt(exp(-1.2*t))=-0.000057, -1.2*exp(-1.2*t)=-0.000057
t=8.400000 d/dt(exp(-1.2*t))=-0.000050, -1.2*exp(-1.2*t)=-0.000050
t=8.500000 d/dt(exp(-1.2*t))=-0.000049, -1.2*exp(-1.2*t)=-0.000045
t=8.600000 d/dt(exp(-1.2*t))=-0.000040, -1.2*exp(-1.2*t)=-0.000040
t=8.700000 d/dt(exp(-1.2*t))=-0.000035, -1.2*exp(-1.2*t)=-0.000035
t=8.800000 d/dt(exp(-1.2*t))=-0.000031, -1.2*exp(-1.2*t)=-0.000031
t=8.900000 d/dt(exp(-1.2*t))=-0.000030, -1.2*exp(-1.2*t)=-0.000028
t=9.000000 d/dt(exp(-1.2*t))=-0.000024, -1.2*exp(-1.2*t)=-0.000024
t=9.100000 d/dt(exp(-1.2*t))=-0.000022, -1.2*exp(-1.2*t)=-0.000022
t=9.200000 d/dt(exp(-1.2*t))=-0.000019, -1.2*exp(-1.2*t)=-0.000019
t=9.300000 d/dt(exp(-1.2*t))=-0.000017, -1.2*exp(-1.2*t)=-0.000017
t=9.400000 d/dt(exp(-1.2*t))=-0.000015, -1.2*exp(-1.2*t)=-0.000015
t=9.500000 d/dt(exp(-1.2*t))=-0.000013, -1.2*exp(-1.2*t)=-0.000013
t=9.600000 d/dt(exp(-1.2*t))=-0.000012, -1.2*exp(-1.2*t)=-0.000012
t=9.700000 d/dt(exp(-1.2*t))=-0.000011, -1.2*exp(-1.2*t)=-0.000011
t=9.800000 d/dt(exp(-1.2*t))=-0.000009, -1.2*exp(-1.2*t)=-0.000009
t=9.900000 d/dt(exp(-1.2*t))=-0.000008, -1.2*exp(-1.2*t)=-0.000008
t=10.000000 d/dt(exp(-1.2*t))=-0.000007, -1.2*exp(-1.2*t)=-0.000007
t=0.100000 d/dt(exp(-1.2*t))=-1.064305, -1.2*exp(-1.2*t)=-1.064305
t=0.200000 d/dt(exp(-1.2*t))=-0.943953, -1.2*exp(-1.2*t)=-0.943953
t=0.300000 d/dt(exp(-1.2*t))=-0.837212, -1.2*exp(-1.2*t)=-0.837212
t=0.400000 d/dt(exp(-1.2*t))=-0.742540, -1.2*exp(-1.2*t)=-0.742540
t=0.500000 d/dt(exp(-1.2*t))=-0.658574, -1.2*exp(-1.2*t)=-0.658574
t=0.600000 d/dt(exp(-1.2*t))=-0.584103, -1.2*exp(-1.2*t)=-0.584103
t=0.700000 d/dt(exp(-1.2*t))=-0.518053, -1.2*exp(-1.2*t)=-0.518053
t=0.800000 d/dt(exp(-1.2*t))=-0.459471, -1.2*exp(-1.2*t)=-0.459471
t=0.900000 d/dt(exp(-1.2*t))=-0.407515, -1.2*exp(-1.2*t)=-0.407515
t=1.000000 d/dt(exp(-1.2*t))=-0.361433, -1.2*exp(-1.2*t)=-0.361433
t=1.100000 d/dt(exp(-1.2*t))=-0.320562, -1.2*exp(-1.2*t)=-0.320562
t=1.200000 d/dt(exp(-1.2*t))=-0.284313, -1.2*exp(-1.2*t)=-0.284313
t=1.300000 d/dt(exp(-1.2*t))=-0.252163, -1.2*exp(-1.2*t)=-0.252163
t=1.400000 d/dt(exp(-1.2*t))=-0.223649, -1.2*exp(-1.2*t)=-0.223649
t=1.500000 d/dt(exp(-1.2*t))=-0.198359, -1.2*exp(-1.2*t)=-0.198359
t=1.600000 d/dt(exp(-1.2*t))=-0.175928, -1.2*exp(-1.2*t)=-0.175928
t=1.700000 d/dt(exp(-1.2*t))=-0.156034, -1.2*exp(-1.2*t)=-0.156034
t=1.800000 d/dt(exp(-1.2*t))=-0.138390, -1.2*exp(-1.2*t)=-0.138390
t=1.900000 d/dt(exp(-1.2*t))=-0.122741, -1.2*exp(-1.2*t)=-0.122741
t=2.000000 d/dt(exp(-1.2*t))=-0.108862, -1.2*exp(-1.2*t)=-0.108862
t=2.100000 d/dt(exp(-1.2*t))=-0.096552, -1.2*exp(-1.2*t)=-0.096552
t=2.200000 d/dt(exp(-1.2*t))=-0.085634, -1.2*exp(-1.2*t)=-0.085634
t=2.300000 d/dt(exp(-1.2*t))=-0.075950, -1.2*exp(-1.2*t)=-0.075950
t=2.400000 d/dt(exp(-1.2*t))=-0.067362, -1.2*exp(-1.2*t)=-0.067362
t=2.500000 d/dt(exp(-1.2*t))=-0.059744, -1.2*exp(-1.2*t)=-0.059744
t=2.600000 d/dt(exp(-1.2*t))=-0.052989, -1.2*exp(-1.2*t)=-0.052989
t=2.700000 d/dt(exp(-1.2*t))=-0.048059, -1.2*exp(-1.2*t)=-0.046997
t=2.800000 d/dt(exp(-1.2*t))=-0.041682, -1.2*exp(-1.2*t)=-0.041682
t=2.900000 d/dt(exp(-1.2*t))=-0.036969, -1.2*exp(-1.2*t)=-0.036969
t=3.000000 d/dt(exp(-1.2*t))=-0.032788, -1.2*exp(-1.2*t)=-0.032788
t=3.100000 d/dt(exp(-1.2*t))=-0.029881, -1.2*exp(-1.2*t)=-0.029081
t=3.200000 d/dt(exp(-1.2*t))=-0.025792, -1.2*exp(-1.2*t)=-0.025792
t=3.300000 d/dt(exp(-1.2*t))=-0.022876, -1.2*exp(-1.2*t)=-0.022876
t=3.400000 d/dt(exp(-1.2*t))=-0.020289, -1.2*exp(-1.2*t)=-0.020289
t=3.500000 d/dt(exp(-1.2*t))=-0.018579, -1.2*exp(-1.2*t)=-0.017995
t=3.600000 d/dt(exp(-1.2*t))=-0.016498, -1.2*exp(-1.2*t)=-0.015960
t=3.700000 d/dt(exp(-1.2*t))=-0.014650, -1.2*exp(-1.2*t)=-0.014155
t=3.800000 d/dt(exp(-1.2*t))=-0.012554, -1.2*exp(-1.2*t)=-0.012554
t=3.900000 d/dt(exp(-1.2*t))=-0.011552, -1.2*exp(-1.2*t)=-0.011135
t=4.000000 d/dt(exp(-1.2*t))=-0.009876, -1.2*exp(-1.2*t)=-0.009876
t=4.100000 d/dt(exp(-1.2*t))=-0.009109, -1.2*exp(-1.2*t)=-0.008759
t=4.200000 d/dt(exp(-1.2*t))=-0.007768, -1.2*exp(-1.2*t)=-0.007768
t=4.300000 d/dt(exp(-1.2*t))=-0.006890, -1.2*exp(-1.2*t)=-0.006890
t=4.400000 d/dt(exp(-1.2*t))=-0.006111, -1.2*exp(-1.2*t)=-0.006111
t=4.500000 d/dt(exp(-1.2*t))=-0.005420, -1.2*exp(-1.2*t)=-0.005420
t=4.600000 d/dt(exp(-1.2*t))=-0.004807, -1.2*exp(-1.2*t)=-0.004807
t=4.700000 d/dt(exp(-1.2*t))=-0.004263, -1.2*exp(-1.2*t)=-0.004263
t=4.800000 d/dt(exp(-1.2*t))=-0.003781, -1.2*exp(-1.2*t)=-0.003781
t=4.900000 d/dt(exp(-1.2*t))=-0.003354, -1.2*exp(-1.2*t)=-0.003354
t=5.000000 d/dt(exp(-1.2*t))=-0.002975, -1.2*exp(-1.2*t)=-0.002975
t=5.100000 d/dt(exp(-1.2*t))=-0.002638, -1.2*exp(-1.2*t)=-0.002638
t=5.200000 d/dt(exp(-1.2*t))=-0.002340, -1.2*exp(-1.2*t)=-0.002340
t=5.300000 d/dt(exp(-1.2*t))=-0.002075, -1.2*exp(-1.2*t)=-0.002075
t=5.400000 d/dt(exp(-1.2*t))=-0.001944, -1.2*exp(-1.2*t)=-0.001841
t=5.500000 d/dt(exp(-1.2*t))=-0.001632, -1.2*exp(-1.2*t)=-0.001632
t=5.600000 d/dt(exp(-1.2*t))=-0.001448, -1.2*exp(-1.2*t)=-0.001448
t=5.700000 d/dt(exp(-1.2*t))=-0.001284, -1.2*exp(-1.2*t)=-0.001284
t=5.800000 d/dt(exp(-1.2*t))=-0.001139, -1.2*exp(-1.2*t)=-0.001139
t=5.900000 d/dt(exp(-1.2*t))=-0.001010, -1.2*exp(-1.2*t)=-0.001010
t=6.000000 d/dt(exp(-1.2*t))=-0.000896, -1.2*exp(-1.2*t)=-0.000896
t=6.100000 d/dt(exp(-1.2*t))=-0.000795, -1.2*exp(-1.2*t)=-0.000795
t=6.200000 d/dt(exp(-1.2*t))=-0.000752, -1.2*exp(-1.2*t)=-0.000705
t=6.300000 d/dt(exp(-1.2*t))=-0.000625, -1.2*exp(-1.2*t)=-0.000625
t=6.400000 d/dt(exp(-1.2*t))=-0.000554, -1.2*exp(-1.2*t)=-0.000554
t=6.500000 d/dt(exp(-1.2*t))=-0.000526, -1.2*exp(-1.2*t)=-0.000492
t=6.600000 d/dt(exp(-1.2*t))=-0.000436, -1.2*exp(-1.2*t)=-0.000436
t=6.700000 d/dt(exp(-1.2*t))=-0.000387, -1.2*exp(-1.2*t)=-0.000387
t=6.800000 d/dt(exp(-1.2*t))=-0.000343, -1.2*exp(-1.2*t)=-0.000343
t=6.900000 d/dt(exp(-1.2*t))=-0.000304, -1.2*exp(-1.2*t)=-0.000304
t=7.000000 d/dt(exp(-1.2*t))=-0.000291, -1.2*exp(-1.2*t)=-0.000270
t=7.100000 d/dt(exp(-1.2*t))=-0.000239, -1.2*exp(-1.2*t)=-0.000239
t=7.200000 d/dt(exp(-1.2*t))=-0.000229, -1.2*exp(-1.2*t)=-0.000212
t=7.300000 d/dt(exp(-1.2*t))=-0.000203, -1.2*exp(-1.2*t)=-0.000188
t=7.400000 d/dt(exp(-1.2*t))=-0.000181, -1.2*exp(-1.2*t)=-0.000167
t=7.500000 d/dt(exp(-1.2*t))=-0.000148, -1.2*exp(-1.2*t)=-0.000148
t=7.600000 d/dt(exp(-1.2*t))=-0.000131, -1.2*exp(-1.2*t)=-0.000131
t=7.700000 d/dt(exp(-1.2*t))=-0.000116, -1.2*exp(-1.2*t)=-0.000116
t=7.800000 d/dt(exp(-1.2*t))=-0.000112, -1.2*exp(-1.2*t)=-0.000103
t=7.900000 d/dt(exp(-1.2*t))=-0.000092, -1.2*exp(-1.2*t)=-0.000092
t=8.000000 d/dt(exp(-1.2*t))=-0.000081, -1.2*exp(-1.2*t)=-0.000081
t=8.100000 d/dt(exp(-1.2*t))=-0.000072, -1.2*exp(-1.2*t)=-0.000072
t=8.200000 d/dt(exp(-1.2*t))=-0.000070, -1.2*exp(-1.2*t)=-0.000064
t=8.300000 d/dt(exp(-1.2*t))=-0.000057, -1.2*exp(-1.2*t)=-0.000057
t=8.400000 d/dt(exp(-1.2*t))=-0.000050, -1.2*exp(-1.2*t)=-0.000050
t=8.500000 d/dt(exp(-1.2*t))=-0.000049, -1.2*exp(-1.2*t)=-0.000045
t=8.600000 d/dt(exp(-1.2*t))=-0.000040, -1.2*exp(-1.2*t)=-0.000040
t=8.700000 d/dt(exp(-1.2*t))=-0.000035, -1.2*exp(-1.2*t)=-0.000035
t=8.800000 d/dt(exp(-1.2*t))=-0.000031, -1.2*exp(-1.2*t)=-0.000031
t=8.900000 d/dt(exp(-1.2*t))=-0.000030, -1.2*exp(-1.2*t)=-0.000028
t=9.000000 d/dt(exp(-1.2*t))=-0.000024, -1.2*exp(-1.2*t)=-0.000024
t=9.100000 d/dt(exp(-1.2*t))=-0.000022, -1.2*exp(-1.2*t)=-0.000022
t=9.200000 d/dt(exp(-1.2*t))=-0.000019, -1.2*exp(-1.2*t)=-0.000019
t=9.300000 d/dt(exp(-1.2*t))=-0.000017, -1.2*exp(-1.2*t)=-0.000017
t=9.400000 d/dt(exp(-1.2*t))=-0.000015, -1.2*exp(-1.2*t)=-0.000015
t=9.500000 d/dt(exp(-1.2*t))=-0.000013, -1.2*exp(-1.2*t)=-0.000013
t=9.600000 d/dt(exp(-1.2*t))=-0.000012, -1.2*exp(-1.2*t)=-0.000012
t=9.700000 d/dt(exp(-1.2*t))=-0.000011, -1.2*exp(-1.2*t)=-0.000011
t=9.800000 d/dt(exp(-1.2*t))=-0.000009, -1.2*exp(-1.2*t)=-0.000009
t=9.900000 d/dt(exp(-1.2*t))=-0.000008, -1.2*exp(-1.2*t)=-0.000008
t=10.000000 d/dt(exp(-1.2*t))=-0.000007, -1.2*exp(-1.2*t)=-0.000007
--
Command Output (stderr):
--
/workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp:27:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
}
^
1 warning generated.
/workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp:27:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
}
^
1 warning generated.
/workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp:27:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
}
^
1 warning generated.
; ModuleID = '<stdin>'
source_filename = "/workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp"
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-unknown-linux-gnu"
%"class.std::ios_base::Init" = type { i8 }
%"class.boost::detail::multi_array::extent_gen" = type { %"class.boost::array" }
%"class.boost::array" = type { [1 x %"class.boost::detail::multi_array::extent_range"] }
%"class.boost::detail::multi_array::extent_range" = type { %"struct.std::pair" }
%"struct.std::pair" = type { i64, i64 }
%"struct.boost::detail::multi_array::index_gen" = type { %"class.boost::array.0" }
%"class.boost::array.0" = type { [1 x %"class.boost::detail::multi_array::index_range"] }
%"class.boost::detail::multi_array::index_range" = type <{ i64, i64, i64, i8, [7 x i8] }>
%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] }
%struct._IO_marker = type opaque
%struct._IO_codecvt = type opaque
%struct._IO_wide_data = type opaque
%"struct.std::_Placeholder" = type { i8 }
%"class.boost::array.1" = type { [1 x double] }
%"class.std::exception" = type { i32 (...)** }
%"class.boost::numeric::odeint::controlled_runge_kutta" = type <{ %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::default_error_checker", %"class.boost::numeric::odeint::default_step_adjuster", %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer", [4 x i8], %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::state_wrapper", i8, [7 x i8] }>
%"class.boost::numeric::odeint::runge_kutta_dopri5" = type <{ %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base", %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::state_wrapper", %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer", [6 x i8] }>
%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base" = type { %"class.boost::numeric::odeint::algebra_stepper_base", %"struct.boost::numeric::odeint::initially_resizer", i8, %"struct.boost::numeric::odeint::state_wrapper" }
%"class.boost::numeric::odeint::algebra_stepper_base" = type { %"struct.boost::numeric::odeint::array_algebra" }
%"struct.boost::numeric::odeint::array_algebra" = type { i8 }
%"class.boost::numeric::odeint::default_error_checker" = type { double, double, double, double }
%"class.boost::numeric::odeint::default_step_adjuster" = type { double }
%"struct.boost::numeric::odeint::initially_resizer" = type { i8 }
%"struct.boost::numeric::odeint::state_wrapper" = type { %"class.boost::array.1" }
%"struct.boost::numeric::odeint::null_observer" = type { i8 }
%"class.boost::numeric::odeint::failed_step_checker" = type { %"class.boost::numeric::odeint::max_step_checker" }
%"class.boost::numeric::odeint::max_step_checker" = type { i32, i32 }
%"class.boost::numeric::odeint::step_adjustment_error" = type { %"class.boost::numeric::odeint::odeint_error" }
%"class.boost::numeric::odeint::odeint_error" = type { %"class.std::runtime_error" }
%"class.std::runtime_error" = type { %"class.std::exception", %"struct.std::__cow_string" }
%"struct.std::__cow_string" = type { %union.anon }
%union.anon = type { i8* }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon.26 }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { i8* }
%union.anon.26 = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"class.std::_Bind" = type { { i64, i64 }, %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.3" }
%"struct.std::_Head_base.3" = type { %"class.std::reference_wrapper" }
%"class.std::reference_wrapper" = type { %"class.boost::numeric::odeint::controlled_runge_kutta"* }
%"class.std::tuple.6" = type { %"struct.std::_Tuple_impl.7" }
%"struct.std::_Tuple_impl.7" = type { %"struct.std::_Head_base.8" }
%"struct.std::_Head_base.8" = type { %"class.boost::array.1"* }
%"class.std::_Mu" = type { i8 }
%"class.std::_Mu.9" = type { i8 }
%"struct.std::_Tuple_impl.2" = type { i8 }
%"struct.std::_Head_base" = type { i8 }
%"struct.boost::numeric::odeint::default_operations::rel_error" = type { double, double, double, double }
%"class.std::_Bind.10" = type { { i64, i64 }, %"class.std::tuple.13" }
%"class.std::tuple.13" = type { %"struct.std::_Tuple_impl.14" }
%"struct.std::_Tuple_impl.14" = type { %"struct.std::_Head_base.15" }
%"struct.std::_Head_base.15" = type { %"class.std::reference_wrapper.16" }
%"class.std::reference_wrapper.16" = type { %"class.boost::numeric::odeint::runge_kutta_dopri5"* }
%"struct.boost::numeric::odeint::default_operations::scale_sum6" = type { double, double, double, double, double, double }
%"struct.boost::numeric::odeint::default_operations::scale_sum2" = type { double, double }
%"struct.boost::numeric::odeint::default_operations::scale_sum3" = type { double, double, double }
%"struct.boost::numeric::odeint::default_operations::scale_sum4" = type { double, double, double, double }
%"struct.boost::numeric::odeint::default_operations::scale_sum5" = type { double, double, double, double, double }
%"class.std::_Mu.25" = type { i8 }
%"struct.boost::exception_detail::error_info_injector" = type <{ %"class.boost::numeric::odeint::step_adjustment_error", %"class.boost::exception.base", [4 x i8] }>
%"class.boost::exception.base" = type <{ i32 (...)**, %"class.boost::exception_detail::refcount_ptr", i8*, i8*, i32 }>
%"class.boost::exception_detail::refcount_ptr" = type { %"struct.boost::exception_detail::error_info_container"* }
%"struct.boost::exception_detail::error_info_container" = type { i32 (...)** }
%"class.__gnu_cxx::new_allocator" = type { i8 }
%"class.boost::exception" = type <{ i32 (...)**, %"class.boost::exception_detail::refcount_ptr", i8*, i8*, i32, [4 x i8] }>
$_ZN5boost6detail11multi_array10extent_genILm0EEC2Ev = comdat any
$_ZN5boost6detail11multi_array9index_genILi0ELi0EEC2Ev = comdat any
$_ZNK5boost5arrayIdLm1EEixEm = comdat any
$_ZN5boost5arrayIdLm1EEixEm = comdat any
$_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dEEmT_T0_RT1_T2_SQ_SQ_ = comdat any
$_ZN5boost7numeric6odeint21default_error_checkerIdNS1_13array_algebraENS1_18default_operationsEEC2Edddd = comdat any
$_ZN5boost7numeric6odeint21default_step_adjusterIddEC2Ed = comdat any
$_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEC2ERKS5_ = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEEC2ERKSB_RKSD_RKS9_ = comdat any
$_ZSt3maxIdERKT_S2_S2_ = comdat any
$_ZN5boost5arrayINS_6detail11multi_array12extent_rangeIlmEELm1EEC2Ev = comdat any
$_ZN5boost6detail11multi_array12extent_rangeIlmEC2Ev = comdat any
$_ZNSt4pairIllEC2IiiLb1EEEOT_OT0_ = comdat any
$_ZSt7forwardIiEOT_RNSt16remove_referenceIS0_E4typeE = comdat any
$_ZN5boost5arrayINS_6detail11multi_array11index_rangeIlmEELm1EEC2Ev = comdat any
$_ZN5boost6detail11multi_array11index_rangeIlmEC2Ev = comdat any
$_ZN5boost6detail11multi_array11index_rangeIlmE10from_startEv = comdat any
$_ZN5boost6detail11multi_array11index_rangeIlmE6to_endEv = comdat any
$_ZNSt14numeric_limitsIlE3minEv = comdat any
$_ZNSt14numeric_limitsIlE3maxEv = comdat any
$_ZN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_EC2ERKS6_ = comdat any
$_ZN5boost7numeric6odeint17initially_resizerC2Ev = comdat any
$_ZN5boost7numeric6odeint20algebra_stepper_baseINS1_13array_algebraENS1_18default_operationsEEC2ERKS3_ = comdat any
$_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dNS1_13null_observerEEEmT_T0_RT1_T2_SR_SR_T3_ = comdat any
$_ZN5boost7numeric6odeint6detail15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_T2_SS_SS_T3_NS1_22controlled_stepper_tagE = comdat any
$_ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_ = comdat any
$_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_ = comdat any
$_ZN5boost7numeric6odeint6detail18integrate_adaptiveINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_RT2_SS_ST_T3_NS1_22controlled_stepper_tagE = comdat any
$_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_ = comdat any
$_ZNSt14numeric_limitsIdE7epsilonEv = comdat any
$_ZN5boost7numeric6odeint6detail19get_unit_value_implIdvE5valueERKd = comdat any
$_ZN5boost7numeric6odeint19failed_step_checkerC2Ei = comdat any
$_ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_ = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_ = comdat any
$_ZN5boost7numeric6odeint19failed_step_checkerclEv = comdat any
$_ZN5boost7numeric6odeint16max_step_checker5resetEv = comdat any
$_ZN5boost7numeric6odeint16max_step_checkerC2Ei = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE11try_step_v1IPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_ = comdat any
$_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_ = comdat any
$_ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_ = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_dxdt_implIS5_EEbRKT_ = comdat any
$_ZSt3refIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEESt17reference_wrapperIT_ERSI_ = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE10initializeIPFvRKS5_RS5_dES5_EEvT_RKT0_d = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_S5_EENS1_22controlled_step_resultET_RT0_RT1_RdSS_ = comdat any
$_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEclIJSI_EbEET0_DpOT_ = comdat any
$_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEE6__callIbJSI_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE = comdat any
$_ZSt16forward_as_tupleIJRKN5boost5arrayIdLm1EEEEESt5tupleIJDpOT_EES8_ = comdat any
$_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE = comdat any
$_ZSt8__invokeIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJRSG_SI_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSO_DpOSP_ = comdat any
$_ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0ELb0EEclISI_St5tupleIJRKS7_EEEERSH_RT_RT0_ = comdat any
$_ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_ = comdat any
$_ZNVKSt3_MuISt12_PlaceholderILi1EELb0ELb1EEclISt5tupleIJRKN5boost5arrayIdLm1EEEEEEEONSt9enable_ifIXltLm0Esr10tuple_sizeIT_EE5valueESt13tuple_elementILm0ESC_EE4type4typeERVKS1_RSC_ = comdat any
$_ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_ = comdat any
$_ZSt13__invoke_implIbRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ERSG_JSI_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_ = comdat any
$_ZSt7forwardIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISM_E4typeE = comdat any
$_ZSt7forwardIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEOT_RNSt16remove_referenceISI_E4typeE = comdat any
$_ZSt8__invfwdIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEESH_EOT0_RNSt16remove_referenceIT_E4typeE = comdat any
$_ZNKSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE3getEv = comdat any
$_ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSL_DpT1_EE = comdat any
$_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEE7_M_headERSL_ = comdat any
$_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EE7_M_headERSJ_ = comdat any
$_ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEEONSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEOS9_ = comdat any
$_ZSt4moveIRSt5tupleIJRKN5boost5arrayIdLm1EEEEEEONSt16remove_referenceIT_E4typeEOS9_ = comdat any
$_ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_ = comdat any
$_ZSt12__get_helperILm0ERKN5boost5arrayIdLm1EEEJEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE = comdat any
$_ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEE7_M_headERS5_ = comdat any
$_ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EE7_M_headERS5_ = comdat any
$_ZSt12__get_helperILm1ESt12_PlaceholderILi1EEJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE = comdat any
$_ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEE7_M_headERS2_ = comdat any
$_ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EE7_M_headERS2_ = comdat any
$_ZNSt5tupleIJRKN5boost5arrayIdLm1EEEEEC2IvLb1EEES4_ = comdat any
$_ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEEC2ES4_ = comdat any
$_ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EEC2ES4_ = comdat any
$_ZSt7forwardIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISL_E4typeE = comdat any
$_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE = comdat any
$_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE = comdat any
$_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEC2IJSM_RKSO_EEEOSK_DpOT_ = comdat any
$_ZSt4moveIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEONSt16remove_referenceIT_E4typeEOSN_ = comdat any
$_ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_RKSK_Lb1EEEOT_OT0_ = comdat any
$_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_JRKSK_EvEEOT_DpOT0_ = comdat any
$_ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEEC2ERKS1_ = comdat any
$_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EEC2ISI_EEOT_ = comdat any
$_ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EEC2ERKS1_ = comdat any
$_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE = comdat any
$_ZNSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEC2IRSG_vPSG_EEOT_ = comdat any
$_ZNSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE6_S_funERSG_ = comdat any
$_ZSt11__addressofIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEPT_RSH_ = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_xnew_implIS5_EEbRKT_ = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE22resize_m_dxdt_new_implIS5_EEbRKT_ = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_S5_S5_S5_EENS1_22controlled_step_resultET_RKT0_RKT1_RdRT2_RT3_SU_ = comdat any
$_ZN5boost7numeric6odeint4copyINS_5arrayIdLm1EEES4_EEvRKT_RT0_ = comdat any
$_ZN5boost7numeric6odeint21default_step_adjusterIddE21check_step_size_limitEd = comdat any
$_ZN5boost7numeric6odeint21default_step_adjusterIddE10get_max_dtEv = comdat any
$_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_xerr_implIS5_EEbRKT_ = comdat any
$_ZN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E7do_stepIPFvRKS5_RS5_dES5_S5_S5_S5_S5_EEvT_RKT0_RKT1_dRT2_RT3_dRT4_ = comdat any
$_ZNK5boost7numeric6odeint21default_error_checkerIdNS1_13array_algebraENS1_18default_operationsEE5errorINS_5arrayIdLm1EEES8_S8_dEEdRS3_RKT_RKT0_RT1_T2_ = comdat any
$_ZN5boost7numeric6odeint20algebra_stepper_baseINS1_13array_algebraENS1_18default_operationsEE7algebraEv = comdat any
$_ZNK5boost7numeric6odeint21default_step_adjusterIddE13decrease_stepEddi = comdat any
$_ZNK5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E11error_orderEv = comdat any
$_ZNK5boost7numeric6odeint21default_step_adjusterIddE13increase_stepEddi = comdat any
$_ZNK5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E13stepper_orderEv = comdat any
$_ZN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E7stepperEv = comdat any
$_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE12do_step_implIPFvRKS4_RS4_dES4_S4_S4_S4_S4_EEvT_RKT0_RKT1_dRT2_RT3_dRT4_ = comdat any
$_ZN5boost7numeric6odeint13same_instanceINS_5arrayIdLm1EEES4_EEbRKT_RKT0_ = comdat any
$_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EEFbRKS5_ESt17reference_wrapperISA_ESt12_PlaceholderILi1EEEEEEbRKT_T0_ = comdat any
$_ZSt4bindIMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EJSt17reference_wrapperIS9_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESL_JDpT0_EE4typeEOSL_DpOSM_ = comdat any
$_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE20resize_dxdt_tmp_implIS4_EEbRKT_ = comdat any
$_ZSt3refIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEESt17reference_wrapperIT_ERSB_ = comdat any
$_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE12do_step_implIPFvRKS4_RS4_dES4_S4_S4_S4_EEvT_RKT0_RKT1_dRT2_RT3_d = comdat any
$_ZN5boost7numeric6odeint13array_algebra9for_each7INS_5arrayEdLm1ENS1_18default_operations10scale_sum6IddddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_SD_SD_T2_ = comdat any
$_ZN5boost7numeric6odeint18default_operations10scale_sum6IddddddEC2Edddddd = comdat any
$_ZN5boost7numeric6odeint18same_instance_implINS_5arrayIdLm1EEES4_vE13same_instanceERKS4_S7_ = comdat any
$_ZNSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEEclIJSB_EbEET0_DpOT_ = comdat any
$_ZNSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEE6__callIbJSB_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE = comdat any
$_ZSt8__invokeIRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EJRS9_SB_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSH_DpOSI_ = comdat any
$_ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEELb0ELb0EEclISB_St5tupleIJRKS6_EEEERSA_RT_RT0_ = comdat any
$_ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSI_ = comdat any
$_ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSI_ = comdat any
$_ZSt13__invoke_implIbRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ERS9_JSB_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_ = comdat any
$_ZSt7forwardIRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EEOT_RNSt16remove_referenceISF_E4typeE = comdat any
$_ZSt7forwardIRN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEOT_RNSt16remove_referenceISB_E4typeE = comdat any
$_ZSt8__invfwdIRN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEESA_EOT0_RNSt16remove_referenceIT_E4typeE = comdat any
$_ZNKSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEE3getEv = comdat any
$_ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSE_DpT1_EE = comdat any
$_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEE7_M_headERSE_ = comdat any
$_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEELb0EE7_M_headERSC_ = comdat any
$_ZSt7forwardIMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EEOT_RNSt16remove_referenceISE_E4typeE = comdat any
$_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEEOT_RNSt16remove_referenceISC_E4typeE = comdat any
$_ZNSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEEC2IJSF_RKSH_EEEOSD_DpOT_ = comdat any
$_ZSt4moveIRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EEONSt16remove_referenceIT_E4typeEOSG_ = comdat any
$_ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEEC2ISB_RKSD_Lb1EEEOT_OT0_ = comdat any
$_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEEC2ISB_JRKSD_EvEEOT_DpOT0_ = comdat any
$_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEELb0EEC2ISB_EEOT_ = comdat any
$_ZNSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEC2IRS9_vPS9_EEOT_ = comdat any
$_ZNSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEE6_S_funERS9_ = comdat any
$_ZSt11__addressofIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEPT_RSA_ = comdat any
$_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE19resize_k_x_tmp_implIS4_EEbRKT_ = comdat any
$_ZN5boost7numeric6odeint13array_algebra9for_each3INS_5arrayEdLm1ENS1_18default_operations10scale_sum2IddEEEEvRT_IT0_XT1_EERKSA_SD_T2_ = comdat any
$_ZN5boost7numeric6odeint18default_operations10scale_sum2IddEC2Edd = comdat any
$_ZN5boost7numeric6odeint13array_algebra9for_each4INS_5arrayEdLm1ENS1_18default_operations10scale_sum3IdddEEEEvRT_IT0_XT1_EERKSA_SD_SD_T2_ = comdat any
$_ZN5boost7numeric6odeint18default_operations10scale_sum3IdddEC2Eddd = comdat any
$_ZN5boost7numeric6odeint13array_algebra9for_each5INS_5arrayEdLm1ENS1_18default_operations10scale_sum4IddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_T2_ = comdat any
$_ZN5boost7numeric6odeint18default_operations10scale_sum4IddddEC2Edddd = comdat any
$_ZN5boost7numeric6odeint13array_algebra9for_each6INS_5arrayEdLm1ENS1_18default_operations10scale_sum5IdddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_SD_T2_ = comdat any
$_ZN5boost7numeric6odeint18default_operations10scale_sum5IdddddEC2Eddddd = comdat any
$_ZNK5boost7numeric6odeint18default_operations10scale_sum2IddEclIdddEEvRT_RKT0_RKT1_ = comdat any
$_ZNK5boost7numeric6odeint18default_operations10scale_sum3IdddEclIddddEEvRT_RKT0_RKT1_RKT2_ = comdat any
$_ZNK5boost7numeric6odeint18default_operations10scale_sum4IddddEclIdddddEEvRT_RKT0_RKT1_RKT2_RKT3_ = comdat any
$_ZNK5boost7numeric6odeint18default_operations10scale_sum5IdddddEclIddddddEEvRT_RKT0_RKT1_RKT2_RKT3_RKT4_ = comdat any
$_ZNK5boost7numeric6odeint18default_operations10scale_sum6IddddddEclIdddddddEEvRT_RKT0_RKT1_RKT2_RKT3_RKT4_RKT5_ = comdat any
$_ZN5boost7numeric6odeint13array_algebra9for_each3INS_5arrayEdLm1ENS1_18default_operations9rel_errorIdEEEEvRT_IT0_XT1_EERKSA_SD_T2_ = comdat any
$_ZSt3absd = comdat any
$_ZN5boost7numeric6odeint18default_operations9rel_errorIdEC2Edddd = comdat any
$_ZN5boost7numeric6odeint13array_algebra8norm_infINS_5arrayEdLm1EEENS1_16norm_result_typeIT_IT0_XT1_EEvE4typeERKS8_ = comdat any
$_ZNK5boost7numeric6odeint18default_operations9rel_errorIdEclIdddEEvRT1_RKT_RKT0_ = comdat any
$_ZN5boost7numeric6odeint14set_unit_valueIddEEvRT_RKT0_ = comdat any
$_ZN5boost7numeric6odeint6detail19set_unit_value_implIddvE9set_valueERdRKd = comdat any
$_ZN5boost7numeric6odeint6detail7min_absIdEET_S4_S4_ = comdat any
$_ZSt3minIdERKT_S2_S2_ = comdat any
$_ZN5boost7numeric6odeint9copy_implINS_5arrayIdLm1EEES4_E4copyERKS4_RS4_ = comdat any
$_ZN5boost7numeric6odeint16copy_impl_sfinaeINS_5arrayIdLm1EEES4_vE4copyERKS4_RS4_ = comdat any
$_ZN5boost7numeric6odeint6detail10do_copyingINS_5arrayIdLm1EEES5_EEvRKT_RT0_N4mpl_5bool_ILb1EEE = comdat any
$_ZN5boost5range4copyINS_5arrayIdLm1EEEPdEET0_RKT_S5_ = comdat any
$_ZN5boost17range_adl_barrier5beginINS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS5_ = comdat any
$_ZSt4copyIPKdPdET0_T_S4_S3_ = comdat any
$_ZN5boost17range_adl_barrier5beginINS_5arrayIdLm1EEEEENS_14range_iteratorIKT_vE4typeERS6_ = comdat any
$_ZN5boost17range_adl_barrier3endINS_5arrayIdLm1EEEEENS_14range_iteratorIKT_vE4typeERS6_ = comdat any
$_ZSt14__copy_move_a2ILb0EPKdPdET1_T0_S4_S3_ = comdat any
$_ZSt12__miter_baseIPKdET_S2_ = comdat any
$_ZSt12__niter_wrapIPdET_RKS1_S1_ = comdat any
$_ZSt13__copy_move_aILb0EPKdPdET1_T0_S4_S3_ = comdat any
$_ZSt12__niter_baseIPKdET_S2_ = comdat any
$_ZSt12__niter_baseIPdET_S1_ = comdat any
$_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIdEEPT_PKS3_S6_S4_ = comdat any
$_ZN5boost12range_detail11range_beginIKNS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS6_ = comdat any
$_ZNK5boost5arrayIdLm1EE5beginEv = comdat any
$_ZN5boost12range_detail9range_endIKNS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS6_ = comdat any
$_ZNK5boost5arrayIdLm1EE3endEv = comdat any
$_ZN5boost12range_detail11range_beginINS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS5_ = comdat any
$_ZN5boost5arrayIdLm1EE5beginEv = comdat any
$_ZN5boost16exception_detail16throw_exception_INS_7numeric6odeint21step_adjustment_errorEEEvRKT_PKcS9_i = comdat any
$_ZN5boost7numeric6odeint21step_adjustment_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE = comdat any
$_ZN5boost17enable_error_infoINS_7numeric6odeint21step_adjustment_errorEEENS_16exception_detail29enable_error_info_return_typeIT_E4typeERKS6_ = comdat any
$_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED2Ev = comdat any
$_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEC2ERKS4_ = comdat any
$_ZN5boost7numeric6odeint21step_adjustment_errorC2ERKS2_ = comdat any
$_ZN5boost9exceptionC2Ev = comdat any
$_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED0Ev = comdat any
$_ZThn16_N5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED1Ev = comdat any
$_ZThn16_N5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED0Ev = comdat any
$_ZN5boost7numeric6odeint12odeint_errorC2ERKS2_ = comdat any
$_ZN5boost7numeric6odeint21step_adjustment_errorD0Ev = comdat any
$_ZN5boost7numeric6odeint12odeint_errorD0Ev = comdat any
$_ZN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEEC2Ev = comdat any
$_ZN5boost9exceptionD2Ev = comdat any
$_ZN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEED2Ev = comdat any
$_ZN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEE7releaseEv = comdat any
$_ZN9__gnu_cxx13new_allocatorIcEC2Ev = comdat any
$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_ = comdat any
$_ZNSt11char_traitsIcE6lengthEPKc = comdat any
$_ZNSt14pointer_traitsIPcE10pointer_toERc = comdat any
$_ZSt9addressofIcEPT_RS0_ = comdat any
$_ZSt11__addressofIcEPT_RS0_ = comdat any
$_ZN9__gnu_cxx13new_allocatorIcEC2ERKS1_ = comdat any
$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPKcEEvT_S8_St12__false_type = comdat any
$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag = comdat any
$_ZN9__gnu_cxx17__is_null_pointerIKcEEbPT_ = comdat any
$_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_ = comdat any
$_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag = comdat any
$_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_ = comdat any
$_ZNSt11char_traitsIcE6assignERcRKc = comdat any
$_ZNSt11char_traitsIcE4copyEPcPKcm = comdat any
$_ZN5boost7numeric6odeint12odeint_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE = comdat any
$_ZTVN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE = comdat any
$_ZTSN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE = comdat any
$_ZTSN5boost7numeric6odeint21step_adjustment_errorE = comdat any
$_ZTSN5boost7numeric6odeint12odeint_errorE = comdat any
$_ZTIN5boost7numeric6odeint12odeint_errorE = comdat any
$_ZTIN5boost7numeric6odeint21step_adjustment_errorE = comdat any
$_ZTSN5boost9exceptionE = comdat any
$_ZTIN5boost9exceptionE = comdat any
$_ZTIN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE = comdat any
$_ZTVN5boost7numeric6odeint21step_adjustment_errorE = comdat any
$_ZTVN5boost7numeric6odeint12odeint_errorE = comdat any
$_ZTVN5boost9exceptionE = comdat any
@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1
@_ZN5boost12_GLOBAL__N_17extentsE = internal global %"class.boost::detail::multi_array::extent_gen" zeroinitializer, align 8
@_ZN5boost12_GLOBAL__N_17indicesE = internal global %"struct.boost::detail::multi_array::index_gen" zeroinitializer, align 8
@.str = private unnamed_addr constant [48 x i8] c"t=%f d/dt(exp(-1.2*t))=%f, -1.2*exp(-1.2*t)=%f\0A\00", align 1
@stderr = external dso_local local_unnamed_addr global %struct._IO_FILE*, align 8
@.str.3 = private unnamed_addr constant [68 x i8] c"Assertion Failed: fabs( [%s = %g] - [%s = %g] ) > %g at %s:%d (%s)\0A\00", align 1
@.str.4 = private unnamed_addr constant [4 x i8] c"res\00", align 1
@.str.5 = private unnamed_addr constant [11 x i8] c"realanswer\00", align 1
@.str.6 = private unnamed_addr constant [72 x i8] c"/workspaces/Enzyme/enzyme/test/Integration/ReverseMode/integrateexp.cpp\00", align 1
@__PRETTY_FUNCTION__.main = private unnamed_addr constant [23 x i8] c"int main(int, char **)\00", align 1
@.str.8 = private unnamed_addr constant [26 x i8] c"(i < N)&&(\22out of range\22)\00", align 1
@.str.9 = private unnamed_addr constant [29 x i8] c"/usr/include/boost/array.hpp\00", align 1
@__PRETTY_FUNCTION__._ZN5boost5arrayIdLm1EEixEm = private unnamed_addr constant [105 x i8] c"boost::array::reference boost::array<double, 1>::operator[](boost::array::size_type) [T = double, N = 1]\00", align 1
@__PRETTY_FUNCTION__._ZNK5boost5arrayIdLm1EEixEm = private unnamed_addr constant [117 x i8] c"boost::array::const_reference boost::array<double, 1>::operator[](boost::array::size_type) const [T = double, N = 1]\00", align 1
@_ZNSt12placeholders2_1E = external dso_local global %"struct.std::_Placeholder", align 1
@.str.10 = private unnamed_addr constant [71 x i8] c"Max number of iterations exceeded (%d). A new step size was not found.\00", align 1
@__PRETTY_FUNCTION__._ZN5boost7numeric6odeint19failed_step_checkerclEv = private unnamed_addr constant [63 x i8] c"void boost::numeric::odeint::failed_step_checker::operator()()\00", align 1
@.str.11 = private unnamed_addr constant [65 x i8] c"/usr/include/boost/numeric/odeint/integrate/max_step_checker.hpp\00", align 1
@_ZTVN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE = linkonce_odr dso_local unnamed_addr constant { [5 x i8*], [4 x i8*] } { [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i64, i8*, i64 }* @_ZTIN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE to i8*), i8* bitcast (void (%"struct.boost::exception_detail::error_info_injector"*)* @_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED2Ev to i8*), i8* bitcast (void (%"struct.boost::exception_detail::error_info_injector"*)* @_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED0Ev to i8*), i8* bitcast (i8* (%"class.std::runtime_error"*)* @_ZNKSt13runtime_error4whatEv to i8*)], [4 x i8*] [i8* inttoptr (i64 -16 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i64, i8*, i64 }* @_ZTIN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE to i8*), i8* bitcast (void (%"struct.boost::exception_detail::error_info_injector"*)* @_ZThn16_N5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED1Ev to i8*), i8* bitcast (void (%"struct.boost::exception_detail::error_info_injector"*)* @_ZThn16_N5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED0Ev to i8*)] }, comdat, align 8
@_ZTVN10__cxxabiv121__vmi_class_type_infoE = external dso_local global i8*
@_ZTSN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE = linkonce_odr dso_local constant [92 x i8] c"N5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE\00", comdat, align 1
@_ZTVN10__cxxabiv120__si_class_type_infoE = external dso_local global i8*
@_ZTSN5boost7numeric6odeint21step_adjustment_errorE = linkonce_odr dso_local constant [47 x i8] c"N5boost7numeric6odeint21step_adjustment_errorE\00", comdat, align 1
@_ZTSN5boost7numeric6odeint12odeint_errorE = linkonce_odr dso_local constant [38 x i8] c"N5boost7numeric6odeint12odeint_errorE\00", comdat, align 1
@_ZTISt13runtime_error = external dso_local constant i8*
@_ZTIN5boost7numeric6odeint12odeint_errorE = linkonce_odr dso_local constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([38 x i8], [38 x i8]* @_ZTSN5boost7numeric6odeint12odeint_errorE, i32 0, i32 0), i8* bitcast (i8** @_ZTISt13runtime_error to i8*) }, comdat, align 8
@_ZTIN5boost7numeric6odeint21step_adjustment_errorE = linkonce_odr dso_local constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @_ZTSN5boost7numeric6odeint21step_adjustment_errorE, i32 0, i32 0), i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost7numeric6odeint12odeint_errorE to i8*) }, comdat, align 8
@_ZTVN10__cxxabiv117__class_type_infoE = external dso_local global i8*
@_ZTSN5boost9exceptionE = linkonce_odr dso_local constant [19 x i8] c"N5boost9exceptionE\00", comdat, align 1
@_ZTIN5boost9exceptionE = linkonce_odr dso_local constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @_ZTSN5boost9exceptionE, i32 0, i32 0) }, comdat, align 8
@_ZTIN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE = linkonce_odr dso_local constant { i8*, i8*, i32, i32, i8*, i64, i8*, i64 } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([92 x i8], [92 x i8]* @_ZTSN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE, i32 0, i32 0), i32 0, i32 2, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost7numeric6odeint21step_adjustment_errorE to i8*), i64 2, i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9exceptionE to i8*), i64 4098 }, comdat, align 8
@_ZTVN5boost7numeric6odeint21step_adjustment_errorE = linkonce_odr dso_local unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost7numeric6odeint21step_adjustment_errorE to i8*), i8* bitcast (void (%"class.std::runtime_error"*)* @_ZNSt13runtime_errorD2Ev to i8*), i8* bitcast (void (%"class.boost::numeric::odeint::step_adjustment_error"*)* @_ZN5boost7numeric6odeint21step_adjustment_errorD0Ev to i8*), i8* bitcast (i8* (%"class.std::runtime_error"*)* @_ZNKSt13runtime_error4whatEv to i8*)] }, comdat, align 8
@_ZTVN5boost7numeric6odeint12odeint_errorE = linkonce_odr dso_local unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost7numeric6odeint12odeint_errorE to i8*), i8* bitcast (void (%"class.std::runtime_error"*)* @_ZNSt13runtime_errorD2Ev to i8*), i8* bitcast (void (%"class.boost::numeric::odeint::odeint_error"*)* @_ZN5boost7numeric6odeint12odeint_errorD0Ev to i8*), i8* bitcast (i8* (%"class.std::runtime_error"*)* @_ZNKSt13runtime_error4whatEv to i8*)] }, comdat, align 8
@_ZTVN5boost9exceptionE = linkonce_odr dso_local unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9exceptionE to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*)] }, comdat, align 8
@.str.12 = private unnamed_addr constant [42 x i8] c"basic_string::_M_construct null not valid\00", align 1
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_integrateexp.cpp, i8* null }]
@"_enzyme__Z6lorenzRKN5boost5arrayIdLm1EEERS1_d'" = internal constant { i8* (%"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"*, double)*, { double } (%"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"*, double, i8*)* } { i8* (%"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"*, double)* @augmented__Z6lorenzRKN5boost5arrayIdLm1EEERS1_d, { double } (%"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"*, double, i8*)* @diffe_Z6lorenzRKN5boost5arrayIdLm1EEERS1_d }
; Function Attrs: nounwind uwtable
define internal fastcc void @__cxx_global_var_init() unnamed_addr #0 section ".text.startup" {
call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* nonnull dereferenceable(1) @_ZStL8__ioinit) #3
%1 = call i32 @atexit(void ()* nonnull @__dtor__ZStL8__ioinit) #3
ret void
}
declare dso_local void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* nonnull dereferenceable(1)) unnamed_addr #1
; Function Attrs: nounwind
declare dso_local void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"* nonnull dereferenceable(1)) unnamed_addr #2
; Function Attrs: nounwind uwtable
define internal void @__dtor__ZStL8__ioinit() #0 section ".text.startup" {
call void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"* @_ZStL8__ioinit)
ret void
}
; Function Attrs: nounwind
declare dso_local i32 @atexit(void ()*) local_unnamed_addr #3
; Function Attrs: nounwind uwtable
define internal fastcc void @__cxx_global_var_init.1() unnamed_addr #0 section ".text.startup" {
call void @_ZN5boost6detail11multi_array10extent_genILm0EEC2Ev(%"class.boost::detail::multi_array::extent_gen"* nonnull dereferenceable(16) @_ZN5boost12_GLOBAL__N_17extentsE)
ret void
}
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost6detail11multi_array10extent_genILm0EEC2Ev(%"class.boost::detail::multi_array::extent_gen"* nonnull dereferenceable(16) %0) unnamed_addr #0 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::detail::multi_array::extent_gen", %"class.boost::detail::multi_array::extent_gen"* %0, i64 0, i32 0
call void @_ZN5boost5arrayINS_6detail11multi_array12extent_rangeIlmEELm1EEC2Ev(%"class.boost::array"* nonnull dereferenceable(16) %2)
ret void
}
; Function Attrs: nounwind uwtable
define internal fastcc void @__cxx_global_var_init.2() unnamed_addr #0 section ".text.startup" {
call void @_ZN5boost6detail11multi_array9index_genILi0ELi0EEC2Ev(%"struct.boost::detail::multi_array::index_gen"* nonnull dereferenceable(32) @_ZN5boost12_GLOBAL__N_17indicesE)
ret void
}
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost6detail11multi_array9index_genILi0ELi0EEC2Ev(%"struct.boost::detail::multi_array::index_gen"* nonnull dereferenceable(32) %0) unnamed_addr #0 comdat align 2 {
%2 = getelementptr inbounds %"struct.boost::detail::multi_array::index_gen", %"struct.boost::detail::multi_array::index_gen"* %0, i64 0, i32 0
call void @_ZN5boost5arrayINS_6detail11multi_array11index_rangeIlmEELm1EEC2Ev(%"class.boost::array.0"* nonnull dereferenceable(32) %2)
ret void
}
; Function Attrs: norecurse noreturn nounwind readnone uwtable willreturn mustprogress
define dso_local void @_ZN5boost15throw_exceptionERKSt9exception(%"class.std::exception"* nocapture nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #4 {
unreachable
}
; Function Attrs: nounwind uwtable mustprogress
define dso_local void @_Z6lorenzRKN5boost5arrayIdLm1EEERS1_d(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, double %2) #5 {
%4 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 0)
%5 = load double, double* %4, align 8, !tbaa !6
%6 = fmul fast double %5, -1.200000e+00
%7 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %1, i64 0)
store double %6, double* %7, align 8, !tbaa !6
ret void
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #6
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 %1) local_unnamed_addr #5 comdat align 2 {
%3 = icmp eq i64 %1, 0
br i1 %3, label %5, label %4
4: ; preds = %2
call void @__assert_fail(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.9, i64 0, i64 0), i32 123, i8* getelementptr inbounds ([117 x i8], [117 x i8]* @__PRETTY_FUNCTION__._ZNK5boost5arrayIdLm1EEixEm, i64 0, i64 0)) #22
unreachable
5: ; preds = %2
%6 = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %0, i64 0, i32 0, i64 0
ret double* %6
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 %1) local_unnamed_addr #5 comdat align 2 {
%3 = icmp eq i64 %1, 0
br i1 %3, label %5, label %4
4: ; preds = %2
call void @__assert_fail(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.9, i64 0, i64 0), i32 118, i8* getelementptr inbounds ([105 x i8], [105 x i8]* @__PRETTY_FUNCTION__._ZN5boost5arrayIdLm1EEixEm, i64 0, i64 0)) #22
unreachable
5: ; preds = %2
%6 = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %0, i64 0, i32 0, i64 0
ret double* %6
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #6
; Function Attrs: nounwind uwtable mustprogress
define dso_local double @_Z6foobard(double %0) #5 {
%2 = alloca %"class.boost::array.1", align 8
%3 = alloca %"class.boost::numeric::odeint::controlled_runge_kutta", align 8
%4 = alloca %"class.boost::numeric::odeint::default_error_checker", align 8
%5 = alloca %"class.boost::numeric::odeint::default_step_adjuster", align 8
%6 = alloca %"class.boost::numeric::odeint::runge_kutta_dopri5", align 8
%7 = alloca %"struct.boost::numeric::odeint::array_algebra", align 1
%8 = bitcast %"class.boost::array.1"* %2 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %8) #3
%9 = bitcast %"class.boost::array.1"* %2 to i64*
store i64 4607182418800017408, i64* %9, align 8
%10 = bitcast %"class.boost::numeric::odeint::default_error_checker"* %4 to i8*
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %10) #3
call void @_ZN5boost7numeric6odeint21default_error_checkerIdNS1_13array_algebraENS1_18default_operationsEEC2Edddd(%"class.boost::numeric::odeint::default_error_checker"* nonnull dereferenceable(32) %4, double 0x3EB0C6F7A0B5ED8D, double 0x3EB0C6F7A0B5ED8D, double 1.000000e+00, double 1.000000e+00)
%11 = bitcast %"class.boost::numeric::odeint::default_step_adjuster"* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %11) #3
call void @_ZN5boost7numeric6odeint21default_step_adjusterIddEC2Ed(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %5, double 0.000000e+00)
%12 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %6, i64 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 80, i8* nonnull %12) #3
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::array_algebra", %"struct.boost::numeric::odeint::array_algebra"* %7, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %13) #3
call void @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEC2ERKS5_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %6, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %7)
call void @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEEC2ERKSB_RKSD_RKS9_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %3, %"class.boost::numeric::odeint::default_error_checker"* nonnull align 8 dereferenceable(32) %4, %"class.boost::numeric::odeint::default_step_adjuster"* nonnull align 8 dereferenceable(8) %5, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %6)
%14 = fmul fast double %0, 1.000000e-02
%15 = call i64 @_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dEEmT_T0_RT1_T2_SQ_SQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %3, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* nonnull @_Z6lorenzRKN5boost5arrayIdLm1EEERS1_d, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double 0.000000e+00, double %0, double %14)
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %13) #3
call void @llvm.lifetime.end.p0i8(i64 80, i8* nonnull %12) #3
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %11) #3
call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %10) #3
%16 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %2, i64 0)
%17 = load double, double* %16, align 8, !tbaa !6
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %8) #3
ret double %17
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #6
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i64 @_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dEEmT_T0_RT1_T2_SQ_SQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5) local_unnamed_addr #5 comdat {
%7 = alloca %"class.boost::numeric::odeint::controlled_runge_kutta", align 8
%8 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %7, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%9 = getelementptr %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %8, i8* nonnull align 8 dereferenceable(168) %9, i64 168, i1 false), !tbaa !10
%10 = call i64 @_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dNS1_13null_observerEEEmT_T0_RT1_T2_SR_SR_T3_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %7, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 undef)
ret i64 %10
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint21default_error_checkerIdNS1_13array_algebraENS1_18default_operationsEEC2Edddd(%"class.boost::numeric::odeint::default_error_checker"* nonnull dereferenceable(32) %0, double %1, double %2, double %3, double %4) unnamed_addr #7 comdat align 2 {
%6 = getelementptr inbounds %"class.boost::numeric::odeint::default_error_checker", %"class.boost::numeric::odeint::default_error_checker"* %0, i64 0, i32 0
store double %1, double* %6, align 8, !tbaa !19
%7 = getelementptr inbounds %"class.boost::numeric::odeint::default_error_checker", %"class.boost::numeric::odeint::default_error_checker"* %0, i64 0, i32 1
store double %2, double* %7, align 8, !tbaa !20
%8 = getelementptr inbounds %"class.boost::numeric::odeint::default_error_checker", %"class.boost::numeric::odeint::default_error_checker"* %0, i64 0, i32 2
store double %3, double* %8, align 8, !tbaa !21
%9 = getelementptr inbounds %"class.boost::numeric::odeint::default_error_checker", %"class.boost::numeric::odeint::default_error_checker"* %0, i64 0, i32 3
store double %4, double* %9, align 8, !tbaa !22
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint21default_step_adjusterIddEC2Ed(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %0, double %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::default_step_adjuster", %"class.boost::numeric::odeint::default_step_adjuster"* %0, i64 0, i32 0
store double %1, double* %3, align 8, !tbaa !23
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEC2ERKS5_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %0, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 0
call void @_ZN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_EC2ERKS6_(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %3, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %1)
%4 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 8
call void @_ZN5boost7numeric6odeint17initially_resizerC2Ev(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %4)
%5 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 9
call void @_ZN5boost7numeric6odeint17initially_resizerC2Ev(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %5)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEEC2ERKSB_RKSD_RKS9_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, %"class.boost::numeric::odeint::default_error_checker"* nonnull align 8 dereferenceable(32) %1, %"class.boost::numeric::odeint::default_step_adjuster"* nonnull align 8 dereferenceable(8) %2, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %3) unnamed_addr #7 comdat align 2 {
%5 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%6 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %3, i64 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(80) %5, i8* nonnull align 8 dereferenceable(80) %6, i64 80, i1 false), !tbaa !24
%7 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 1
%8 = bitcast %"class.boost::numeric::odeint::default_error_checker"* %7 to i8*
%9 = bitcast %"class.boost::numeric::odeint::default_error_checker"* %1 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(32) %8, i8* nonnull align 8 dereferenceable(32) %9, i64 32, i1 false), !tbaa !25, !tbaa.struct !26
%10 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 2
%11 = bitcast %"class.boost::numeric::odeint::default_step_adjuster"* %2 to i64*
%12 = bitcast %"class.boost::numeric::odeint::default_step_adjuster"* %10 to i64*
%13 = load i64, i64* %11, align 8, !tbaa !27
store i64 %13, i64* %12, align 8, !tbaa !27
%14 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 3
call void @_ZN5boost7numeric6odeint17initially_resizerC2Ev(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %14)
%15 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 4
call void @_ZN5boost7numeric6odeint17initially_resizerC2Ev(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %15)
%16 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 5
call void @_ZN5boost7numeric6odeint17initially_resizerC2Ev(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %16)
%17 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 6
call void @_ZN5boost7numeric6odeint17initially_resizerC2Ev(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %17)
%18 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 12
store i8 1, i8* %18, align 8, !tbaa !28
ret void
}
; Function Attrs: norecurse nounwind uwtable mustprogress
define dso_local i32 @main(i32 %0, i8** nocapture readnone %1) local_unnamed_addr #8 {
%3 = alloca double, align 8
%4 = alloca double, align 8
%5 = alloca double, align 8
%6 = alloca double, align 8
%7 = bitcast double* %3 to i8*
%8 = bitcast double* %4 to i8*
br label %13
9: ; preds = %13
%10 = add nuw nsw i32 %14, 1
%11 = icmp eq i32 %10, 101
br i1 %11, label %12, label %13, !llvm.loop !29
12: ; preds = %9
ret i32 0
13: ; preds = %9, %2
%14 = phi i32 [ 1, %2 ], [ %10, %9 ]
%15 = sitofp i32 %14 to double
%16 = fmul fast double %15, 1.000000e-01
%17 = call fast double @__enzyme_autodiff(i8* bitcast (double (double)* @_Z6foobard to i8*), double %16) #3
%18 = fmul fast double %15, -1.200000e-01
%19 = call fast double @llvm.exp.f64(double %18)
%20 = fmul fast double %19, -1.200000e+00
%21 = call i32 (i8*, ...) @printf(i8* nonnull dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @.str, i64 0, i64 0), double %16, double %17, double %20)
%22 = fsub fast double %17, %20
%23 = call fast double @llvm.fabs.f64(double %22)
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %7) #3
%24 = call fast double @llvm.fabs.f64(double %20)
%25 = fmul fast double %24, 1.000000e-01
store double %25, double* %3, align 8, !tbaa !6
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %8) #3
store double 2.000000e-05, double* %4, align 8, !tbaa !6
%26 = call nonnull align 8 dereferenceable(8) double* @_ZSt3maxIdERKT_S2_S2_(double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4)
%27 = load double, double* %26, align 8, !tbaa !6
%28 = fcmp fast ogt double %23, %27
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %8) #3
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %7) #3
br i1 %28, label %29, label %9
29: ; preds = %13
%30 = load %struct._IO_FILE*, %struct._IO_FILE** @stderr, align 8, !tbaa !32
%31 = bitcast double* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %31) #3
store double %25, double* %5, align 8, !tbaa !6
%32 = bitcast double* %6 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %32) #3
store double 2.000000e-05, double* %6, align 8, !tbaa !6
%33 = call nonnull align 8 dereferenceable(8) double* @_ZSt3maxIdERKT_S2_S2_(double* nonnull align 8 dereferenceable(8) %5, double* nonnull align 8 dereferenceable(8) %6)
%34 = load double, double* %33, align 8, !tbaa !6
%35 = call i32 (%struct._IO_FILE*, i8*, ...) @fprintf(%struct._IO_FILE* %30, i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), double %17, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.5, i64 0, i64 0), double %20, double %34, i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.6, i64 0, i64 0), i32 65, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @__PRETTY_FUNCTION__.main, i64 0, i64 0)) #23
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %32) #3
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %31) #3
call void @abort() #22
unreachable
}
declare dso_local double @__enzyme_autodiff(i8*, double) local_unnamed_addr #1
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare double @llvm.exp.f64(double) #9
; Function Attrs: nofree nounwind
declare dso_local noundef i32 @printf(i8* nocapture noundef readonly, ...) local_unnamed_addr #10
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare double @llvm.fabs.f64(double) #9
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) double* @_ZSt3maxIdERKT_S2_S2_(double* nonnull align 8 dereferenceable(8) %0, double* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #11 comdat {
%3 = load double, double* %0, align 8, !tbaa !6
%4 = load double, double* %1, align 8, !tbaa !6
%5 = fcmp fast olt double %3, %4
%6 = select i1 %5, double* %1, double* %0
ret double* %6
}
; Function Attrs: nofree nounwind
declare dso_local noundef i32 @fprintf(%struct._IO_FILE* nocapture noundef, i8* nocapture noundef readonly, ...) local_unnamed_addr #10
; Function Attrs: noreturn nounwind
declare dso_local void @abort() local_unnamed_addr #12
; Function Attrs: inlinehint nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost5arrayINS_6detail11multi_array12extent_rangeIlmEELm1EEC2Ev(%"class.boost::array"* nonnull dereferenceable(16) %0) unnamed_addr #13 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::array", %"class.boost::array"* %0, i64 0, i32 0, i64 0
call void @_ZN5boost6detail11multi_array12extent_rangeIlmEC2Ev(%"class.boost::detail::multi_array::extent_range"* nonnull dereferenceable(16) %2)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost6detail11multi_array12extent_rangeIlmEC2Ev(%"class.boost::detail::multi_array::extent_range"* nonnull dereferenceable(16) %0) unnamed_addr #7 comdat align 2 {
%2 = alloca i32, align 4
%3 = alloca i32, align 4
%4 = getelementptr inbounds %"class.boost::detail::multi_array::extent_range", %"class.boost::detail::multi_array::extent_range"* %0, i64 0, i32 0
%5 = bitcast i32* %2 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %5) #3
store i32 0, i32* %2, align 4, !tbaa !34
%6 = bitcast i32* %3 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %6) #3
store i32 0, i32* %3, align 4, !tbaa !34
call void @_ZNSt4pairIllEC2IiiLb1EEEOT_OT0_(%"struct.std::pair"* nonnull dereferenceable(16) %4, i32* nonnull align 4 dereferenceable(4) %2, i32* nonnull align 4 dereferenceable(4) %3)
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %6) #3
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %5) #3
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt4pairIllEC2IiiLb1EEEOT_OT0_(%"struct.std::pair"* nonnull dereferenceable(16) %0, i32* nonnull align 4 dereferenceable(4) %1, i32* nonnull align 4 dereferenceable(4) %2) unnamed_addr #7 comdat align 2 {
%4 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %0, i64 0, i32 0
%5 = call nonnull align 4 dereferenceable(4) i32* @_ZSt7forwardIiEOT_RNSt16remove_referenceIS0_E4typeE(i32* nonnull align 4 dereferenceable(4) %1) #3
%6 = load i32, i32* %5, align 4, !tbaa !34
%7 = sext i32 %6 to i64
store i64 %7, i64* %4, align 8, !tbaa !36
%8 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %0, i64 0, i32 1
%9 = call nonnull align 4 dereferenceable(4) i32* @_ZSt7forwardIiEOT_RNSt16remove_referenceIS0_E4typeE(i32* nonnull align 4 dereferenceable(4) %2) #3
%10 = load i32, i32* %9, align 4, !tbaa !34
%11 = sext i32 %10 to i64
store i64 %11, i64* %8, align 8, !tbaa !39
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 4 dereferenceable(4) i32* @_ZSt7forwardIiEOT_RNSt16remove_referenceIS0_E4typeE(i32* nonnull align 4 dereferenceable(4) %0) local_unnamed_addr #14 comdat {
ret i32* %0
}
; Function Attrs: inlinehint nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost5arrayINS_6detail11multi_array11index_rangeIlmEELm1EEC2Ev(%"class.boost::array.0"* nonnull dereferenceable(32) %0) unnamed_addr #13 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::array.0", %"class.boost::array.0"* %0, i64 0, i32 0, i64 0
call void @_ZN5boost6detail11multi_array11index_rangeIlmEC2Ev(%"class.boost::detail::multi_array::index_range"* nonnull dereferenceable(25) %2)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost6detail11multi_array11index_rangeIlmEC2Ev(%"class.boost::detail::multi_array::index_range"* nonnull dereferenceable(25) %0) unnamed_addr #7 comdat align 2 {
%2 = call i64 @_ZN5boost6detail11multi_array11index_rangeIlmE10from_startEv()
%3 = getelementptr inbounds %"class.boost::detail::multi_array::index_range", %"class.boost::detail::multi_array::index_range"* %0, i64 0, i32 0
store i64 %2, i64* %3, align 8, !tbaa !40
%4 = call i64 @_ZN5boost6detail11multi_array11index_rangeIlmE6to_endEv()
%5 = getelementptr inbounds %"class.boost::detail::multi_array::index_range", %"class.boost::detail::multi_array::index_range"* %0, i64 0, i32 1
store i64 %4, i64* %5, align 8, !tbaa !42
%6 = getelementptr inbounds %"class.boost::detail::multi_array::index_range", %"class.boost::detail::multi_array::index_range"* %0, i64 0, i32 2
store i64 1, i64* %6, align 8, !tbaa !43
%7 = getelementptr inbounds %"class.boost::detail::multi_array::index_range", %"class.boost::detail::multi_array::index_range"* %0, i64 0, i32 3
store i8 0, i8* %7, align 8, !tbaa !44
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i64 @_ZN5boost6detail11multi_array11index_rangeIlmE10from_startEv() local_unnamed_addr #14 comdat align 2 {
%1 = call i64 @_ZNSt14numeric_limitsIlE3minEv() #3
ret i64 %1
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i64 @_ZN5boost6detail11multi_array11index_rangeIlmE6to_endEv() local_unnamed_addr #14 comdat align 2 {
%1 = call i64 @_ZNSt14numeric_limitsIlE3maxEv() #3
ret i64 %1
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i64 @_ZNSt14numeric_limitsIlE3minEv() local_unnamed_addr #14 comdat align 2 {
ret i64 -9223372036854775808
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i64 @_ZNSt14numeric_limitsIlE3maxEv() local_unnamed_addr #14 comdat align 2 {
ret i64 9223372036854775807
}
; Function Attrs: noreturn nounwind
declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) local_unnamed_addr #12
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_EC2ERKS6_(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %0, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base", %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* %0, i64 0, i32 0
call void @_ZN5boost7numeric6odeint20algebra_stepper_baseINS1_13array_algebraENS1_18default_operationsEEC2ERKS3_(%"class.boost::numeric::odeint::algebra_stepper_base"* nonnull dereferenceable(1) %3, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %1)
%4 = getelementptr inbounds %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base", %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* %0, i64 0, i32 1
call void @_ZN5boost7numeric6odeint17initially_resizerC2Ev(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %4)
%5 = getelementptr inbounds %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base", %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* %0, i64 0, i32 2
store i8 1, i8* %5, align 2, !tbaa !45
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint17initially_resizerC2Ev(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %0) unnamed_addr #7 comdat align 2 {
%2 = getelementptr inbounds %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer"* %0, i64 0, i32 0
store i8 0, i8* %2, align 1, !tbaa !47
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint20algebra_stepper_baseINS1_13array_algebraENS1_18default_operationsEEC2ERKS3_(%"class.boost::numeric::odeint::algebra_stepper_base"* nonnull dereferenceable(1) %0, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %1) unnamed_addr #7 comdat align 2 {
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i64 @_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dNS1_13null_observerEEEmT_T0_RT1_T2_SR_SR_T3_(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 %6) local_unnamed_addr #5 comdat {
%8 = alloca %"class.boost::numeric::odeint::controlled_runge_kutta", align 8
%9 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %8, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%10 = getelementptr %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %9, i8* nonnull align 8 dereferenceable(168) %10, i64 168, i1 false), !tbaa !10
%11 = call i64 @_ZN5boost7numeric6odeint6detail15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_T2_SS_SS_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %8, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 undef, i8 undef)
ret i64 %11
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i64 @_ZN5boost7numeric6odeint6detail15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_T2_SS_SS_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 %6, i8 %7) local_unnamed_addr #5 comdat {
%9 = alloca %"struct.boost::numeric::odeint::null_observer", align 4
%10 = alloca double, align 8
%11 = alloca double, align 8
%12 = alloca %"class.boost::numeric::odeint::controlled_runge_kutta", align 8
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::null_observer", %"struct.boost::numeric::odeint::null_observer"* %9, i64 0, i32 0
store i8 %6, i8* %13, align 4
store double %5, double* %10, align 8, !tbaa !6
%14 = bitcast double* %11 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %14) #3
store double %3, double* %11, align 8, !tbaa !6
%15 = fadd fast double %3, %5
%16 = call i1 @_ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %15, double %4, double %5)
br i1 %16, label %17, label %37
17: ; preds = %8
%18 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %12, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%19 = getelementptr %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
br label %20
20: ; preds = %20, %17
%21 = phi i64 [ 0, %17 ], [ %33, %20 ]
%22 = phi i32 [ 0, %17 ], [ %28, %20 ]
%23 = load double, double* %11, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %9, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %23)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %18, i8* nonnull align 8 dereferenceable(168) %19, i64 168, i1 false), !tbaa !10
%24 = load double, double* %11, align 8, !tbaa !6
%25 = fadd fast double %24, %5
%26 = call i64 @_ZN5boost7numeric6odeint6detail18integrate_adaptiveINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_RT2_SS_ST_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %12, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %11, double %25, double* nonnull align 8 dereferenceable(8) %10, i8 undef, i8 undef)
%27 = add i64 %26, %21
%28 = add nuw nsw i32 %22, 1
%29 = sitofp i32 %28 to double
%30 = fmul fast double %29, %5
%31 = fadd fast double %30, %3
%32 = shl i64 %27, 32
%33 = ashr exact i64 %32, 32
store double %31, double* %11, align 8, !tbaa !6
%34 = fadd fast double %31, %5
%35 = load double, double* %10, align 8, !tbaa !6
%36 = call i1 @_ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %34, double %4, double %35)
br i1 %36, label %20, label %37, !llvm.loop !48
37: ; preds = %20, %8
%38 = phi i64 [ 0, %8 ], [ %33, %20 ]
%39 = load double, double* %11, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %9, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %39)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %14) #3
ret i64 %38
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %0, double %1, double %2) local_unnamed_addr #14 comdat {
%4 = alloca double, align 8
store double %2, double* %4, align 8, !tbaa !6
%5 = call fast double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %4)
%6 = fcmp fast ogt double %5, 0.000000e+00
%7 = fsub fast double %1, %0
%8 = fsub fast double %0, %1
%9 = select i1 %6, double %8, double %7
%10 = call fast double @_ZNSt14numeric_limitsIdE7epsilonEv() #3
%11 = fcmp fast ole double %9, %10
ret i1 %11
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, double %2) local_unnamed_addr #14 comdat align 2 {
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i64 @_ZN5boost7numeric6odeint6detail18integrate_adaptiveINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_RT2_SS_ST_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double %4, double* nonnull align 8 dereferenceable(8) %5, i8 %6, i8 %7) local_unnamed_addr #5 comdat {
%9 = alloca %"struct.boost::numeric::odeint::null_observer", align 4
%10 = alloca %"class.boost::numeric::odeint::failed_step_checker", align 4
%11 = getelementptr inbounds %"struct.boost::numeric::odeint::null_observer", %"struct.boost::numeric::odeint::null_observer"* %9, i64 0, i32 0
store i8 %6, i8* %11, align 4
%12 = bitcast %"class.boost::numeric::odeint::failed_step_checker"* %10 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %12) #3
call void @_ZN5boost7numeric6odeint19failed_step_checkerC2Ei(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %10, i32 500)
%13 = load double, double* %3, align 8, !tbaa !6
%14 = load double, double* %5, align 8, !tbaa !6
%15 = call i1 @_ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %13, double %4, double %14)
br i1 %15, label %16, label %37
16: ; preds = %8
%17 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %10, i64 0, i32 0
br label %18
18: ; preds = %32, %16
%19 = phi i64 [ 0, %16 ], [ %33, %32 ]
%20 = load double, double* %3, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %9, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %20)
%21 = load double, double* %3, align 8, !tbaa !6
%22 = load double, double* %5, align 8, !tbaa !6
%23 = fadd fast double %22, %21
%24 = call i1 @_ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %4, double %23, double %22)
br i1 %24, label %25, label %28
25: ; preds = %18
%26 = load double, double* %3, align 8, !tbaa !6
%27 = fsub fast double %4, %26
store double %27, double* %5, align 8, !tbaa !6
br label %28
28: ; preds = %25, %18
br label %29
29: ; preds = %29, %28
%30 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %5)
call void @_ZN5boost7numeric6odeint19failed_step_checkerclEv(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %10)
%31 = icmp eq i32 %30, 1
br i1 %31, label %29, label %32, !llvm.loop !49
32: ; preds = %29
call void @_ZN5boost7numeric6odeint16max_step_checker5resetEv(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %17)
%33 = add i64 %19, 1
%34 = load double, double* %3, align 8, !tbaa !6
%35 = load double, double* %5, align 8, !tbaa !6
%36 = call i1 @_ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %34, double %4, double %35)
br i1 %36, label %18, label %37, !llvm.loop !50
37: ; preds = %32, %8
%38 = phi i64 [ 0, %8 ], [ %33, %32 ]
%39 = load double, double* %3, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %9, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %39)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %12) #3
ret i64 %38
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = call fast double @_ZN5boost7numeric6odeint6detail19get_unit_value_implIdvE5valueERKd(double* nonnull align 8 dereferenceable(8) %0)
ret double %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @_ZNSt14numeric_limitsIdE7epsilonEv() local_unnamed_addr #14 comdat align 2 {
ret double 0x3CB0000000000000
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @_ZN5boost7numeric6odeint6detail19get_unit_value_implIdvE5valueERKd(double* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = load double, double* %0, align 8, !tbaa !6
ret double %2
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint19failed_step_checkerC2Ei(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %0, i32 %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %0, i64 0, i32 0
call void @_ZN5boost7numeric6odeint16max_step_checkerC2Ei(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %3, i32 %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %0, double %1, double %2) local_unnamed_addr #14 comdat {
%4 = alloca double, align 8
store double %2, double* %4, align 8, !tbaa !6
%5 = call fast double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %4)
%6 = fcmp fast ogt double %5, 0.000000e+00
%7 = fsub fast double %0, %1
%8 = fsub fast double %1, %0
%9 = select i1 %6, double %8, double %7
%10 = call fast double @_ZNSt14numeric_limitsIdE7epsilonEv() #3
%11 = fcmp fast ogt double %9, %10
ret i1 %11
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4) local_unnamed_addr #5 comdat align 2 {
%6 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE11try_step_v1IPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4)
ret i32 %6
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint19failed_step_checkerclEv(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %0) local_unnamed_addr #5 comdat align 2 {
%2 = alloca [200 x i8], align 1
%3 = alloca %"class.boost::numeric::odeint::step_adjustment_error", align 8
%4 = alloca %"class.std::__cxx11::basic_string", align 8
%5 = alloca %"class.std::allocator", align 1
%6 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %0, i64 0, i32 0, i32 1
%7 = load i32, i32* %6, align 4, !tbaa !51
%8 = add nsw i32 %7, 1
store i32 %8, i32* %6, align 4, !tbaa !51
%9 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %0, i64 0, i32 0, i32 0
%10 = load i32, i32* %9, align 4, !tbaa !53
%11 = icmp slt i32 %7, %10
br i1 %11, label %18, label %12
12: ; preds = %1
%13 = getelementptr inbounds [200 x i8], [200 x i8]* %2, i64 0, i64 0
call void @llvm.lifetime.start.p0i8(i64 200, i8* nonnull %13) #3
%14 = call i32 (i8*, i8*, ...) @sprintf(i8* nonnull %13, i8* nonnull dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @.str.10, i64 0, i64 0), i32 %10) #3
%15 = bitcast %"class.boost::numeric::odeint::step_adjustment_error"* %3 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %15) #3
%16 = bitcast %"class.std::__cxx11::basic_string"* %4 to i8*
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %16) #3
%17 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %5, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %17) #3
call void @_ZNSaIcEC2Ev(%"class.std::allocator"* nonnull dereferenceable(1) %5) #3
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %4, i8* nonnull %13, %"class.std::allocator"* nonnull align 1 dereferenceable(1) %5)
call void @_ZN5boost7numeric6odeint21step_adjustment_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull dereferenceable(16) %3, %"class.std::__cxx11::basic_string"* nonnull align 8 dereferenceable(32) %4)
call void @_ZN5boost16exception_detail16throw_exception_INS_7numeric6odeint21step_adjustment_errorEEEvRKT_PKcS9_i(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %3, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @__PRETTY_FUNCTION__._ZN5boost7numeric6odeint19failed_step_checkerclEv, i64 0, i64 0), i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.11, i64 0, i64 0), i32 105) #24
unreachable
18: ; preds = %1
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint16max_step_checker5resetEv(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::numeric::odeint::max_step_checker", %"class.boost::numeric::odeint::max_step_checker"* %0, i64 0, i32 1
store i32 0, i32* %2, align 4, !tbaa !51
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint16max_step_checkerC2Ei(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %0, i32 %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::max_step_checker", %"class.boost::numeric::odeint::max_step_checker"* %0, i64 0, i32 0
store i32 %1, i32* %3, align 4, !tbaa !53
call void @_ZN5boost7numeric6odeint16max_step_checker5resetEv(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %0)
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE11try_step_v1IPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4) local_unnamed_addr #5 comdat align 2 {
%6 = alloca %"class.std::_Bind", align 8
%7 = alloca { i64, i64 }, align 8
%8 = alloca %"class.std::reference_wrapper", align 8
%9 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 3
%10 = bitcast { i64, i64 }* %7 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %10) #3
%11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %7, i64 0, i32 0
store i64 ptrtoint (i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_dxdt_implIS5_EEbRKT_ to i64), i64* %11, align 8, !tbaa !54
%12 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %7, i64 0, i32 1
store i64 0, i64* %12, align 8, !tbaa !55
%13 = bitcast %"class.std::reference_wrapper"* %8 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %13) #3
%14 = call i64 @_ZSt3refIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEESt17reference_wrapperIT_ERSI_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) #3
%15 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %8, i64 0, i32 0
%16 = inttoptr i64 %14 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %16, %"class.boost::numeric::odeint::controlled_runge_kutta"** %15, align 8
call void @_ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_(%"class.std::_Bind"* nonnull sret(%"class.std::_Bind") align 8 %6, { i64, i64 }* nonnull align 8 dereferenceable(16) %7, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %8, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E)
%17 = call i1 @_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %9, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.std::_Bind"* nonnull %6)
br i1 %17, label %22, label %18
18: ; preds = %5
%19 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 12
%20 = load i8, i8* %19, align 8, !tbaa !28, !range !56
%21 = icmp eq i8 %20, 0
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %13) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %10) #3
br i1 %21, label %25, label %23
22: ; preds = %5
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %13) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %10) #3
br label %23
23: ; preds = %22, %18
%24 = load double, double* %3, align 8, !tbaa !6
call void @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE10initializeIPFvRKS5_RS5_dES5_EEvT_RKT0_d(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %24)
br label %25
25: ; preds = %23, %18
%26 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 8, i32 0
%27 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_S5_EENS1_22controlled_step_resultET_RT0_RT1_RdSS_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %26, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4)
ret i32 %27
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.std::_Bind"* %2) local_unnamed_addr #5 comdat align 2 {
%4 = getelementptr inbounds %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer"* %0, i64 0, i32 0
%5 = load i8, i8* %4, align 1, !tbaa !47, !range !56
%6 = icmp eq i8 %5, 0
br i1 %6, label %7, label %9
7: ; preds = %3
store i8 1, i8* %4, align 1, !tbaa !47
%8 = call i1 @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEclIJSI_EbEET0_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
br label %9
9: ; preds = %7, %3
%10 = phi i1 [ %8, %7 ], [ false, %3 ]
ret i1 %10
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_(%"class.std::_Bind"* noalias sret(%"class.std::_Bind") align 8 %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) local_unnamed_addr #11 comdat {
%5 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISL_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %1) #3
%6 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2) #3
%7 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) #3
call void @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEC2IJSM_RKSO_EEEOSK_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %5, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %6, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %7)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_dxdt_implIS5_EEbRKT_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #14 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 8
%4 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
ret i1 %4
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i64 @_ZSt3refIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEESt17reference_wrapperIT_ERSI_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) local_unnamed_addr #11 comdat {
%2 = alloca %"class.std::reference_wrapper", align 8
call void @_ZNSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEC2IRSG_vPSG_EEOT_(%"class.std::reference_wrapper"* nonnull dereferenceable(8) %2, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) #3
%3 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %2, i64 0, i32 0
%4 = load %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"** %3, align 8
%5 = ptrtoint %"class.boost::numeric::odeint::controlled_runge_kutta"* %4 to i64
ret i64 %5
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE10initializeIPFvRKS5_RS5_dES5_EEvT_RKT0_d(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3) local_unnamed_addr #5 comdat align 2 {
%5 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 8, i32 0
call void %1(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, double %3) #3
%6 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 12
store i8 0, i8* %6, align 8, !tbaa !28
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_S5_EENS1_22controlled_step_resultET_RT0_RT1_RdSS_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4, double* nonnull align 8 dereferenceable(8) %5) local_unnamed_addr #5 comdat align 2 {
%7 = alloca %"class.std::_Bind", align 8
%8 = alloca { i64, i64 }, align 8
%9 = alloca %"class.std::reference_wrapper", align 8
%10 = alloca %"class.std::_Bind", align 8
%11 = alloca { i64, i64 }, align 8
%12 = alloca %"class.std::reference_wrapper", align 8
%13 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 5
%14 = bitcast { i64, i64 }* %8 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %14) #3
%15 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %8, i64 0, i32 0
store i64 ptrtoint (i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_xnew_implIS5_EEbRKT_ to i64), i64* %15, align 8, !tbaa !54
%16 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %8, i64 0, i32 1
store i64 0, i64* %16, align 8, !tbaa !55
%17 = bitcast %"class.std::reference_wrapper"* %9 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %17) #3
%18 = call i64 @_ZSt3refIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEESt17reference_wrapperIT_ERSI_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) #3
%19 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %9, i64 0, i32 0
%20 = inttoptr i64 %18 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %20, %"class.boost::numeric::odeint::controlled_runge_kutta"** %19, align 8
call void @_ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_(%"class.std::_Bind"* nonnull sret(%"class.std::_Bind") align 8 %7, { i64, i64 }* nonnull align 8 dereferenceable(16) %8, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %9, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E)
%21 = call i1 @_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %13, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.std::_Bind"* nonnull %7)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %17) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %14) #3
%22 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 6
%23 = bitcast { i64, i64 }* %11 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %23) #3
%24 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %11, i64 0, i32 0
store i64 ptrtoint (i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE22resize_m_dxdt_new_implIS5_EEbRKT_ to i64), i64* %24, align 8, !tbaa !54
%25 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %11, i64 0, i32 1
store i64 0, i64* %25, align 8, !tbaa !55
%26 = bitcast %"class.std::reference_wrapper"* %12 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %26) #3
%27 = call i64 @_ZSt3refIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEESt17reference_wrapperIT_ERSI_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) #3
%28 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %12, i64 0, i32 0
%29 = inttoptr i64 %27 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %29, %"class.boost::numeric::odeint::controlled_runge_kutta"** %28, align 8
call void @_ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_(%"class.std::_Bind"* nonnull sret(%"class.std::_Bind") align 8 %10, { i64, i64 }* nonnull align 8 dereferenceable(16) %11, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %12, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E)
%30 = call i1 @_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %22, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.std::_Bind"* nonnull %10)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %26) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %23) #3
%31 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 10, i32 0
%32 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 11, i32 0
%33 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_S5_S5_S5_EENS1_22controlled_step_resultET_RKT0_RKT1_RdRT2_RT3_SU_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %31, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %32, double* nonnull align 8 dereferenceable(8) %5)
%34 = icmp eq i32 %33, 0
br i1 %34, label %35, label %36
35: ; preds = %6
call void @_ZN5boost7numeric6odeint4copyINS_5arrayIdLm1EEES4_EEvRKT_RT0_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %31, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2)
call void @_ZN5boost7numeric6odeint4copyINS_5arrayIdLm1EEES4_EEvRKT_RT0_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %32, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3)
br label %36
36: ; preds = %35, %6
ret i32 %33
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEclIJSI_EbEET0_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #5 comdat align 2 {
%3 = alloca %"class.std::tuple.6", align 8
%4 = bitcast %"class.std::tuple.6"* %3 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %4) #3
%5 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #3
call void @_ZSt16forward_as_tupleIJRKN5boost5arrayIdLm1EEEEESt5tupleIJDpOT_EES8_(%"class.std::tuple.6"* nonnull sret(%"class.std::tuple.6") align 8 %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5) #3
%6 = call i1 @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEE6__callIbJSI_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE(%"class.std::_Bind"* nonnull dereferenceable(24) %0, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %3, i8 undef)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %4) #3
ret i1 %6
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEE6__callIbJSI_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE(%"class.std::_Bind"* nonnull dereferenceable(24) %0, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1, i8 %2) local_unnamed_addr #5 comdat align 2 {
%4 = alloca %"class.std::_Mu", align 1
%5 = alloca %"class.std::_Mu.9", align 1
%6 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0
%7 = getelementptr inbounds %"class.std::_Mu", %"class.std::_Mu"* %4, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %7) #3
%8 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 1
%9 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %8) #3
%10 = call nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0ELb0EEclISI_St5tupleIJRKS7_EEEERSH_RT_RT0_(%"class.std::_Mu"* nonnull dereferenceable(1) %4, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %9, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1)
%11 = getelementptr inbounds %"class.std::_Mu.9", %"class.std::_Mu.9"* %5, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %11) #3
%12 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %8) #3
%13 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNVKSt3_MuISt12_PlaceholderILi1EELb0ELb1EEclISt5tupleIJRKN5boost5arrayIdLm1EEEEEEEONSt9enable_ifIXltLm0Esr10tuple_sizeIT_EE5valueESt13tuple_elementILm0ESC_EE4type4typeERVKS1_RSC_(%"class.std::_Mu.9"* nonnull dereferenceable(1) %5, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %12, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1)
%14 = call i1 @_ZSt8__invokeIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJRSG_SI_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSO_DpOSP_({ i64, i64 }* nonnull align 8 dereferenceable(16) %6, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %10, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %13)
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %11) #3
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %7) #3
ret i1 %14
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZSt16forward_as_tupleIJRKN5boost5arrayIdLm1EEEEESt5tupleIJDpOT_EES8_(%"class.std::tuple.6"* noalias sret(%"class.std::tuple.6") align 8 %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #14 comdat {
%3 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #3
call void @_ZNSt5tupleIJRKN5boost5arrayIdLm1EEEEEC2IvLb1EEES4_(%"class.std::tuple.6"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
ret %"class.boost::array.1"* %0
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZSt8__invokeIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJRSG_SI_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSO_DpOSP_({ i64, i64 }* nonnull align 8 dereferenceable(16) %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2) local_unnamed_addr #5 comdat {
%4 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISM_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) #3
%5 = call nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZSt7forwardIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEOT_RNSt16remove_referenceISI_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %1) #3
%6 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2) #3
%7 = call i1 @_ZSt13__invoke_implIbRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ERSG_JSI_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_(i8 undef, { i64, i64 }* nonnull align 8 dereferenceable(16) %4, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6)
ret i1 %7
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0ELb0EEclISI_St5tupleIJRKS7_EEEERSH_RT_RT0_(%"class.std::_Mu"* nonnull dereferenceable(1) %0, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %2) local_unnamed_addr #14 comdat align 2 {
%4 = call nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZNKSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE3getEv(%"class.std::reference_wrapper"* nonnull dereferenceable(8) %1) #3
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %4
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSL_DpT1_EE(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.std::reference_wrapper"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNVKSt3_MuISt12_PlaceholderILi1EELb0ELb1EEclISt5tupleIJRKN5boost5arrayIdLm1EEEEEEEONSt9enable_ifIXltLm0Esr10tuple_sizeIT_EE5valueESt13tuple_elementILm0ESC_EE4type4typeERVKS1_RSC_(%"class.std::_Mu.9"* nonnull dereferenceable(1) %0, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %2) local_unnamed_addr #14 comdat align 2 {
%4 = call nonnull align 8 dereferenceable(8) %"class.std::tuple.6"* @_ZSt4moveIRSt5tupleIJRKN5boost5arrayIdLm1EEEEEEONSt16remove_referenceIT_E4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %2) #3
%5 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEEONSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %4) #3
ret %"class.boost::array.1"* %5
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = bitcast %"class.std::tuple"* %0 to %"struct.std::_Tuple_impl.2"*
%3 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt12__get_helperILm1ESt12_PlaceholderILi1EEJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %2) #3
ret %"struct.std::_Placeholder"* %3
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZSt13__invoke_implIbRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ERSG_JSI_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_(i8 %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3) local_unnamed_addr #5 comdat {
%5 = call nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZSt8__invfwdIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEESH_EOT0_RNSt16remove_referenceIT_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %2) #3
%6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i64 0, i32 0
%7 = load i64, i64* %6, align 8, !tbaa !54
%8 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i64 0, i32 1
%9 = load i64, i64* %8, align 8, !tbaa !54
%10 = ashr i64 %9, 1
%11 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %5, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%12 = getelementptr inbounds i8, i8* %11, i64 %10
%13 = and i64 %9, 1
%14 = icmp eq i64 %13, 0
br i1 %14, label %21, label %15
15: ; preds = %4
%16 = bitcast i8* %12 to i8**
%17 = load i8*, i8** %16, align 8, !tbaa !57
%18 = getelementptr i8, i8* %17, i64 %7, !nosanitize !59
%19 = bitcast i8* %18 to i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)**, !nosanitize !59
%20 = load i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)** %19, align 8, !nosanitize !59
br label %23
21: ; preds = %4
%22 = inttoptr i64 %7 to i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*
br label %23
23: ; preds = %21, %15
%24 = phi i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* [ %20, %15 ], [ %22, %21 ]
%25 = bitcast i8* %12 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%26 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3) #3
%27 = call i1 %24(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %25, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %26) #3
ret i1 %27
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISM_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) local_unnamed_addr #14 comdat {
ret { i64, i64 }* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZSt7forwardIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEOT_RNSt16remove_referenceISI_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) local_unnamed_addr #14 comdat {
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZSt8__invfwdIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEESH_EOT0_RNSt16remove_referenceIT_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) local_unnamed_addr #14 comdat {
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZNKSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE3getEv(%"class.std::reference_wrapper"* nonnull dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %0, i64 0, i32 0
%3 = load %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"** %2, align 8, !tbaa !60
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSL_DpT1_EE(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEE7_M_headERSL_(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %0) #3
ret %"class.std::reference_wrapper"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEE7_M_headERSL_(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"struct.std::_Tuple_impl", %"struct.std::_Tuple_impl"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EE7_M_headERSJ_(%"struct.std::_Head_base.3"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.std::reference_wrapper"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EE7_M_headERSJ_(%"struct.std::_Head_base.3"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"struct.std::_Head_base.3", %"struct.std::_Head_base.3"* %0, i64 0, i32 0
ret %"class.std::reference_wrapper"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEEONSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0) #3
%3 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.boost::array.1"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::tuple.6"* @_ZSt4moveIRSt5tupleIJRKN5boost5arrayIdLm1EEEEEEONSt16remove_referenceIT_E4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
ret %"class.std::tuple.6"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = getelementptr inbounds %"class.std::tuple.6", %"class.std::tuple.6"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt12__get_helperILm0ERKN5boost5arrayIdLm1EEEJEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.boost::array.1"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt12__get_helperILm0ERKN5boost5arrayIdLm1EEEJEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEE7_M_headERS5_(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %0) #3
ret %"class.boost::array.1"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEE7_M_headERS5_(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"struct.std::_Tuple_impl.7", %"struct.std::_Tuple_impl.7"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EE7_M_headERS5_(%"struct.std::_Head_base.8"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.boost::array.1"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EE7_M_headERS5_(%"struct.std::_Head_base.8"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"struct.std::_Head_base.8", %"struct.std::_Head_base.8"* %0, i64 0, i32 0
%3 = load %"class.boost::array.1"*, %"class.boost::array.1"** %2, align 8, !tbaa !62
ret %"class.boost::array.1"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt12__get_helperILm1ESt12_PlaceholderILi1EEJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #14 comdat {
%2 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEE7_M_headERS2_(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %0) #3
ret %"struct.std::_Placeholder"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEE7_M_headERS2_(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #14 comdat align 2 {
%2 = bitcast %"struct.std::_Tuple_impl.2"* %0 to %"struct.std::_Head_base"*
%3 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EE7_M_headERS2_(%"struct.std::_Head_base"* nonnull align 1 dereferenceable(1) %2) #3
ret %"struct.std::_Placeholder"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EE7_M_headERS2_(%"struct.std::_Head_base"* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #14 comdat align 2 {
%2 = bitcast %"struct.std::_Head_base"* %0 to %"struct.std::_Placeholder"*
ret %"struct.std::_Placeholder"* %2
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt5tupleIJRKN5boost5arrayIdLm1EEEEEC2IvLb1EEES4_(%"class.std::tuple.6"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"class.std::tuple.6", %"class.std::tuple.6"* %0, i64 0, i32 0
call void @_ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEEC2ES4_(%"struct.std::_Tuple_impl.7"* nonnull dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEEC2ES4_(%"struct.std::_Tuple_impl.7"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"struct.std::_Tuple_impl.7", %"struct.std::_Tuple_impl.7"* %0, i64 0, i32 0
call void @_ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EEC2ES4_(%"struct.std::_Head_base.8"* nonnull dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EEC2ES4_(%"struct.std::_Head_base.8"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"struct.std::_Head_base.8", %"struct.std::_Head_base.8"* %0, i64 0, i32 0
store %"class.boost::array.1"* %1, %"class.boost::array.1"** %3, align 8, !tbaa !32
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISL_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) local_unnamed_addr #14 comdat {
ret { i64, i64 }* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
ret %"class.std::reference_wrapper"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #14 comdat {
ret %"struct.std::_Placeholder"* %0
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEC2IJSM_RKSO_EEEOSK_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) unnamed_addr #7 comdat align 2 {
%5 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt4moveIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEONSt16remove_referenceIT_E4typeEOSN_({ i64, i64 }* nonnull align 8 dereferenceable(16) %1) #3
%6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 0
%7 = load i64, i64* %6, align 8, !tbaa !54
%8 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 1
%9 = load i64, i64* %8, align 8, !tbaa !54
%10 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0, i32 0
store i64 %7, i64* %10, align 8, !tbaa !64
%11 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0, i32 1
store i64 %9, i64* %11, align 8, !tbaa !64
%12 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 1
%13 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2) #3
%14 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) #3
call void @_ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_RKSK_Lb1EEEOT_OT0_(%"class.std::tuple"* nonnull dereferenceable(8) %12, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %13, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %14)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt4moveIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEONSt16remove_referenceIT_E4typeEOSN_({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) local_unnamed_addr #14 comdat {
ret { i64, i64 }* %0
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_RKSK_Lb1EEEOT_OT0_(%"class.std::tuple"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) unnamed_addr #7 comdat align 2 {
%4 = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %0, i64 0, i32 0
%5 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1) #3
%6 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) #3
call void @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_JRKSK_EvEEOT_DpOT0_(%"struct.std::_Tuple_impl"* nonnull dereferenceable(8) %4, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %5, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %6)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_JRKSK_EvEEOT_DpOT0_(%"struct.std::_Tuple_impl"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) unnamed_addr #7 comdat align 2 {
%4 = bitcast %"struct.std::_Tuple_impl"* %0 to %"struct.std::_Tuple_impl.2"*
%5 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) #3
call void @_ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEEC2ERKS1_(%"struct.std::_Tuple_impl.2"* nonnull dereferenceable(1) %4, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %5)
%6 = getelementptr inbounds %"struct.std::_Tuple_impl", %"struct.std::_Tuple_impl"* %0, i64 0, i32 0
%7 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1) #3
call void @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EEC2ISI_EEOT_(%"struct.std::_Head_base.3"* nonnull dereferenceable(8) %6, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %7)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEEC2ERKS1_(%"struct.std::_Tuple_impl.2"* nonnull dereferenceable(1) %0, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1) unnamed_addr #7 comdat align 2 {
%3 = bitcast %"struct.std::_Tuple_impl.2"* %0 to %"struct.std::_Head_base"*
call void @_ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EEC2ERKS1_(%"struct.std::_Head_base"* nonnull dereferenceable(1) %3, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EEC2ISI_EEOT_(%"struct.std::_Head_base.3"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1) unnamed_addr #7 comdat align 2 {
%3 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1) #3
%4 = bitcast %"class.std::reference_wrapper"* %3 to i64*
%5 = bitcast %"struct.std::_Head_base.3"* %0 to i64*
%6 = load i64, i64* %4, align 8, !tbaa !67
store i64 %6, i64* %5, align 8, !tbaa !67
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EEC2ERKS1_(%"struct.std::_Head_base"* nonnull dereferenceable(1) %0, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1) unnamed_addr #7 comdat align 2 {
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 %2) local_unnamed_addr #14 comdat {
ret i1 false
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEC2IRSG_vPSG_EEOT_(%"class.std::reference_wrapper"* nonnull dereferenceable(8) %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %0, i64 0, i32 0
%4 = call nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZSt7forwardIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEOT_RNSt16remove_referenceISI_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %1) #3
%5 = call %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZNSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE6_S_funERSG_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %4) #3
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %5, %"class.boost::numeric::odeint::controlled_runge_kutta"** %3, align 8, !tbaa !60
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZNSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE6_S_funERSG_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) local_unnamed_addr #14 comdat align 2 {
%2 = call %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZSt11__addressofIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEPT_RSH_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) #3
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %2
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZSt11__addressofIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEPT_RSH_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) local_unnamed_addr #11 comdat {
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_xnew_implIS5_EEbRKT_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #14 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 10
%4 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
ret i1 %4
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE22resize_m_dxdt_new_implIS5_EEbRKT_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #14 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 11
%4 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
ret i1 %4
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_S5_S5_S5_EENS1_22controlled_step_resultET_RKT0_RKT1_RdRT2_RT3_SU_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, double* nonnull align 8 dereferenceable(8) %7) local_unnamed_addr #5 comdat align 2 {
%9 = alloca %"class.std::_Bind", align 8
%10 = alloca { i64, i64 }, align 8
%11 = alloca %"class.std::reference_wrapper", align 8
%12 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 2
%13 = load double, double* %7, align 8, !tbaa !6
%14 = call i1 @_ZN5boost7numeric6odeint21default_step_adjusterIddE21check_step_size_limitEd(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %12, double %13)
br i1 %14, label %17, label %15
15: ; preds = %8
%16 = call fast double @_ZN5boost7numeric6odeint21default_step_adjusterIddE10get_max_dtEv(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %12)
br label %49
17: ; preds = %8
%18 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 4
%19 = bitcast { i64, i64 }* %10 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %19) #3
%20 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i64 0, i32 0
store i64 ptrtoint (i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_xerr_implIS5_EEbRKT_ to i64), i64* %20, align 8, !tbaa !54
%21 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i64 0, i32 1
store i64 0, i64* %21, align 8, !tbaa !55
%22 = bitcast %"class.std::reference_wrapper"* %11 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %22) #3
%23 = call i64 @_ZSt3refIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEESt17reference_wrapperIT_ERSI_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) #3
%24 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %11, i64 0, i32 0
%25 = inttoptr i64 %23 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %25, %"class.boost::numeric::odeint::controlled_runge_kutta"** %24, align 8
call void @_ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_(%"class.std::_Bind"* nonnull sret(%"class.std::_Bind") align 8 %9, { i64, i64 }* nonnull align 8 dereferenceable(16) %10, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %11, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E)
%26 = call i1 @_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %18, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.std::_Bind"* nonnull %9)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %22) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %19) #3
%27 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0
%28 = load double, double* %4, align 8, !tbaa !6
%29 = load double, double* %7, align 8, !tbaa !6
%30 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 9, i32 0
call void @_ZN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E7do_stepIPFvRKS5_RS5_dES5_S5_S5_S5_S5_EEvT_RKT0_RKT1_dRT2_RT3_dRT4_(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %27, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double %28, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, double %29, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %30)
%31 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 1
%32 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0
%33 = call nonnull align 1 dereferenceable(1) %"struct.boost::numeric::odeint::array_algebra"* @_ZN5boost7numeric6odeint20algebra_stepper_baseINS1_13array_algebraENS1_18default_operationsEE7algebraEv(%"class.boost::numeric::odeint::algebra_stepper_base"* nonnull dereferenceable(1) %32)
%34 = load double, double* %7, align 8, !tbaa !6
%35 = call fast double @_ZNK5boost7numeric6odeint21default_error_checkerIdNS1_13array_algebraENS1_18default_operationsEE5errorINS_5arrayIdLm1EEES8_S8_dEEdRS3_RKT_RKT0_RT1_T2_(%"class.boost::numeric::odeint::default_error_checker"* nonnull dereferenceable(32) %31, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %33, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %30, double %34)
%36 = fcmp fast ogt double %35, 1.000000e+00
%37 = load double, double* %7, align 8, !tbaa !6
br i1 %36, label %38, label %42
38: ; preds = %17
%39 = call i16 @_ZNK5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E11error_orderEv(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %27)
%40 = zext i16 %39 to i32
%41 = call fast double @_ZNK5boost7numeric6odeint21default_step_adjusterIddE13decrease_stepEddi(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %12, double %37, double %35, i32 %40)
br label %49
42: ; preds = %17
%43 = load double, double* %4, align 8, !tbaa !6
%44 = fadd fast double %43, %37
store double %44, double* %4, align 8, !tbaa !6
%45 = load double, double* %7, align 8, !tbaa !6
%46 = call i16 @_ZNK5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E13stepper_orderEv(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %27)
%47 = zext i16 %46 to i32
%48 = call fast double @_ZNK5boost7numeric6odeint21default_step_adjusterIddE13increase_stepEddi(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %12, double %45, double %35, i32 %47)
br label %49
49: ; preds = %42, %38, %15
%50 = phi double [ %16, %15 ], [ %48, %42 ], [ %41, %38 ]
%51 = phi i32 [ 1, %15 ], [ 0, %42 ], [ 1, %38 ]
store double %50, double* %7, align 8, !tbaa !6
ret i32 %51
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint4copyINS_5arrayIdLm1EEES4_EEvRKT_RT0_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #14 comdat {
call void @_ZN5boost7numeric6odeint9copy_implINS_5arrayIdLm1EEES4_E4copyERKS4_RS4_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint21default_step_adjusterIddE21check_step_size_limitEd(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %0, double %1) local_unnamed_addr #14 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::default_step_adjuster", %"class.boost::numeric::odeint::default_step_adjuster"* %0, i64 0, i32 0
%4 = load double, double* %3, align 8, !tbaa !23
%5 = fcmp fast une double %4, 0.000000e+00
br i1 %5, label %6, label %8
6: ; preds = %2
%7 = call i1 @_ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %1, double %4, double %1)
br label %8
8: ; preds = %6, %2
%9 = phi i1 [ %7, %6 ], [ true, %2 ]
ret i1 %9
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @_ZN5boost7numeric6odeint21default_step_adjusterIddE10get_max_dtEv(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::numeric::odeint::default_step_adjuster", %"class.boost::numeric::odeint::default_step_adjuster"* %0, i64 0, i32 0
%3 = load double, double* %2, align 8, !tbaa !23
ret double %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_xerr_implIS5_EEbRKT_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #14 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 9
%4 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
ret i1 %4
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E7do_stepIPFvRKS5_RS5_dES5_S5_S5_S5_S5_EEvT_RKT0_RKT1_dRT2_RT3_dRT4_(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, double %7, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %8) local_unnamed_addr #5 comdat align 2 {
%10 = getelementptr inbounds %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base", %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* %0, i64 0, i32 2
store i8 1, i8* %10, align 2, !tbaa !45
%11 = call nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E7stepperEv(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %0)
call void @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE12do_step_implIPFvRKS4_RS4_dES4_S4_S4_S4_S4_EEvT_RKT0_RKT1_dRT2_RT3_dRT4_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %11, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, double %7, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %8)
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local double @_ZNK5boost7numeric6odeint21default_error_checkerIdNS1_13array_algebraENS1_18default_operationsEE5errorINS_5arrayIdLm1EEES8_S8_dEEdRS3_RKT_RKT0_RT1_T2_(%"class.boost::numeric::odeint::default_error_checker"* nonnull dereferenceable(32) %0, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %4, double %5) local_unnamed_addr #5 comdat align 2 {
%7 = alloca double, align 8
%8 = alloca %"struct.boost::numeric::odeint::default_operations::rel_error", align 8
store double %5, double* %7, align 8, !tbaa !6
%9 = getelementptr inbounds %"class.boost::numeric::odeint::default_error_checker", %"class.boost::numeric::odeint::default_error_checker"* %0, i64 0, i32 0
%10 = load double, double* %9, align 8, !tbaa !19
%11 = getelementptr inbounds %"class.boost::numeric::odeint::default_error_checker", %"class.boost::numeric::odeint::default_error_checker"* %0, i64 0, i32 1
%12 = load double, double* %11, align 8, !tbaa !20
%13 = getelementptr inbounds %"class.boost::numeric::odeint::default_error_checker", %"class.boost::numeric::odeint::default_error_checker"* %0, i64 0, i32 2
%14 = load double, double* %13, align 8, !tbaa !21
%15 = getelementptr inbounds %"class.boost::numeric::odeint::default_error_checker", %"class.boost::numeric::odeint::default_error_checker"* %0, i64 0, i32 3
%16 = load double, double* %15, align 8, !tbaa !22
%17 = call fast double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %7)
%18 = call fast double @_ZSt3absd(double %17)
%19 = fmul fast double %18, %16
call void @_ZN5boost7numeric6odeint18default_operations9rel_errorIdEC2Edddd(%"struct.boost::numeric::odeint::default_operations::rel_error"* nonnull dereferenceable(32) %8, double %10, double %12, double %14, double %19)
%20 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %8, i64 0, i32 0
%21 = load double, double* %20, align 8
%22 = insertvalue [4 x double] undef, double %21, 0
%23 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %8, i64 0, i32 1
%24 = load double, double* %23, align 8
%25 = insertvalue [4 x double] %22, double %24, 1
%26 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %8, i64 0, i32 2
%27 = load double, double* %26, align 8
%28 = insertvalue [4 x double] %25, double %27, 2
%29 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %8, i64 0, i32 3
%30 = load double, double* %29, align 8
%31 = insertvalue [4 x double] %28, double %30, 3
call void @_ZN5boost7numeric6odeint13array_algebra9for_each3INS_5arrayEdLm1ENS1_18default_operations9rel_errorIdEEEEvRT_IT0_XT1_EERKSA_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, [4 x double] %31)
%32 = call fast double @_ZN5boost7numeric6odeint13array_algebra8norm_infINS_5arrayEdLm1EEENS1_16norm_result_typeIT_IT0_XT1_EEvE4typeERKS8_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %4)
ret double %32
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.boost::numeric::odeint::array_algebra"* @_ZN5boost7numeric6odeint20algebra_stepper_baseINS1_13array_algebraENS1_18default_operationsEE7algebraEv(%"class.boost::numeric::odeint::algebra_stepper_base"* nonnull dereferenceable(1) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::numeric::odeint::algebra_stepper_base", %"class.boost::numeric::odeint::algebra_stepper_base"* %0, i64 0, i32 0
ret %"struct.boost::numeric::odeint::array_algebra"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @_ZNK5boost7numeric6odeint21default_step_adjusterIddE13decrease_stepEddi(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %0, double %1, double %2, i32 %3) local_unnamed_addr #14 comdat align 2 {
%5 = alloca double, align 8
%6 = alloca double, align 8
%7 = bitcast double* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %7) #3
%8 = add nsw i32 %3, -1
%9 = sitofp i32 %8 to double
%10 = fdiv fast double -1.000000e+00, %9
%11 = call fast double @llvm.pow.f64(double %2, double %10)
%12 = fmul fast double %11, 9.000000e-01
store double %12, double* %5, align 8, !tbaa !6
%13 = bitcast double* %6 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %13) #3
store double 2.000000e-01, double* %6, align 8, !tbaa !6
%14 = call nonnull align 8 dereferenceable(8) double* @_ZSt3maxIdERKT_S2_S2_(double* nonnull align 8 dereferenceable(8) %5, double* nonnull align 8 dereferenceable(8) %6)
%15 = load double, double* %14, align 8, !tbaa !6
%16 = fmul fast double %15, %1
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %13) #3
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %7) #3
%17 = getelementptr inbounds %"class.boost::numeric::odeint::default_step_adjuster", %"class.boost::numeric::odeint::default_step_adjuster"* %0, i64 0, i32 0
%18 = load double, double* %17, align 8, !tbaa !23
%19 = fcmp fast une double %18, 0.000000e+00
br i1 %19, label %20, label %22
20: ; preds = %4
%21 = call fast double @_ZN5boost7numeric6odeint6detail7min_absIdEET_S4_S4_(double %16, double %18)
br label %22
22: ; preds = %20, %4
%23 = phi double [ %21, %20 ], [ %16, %4 ]
ret double %23
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i16 @_ZNK5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E11error_orderEv(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %0) local_unnamed_addr #14 comdat align 2 {
ret i16 4
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @_ZNK5boost7numeric6odeint21default_step_adjusterIddE13increase_stepEddi(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %0, double %1, double %2, i32 %3) local_unnamed_addr #14 comdat align 2 {
%5 = alloca double, align 8
%6 = alloca double, align 8
store double %2, double* %5, align 8, !tbaa !6
%7 = fcmp fast olt double %2, 5.000000e-01
br i1 %7, label %8, label %24
8: ; preds = %4
%9 = bitcast double* %6 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %9) #3
%10 = sitofp i32 %3 to double
%11 = fmul fast double %10, 0xC002934F0979A371
%12 = call fast double @llvm.exp2.f64(double %11)
store double %12, double* %6, align 8, !tbaa !6
%13 = call nonnull align 8 dereferenceable(8) double* @_ZSt3maxIdERKT_S2_S2_(double* nonnull align 8 dereferenceable(8) %6, double* nonnull align 8 dereferenceable(8) %5)
%14 = load double, double* %13, align 8, !tbaa !6
store double %14, double* %5, align 8, !tbaa !6
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %9) #3
%15 = fdiv fast double -1.000000e+00, %10
%16 = call fast double @llvm.pow.f64(double %14, double %15)
%17 = fmul fast double %1, 9.000000e-01
%18 = fmul fast double %17, %16
%19 = getelementptr inbounds %"class.boost::numeric::odeint::default_step_adjuster", %"class.boost::numeric::odeint::default_step_adjuster"* %0, i64 0, i32 0
%20 = load double, double* %19, align 8, !tbaa !23
%21 = fcmp fast une double %20, 0.000000e+00
br i1 %21, label %22, label %24
22: ; preds = %8
%23 = call fast double @_ZN5boost7numeric6odeint6detail7min_absIdEET_S4_S4_(double %18, double %20)
br label %24
24: ; preds = %22, %8, %4
%25 = phi double [ %23, %22 ], [ %18, %8 ], [ %1, %4 ]
ret double %25
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i16 @_ZNK5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E13stepper_orderEv(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %0) local_unnamed_addr #14 comdat align 2 {
ret i16 5
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_E7stepperEv(%"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* nonnull dereferenceable(16) %0) local_unnamed_addr #14 comdat align 2 {
%2 = bitcast %"class.boost::numeric::odeint::explicit_error_stepper_fsal_base"* %0 to %"class.boost::numeric::odeint::runge_kutta_dopri5"*
ret %"class.boost::numeric::odeint::runge_kutta_dopri5"* %2
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE12do_step_implIPFvRKS4_RS4_dES4_S4_S4_S4_S4_EEvT_RKT0_RKT1_dRT2_RT3_dRT4_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, double %7, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %8) local_unnamed_addr #5 comdat align 2 {
%10 = alloca %"class.std::_Bind.10", align 8
%11 = alloca { i64, i64 }, align 8
%12 = alloca %"class.std::reference_wrapper.16", align 8
%13 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum6", align 8
%14 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum6", align 8
%15 = call i1 @_ZN5boost7numeric6odeint13same_instanceINS_5arrayIdLm1EEES4_EEbRKT_RKT0_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6)
br i1 %15, label %16, label %37
16: ; preds = %9
%17 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 9
%18 = bitcast { i64, i64 }* %11 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %18) #3
%19 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %11, i64 0, i32 0
store i64 ptrtoint (i1 (%"class.boost::numeric::odeint::runge_kutta_dopri5"*, %"class.boost::array.1"*)* @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE20resize_dxdt_tmp_implIS4_EEbRKT_ to i64), i64* %19, align 8, !tbaa !54
%20 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %11, i64 0, i32 1
store i64 0, i64* %20, align 8, !tbaa !55
%21 = bitcast %"class.std::reference_wrapper.16"* %12 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %21) #3
%22 = call i64 @_ZSt3refIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEESt17reference_wrapperIT_ERSB_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %0) #3
%23 = getelementptr inbounds %"class.std::reference_wrapper.16", %"class.std::reference_wrapper.16"* %12, i64 0, i32 0
%24 = inttoptr i64 %22 to %"class.boost::numeric::odeint::runge_kutta_dopri5"*
store %"class.boost::numeric::odeint::runge_kutta_dopri5"* %24, %"class.boost::numeric::odeint::runge_kutta_dopri5"** %23, align 8
call void @_ZSt4bindIMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EJSt17reference_wrapperIS9_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESL_JDpT0_EE4typeEOSL_DpOSM_(%"class.std::_Bind.10"* nonnull sret(%"class.std::_Bind.10") align 8 %10, { i64, i64 }* nonnull align 8 dereferenceable(16) %11, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %12, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E)
%25 = call i1 @_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EEFbRKS5_ESt17reference_wrapperISA_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %17, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.std::_Bind.10"* nonnull %10)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %21) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %18) #3
%26 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 7, i32 0
call void @_ZN5boost7numeric6odeint4copyINS_5arrayIdLm1EEES4_EEvRKT_RT0_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %26)
call void @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE12do_step_implIPFvRKS4_RS4_dES4_S4_S4_S4_EEvT_RKT0_RKT1_dRT2_RT3_d(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, double %7)
%27 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 3, i32 0
%28 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 4, i32 0
%29 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 5, i32 0
%30 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 6, i32 0
%31 = fmul fast double %7, 0x3F54320FEDCBA980
%32 = fmul fast double %7, 0xBF716B5A550ABFC0
%33 = fmul fast double %7, 0x3FA2EEEEEEEEEEF0
%34 = fmul fast double %7, 0xBFAA0AD1D2CA1858
%35 = fmul fast double %7, 0x3FA5748A7BDAF0E4
%36 = fmul fast double %7, -2.500000e-02
call void @_ZN5boost7numeric6odeint18default_operations10scale_sum6IddddddEC2Edddddd(%"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull dereferenceable(48) %13, double %31, double %32, double %33, double %34, double %35, double %36)
call void @_ZN5boost7numeric6odeint13array_algebra9for_each7INS_5arrayEdLm1ENS1_18default_operations10scale_sum6IddddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %8, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %26, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %28, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %29, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %30, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, %"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull %13)
br label %48
37: ; preds = %9
call void @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE12do_step_implIPFvRKS4_RS4_dES4_S4_S4_S4_EEvT_RKT0_RKT1_dRT2_RT3_d(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, double %7)
%38 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 3, i32 0
%39 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 4, i32 0
%40 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 5, i32 0
%41 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 6, i32 0
%42 = fmul fast double %7, 0x3F54320FEDCBA980
%43 = fmul fast double %7, 0xBF716B5A550ABFC0
%44 = fmul fast double %7, 0x3FA2EEEEEEEEEEF0
%45 = fmul fast double %7, 0xBFAA0AD1D2CA1858
%46 = fmul fast double %7, 0x3FA5748A7BDAF0E4
%47 = fmul fast double %7, -2.500000e-02
call void @_ZN5boost7numeric6odeint18default_operations10scale_sum6IddddddEC2Edddddd(%"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull dereferenceable(48) %14, double %42, double %43, double %44, double %45, double %46, double %47)
call void @_ZN5boost7numeric6odeint13array_algebra9for_each7INS_5arrayEdLm1ENS1_18default_operations10scale_sum6IddddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %8, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %38, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %39, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %40, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %41, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, %"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull %14)
br label %48
48: ; preds = %37, %16
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint13same_instanceINS_5arrayIdLm1EEES4_EEbRKT_RKT0_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #14 comdat {
%3 = call i1 @_ZN5boost7numeric6odeint18same_instance_implINS_5arrayIdLm1EEES4_vE13same_instanceERKS4_S7_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
ret i1 %3
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EEFbRKS5_ESt17reference_wrapperISA_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.std::_Bind.10"* %2) local_unnamed_addr #5 comdat align 2 {
%4 = getelementptr inbounds %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer"* %0, i64 0, i32 0
%5 = load i8, i8* %4, align 1, !tbaa !47, !range !56
%6 = icmp eq i8 %5, 0
br i1 %6, label %7, label %9
7: ; preds = %3
store i8 1, i8* %4, align 1, !tbaa !47
%8 = call i1 @_ZNSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEEclIJSB_EbEET0_DpOT_(%"class.std::_Bind.10"* nonnull dereferenceable(24) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
br label %9
9: ; preds = %7, %3
%10 = phi i1 [ %8, %7 ], [ false, %3 ]
ret i1 %10
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZSt4bindIMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EJSt17reference_wrapperIS9_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESL_JDpT0_EE4typeEOSL_DpOSM_(%"class.std::_Bind.10"* noalias sret(%"class.std::_Bind.10") align 8 %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %2, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) local_unnamed_addr #11 comdat {
%5 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EEOT_RNSt16remove_referenceISE_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %1) #3
%6 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEEOT_RNSt16remove_referenceISC_E4typeE(%"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %2) #3
%7 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) #3
call void @_ZNSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEEC2IJSF_RKSH_EEEOSD_DpOT_(%"class.std::_Bind.10"* nonnull dereferenceable(24) %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %5, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %6, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %7)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE20resize_dxdt_tmp_implIS4_EEbRKT_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #14 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 7
%4 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
ret i1 %4
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i64 @_ZSt3refIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEESt17reference_wrapperIT_ERSB_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %0) local_unnamed_addr #11 comdat {
%2 = alloca %"class.std::reference_wrapper.16", align 8
call void @_ZNSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEC2IRS9_vPS9_EEOT_(%"class.std::reference_wrapper.16"* nonnull dereferenceable(8) %2, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %0) #3
%3 = getelementptr inbounds %"class.std::reference_wrapper.16", %"class.std::reference_wrapper.16"* %2, i64 0, i32 0
%4 = load %"class.boost::numeric::odeint::runge_kutta_dopri5"*, %"class.boost::numeric::odeint::runge_kutta_dopri5"** %3, align 8
%5 = ptrtoint %"class.boost::numeric::odeint::runge_kutta_dopri5"* %4 to i64
ret i64 %5
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE12do_step_implIPFvRKS4_RS4_dES4_S4_S4_S4_EEvT_RKT0_RKT1_dRT2_RT3_d(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, double %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, double %7) local_unnamed_addr #5 comdat align 2 {
%9 = alloca %"class.std::_Bind.10", align 8
%10 = alloca { i64, i64 }, align 8
%11 = alloca %"class.std::reference_wrapper.16", align 8
%12 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum2", align 8
%13 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum3", align 8
%14 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum4", align 8
%15 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum5", align 8
%16 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum6", align 8
%17 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum6", align 8
%18 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 8
%19 = bitcast { i64, i64 }* %10 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %19) #3
%20 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i64 0, i32 0
store i64 ptrtoint (i1 (%"class.boost::numeric::odeint::runge_kutta_dopri5"*, %"class.boost::array.1"*)* @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE19resize_k_x_tmp_implIS4_EEbRKT_ to i64), i64* %20, align 8, !tbaa !54
%21 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %10, i64 0, i32 1
store i64 0, i64* %21, align 8, !tbaa !55
%22 = bitcast %"class.std::reference_wrapper.16"* %11 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %22) #3
%23 = call i64 @_ZSt3refIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEESt17reference_wrapperIT_ERSB_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %0) #3
%24 = getelementptr inbounds %"class.std::reference_wrapper.16", %"class.std::reference_wrapper.16"* %11, i64 0, i32 0
%25 = inttoptr i64 %23 to %"class.boost::numeric::odeint::runge_kutta_dopri5"*
store %"class.boost::numeric::odeint::runge_kutta_dopri5"* %25, %"class.boost::numeric::odeint::runge_kutta_dopri5"** %24, align 8
call void @_ZSt4bindIMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EJSt17reference_wrapperIS9_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESL_JDpT0_EE4typeEOSL_DpOSM_(%"class.std::_Bind.10"* nonnull sret(%"class.std::_Bind.10") align 8 %9, { i64, i64 }* nonnull align 8 dereferenceable(16) %10, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %11, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E)
%26 = call i1 @_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EEFbRKS5_ESt17reference_wrapperISA_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %18, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.std::_Bind.10"* nonnull %9)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %22) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %19) #3
%27 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 1, i32 0
%28 = fmul fast double %7, 2.000000e-01
call void @_ZN5boost7numeric6odeint18default_operations10scale_sum2IddEC2Edd(%"struct.boost::numeric::odeint::default_operations::scale_sum2"* nonnull dereferenceable(16) %12, double 1.000000e+00, double %28)
%29 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum2", %"struct.boost::numeric::odeint::default_operations::scale_sum2"* %12, i64 0, i32 0
%30 = load double, double* %29, align 8
%31 = insertvalue [2 x double] undef, double %30, 0
%32 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum2", %"struct.boost::numeric::odeint::default_operations::scale_sum2"* %12, i64 0, i32 1
%33 = load double, double* %32, align 8
%34 = insertvalue [2 x double] %31, double %33, 1
call void @_ZN5boost7numeric6odeint13array_algebra9for_each3INS_5arrayEdLm1ENS1_18default_operations10scale_sum2IddEEEEvRT_IT0_XT1_EERKSA_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, [2 x double] %34)
%35 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 2, i32 0
%36 = fadd fast double %28, %4
call void %1(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %35, double %36) #3
%37 = fmul fast double %7, 0x3FB3333333333333
%38 = fmul fast double %7, 2.250000e-01
call void @_ZN5boost7numeric6odeint18default_operations10scale_sum3IdddEC2Eddd(%"struct.boost::numeric::odeint::default_operations::scale_sum3"* nonnull dereferenceable(24) %13, double 1.000000e+00, double %37, double %38)
%39 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %13, i64 0, i32 0
%40 = load double, double* %39, align 8
%41 = insertvalue [3 x double] undef, double %40, 0
%42 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %13, i64 0, i32 1
%43 = load double, double* %42, align 8
%44 = insertvalue [3 x double] %41, double %43, 1
%45 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %13, i64 0, i32 2
%46 = load double, double* %45, align 8
%47 = insertvalue [3 x double] %44, double %46, 2
call void @_ZN5boost7numeric6odeint13array_algebra9for_each4INS_5arrayEdLm1ENS1_18default_operations10scale_sum3IdddEEEEvRT_IT0_XT1_EERKSA_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %35, [3 x double] %47)
%48 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 3, i32 0
%49 = fmul fast double %7, 3.000000e-01
%50 = fadd fast double %49, %4
call void %1(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %48, double %50) #3
%51 = fmul fast double %7, 0x3FEF49F49F49F49F
%52 = fmul fast double %7, 0xC00DDDDDDDDDDDDE
%53 = fmul fast double %7, 0x400C71C71C71C71C
call void @_ZN5boost7numeric6odeint18default_operations10scale_sum4IddddEC2Edddd(%"struct.boost::numeric::odeint::default_operations::scale_sum4"* nonnull dereferenceable(32) %14, double 1.000000e+00, double %51, double %52, double %53)
%54 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %14, i64 0, i32 0
%55 = load double, double* %54, align 8
%56 = insertvalue [4 x double] undef, double %55, 0
%57 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %14, i64 0, i32 1
%58 = load double, double* %57, align 8
%59 = insertvalue [4 x double] %56, double %58, 1
%60 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %14, i64 0, i32 2
%61 = load double, double* %60, align 8
%62 = insertvalue [4 x double] %59, double %61, 2
%63 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %14, i64 0, i32 3
%64 = load double, double* %63, align 8
%65 = insertvalue [4 x double] %62, double %64, 3
call void @_ZN5boost7numeric6odeint13array_algebra9for_each5INS_5arrayEdLm1ENS1_18default_operations10scale_sum4IddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %35, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %48, [4 x double] %65)
%66 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 4, i32 0
%67 = fmul fast double %7, 8.000000e-01
%68 = fadd fast double %67, %4
call void %1(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %66, double %68) #3
%69 = fmul fast double %7, 0x40079EEC0FC37181
%70 = fmul fast double %7, 0xC027310BD29520E4
%71 = fmul fast double %7, 0x4023A552363C5290
%72 = fmul fast double %7, 0xBFD29C9EBA1E3345
call void @_ZN5boost7numeric6odeint18default_operations10scale_sum5IdddddEC2Eddddd(%"struct.boost::numeric::odeint::default_operations::scale_sum5"* nonnull dereferenceable(40) %15, double 1.000000e+00, double %69, double %70, double %71, double %72)
call void @_ZN5boost7numeric6odeint13array_algebra9for_each6INS_5arrayEdLm1ENS1_18default_operations10scale_sum5IdddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %35, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %48, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %66, %"struct.boost::numeric::odeint::default_operations::scale_sum5"* nonnull %15)
%73 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 5, i32 0
%74 = fmul fast double %7, 0x3FEC71C71C71C71C
%75 = fadd fast double %74, %4
call void %1(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %73, double %75) #3
%76 = fmul fast double %7, 0x4006C52BF5A814B0
%77 = fmul fast double %7, 0xC02583E0F83E0F84
%78 = fmul fast double %7, 0x4021D016A3721E8B
%79 = fmul fast double %7, 0x3FD1D1745D1745D1
%80 = fmul fast double %7, 0xBFD1818970D9CC2F
call void @_ZN5boost7numeric6odeint18default_operations10scale_sum6IddddddEC2Edddddd(%"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull dereferenceable(48) %16, double 1.000000e+00, double %76, double %77, double %78, double %79, double %80)
call void @_ZN5boost7numeric6odeint13array_algebra9for_each7INS_5arrayEdLm1ENS1_18default_operations10scale_sum6IddddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %35, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %48, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %66, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %73, %"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull %16)
%81 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 6, i32 0
%82 = fadd fast double %7, %4
call void %1(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %27, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %81, double %82) #3
%83 = fmul fast double %7, 0x3FB7555555555555
%84 = fmul fast double %7, 0x3FDCC0499A5605FB
%85 = fmul fast double %7, 0x3FE4D55555555555
%86 = fmul fast double %7, 0xBFD4A1CFB2B78C13
%87 = fmul fast double %7, 0x3FC0C30C30C30C31
call void @_ZN5boost7numeric6odeint18default_operations10scale_sum6IddddddEC2Edddddd(%"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull dereferenceable(48) %17, double 1.000000e+00, double %83, double %84, double %85, double %86, double %87)
call void @_ZN5boost7numeric6odeint13array_algebra9for_each7INS_5arrayEdLm1ENS1_18default_operations10scale_sum6IddddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %48, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %66, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %73, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %81, %"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull %17)
call void %1(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, double %82) #3
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint13array_algebra9for_each7INS_5arrayEdLm1ENS1_18default_operations10scale_sum6IddddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6, %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %7) local_unnamed_addr #5 comdat align 2 {
%9 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 0)
%10 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %1, i64 0)
%11 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %2, i64 0)
%12 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %3, i64 0)
%13 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %4, i64 0)
%14 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %5, i64 0)
%15 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %6, i64 0)
call void @_ZNK5boost7numeric6odeint18default_operations10scale_sum6IddddddEclIdddddddEEvRT_RKT0_RKT1_RKT2_RKT3_RKT4_RKT5_(%"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull dereferenceable(48) %7, double* nonnull align 8 dereferenceable(8) %9, double* nonnull align 8 dereferenceable(8) %10, double* nonnull align 8 dereferenceable(8) %11, double* nonnull align 8 dereferenceable(8) %12, double* nonnull align 8 dereferenceable(8) %13, double* nonnull align 8 dereferenceable(8) %14, double* nonnull align 8 dereferenceable(8) %15)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint18default_operations10scale_sum6IddddddEC2Edddddd(%"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull dereferenceable(48) %0, double %1, double %2, double %3, double %4, double %5, double %6) unnamed_addr #7 comdat align 2 {
%8 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 0
store double %1, double* %8, align 8, !tbaa !68
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 1
store double %2, double* %9, align 8, !tbaa !70
%10 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 2
store double %3, double* %10, align 8, !tbaa !71
%11 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 3
store double %4, double* %11, align 8, !tbaa !72
%12 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 4
store double %5, double* %12, align 8, !tbaa !73
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 5
store double %6, double* %13, align 8, !tbaa !74
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint18same_instance_implINS_5arrayIdLm1EEES4_vE13same_instanceERKS4_S7_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #14 comdat align 2 {
%3 = icmp eq %"class.boost::array.1"* %0, %1
ret i1 %3
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZNSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEEclIJSB_EbEET0_DpOT_(%"class.std::_Bind.10"* nonnull dereferenceable(24) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #5 comdat align 2 {
%3 = alloca %"class.std::tuple.6", align 8
%4 = bitcast %"class.std::tuple.6"* %3 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %4) #3
%5 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #3
call void @_ZSt16forward_as_tupleIJRKN5boost5arrayIdLm1EEEEESt5tupleIJDpOT_EES8_(%"class.std::tuple.6"* nonnull sret(%"class.std::tuple.6") align 8 %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5) #3
%6 = call i1 @_ZNSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEE6__callIbJSB_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE(%"class.std::_Bind.10"* nonnull dereferenceable(24) %0, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %3, i8 undef)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %4) #3
ret i1 %6
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZNSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEE6__callIbJSB_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE(%"class.std::_Bind.10"* nonnull dereferenceable(24) %0, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1, i8 %2) local_unnamed_addr #5 comdat align 2 {
%4 = alloca %"class.std::_Mu.25", align 1
%5 = alloca %"class.std::_Mu.9", align 1
%6 = getelementptr inbounds %"class.std::_Bind.10", %"class.std::_Bind.10"* %0, i64 0, i32 0
%7 = getelementptr inbounds %"class.std::_Mu.25", %"class.std::_Mu.25"* %4, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %7) #3
%8 = getelementptr inbounds %"class.std::_Bind.10", %"class.std::_Bind.10"* %0, i64 0, i32 1
%9 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSI_(%"class.std::tuple.13"* nonnull align 8 dereferenceable(8) %8) #3
%10 = call nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEELb0ELb0EEclISB_St5tupleIJRKS6_EEEERSA_RT_RT0_(%"class.std::_Mu.25"* nonnull dereferenceable(1) %4, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %9, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1)
%11 = getelementptr inbounds %"class.std::_Mu.9", %"class.std::_Mu.9"* %5, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %11) #3
%12 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSI_(%"class.std::tuple.13"* nonnull align 8 dereferenceable(8) %8) #3
%13 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNVKSt3_MuISt12_PlaceholderILi1EELb0ELb1EEclISt5tupleIJRKN5boost5arrayIdLm1EEEEEEEONSt9enable_ifIXltLm0Esr10tuple_sizeIT_EE5valueESt13tuple_elementILm0ESC_EE4type4typeERVKS1_RSC_(%"class.std::_Mu.9"* nonnull dereferenceable(1) %5, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %12, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1)
%14 = call i1 @_ZSt8__invokeIRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EJRS9_SB_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSH_DpOSI_({ i64, i64 }* nonnull align 8 dereferenceable(16) %6, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %10, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %13)
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %11) #3
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %7) #3
ret i1 %14
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZSt8__invokeIRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EJRS9_SB_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSH_DpOSI_({ i64, i64 }* nonnull align 8 dereferenceable(16) %0, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2) local_unnamed_addr #5 comdat {
%4 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EEOT_RNSt16remove_referenceISF_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) #3
%5 = call nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZSt7forwardIRN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEOT_RNSt16remove_referenceISB_E4typeE(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %1) #3
%6 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2) #3
%7 = call i1 @_ZSt13__invoke_implIbRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ERS9_JSB_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_(i8 undef, { i64, i64 }* nonnull align 8 dereferenceable(16) %4, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6)
ret i1 %7
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEELb0ELb0EEclISB_St5tupleIJRKS6_EEEERSA_RT_RT0_(%"class.std::_Mu.25"* nonnull dereferenceable(1) %0, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %1, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %2) local_unnamed_addr #14 comdat align 2 {
%4 = call nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZNKSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEE3getEv(%"class.std::reference_wrapper.16"* nonnull dereferenceable(8) %1) #3
ret %"class.boost::numeric::odeint::runge_kutta_dopri5"* %4
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSI_(%"class.std::tuple.13"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = getelementptr inbounds %"class.std::tuple.13", %"class.std::tuple.13"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSE_DpT1_EE(%"struct.std::_Tuple_impl.14"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.std::reference_wrapper.16"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSI_(%"class.std::tuple.13"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = bitcast %"class.std::tuple.13"* %0 to %"struct.std::_Tuple_impl.2"*
%3 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt12__get_helperILm1ESt12_PlaceholderILi1EEJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %2) #3
ret %"struct.std::_Placeholder"* %3
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @_ZSt13__invoke_implIbRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ERS9_JSB_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_(i8 %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3) local_unnamed_addr #5 comdat {
%5 = call nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZSt8__invfwdIRN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEESA_EOT0_RNSt16remove_referenceIT_E4typeE(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %2) #3
%6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i64 0, i32 0
%7 = load i64, i64* %6, align 8, !tbaa !54
%8 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i64 0, i32 1
%9 = load i64, i64* %8, align 8, !tbaa !54
%10 = ashr i64 %9, 1
%11 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %5, i64 0, i32 0, i32 0, i32 0, i32 0
%12 = getelementptr inbounds i8, i8* %11, i64 %10
%13 = and i64 %9, 1
%14 = icmp eq i64 %13, 0
br i1 %14, label %21, label %15
15: ; preds = %4
%16 = bitcast i8* %12 to i8**
%17 = load i8*, i8** %16, align 8, !tbaa !57
%18 = getelementptr i8, i8* %17, i64 %7, !nosanitize !59
%19 = bitcast i8* %18 to i1 (%"class.boost::numeric::odeint::runge_kutta_dopri5"*, %"class.boost::array.1"*)**, !nosanitize !59
%20 = load i1 (%"class.boost::numeric::odeint::runge_kutta_dopri5"*, %"class.boost::array.1"*)*, i1 (%"class.boost::numeric::odeint::runge_kutta_dopri5"*, %"class.boost::array.1"*)** %19, align 8, !nosanitize !59
br label %23
21: ; preds = %4
%22 = inttoptr i64 %7 to i1 (%"class.boost::numeric::odeint::runge_kutta_dopri5"*, %"class.boost::array.1"*)*
br label %23
23: ; preds = %21, %15
%24 = phi i1 (%"class.boost::numeric::odeint::runge_kutta_dopri5"*, %"class.boost::array.1"*)* [ %20, %15 ], [ %22, %21 ]
%25 = bitcast i8* %12 to %"class.boost::numeric::odeint::runge_kutta_dopri5"*
%26 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3) #3
%27 = call i1 %24(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %25, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %26) #3
ret i1 %27
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EEOT_RNSt16remove_referenceISF_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) local_unnamed_addr #14 comdat {
ret { i64, i64 }* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZSt7forwardIRN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEOT_RNSt16remove_referenceISB_E4typeE(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %0) local_unnamed_addr #14 comdat {
ret %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZSt8__invfwdIRN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEESA_EOT0_RNSt16remove_referenceIT_E4typeE(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %0) local_unnamed_addr #14 comdat {
ret %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZNKSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEE3getEv(%"class.std::reference_wrapper.16"* nonnull dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"class.std::reference_wrapper.16", %"class.std::reference_wrapper.16"* %0, i64 0, i32 0
%3 = load %"class.boost::numeric::odeint::runge_kutta_dopri5"*, %"class.boost::numeric::odeint::runge_kutta_dopri5"** %2, align 8, !tbaa !75
ret %"class.boost::numeric::odeint::runge_kutta_dopri5"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSE_DpT1_EE(%"struct.std::_Tuple_impl.14"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
%2 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEE7_M_headERSE_(%"struct.std::_Tuple_impl.14"* nonnull align 8 dereferenceable(8) %0) #3
ret %"class.std::reference_wrapper.16"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEE7_M_headERSE_(%"struct.std::_Tuple_impl.14"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"struct.std::_Tuple_impl.14", %"struct.std::_Tuple_impl.14"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEELb0EE7_M_headERSC_(%"struct.std::_Head_base.15"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.std::reference_wrapper.16"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEELb0EE7_M_headERSC_(%"struct.std::_Head_base.15"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"struct.std::_Head_base.15", %"struct.std::_Head_base.15"* %0, i64 0, i32 0
ret %"class.std::reference_wrapper.16"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EEOT_RNSt16remove_referenceISE_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) local_unnamed_addr #14 comdat {
ret { i64, i64 }* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEEOT_RNSt16remove_referenceISC_E4typeE(%"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 comdat {
ret %"class.std::reference_wrapper.16"* %0
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEEC2IJSF_RKSH_EEEOSD_DpOT_(%"class.std::_Bind.10"* nonnull dereferenceable(24) %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %2, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) unnamed_addr #7 comdat align 2 {
%5 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt4moveIRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EEONSt16remove_referenceIT_E4typeEOSG_({ i64, i64 }* nonnull align 8 dereferenceable(16) %1) #3
%6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 0
%7 = load i64, i64* %6, align 8, !tbaa !54
%8 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 1
%9 = load i64, i64* %8, align 8, !tbaa !54
%10 = getelementptr inbounds %"class.std::_Bind.10", %"class.std::_Bind.10"* %0, i64 0, i32 0, i32 0
store i64 %7, i64* %10, align 8, !tbaa !77
%11 = getelementptr inbounds %"class.std::_Bind.10", %"class.std::_Bind.10"* %0, i64 0, i32 0, i32 1
store i64 %9, i64* %11, align 8, !tbaa !77
%12 = getelementptr inbounds %"class.std::_Bind.10", %"class.std::_Bind.10"* %0, i64 0, i32 1
%13 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEEOT_RNSt16remove_referenceISC_E4typeE(%"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %2) #3
%14 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) #3
call void @_ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEEC2ISB_RKSD_Lb1EEEOT_OT0_(%"class.std::tuple.13"* nonnull dereferenceable(8) %12, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %13, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %14)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt4moveIRMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_EEONSt16remove_referenceIT_E4typeEOSG_({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) local_unnamed_addr #14 comdat {
ret { i64, i64 }* %0
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEEC2ISB_RKSD_Lb1EEEOT_OT0_(%"class.std::tuple.13"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %1, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) unnamed_addr #7 comdat align 2 {
%4 = getelementptr inbounds %"class.std::tuple.13", %"class.std::tuple.13"* %0, i64 0, i32 0
%5 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEEOT_RNSt16remove_referenceISC_E4typeE(%"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %1) #3
%6 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) #3
call void @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEEC2ISB_JRKSD_EvEEOT_DpOT0_(%"struct.std::_Tuple_impl.14"* nonnull dereferenceable(8) %4, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %5, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %6)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEEC2ISB_JRKSD_EvEEOT_DpOT0_(%"struct.std::_Tuple_impl.14"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %1, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) unnamed_addr #7 comdat align 2 {
%4 = bitcast %"struct.std::_Tuple_impl.14"* %0 to %"struct.std::_Tuple_impl.2"*
%5 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) #3
call void @_ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEEC2ERKS1_(%"struct.std::_Tuple_impl.2"* nonnull dereferenceable(1) %4, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %5)
%6 = getelementptr inbounds %"struct.std::_Tuple_impl.14", %"struct.std::_Tuple_impl.14"* %0, i64 0, i32 0
%7 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEEOT_RNSt16remove_referenceISC_E4typeE(%"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %1) #3
call void @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEELb0EEC2ISB_EEOT_(%"struct.std::_Head_base.15"* nonnull dereferenceable(8) %6, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %7)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEELb0EEC2ISB_EEOT_(%"struct.std::_Head_base.15"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %1) unnamed_addr #7 comdat align 2 {
%3 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper.16"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEEEOT_RNSt16remove_referenceISC_E4typeE(%"class.std::reference_wrapper.16"* nonnull align 8 dereferenceable(8) %1) #3
%4 = bitcast %"class.std::reference_wrapper.16"* %3 to i64*
%5 = bitcast %"struct.std::_Head_base.15"* %0 to i64*
%6 = load i64, i64* %4, align 8, !tbaa !80
store i64 %6, i64* %5, align 8, !tbaa !80
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZNSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEC2IRS9_vPS9_EEOT_(%"class.std::reference_wrapper.16"* nonnull dereferenceable(8) %0, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %1) unnamed_addr #7 comdat align 2 {
%3 = getelementptr inbounds %"class.std::reference_wrapper.16", %"class.std::reference_wrapper.16"* %0, i64 0, i32 0
%4 = call nonnull align 8 dereferenceable(74) %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZSt7forwardIRN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEOT_RNSt16remove_referenceISB_E4typeE(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %1) #3
%5 = call %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZNSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEE6_S_funERS9_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %4) #3
store %"class.boost::numeric::odeint::runge_kutta_dopri5"* %5, %"class.boost::numeric::odeint::runge_kutta_dopri5"** %3, align 8, !tbaa !75
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZNSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEE6_S_funERS9_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %0) local_unnamed_addr #14 comdat align 2 {
%2 = call %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZSt11__addressofIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEPT_RSA_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %0) #3
ret %"class.boost::numeric::odeint::runge_kutta_dopri5"* %2
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local %"class.boost::numeric::odeint::runge_kutta_dopri5"* @_ZSt11__addressofIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEEPT_RSA_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %0) local_unnamed_addr #11 comdat {
ret %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEE19resize_k_x_tmp_implIS4_EEbRKT_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #14 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 1
%4 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
%5 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 2
%6 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
%7 = or i1 %4, %6
%8 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 3
%9 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %8, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
%10 = or i1 %7, %9
%11 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 4
%12 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %11, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
%13 = or i1 %10, %12
%14 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 5
%15 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %14, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
%16 = or i1 %13, %15
%17 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %0, i64 0, i32 6
%18 = call i1 @_ZN5boost7numeric6odeint28adjust_size_by_resizeabilityINS1_13state_wrapperINS_5arrayIdLm1EEEvEES5_EEbRT_RKT0_NS_17integral_constantIbLb0EEE(%"struct.boost::numeric::odeint::state_wrapper"* nonnull align 8 dereferenceable(8) %17, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
%19 = or i1 %16, %18
ret i1 %19
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint13array_algebra9for_each3INS_5arrayEdLm1ENS1_18default_operations10scale_sum2IddEEEEvRT_IT0_XT1_EERKSA_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, [2 x double] %3) local_unnamed_addr #5 comdat align 2 {
%5 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum2", align 8
%6 = extractvalue [2 x double] %3, 0
%7 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum2", %"struct.boost::numeric::odeint::default_operations::scale_sum2"* %5, i64 0, i32 0
store double %6, double* %7, align 8
%8 = extractvalue [2 x double] %3, 1
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum2", %"struct.boost::numeric::odeint::default_operations::scale_sum2"* %5, i64 0, i32 1
store double %8, double* %9, align 8
%10 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 0)
%11 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %1, i64 0)
%12 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %2, i64 0)
call void @_ZNK5boost7numeric6odeint18default_operations10scale_sum2IddEclIdddEEvRT_RKT0_RKT1_(%"struct.boost::numeric::odeint::default_operations::scale_sum2"* nonnull dereferenceable(16) %5, double* nonnull align 8 dereferenceable(8) %10, double* nonnull align 8 dereferenceable(8) %11, double* nonnull align 8 dereferenceable(8) %12)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint18default_operations10scale_sum2IddEC2Edd(%"struct.boost::numeric::odeint::default_operations::scale_sum2"* nonnull dereferenceable(16) %0, double %1, double %2) unnamed_addr #7 comdat align 2 {
%4 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum2", %"struct.boost::numeric::odeint::default_operations::scale_sum2"* %0, i64 0, i32 0
store double %1, double* %4, align 8, !tbaa !81
%5 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum2", %"struct.boost::numeric::odeint::default_operations::scale_sum2"* %0, i64 0, i32 1
store double %2, double* %5, align 8, !tbaa !83
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint13array_algebra9for_each4INS_5arrayEdLm1ENS1_18default_operations10scale_sum3IdddEEEEvRT_IT0_XT1_EERKSA_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, [3 x double] %4) local_unnamed_addr #5 comdat align 2 {
%6 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum3", align 8
%7 = extractvalue [3 x double] %4, 0
%8 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %6, i64 0, i32 0
store double %7, double* %8, align 8
%9 = extractvalue [3 x double] %4, 1
%10 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %6, i64 0, i32 1
store double %9, double* %10, align 8
%11 = extractvalue [3 x double] %4, 2
%12 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %6, i64 0, i32 2
store double %11, double* %12, align 8
%13 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 0)
%14 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %1, i64 0)
%15 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %2, i64 0)
%16 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %3, i64 0)
call void @_ZNK5boost7numeric6odeint18default_operations10scale_sum3IdddEclIddddEEvRT_RKT0_RKT1_RKT2_(%"struct.boost::numeric::odeint::default_operations::scale_sum3"* nonnull dereferenceable(24) %6, double* nonnull align 8 dereferenceable(8) %13, double* nonnull align 8 dereferenceable(8) %14, double* nonnull align 8 dereferenceable(8) %15, double* nonnull align 8 dereferenceable(8) %16)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint18default_operations10scale_sum3IdddEC2Eddd(%"struct.boost::numeric::odeint::default_operations::scale_sum3"* nonnull dereferenceable(24) %0, double %1, double %2, double %3) unnamed_addr #7 comdat align 2 {
%5 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %0, i64 0, i32 0
store double %1, double* %5, align 8, !tbaa !84
%6 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %0, i64 0, i32 1
store double %2, double* %6, align 8, !tbaa !86
%7 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %0, i64 0, i32 2
store double %3, double* %7, align 8, !tbaa !87
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint13array_algebra9for_each5INS_5arrayEdLm1ENS1_18default_operations10scale_sum4IddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %4, [4 x double] %5) local_unnamed_addr #5 comdat align 2 {
%7 = alloca %"struct.boost::numeric::odeint::default_operations::scale_sum4", align 8
%8 = extractvalue [4 x double] %5, 0
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %7, i64 0, i32 0
store double %8, double* %9, align 8
%10 = extractvalue [4 x double] %5, 1
%11 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %7, i64 0, i32 1
store double %10, double* %11, align 8
%12 = extractvalue [4 x double] %5, 2
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %7, i64 0, i32 2
store double %12, double* %13, align 8
%14 = extractvalue [4 x double] %5, 3
%15 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %7, i64 0, i32 3
store double %14, double* %15, align 8
%16 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 0)
%17 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %1, i64 0)
%18 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %2, i64 0)
%19 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %3, i64 0)
%20 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %4, i64 0)
call void @_ZNK5boost7numeric6odeint18default_operations10scale_sum4IddddEclIdddddEEvRT_RKT0_RKT1_RKT2_RKT3_(%"struct.boost::numeric::odeint::default_operations::scale_sum4"* nonnull dereferenceable(32) %7, double* nonnull align 8 dereferenceable(8) %16, double* nonnull align 8 dereferenceable(8) %17, double* nonnull align 8 dereferenceable(8) %18, double* nonnull align 8 dereferenceable(8) %19, double* nonnull align 8 dereferenceable(8) %20)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint18default_operations10scale_sum4IddddEC2Edddd(%"struct.boost::numeric::odeint::default_operations::scale_sum4"* nonnull dereferenceable(32) %0, double %1, double %2, double %3, double %4) unnamed_addr #7 comdat align 2 {
%6 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %0, i64 0, i32 0
store double %1, double* %6, align 8, !tbaa !88
%7 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %0, i64 0, i32 1
store double %2, double* %7, align 8, !tbaa !90
%8 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %0, i64 0, i32 2
store double %3, double* %8, align 8, !tbaa !91
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %0, i64 0, i32 3
store double %4, double* %9, align 8, !tbaa !92
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint13array_algebra9for_each6INS_5arrayEdLm1ENS1_18default_operations10scale_sum5IdddddEEEEvRT_IT0_XT1_EERKSA_SD_SD_SD_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %4, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5, %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %6) local_unnamed_addr #5 comdat align 2 {
%8 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 0)
%9 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %1, i64 0)
%10 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %2, i64 0)
%11 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %3, i64 0)
%12 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %4, i64 0)
%13 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %5, i64 0)
call void @_ZNK5boost7numeric6odeint18default_operations10scale_sum5IdddddEclIddddddEEvRT_RKT0_RKT1_RKT2_RKT3_RKT4_(%"struct.boost::numeric::odeint::default_operations::scale_sum5"* nonnull dereferenceable(40) %6, double* nonnull align 8 dereferenceable(8) %8, double* nonnull align 8 dereferenceable(8) %9, double* nonnull align 8 dereferenceable(8) %10, double* nonnull align 8 dereferenceable(8) %11, double* nonnull align 8 dereferenceable(8) %12, double* nonnull align 8 dereferenceable(8) %13)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint18default_operations10scale_sum5IdddddEC2Eddddd(%"struct.boost::numeric::odeint::default_operations::scale_sum5"* nonnull dereferenceable(40) %0, double %1, double %2, double %3, double %4, double %5) unnamed_addr #7 comdat align 2 {
%7 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 0
store double %1, double* %7, align 8, !tbaa !93
%8 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 1
store double %2, double* %8, align 8, !tbaa !95
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 2
store double %3, double* %9, align 8, !tbaa !96
%10 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 3
store double %4, double* %10, align 8, !tbaa !97
%11 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 4
store double %5, double* %11, align 8, !tbaa !98
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZNK5boost7numeric6odeint18default_operations10scale_sum2IddEclIdddEEvRT_RKT0_RKT1_(%"struct.boost::numeric::odeint::default_operations::scale_sum2"* nonnull dereferenceable(16) %0, double* nonnull align 8 dereferenceable(8) %1, double* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3) local_unnamed_addr #14 comdat align 2 {
%5 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum2", %"struct.boost::numeric::odeint::default_operations::scale_sum2"* %0, i64 0, i32 0
%6 = load double, double* %5, align 8, !tbaa !81
%7 = load double, double* %2, align 8, !tbaa !6
%8 = fmul fast double %7, %6
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum2", %"struct.boost::numeric::odeint::default_operations::scale_sum2"* %0, i64 0, i32 1
%10 = load double, double* %9, align 8, !tbaa !83
%11 = load double, double* %3, align 8, !tbaa !6
%12 = fmul fast double %11, %10
%13 = fadd fast double %12, %8
store double %13, double* %1, align 8, !tbaa !6
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZNK5boost7numeric6odeint18default_operations10scale_sum3IdddEclIddddEEvRT_RKT0_RKT1_RKT2_(%"struct.boost::numeric::odeint::default_operations::scale_sum3"* nonnull dereferenceable(24) %0, double* nonnull align 8 dereferenceable(8) %1, double* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4) local_unnamed_addr #14 comdat align 2 {
%6 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %0, i64 0, i32 0
%7 = load double, double* %6, align 8, !tbaa !84
%8 = load double, double* %2, align 8, !tbaa !6
%9 = fmul fast double %8, %7
%10 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %0, i64 0, i32 1
%11 = load double, double* %10, align 8, !tbaa !86
%12 = load double, double* %3, align 8, !tbaa !6
%13 = fmul fast double %12, %11
%14 = fadd fast double %13, %9
%15 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum3", %"struct.boost::numeric::odeint::default_operations::scale_sum3"* %0, i64 0, i32 2
%16 = load double, double* %15, align 8, !tbaa !87
%17 = load double, double* %4, align 8, !tbaa !6
%18 = fmul fast double %17, %16
%19 = fadd fast double %14, %18
store double %19, double* %1, align 8, !tbaa !6
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZNK5boost7numeric6odeint18default_operations10scale_sum4IddddEclIdddddEEvRT_RKT0_RKT1_RKT2_RKT3_(%"struct.boost::numeric::odeint::default_operations::scale_sum4"* nonnull dereferenceable(32) %0, double* nonnull align 8 dereferenceable(8) %1, double* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4, double* nonnull align 8 dereferenceable(8) %5) local_unnamed_addr #14 comdat align 2 {
%7 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %0, i64 0, i32 0
%8 = load double, double* %7, align 8, !tbaa !88
%9 = load double, double* %2, align 8, !tbaa !6
%10 = fmul fast double %9, %8
%11 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %0, i64 0, i32 1
%12 = load double, double* %11, align 8, !tbaa !90
%13 = load double, double* %3, align 8, !tbaa !6
%14 = fmul fast double %13, %12
%15 = fadd fast double %14, %10
%16 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %0, i64 0, i32 2
%17 = load double, double* %16, align 8, !tbaa !91
%18 = load double, double* %4, align 8, !tbaa !6
%19 = fmul fast double %18, %17
%20 = fadd fast double %15, %19
%21 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum4", %"struct.boost::numeric::odeint::default_operations::scale_sum4"* %0, i64 0, i32 3
%22 = load double, double* %21, align 8, !tbaa !92
%23 = load double, double* %5, align 8, !tbaa !6
%24 = fmul fast double %23, %22
%25 = fadd fast double %20, %24
store double %25, double* %1, align 8, !tbaa !6
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZNK5boost7numeric6odeint18default_operations10scale_sum5IdddddEclIddddddEEvRT_RKT0_RKT1_RKT2_RKT3_RKT4_(%"struct.boost::numeric::odeint::default_operations::scale_sum5"* nonnull dereferenceable(40) %0, double* nonnull align 8 dereferenceable(8) %1, double* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4, double* nonnull align 8 dereferenceable(8) %5, double* nonnull align 8 dereferenceable(8) %6) local_unnamed_addr #14 comdat align 2 {
%8 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 0
%9 = load double, double* %8, align 8, !tbaa !93
%10 = load double, double* %2, align 8, !tbaa !6
%11 = fmul fast double %10, %9
%12 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 1
%13 = load double, double* %12, align 8, !tbaa !95
%14 = load double, double* %3, align 8, !tbaa !6
%15 = fmul fast double %14, %13
%16 = fadd fast double %15, %11
%17 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 2
%18 = load double, double* %17, align 8, !tbaa !96
%19 = load double, double* %4, align 8, !tbaa !6
%20 = fmul fast double %19, %18
%21 = fadd fast double %16, %20
%22 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 3
%23 = load double, double* %22, align 8, !tbaa !97
%24 = load double, double* %5, align 8, !tbaa !6
%25 = fmul fast double %24, %23
%26 = fadd fast double %21, %25
%27 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum5", %"struct.boost::numeric::odeint::default_operations::scale_sum5"* %0, i64 0, i32 4
%28 = load double, double* %27, align 8, !tbaa !98
%29 = load double, double* %6, align 8, !tbaa !6
%30 = fmul fast double %29, %28
%31 = fadd fast double %26, %30
store double %31, double* %1, align 8, !tbaa !6
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZNK5boost7numeric6odeint18default_operations10scale_sum6IddddddEclIdddddddEEvRT_RKT0_RKT1_RKT2_RKT3_RKT4_RKT5_(%"struct.boost::numeric::odeint::default_operations::scale_sum6"* nonnull dereferenceable(48) %0, double* nonnull align 8 dereferenceable(8) %1, double* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4, double* nonnull align 8 dereferenceable(8) %5, double* nonnull align 8 dereferenceable(8) %6, double* nonnull align 8 dereferenceable(8) %7) local_unnamed_addr #14 comdat align 2 {
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 0
%10 = load double, double* %9, align 8, !tbaa !68
%11 = load double, double* %2, align 8, !tbaa !6
%12 = fmul fast double %11, %10
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 1
%14 = load double, double* %13, align 8, !tbaa !70
%15 = load double, double* %3, align 8, !tbaa !6
%16 = fmul fast double %15, %14
%17 = fadd fast double %16, %12
%18 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 2
%19 = load double, double* %18, align 8, !tbaa !71
%20 = load double, double* %4, align 8, !tbaa !6
%21 = fmul fast double %20, %19
%22 = fadd fast double %17, %21
%23 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 3
%24 = load double, double* %23, align 8, !tbaa !72
%25 = load double, double* %5, align 8, !tbaa !6
%26 = fmul fast double %25, %24
%27 = fadd fast double %22, %26
%28 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 4
%29 = load double, double* %28, align 8, !tbaa !73
%30 = load double, double* %6, align 8, !tbaa !6
%31 = fmul fast double %30, %29
%32 = fadd fast double %27, %31
%33 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::scale_sum6", %"struct.boost::numeric::odeint::default_operations::scale_sum6"* %0, i64 0, i32 5
%34 = load double, double* %33, align 8, !tbaa !74
%35 = load double, double* %7, align 8, !tbaa !6
%36 = fmul fast double %35, %34
%37 = fadd fast double %32, %36
store double %37, double* %1, align 8, !tbaa !6
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint13array_algebra9for_each3INS_5arrayEdLm1ENS1_18default_operations9rel_errorIdEEEEvRT_IT0_XT1_EERKSA_SD_T2_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, [4 x double] %3) local_unnamed_addr #5 comdat align 2 {
%5 = alloca %"struct.boost::numeric::odeint::default_operations::rel_error", align 8
%6 = extractvalue [4 x double] %3, 0
%7 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %5, i64 0, i32 0
store double %6, double* %7, align 8
%8 = extractvalue [4 x double] %3, 1
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %5, i64 0, i32 1
store double %8, double* %9, align 8
%10 = extractvalue [4 x double] %3, 2
%11 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %5, i64 0, i32 2
store double %10, double* %11, align 8
%12 = extractvalue [4 x double] %3, 3
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %5, i64 0, i32 3
store double %12, double* %13, align 8
%14 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 0)
%15 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %1, i64 0)
%16 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %2, i64 0)
call void @_ZNK5boost7numeric6odeint18default_operations9rel_errorIdEclIdddEEvRT1_RKT_RKT0_(%"struct.boost::numeric::odeint::default_operations::rel_error"* nonnull dereferenceable(32) %5, double* nonnull align 8 dereferenceable(8) %14, double* nonnull align 8 dereferenceable(8) %15, double* nonnull align 8 dereferenceable(8) %16)
ret void
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @_ZSt3absd(double %0) local_unnamed_addr #11 comdat {
%2 = call fast double @llvm.fabs.f64(double %0)
ret double %2
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint18default_operations9rel_errorIdEC2Edddd(%"struct.boost::numeric::odeint::default_operations::rel_error"* nonnull dereferenceable(32) %0, double %1, double %2, double %3, double %4) unnamed_addr #7 comdat align 2 {
%6 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %0, i64 0, i32 0
store double %1, double* %6, align 8, !tbaa !99
%7 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %0, i64 0, i32 1
store double %2, double* %7, align 8, !tbaa !101
%8 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %0, i64 0, i32 2
store double %3, double* %8, align 8, !tbaa !102
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %0, i64 0, i32 3
store double %4, double* %9, align 8, !tbaa !103
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local double @_ZN5boost7numeric6odeint13array_algebra8norm_infINS_5arrayEdLm1EEENS1_16norm_result_typeIT_IT0_XT1_EEvE4typeERKS8_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #5 comdat align 2 {
%2 = alloca double, align 8
%3 = alloca double, align 8
%4 = bitcast double* %2 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %4) #3
store double 0.000000e+00, double* %2, align 8, !tbaa !6
%5 = bitcast double* %3 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %5) #3
%6 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 0)
%7 = load double, double* %6, align 8, !tbaa !6
%8 = call fast double @_ZSt3absd(double %7)
store double %8, double* %3, align 8, !tbaa !6
%9 = call nonnull align 8 dereferenceable(8) double* @_ZSt3maxIdERKT_S2_S2_(double* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3)
%10 = load double, double* %9, align 8, !tbaa !6
store double %10, double* %2, align 8, !tbaa !6
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %5) #3
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %4) #3
ret double %10
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZNK5boost7numeric6odeint18default_operations9rel_errorIdEclIdddEEvRT1_RKT_RKT0_(%"struct.boost::numeric::odeint::default_operations::rel_error"* nonnull dereferenceable(32) %0, double* nonnull align 8 dereferenceable(8) %1, double* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3) local_unnamed_addr #14 comdat align 2 {
%5 = alloca double, align 8
%6 = bitcast double* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %6) #3
%7 = call fast double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %1)
%8 = call fast double @_ZSt3absd(double %7)
%9 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %0, i64 0, i32 0
%10 = load double, double* %9, align 8, !tbaa !99
%11 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %0, i64 0, i32 1
%12 = load double, double* %11, align 8, !tbaa !101
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %0, i64 0, i32 2
%14 = load double, double* %13, align 8, !tbaa !102
%15 = call fast double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %2)
%16 = call fast double @_ZSt3absd(double %15)
%17 = fmul fast double %16, %14
%18 = getelementptr inbounds %"struct.boost::numeric::odeint::default_operations::rel_error", %"struct.boost::numeric::odeint::default_operations::rel_error"* %0, i64 0, i32 3
%19 = load double, double* %18, align 8, !tbaa !103
%20 = call fast double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %3)
%21 = call fast double @_ZSt3absd(double %20)
%22 = fmul fast double %21, %19
%23 = fadd fast double %22, %17
%24 = fmul fast double %23, %12
%25 = fadd fast double %24, %10
%26 = fdiv fast double %8, %25
store double %26, double* %5, align 8, !tbaa !6
call void @_ZN5boost7numeric6odeint14set_unit_valueIddEEvRT_RKT0_(double* nonnull align 8 dereferenceable(8) %1, double* nonnull align 8 dereferenceable(8) %5)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %6) #3
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint14set_unit_valueIddEEvRT_RKT0_(double* nonnull align 8 dereferenceable(8) %0, double* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #14 comdat {
call void @_ZN5boost7numeric6odeint6detail19set_unit_value_implIddvE9set_valueERdRKd(double* nonnull align 8 dereferenceable(8) %0, double* nonnull align 8 dereferenceable(8) %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint6detail19set_unit_value_implIddvE9set_valueERdRKd(double* nonnull align 8 dereferenceable(8) %0, double* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #14 comdat align 2 {
%3 = load double, double* %1, align 8, !tbaa !6
store double %3, double* %0, align 8, !tbaa !6
ret void
}
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare double @llvm.pow.f64(double, double) #9
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @_ZN5boost7numeric6odeint6detail7min_absIdEET_S4_S4_(double %0, double %1) local_unnamed_addr #14 comdat {
%3 = alloca double, align 8
%4 = alloca double, align 8
store double %0, double* %3, align 8, !tbaa !6
store double %1, double* %4, align 8, !tbaa !6
%5 = call fast double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %3)
%6 = fcmp fast ogt double %5, 0.000000e+00
br i1 %6, label %7, label %9
7: ; preds = %2
%8 = call nonnull align 8 dereferenceable(8) double* @_ZSt3minIdERKT_S2_S2_(double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4)
br label %11
9: ; preds = %2
%10 = call nonnull align 8 dereferenceable(8) double* @_ZSt3maxIdERKT_S2_S2_(double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4)
br label %11
11: ; preds = %9, %7
%12 = phi double* [ %8, %7 ], [ %10, %9 ]
%13 = load double, double* %12, align 8, !tbaa !6
ret double %13
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) double* @_ZSt3minIdERKT_S2_S2_(double* nonnull align 8 dereferenceable(8) %0, double* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #11 comdat {
%3 = load double, double* %1, align 8, !tbaa !6
%4 = load double, double* %0, align 8, !tbaa !6
%5 = fcmp fast olt double %3, %4
%6 = select i1 %5, double* %1, double* %0
ret double* %6
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint9copy_implINS_5arrayIdLm1EEES4_E4copyERKS4_RS4_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #14 comdat align 2 {
call void @_ZN5boost7numeric6odeint16copy_impl_sfinaeINS_5arrayIdLm1EEES4_vE4copyERKS4_RS4_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint16copy_impl_sfinaeINS_5arrayIdLm1EEES4_vE4copyERKS4_RS4_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #14 comdat align 2 {
call void @_ZN5boost7numeric6odeint6detail10do_copyingINS_5arrayIdLm1EEES5_EEvRKT_RT0_N4mpl_5bool_ILb1EEE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 undef)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint6detail10do_copyingINS_5arrayIdLm1EEES5_EEvRKT_RT0_N4mpl_5bool_ILb1EEE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, i8 %2) local_unnamed_addr #14 comdat {
%4 = call double* @_ZN5boost17range_adl_barrier5beginINS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS5_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
%5 = call double* @_ZN5boost5range4copyINS_5arrayIdLm1EEEPdEET0_RKT_S5_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, double* %4)
ret void
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZN5boost5range4copyINS_5arrayIdLm1EEEPdEET0_RKT_S5_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, double* %1) local_unnamed_addr #11 comdat {
%3 = call double* @_ZN5boost17range_adl_barrier5beginINS_5arrayIdLm1EEEEENS_14range_iteratorIKT_vE4typeERS6_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0)
%4 = call double* @_ZN5boost17range_adl_barrier3endINS_5arrayIdLm1EEEEENS_14range_iteratorIKT_vE4typeERS6_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0)
%5 = call double* @_ZSt4copyIPKdPdET0_T_S4_S3_(double* %3, double* %4, double* %1)
ret double* %5
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZN5boost17range_adl_barrier5beginINS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS5_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #11 comdat {
%2 = call double* @_ZN5boost12range_detail11range_beginINS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS5_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0)
ret double* %2
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZSt4copyIPKdPdET0_T_S4_S3_(double* %0, double* %1, double* %2) local_unnamed_addr #11 comdat {
%4 = call double* @_ZSt12__miter_baseIPKdET_S2_(double* %0)
%5 = call double* @_ZSt12__miter_baseIPKdET_S2_(double* %1)
%6 = call double* @_ZSt14__copy_move_a2ILb0EPKdPdET1_T0_S4_S3_(double* %4, double* %5, double* %2)
ret double* %6
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZN5boost17range_adl_barrier5beginINS_5arrayIdLm1EEEEENS_14range_iteratorIKT_vE4typeERS6_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #11 comdat {
%2 = call double* @_ZN5boost12range_detail11range_beginIKNS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS6_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0)
ret double* %2
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZN5boost17range_adl_barrier3endINS_5arrayIdLm1EEEEENS_14range_iteratorIKT_vE4typeERS6_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #11 comdat {
%2 = call double* @_ZN5boost12range_detail9range_endIKNS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS6_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0)
ret double* %2
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZSt14__copy_move_a2ILb0EPKdPdET1_T0_S4_S3_(double* %0, double* %1, double* %2) local_unnamed_addr #11 comdat {
%4 = alloca double*, align 8
store double* %2, double** %4, align 8, !tbaa !32
%5 = call double* @_ZSt12__niter_baseIPKdET_S2_(double* %0) #3
%6 = call double* @_ZSt12__niter_baseIPKdET_S2_(double* %1) #3
%7 = load double*, double** %4, align 8, !tbaa !32
%8 = call double* @_ZSt12__niter_baseIPdET_S1_(double* %7) #3
%9 = call double* @_ZSt13__copy_move_aILb0EPKdPdET1_T0_S4_S3_(double* %5, double* %6, double* %8)
%10 = call double* @_ZSt12__niter_wrapIPdET_RKS1_S1_(double** nonnull align 8 dereferenceable(8) %4, double* %9)
ret double* %10
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZSt12__miter_baseIPKdET_S2_(double* %0) local_unnamed_addr #11 comdat {
ret double* %0
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZSt12__niter_wrapIPdET_RKS1_S1_(double** nonnull align 8 dereferenceable(8) %0, double* %1) local_unnamed_addr #11 comdat {
ret double* %1
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZSt13__copy_move_aILb0EPKdPdET1_T0_S4_S3_(double* %0, double* %1, double* %2) local_unnamed_addr #11 comdat {
%4 = call double* @_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIdEEPT_PKS3_S6_S4_(double* %0, double* %1, double* %2)
ret double* %4
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZSt12__niter_baseIPKdET_S2_(double* %0) local_unnamed_addr #11 comdat {
ret double* %0
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZSt12__niter_baseIPdET_S1_(double* %0) local_unnamed_addr #11 comdat {
ret double* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIdEEPT_PKS3_S6_S4_(double* %0, double* %1, double* %2) local_unnamed_addr #14 comdat align 2 {
%4 = ptrtoint double* %1 to i64
%5 = ptrtoint double* %0 to i64
%6 = sub i64 %4, %5
%7 = icmp eq i64 %6, 0
br i1 %7, label %11, label %8
8: ; preds = %3
%9 = bitcast double* %2 to i8*
%10 = bitcast double* %0 to i8*
call void @llvm.memmove.p0i8.p0i8.i64(i8* align 8 %9, i8* align 8 %10, i64 %6, i1 false)
br label %11
11: ; preds = %8, %3
%12 = ashr exact i64 %6, 3
%13 = getelementptr inbounds double, double* %2, i64 %12
ret double* %13
}
; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i1 immarg) #6
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZN5boost12range_detail11range_beginIKNS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS6_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #11 comdat {
%2 = call double* @_ZNK5boost5arrayIdLm1EE5beginEv(%"class.boost::array.1"* nonnull dereferenceable(8) %0)
ret double* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZNK5boost5arrayIdLm1EE5beginEv(%"class.boost::array.1"* nonnull dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %0, i64 0, i32 0, i64 0
ret double* %2
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZN5boost12range_detail9range_endIKNS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS6_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #11 comdat {
%2 = call double* @_ZNK5boost5arrayIdLm1EE3endEv(%"class.boost::array.1"* nonnull dereferenceable(8) %0)
ret double* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZNK5boost5arrayIdLm1EE3endEv(%"class.boost::array.1"* nonnull dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %0, i64 0, i32 0, i64 1
ret double* %2
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZN5boost12range_detail11range_beginINS_5arrayIdLm1EEEEENS_14range_iteratorIT_vE4typeERS5_(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #11 comdat {
%2 = call double* @_ZN5boost5arrayIdLm1EE5beginEv(%"class.boost::array.1"* nonnull dereferenceable(8) %0)
ret double* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double* @_ZN5boost5arrayIdLm1EE5beginEv(%"class.boost::array.1"* nonnull dereferenceable(8) %0) local_unnamed_addr #14 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %0, i64 0, i32 0, i64 0
ret double* %2
}
; Function Attrs: nofree nounwind
declare dso_local noundef i32 @sprintf(i8* noalias nocapture noundef writeonly, i8* nocapture noundef readonly, ...) local_unnamed_addr #10
; Function Attrs: noreturn nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost16exception_detail16throw_exception_INS_7numeric6odeint21step_adjustment_errorEEEvRKT_PKcS9_i(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %0, i8* %1, i8* %2, i32 %3) local_unnamed_addr #15 comdat {
%5 = alloca %"struct.boost::exception_detail::error_info_injector", align 8
%6 = bitcast %"struct.boost::exception_detail::error_info_injector"* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 56, i8* nonnull %6) #3
call void @_ZN5boost17enable_error_infoINS_7numeric6odeint21step_adjustment_errorEEENS_16exception_detail29enable_error_info_return_typeIT_E4typeERKS6_(%"struct.boost::exception_detail::error_info_injector"* nonnull sret(%"struct.boost::exception_detail::error_info_injector") align 8 %5, %"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %0)
unreachable
}
; Function Attrs: nounwind uwtable willreturn
define available_externally dso_local void @_ZNSaIcEC2Ev(%"class.std::allocator"* nonnull dereferenceable(1) %0) unnamed_addr #7 align 2 {
%2 = bitcast %"class.std::allocator"* %0 to %"class.__gnu_cxx::new_allocator"*
call void @_ZN9__gnu_cxx13new_allocatorIcEC2Ev(%"class.__gnu_cxx::new_allocator"* nonnull dereferenceable(1) %2) #3
ret void
}
; Function Attrs: nounwind uwtable
define available_externally dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i8* %1, %"class.std::allocator"* nonnull align 1 dereferenceable(1) %2) unnamed_addr #0 align 2 {
%4 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %0, i64 0, i32 0
%5 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0)
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_(%"struct.std::__cxx11::basic_string<char>::_Alloc_hider"* nonnull dereferenceable(8) %4, i8* %5, %"class.std::allocator"* nonnull align 1 dereferenceable(1) %2)
%6 = icmp eq i8* %1, null
br i1 %6, label %10, label %7
7: ; preds = %3
%8 = call i64 @_ZNSt11char_traitsIcE6lengthEPKc(i8* nonnull %1)
%9 = getelementptr inbounds i8, i8* %1, i64 %8
br label %10
10: ; preds = %7, %3
%11 = phi i8* [ %9, %7 ], [ inttoptr (i64 -1 to i8*), %3 ]
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i8* %1, i8* %11)
ret void
}
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint21step_adjustment_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull dereferenceable(16) %0, %"class.std::__cxx11::basic_string"* nonnull align 8 dereferenceable(32) %1) unnamed_addr #0 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::step_adjustment_error", %"class.boost::numeric::odeint::step_adjustment_error"* %0, i64 0, i32 0
call void @_ZN5boost7numeric6odeint12odeint_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.boost::numeric::odeint::odeint_error"* nonnull dereferenceable(16) %3, %"class.std::__cxx11::basic_string"* nonnull align 8 dereferenceable(32) %1)
%4 = getelementptr inbounds %"class.boost::numeric::odeint::step_adjustment_error", %"class.boost::numeric::odeint::step_adjustment_error"* %0, i64 0, i32 0, i32 0, i32 0, i32 0
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVN5boost7numeric6odeint21step_adjustment_errorE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %4, align 8, !tbaa !57
ret void
}
; Function Attrs: inlinehint nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost17enable_error_infoINS_7numeric6odeint21step_adjustment_errorEEENS_16exception_detail29enable_error_info_return_typeIT_E4typeERKS6_(%"struct.boost::exception_detail::error_info_injector"* noalias sret(%"struct.boost::exception_detail::error_info_injector") align 8 %0, %"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %1) local_unnamed_addr #16 comdat {
call void @_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEC2ERKS4_(%"struct.boost::exception_detail::error_info_injector"* nonnull dereferenceable(52) %0, %"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %1)
ret void
}
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED2Ev(%"struct.boost::exception_detail::error_info_injector"* nonnull dereferenceable(52) %0) unnamed_addr #0 comdat align 2 {
%2 = getelementptr inbounds %"struct.boost::exception_detail::error_info_injector", %"struct.boost::exception_detail::error_info_injector"* %0, i64 0, i32 1
%3 = bitcast %"class.boost::exception.base"* %2 to %"class.boost::exception"*
call void @_ZN5boost9exceptionD2Ev(%"class.boost::exception"* nonnull dereferenceable(36) %3) #3
%4 = getelementptr inbounds %"struct.boost::exception_detail::error_info_injector", %"struct.boost::exception_detail::error_info_injector"* %0, i64 0, i32 0, i32 0, i32 0
call void @_ZNSt13runtime_errorD2Ev(%"class.std::runtime_error"* nonnull dereferenceable(16) %4) #3
ret void
}
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEC2ERKS4_(%"struct.boost::exception_detail::error_info_injector"* nonnull dereferenceable(52) %0, %"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %1) unnamed_addr #0 comdat align 2 {
%3 = getelementptr inbounds %"struct.boost::exception_detail::error_info_injector", %"struct.boost::exception_detail::error_info_injector"* %0, i64 0, i32 0
call void @_ZN5boost7numeric6odeint21step_adjustment_errorC2ERKS2_(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull dereferenceable(16) %3, %"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %1) #3
%4 = getelementptr inbounds %"struct.boost::exception_detail::error_info_injector", %"struct.boost::exception_detail::error_info_injector"* %0, i64 0, i32 1
%5 = bitcast %"class.boost::exception.base"* %4 to %"class.boost::exception"*
call void @_ZN5boost9exceptionC2Ev(%"class.boost::exception"* nonnull dereferenceable(36) %5)
%6 = getelementptr inbounds %"struct.boost::exception_detail::error_info_injector", %"struct.boost::exception_detail::error_info_injector"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [4 x i8*] }, { [5 x i8*], [4 x i8*] }* @_ZTVN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %6, align 8, !tbaa !57
%7 = getelementptr %"class.boost::exception.base", %"class.boost::exception.base"* %4, i64 0, i32 0
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [4 x i8*] }, { [5 x i8*], [4 x i8*] }* @_ZTVN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEEE, i64 0, inrange i32 1, i64 2) to i32 (...)**), i32 (...)*** %7, align 8, !tbaa !57
ret void
}
; Function Attrs: inlinehint nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint21step_adjustment_errorC2ERKS2_(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull dereferenceable(16) %0, %"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %1) unnamed_addr #13 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::step_adjustment_error", %"class.boost::numeric::odeint::step_adjustment_error"* %0, i64 0, i32 0
%4 = getelementptr inbounds %"class.boost::numeric::odeint::step_adjustment_error", %"class.boost::numeric::odeint::step_adjustment_error"* %1, i64 0, i32 0
call void @_ZN5boost7numeric6odeint12odeint_errorC2ERKS2_(%"class.boost::numeric::odeint::odeint_error"* nonnull dereferenceable(16) %3, %"class.boost::numeric::odeint::odeint_error"* nonnull align 8 dereferenceable(16) %4) #3
%5 = getelementptr inbounds %"class.boost::numeric::odeint::step_adjustment_error", %"class.boost::numeric::odeint::step_adjustment_error"* %0, i64 0, i32 0, i32 0, i32 0, i32 0
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVN5boost7numeric6odeint21step_adjustment_errorE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %5, align 8, !tbaa !57
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost9exceptionC2Ev(%"class.boost::exception"* nonnull dereferenceable(36) %0) unnamed_addr #7 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::exception", %"class.boost::exception"* %0, i64 0, i32 0
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTVN5boost9exceptionE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %2, align 8, !tbaa !57
%3 = getelementptr inbounds %"class.boost::exception", %"class.boost::exception"* %0, i64 0, i32 1
call void @_ZN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEEC2Ev(%"class.boost::exception_detail::refcount_ptr"* nonnull dereferenceable(8) %3)
%4 = getelementptr inbounds %"class.boost::exception", %"class.boost::exception"* %0, i64 0, i32 2
%5 = getelementptr inbounds %"class.boost::exception", %"class.boost::exception"* %0, i64 0, i32 4
%6 = bitcast i8** %4 to i8*
call void @llvm.memset.p0i8.i64(i8* nonnull align 8 dereferenceable(16) %6, i8 0, i64 16, i1 false)
store i32 -1, i32* %5, align 8, !tbaa !104
ret void
}
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED0Ev(%"struct.boost::exception_detail::error_info_injector"* nonnull dereferenceable(52) %0) unnamed_addr #0 comdat align 2 {
call void @_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED2Ev(%"struct.boost::exception_detail::error_info_injector"* nonnull dereferenceable(52) %0) #3
%2 = bitcast %"struct.boost::exception_detail::error_info_injector"* %0 to i8*
call void @_ZdlPv(i8* %2) #25
ret void
}
; Function Attrs: nounwind
declare dso_local i8* @_ZNKSt13runtime_error4whatEv(%"class.std::runtime_error"* nonnull dereferenceable(16)) unnamed_addr #2
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZThn16_N5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED1Ev(%"struct.boost::exception_detail::error_info_injector"* nonnull dereferenceable(52) %0) unnamed_addr #0 comdat align 2 {
%2 = getelementptr inbounds %"struct.boost::exception_detail::error_info_injector", %"struct.boost::exception_detail::error_info_injector"* %0, i64 -1, i32 1, i32 3
%3 = bitcast i8** %2 to %"struct.boost::exception_detail::error_info_injector"*
tail call void @_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED2Ev(%"struct.boost::exception_detail::error_info_injector"* nonnull dereferenceable(52) %3) #3
ret void
}
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZThn16_N5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED0Ev(%"struct.boost::exception_detail::error_info_injector"* nonnull dereferenceable(52) %0) unnamed_addr #0 comdat align 2 {
%2 = getelementptr inbounds %"struct.boost::exception_detail::error_info_injector", %"struct.boost::exception_detail::error_info_injector"* %0, i64 -1, i32 1, i32 3
%3 = bitcast i8** %2 to %"struct.boost::exception_detail::error_info_injector"*
tail call void @_ZN5boost16exception_detail19error_info_injectorINS_7numeric6odeint21step_adjustment_errorEED0Ev(%"struct.boost::exception_detail::error_info_injector"* nonnull dereferenceable(52) %3) #3
ret void
}
; Function Attrs: inlinehint nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint12odeint_errorC2ERKS2_(%"class.boost::numeric::odeint::odeint_error"* nonnull dereferenceable(16) %0, %"class.boost::numeric::odeint::odeint_error"* nonnull align 8 dereferenceable(16) %1) unnamed_addr #13 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::odeint_error", %"class.boost::numeric::odeint::odeint_error"* %0, i64 0, i32 0
%4 = getelementptr inbounds %"class.boost::numeric::odeint::odeint_error", %"class.boost::numeric::odeint::odeint_error"* %1, i64 0, i32 0
call void @_ZNSt13runtime_errorC2ERKS_(%"class.std::runtime_error"* nonnull dereferenceable(16) %3, %"class.std::runtime_error"* nonnull align 8 dereferenceable(16) %4) #3
%5 = getelementptr inbounds %"class.boost::numeric::odeint::odeint_error", %"class.boost::numeric::odeint::odeint_error"* %0, i64 0, i32 0, i32 0, i32 0
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVN5boost7numeric6odeint12odeint_errorE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %5, align 8, !tbaa !57
ret void
}
; Function Attrs: inlinehint nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint21step_adjustment_errorD0Ev(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull dereferenceable(16) %0) unnamed_addr #13 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::numeric::odeint::step_adjustment_error", %"class.boost::numeric::odeint::step_adjustment_error"* %0, i64 0, i32 0, i32 0
call void @_ZNSt13runtime_errorD2Ev(%"class.std::runtime_error"* nonnull dereferenceable(16) %2) #3
%3 = bitcast %"class.boost::numeric::odeint::step_adjustment_error"* %0 to i8*
call void @_ZdlPv(i8* %3) #25
ret void
}
; Function Attrs: nounwind
declare dso_local void @_ZNSt13runtime_errorC2ERKS_(%"class.std::runtime_error"* nonnull dereferenceable(16), %"class.std::runtime_error"* nonnull align 8 dereferenceable(16)) unnamed_addr #2
; Function Attrs: nounwind
declare dso_local void @_ZNSt13runtime_errorD2Ev(%"class.std::runtime_error"* nonnull dereferenceable(16)) unnamed_addr #2
; Function Attrs: inlinehint nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint12odeint_errorD0Ev(%"class.boost::numeric::odeint::odeint_error"* nonnull dereferenceable(16) %0) unnamed_addr #13 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::numeric::odeint::odeint_error", %"class.boost::numeric::odeint::odeint_error"* %0, i64 0, i32 0
call void @_ZNSt13runtime_errorD2Ev(%"class.std::runtime_error"* nonnull dereferenceable(16) %2) #3
%3 = bitcast %"class.boost::numeric::odeint::odeint_error"* %0 to i8*
call void @_ZdlPv(i8* %3) #25
ret void
}
; Function Attrs: nobuiltin nounwind
declare dso_local void @_ZdlPv(i8*) local_unnamed_addr #17
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEEC2Ev(%"class.boost::exception_detail::refcount_ptr"* nonnull dereferenceable(8) %0) unnamed_addr #7 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::exception_detail::refcount_ptr", %"class.boost::exception_detail::refcount_ptr"* %0, i64 0, i32 0
store %"struct.boost::exception_detail::error_info_container"* null, %"struct.boost::exception_detail::error_info_container"** %2, align 8, !tbaa !107
ret void
}
declare dso_local void @__cxa_pure_virtual() unnamed_addr
; Function Attrs: inlinehint nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost9exceptionD2Ev(%"class.boost::exception"* nonnull dereferenceable(36) %0) unnamed_addr #13 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::exception", %"class.boost::exception"* %0, i64 0, i32 0
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTVN5boost9exceptionE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %2, align 8, !tbaa !57
%3 = getelementptr inbounds %"class.boost::exception", %"class.boost::exception"* %0, i64 0, i32 1
call void @_ZN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEED2Ev(%"class.boost::exception_detail::refcount_ptr"* nonnull dereferenceable(8) %3) #3
ret void
}
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEED2Ev(%"class.boost::exception_detail::refcount_ptr"* nonnull dereferenceable(8) %0) unnamed_addr #0 comdat align 2 {
call void @_ZN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEE7releaseEv(%"class.boost::exception_detail::refcount_ptr"* nonnull dereferenceable(8) %0)
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEE7releaseEv(%"class.boost::exception_detail::refcount_ptr"* nonnull dereferenceable(8) %0) local_unnamed_addr #5 comdat align 2 {
%2 = getelementptr inbounds %"class.boost::exception_detail::refcount_ptr", %"class.boost::exception_detail::refcount_ptr"* %0, i64 0, i32 0
%3 = load %"struct.boost::exception_detail::error_info_container"*, %"struct.boost::exception_detail::error_info_container"** %2, align 8, !tbaa !107
%4 = icmp eq %"struct.boost::exception_detail::error_info_container"* %3, null
br i1 %4, label %12, label %5
5: ; preds = %1
%6 = bitcast %"struct.boost::exception_detail::error_info_container"* %3 to i1 (%"struct.boost::exception_detail::error_info_container"*)***
%7 = load i1 (%"struct.boost::exception_detail::error_info_container"*)**, i1 (%"struct.boost::exception_detail::error_info_container"*)*** %6, align 8, !tbaa !57
%8 = getelementptr inbounds i1 (%"struct.boost::exception_detail::error_info_container"*)*, i1 (%"struct.boost::exception_detail::error_info_container"*)** %7, i64 4
%9 = load i1 (%"struct.boost::exception_detail::error_info_container"*)*, i1 (%"struct.boost::exception_detail::error_info_container"*)** %8, align 8
%10 = call i1 %9(%"struct.boost::exception_detail::error_info_container"* nonnull dereferenceable(8) %3) #3
br i1 %10, label %11, label %12
11: ; preds = %5
store %"struct.boost::exception_detail::error_info_container"* null, %"struct.boost::exception_detail::error_info_container"** %2, align 8, !tbaa !107
br label %12
12: ; preds = %11, %5, %1
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN9__gnu_cxx13new_allocatorIcEC2Ev(%"class.__gnu_cxx::new_allocator"* nonnull dereferenceable(1) %0) unnamed_addr #7 comdat align 2 {
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define available_externally dso_local i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0) local_unnamed_addr #14 align 2 {
%2 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %0, i64 0, i32 2
%3 = bitcast %union.anon.26* %2 to i8*
%4 = call i8* @_ZNSt14pointer_traitsIPcE10pointer_toERc(i8* nonnull align 1 dereferenceable(1) %3) #3
ret i8* %4
}
; Function Attrs: nounwind uwtable willreturn
define available_externally dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_(%"struct.std::__cxx11::basic_string<char>::_Alloc_hider"* nonnull dereferenceable(8) %0, i8* %1, %"class.std::allocator"* nonnull align 1 dereferenceable(1) %2) unnamed_addr #7 align 2 {
%4 = bitcast %"struct.std::__cxx11::basic_string<char>::_Alloc_hider"* %0 to %"class.std::allocator"*
call void @_ZNSaIcEC2ERKS_(%"class.std::allocator"* nonnull dereferenceable(1) %4, %"class.std::allocator"* nonnull align 1 dereferenceable(1) %2) #3
%5 = getelementptr inbounds %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", %"struct.std::__cxx11::basic_string<char>::_Alloc_hider"* %0, i64 0, i32 0
store i8* %1, i8** %5, align 8, !tbaa !108
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i8* %1, i8* %2) local_unnamed_addr #5 comdat align 2 {
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPKcEEvT_S8_St12__false_type(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i8* %1, i8* %2, i8 undef)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i64 @_ZNSt11char_traitsIcE6lengthEPKc(i8* %0) local_unnamed_addr #14 comdat align 2 {
%2 = call i64 @strlen(i8* nonnull dereferenceable(1) %0) #3
ret i64 %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i8* @_ZNSt14pointer_traitsIPcE10pointer_toERc(i8* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #14 comdat align 2 {
%2 = call i8* @_ZSt9addressofIcEPT_RS0_(i8* nonnull align 1 dereferenceable(1) %0) #3
ret i8* %2
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i8* @_ZSt9addressofIcEPT_RS0_(i8* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #11 comdat {
%2 = call i8* @_ZSt11__addressofIcEPT_RS0_(i8* nonnull align 1 dereferenceable(1) %0) #3
ret i8* %2
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i8* @_ZSt11__addressofIcEPT_RS0_(i8* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #11 comdat {
ret i8* %0
}
; Function Attrs: nounwind uwtable willreturn
define available_externally dso_local void @_ZNSaIcEC2ERKS_(%"class.std::allocator"* nonnull dereferenceable(1) %0, %"class.std::allocator"* nonnull align 1 dereferenceable(1) %1) unnamed_addr #7 align 2 {
%3 = bitcast %"class.std::allocator"* %0 to %"class.__gnu_cxx::new_allocator"*
%4 = bitcast %"class.std::allocator"* %1 to %"class.__gnu_cxx::new_allocator"*
call void @_ZN9__gnu_cxx13new_allocatorIcEC2ERKS1_(%"class.__gnu_cxx::new_allocator"* nonnull dereferenceable(1) %3, %"class.__gnu_cxx::new_allocator"* nonnull align 1 dereferenceable(1) %4) #3
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @_ZN9__gnu_cxx13new_allocatorIcEC2ERKS1_(%"class.__gnu_cxx::new_allocator"* nonnull dereferenceable(1) %0, %"class.__gnu_cxx::new_allocator"* nonnull align 1 dereferenceable(1) %1) unnamed_addr #7 comdat align 2 {
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPKcEEvT_S8_St12__false_type(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i8* %1, i8* %2, i8 %3) local_unnamed_addr #5 comdat align 2 {
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i8* %1, i8* %2, i8 undef)
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i8* %1, i8* %2, i8 %3) local_unnamed_addr #5 comdat align 2 {
%5 = alloca i64, align 8
%6 = call i1 @_ZN9__gnu_cxx17__is_null_pointerIKcEEbPT_(i8* %1)
%7 = icmp ne i8* %1, %2
%8 = and i1 %7, %6
br i1 %8, label %9, label %10
9: ; preds = %4
call void @_ZSt19__throw_logic_errorPKc(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.12, i64 0, i64 0)) #22
unreachable
10: ; preds = %4
%11 = bitcast i64* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %11) #3
%12 = call i64 @_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_(i8* %1, i8* %2)
store i64 %12, i64* %5, align 8, !tbaa !110
%13 = icmp ugt i64 %12, 15
br i1 %13, label %14, label %17
14: ; preds = %10
%15 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i64* nonnull align 8 dereferenceable(8) %5, i64 0) #3
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i8* %15)
%16 = load i64, i64* %5, align 8, !tbaa !110
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i64 %16)
br label %17
17: ; preds = %14, %10
%18 = call i8* @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0)
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_(i8* %18, i8* %1, i8* %2) #3
%19 = load i64, i64* %5, align 8, !tbaa !110
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i64 %19)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %11) #3
ret void
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @_ZN9__gnu_cxx17__is_null_pointerIKcEEbPT_(i8* %0) local_unnamed_addr #11 comdat {
%2 = icmp eq i8* %0, null
ret i1 %2
}
; Function Attrs: noreturn
declare dso_local void @_ZSt19__throw_logic_errorPKc(i8*) local_unnamed_addr #18
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i64 @_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_(i8* %0, i8* %1) local_unnamed_addr #11 comdat {
%3 = alloca i8*, align 8
store i8* %0, i8** %3, align 8, !tbaa !32
call void @_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_(i8** nonnull align 8 dereferenceable(8) %3)
%4 = call i64 @_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag(i8* %0, i8* %1, i8 undef)
ret i64 %4
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define available_externally dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i8* %1) local_unnamed_addr #14 align 2 {
%3 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %0, i64 0, i32 0, i32 0
store i8* %1, i8** %3, align 8, !tbaa !111
ret void
}
declare dso_local i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32), i64* nonnull align 8 dereferenceable(8), i64) local_unnamed_addr #1
; Function Attrs: nounwind uwtable willreturn mustprogress
define available_externally dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i64 %1) local_unnamed_addr #14 align 2 {
%3 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %0, i64 0, i32 2, i32 0
store i64 %1, i64* %3, align 8, !tbaa !113
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define available_externally dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_(i8* %0, i8* %1, i8* %2) local_unnamed_addr #14 align 2 {
%4 = ptrtoint i8* %2 to i64
%5 = ptrtoint i8* %1 to i64
%6 = sub i64 %4, %5
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm(i8* %0, i8* %1, i64 %6)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define available_externally dso_local i8* @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0) local_unnamed_addr #14 align 2 {
%2 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %0, i64 0, i32 0, i32 0
%3 = load i8*, i8** %2, align 8, !tbaa !111
ret i8* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define available_externally dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i64 %1) local_unnamed_addr #14 align 2 {
%3 = alloca i8, align 4
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i64 %1)
%4 = call i8* @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0)
%5 = getelementptr inbounds i8, i8* %4, i64 %1
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %3) #3
store i8 0, i8* %3, align 4, !tbaa !114
call void @_ZNSt11char_traitsIcE6assignERcRKc(i8* nonnull align 1 dereferenceable(1) %5, i8* nonnull align 1 dereferenceable(1) %3) #3
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %3) #3
ret void
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i64 @_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag(i8* %0, i8* %1, i8 %2) local_unnamed_addr #11 comdat {
%4 = ptrtoint i8* %1 to i64
%5 = ptrtoint i8* %0 to i64
%6 = sub i64 %4, %5
ret i64 %6
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_(i8** nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #11 comdat {
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define available_externally dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm(i8* %0, i8* %1, i64 %2) local_unnamed_addr #14 align 2 {
%4 = icmp eq i64 %2, 1
br i1 %4, label %5, label %6
5: ; preds = %3
call void @_ZNSt11char_traitsIcE6assignERcRKc(i8* nonnull align 1 dereferenceable(1) %0, i8* nonnull align 1 dereferenceable(1) %1) #3
br label %8
6: ; preds = %3
%7 = call i8* @_ZNSt11char_traitsIcE4copyEPcPKcm(i8* %0, i8* %1, i64 %2)
br label %8
8: ; preds = %6, %5
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @_ZNSt11char_traitsIcE6assignERcRKc(i8* nonnull align 1 dereferenceable(1) %0, i8* nonnull align 1 dereferenceable(1) %1) local_unnamed_addr #14 comdat align 2 {
%3 = load i8, i8* %1, align 1, !tbaa !114
store i8 %3, i8* %0, align 1, !tbaa !114
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i8* @_ZNSt11char_traitsIcE4copyEPcPKcm(i8* %0, i8* %1, i64 %2) local_unnamed_addr #14 comdat align 2 {
%4 = icmp eq i64 %2, 0
br i1 %4, label %6, label %5
5: ; preds = %3
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %0, i8* align 1 %1, i64 %2, i1 false)
br label %6
6: ; preds = %5, %3
ret i8* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define available_externally dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %0, i64 %1) local_unnamed_addr #14 align 2 {
%3 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %0, i64 0, i32 1
store i64 %1, i64* %3, align 8, !tbaa !115
ret void
}
; Function Attrs: argmemonly nofree nounwind readonly willreturn
declare dso_local i64 @strlen(i8* nocapture) local_unnamed_addr #19
; Function Attrs: nounwind uwtable
define linkonce_odr dso_local void @_ZN5boost7numeric6odeint12odeint_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.boost::numeric::odeint::odeint_error"* nonnull dereferenceable(16) %0, %"class.std::__cxx11::basic_string"* nonnull align 8 dereferenceable(32) %1) unnamed_addr #0 comdat align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::odeint_error", %"class.boost::numeric::odeint::odeint_error"* %0, i64 0, i32 0
call void @_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.std::runtime_error"* nonnull dereferenceable(16) %3, %"class.std::__cxx11::basic_string"* nonnull align 8 dereferenceable(32) %1) #3
%4 = getelementptr inbounds %"class.boost::numeric::odeint::odeint_error", %"class.boost::numeric::odeint::odeint_error"* %0, i64 0, i32 0, i32 0, i32 0
store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVN5boost7numeric6odeint12odeint_errorE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %4, align 8, !tbaa !57
ret void
}
declare dso_local void @_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.std::runtime_error"* nonnull dereferenceable(16), %"class.std::__cxx11::basic_string"* nonnull align 8 dereferenceable(32)) unnamed_addr #1
; Function Attrs: nounwind uwtable
define internal void @_GLOBAL__sub_I_integrateexp.cpp() #0 section ".text.startup" {
call fastcc void @__cxx_global_var_init()
call fastcc void @__cxx_global_var_init.1()
call fastcc void @__cxx_global_var_init.2()
ret void
}
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare double @llvm.exp2.f64(double) #9
; Function Attrs: argmemonly nofree nosync nounwind willreturn writeonly
declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #20
; Function Attrs: nounwind uwtable mustprogress
define dso_local double @preprocess__Z6foobard(double %0) #5 {
%2 = alloca %"class.boost::array.1", align 8
%3 = alloca %"class.boost::numeric::odeint::controlled_runge_kutta", align 8
%4 = alloca %"class.boost::numeric::odeint::default_error_checker", align 8
%5 = alloca %"class.boost::numeric::odeint::default_step_adjuster", align 8
%6 = alloca %"class.boost::numeric::odeint::runge_kutta_dopri5", align 8
%7 = alloca %"struct.boost::numeric::odeint::array_algebra", align 1
%8 = bitcast %"class.boost::array.1"* %2 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %8) #3
%9 = bitcast %"class.boost::array.1"* %2 to i64*
store i64 4607182418800017408, i64* %9, align 8
%10 = bitcast %"class.boost::numeric::odeint::default_error_checker"* %4 to i8*
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %10) #3
call void @_ZN5boost7numeric6odeint21default_error_checkerIdNS1_13array_algebraENS1_18default_operationsEEC2Edddd(%"class.boost::numeric::odeint::default_error_checker"* nonnull dereferenceable(32) %4, double 0x3EB0C6F7A0B5ED8D, double 0x3EB0C6F7A0B5ED8D, double 1.000000e+00, double 1.000000e+00)
%11 = bitcast %"class.boost::numeric::odeint::default_step_adjuster"* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %11) #3
call void @_ZN5boost7numeric6odeint21default_step_adjusterIddEC2Ed(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %5, double 0.000000e+00)
%12 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %6, i64 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 80, i8* nonnull %12) #3
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::array_algebra", %"struct.boost::numeric::odeint::array_algebra"* %7, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %13) #3
call void @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEC2ERKS5_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %6, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %7)
call void @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEEC2ERKSB_RKSD_RKS9_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %3, %"class.boost::numeric::odeint::default_error_checker"* nonnull align 8 dereferenceable(32) %4, %"class.boost::numeric::odeint::default_step_adjuster"* nonnull align 8 dereferenceable(8) %5, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %6)
%14 = fmul fast double %0, 1.000000e-02
%15 = call i64 @_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dEEmT_T0_RT1_T2_SQ_SQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %3, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* nonnull @_Z6lorenzRKN5boost5arrayIdLm1EEERS1_d, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double 0.000000e+00, double %0, double %14)
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %13) #3
call void @llvm.lifetime.end.p0i8(i64 80, i8* nonnull %12) #3
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %11) #3
call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %10) #3
%16 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %2, i64 0)
%17 = load double, double* %16, align 8, !tbaa !6
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %8) #3
ret double %17
}
; Function Attrs: nounwind uwtable mustprogress
define internal { double } @diffe_Z6foobard(double %0, double %differeturn) #5 {
%"'ipa" = alloca %"class.boost::array.1", align 8
store %"class.boost::array.1" zeroinitializer, %"class.boost::array.1"* %"'ipa", align 8
%2 = alloca %"class.boost::array.1", align 8
%"'ipa2" = alloca %"class.boost::numeric::odeint::controlled_runge_kutta", align 8
store %"class.boost::numeric::odeint::controlled_runge_kutta" zeroinitializer, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ipa2", align 8
%3 = alloca %"class.boost::numeric::odeint::controlled_runge_kutta", align 8
%4 = alloca %"class.boost::numeric::odeint::default_error_checker", align 8
%5 = alloca %"class.boost::numeric::odeint::default_step_adjuster", align 8
%6 = alloca %"class.boost::numeric::odeint::runge_kutta_dopri5", align 8
%7 = alloca %"struct.boost::numeric::odeint::array_algebra", align 1
%8 = bitcast %"class.boost::array.1"* %2 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %8) #3
%9 = bitcast %"class.boost::array.1"* %2 to i64*
store i64 4607182418800017408, i64* %9, align 8
%10 = bitcast %"class.boost::numeric::odeint::default_error_checker"* %4 to i8*
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %10) #3
call void @_ZN5boost7numeric6odeint21default_error_checkerIdNS1_13array_algebraENS1_18default_operationsEEC2Edddd(%"class.boost::numeric::odeint::default_error_checker"* nonnull dereferenceable(32) %4, double 0x3EB0C6F7A0B5ED8D, double 0x3EB0C6F7A0B5ED8D, double 1.000000e+00, double 1.000000e+00)
%11 = bitcast %"class.boost::numeric::odeint::default_step_adjuster"* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %11) #3
call void @_ZN5boost7numeric6odeint21default_step_adjusterIddEC2Ed(%"class.boost::numeric::odeint::default_step_adjuster"* nonnull dereferenceable(8) %5, double 0.000000e+00)
%12 = getelementptr inbounds %"class.boost::numeric::odeint::runge_kutta_dopri5", %"class.boost::numeric::odeint::runge_kutta_dopri5"* %6, i64 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 80, i8* nonnull %12) #3
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::array_algebra", %"struct.boost::numeric::odeint::array_algebra"* %7, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %13) #3
call void @_ZN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEC2ERKS5_(%"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull dereferenceable(74) %6, %"struct.boost::numeric::odeint::array_algebra"* nonnull align 1 dereferenceable(1) %7)
call void @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEEC2ERKSB_RKSD_RKS9_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %3, %"class.boost::numeric::odeint::default_error_checker"* nonnull align 8 dereferenceable(32) %4, %"class.boost::numeric::odeint::default_step_adjuster"* nonnull align 8 dereferenceable(8) %5, %"class.boost::numeric::odeint::runge_kutta_dopri5"* nonnull align 8 dereferenceable(74) %6)
%14 = fmul fast double %0, 1.000000e-02
%15 = call i64 @_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dEEmT_T0_RT1_T2_SQ_SQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %3, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* nonnull @_Z6lorenzRKN5boost5arrayIdLm1EEERS1_d, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double 0.000000e+00, double %0, double %14)
%_augmented = call double* @augmented__ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* %2, %"class.boost::array.1"* %"'ipa", i64 0)
%_replacementA1 = phi double*
%_replacementA = phi double
br label %invert
allocsForInversion: ; No predecessors!
%"'de" = alloca double, align 8
store double 0.000000e+00, double* %"'de", align 8
invert: ; preds = %1
store double %differeturn, double* %"'de", align 8
%16 = load double, double* %"'de", align 8
store double 0.000000e+00, double* %"'de", align 8
%17 = load double, double* %_augmented, align 8
%18 = fadd fast double %17, %16
store double %18, double* %_augmented, align 8
call void @diffe_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* %2, %"class.boost::array.1"* %"'ipa", i64 0)
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) double* @preprocess__ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 %1) local_unnamed_addr #5 align 2 {
%3 = icmp eq i64 %1, 0
br i1 %3, label %5, label %4
4: ; preds = %2
call void @__assert_fail(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.9, i64 0, i64 0), i32 118, i8* getelementptr inbounds ([105 x i8], [105 x i8]* @__PRETTY_FUNCTION__._ZN5boost5arrayIdLm1EEixEm, i64 0, i64 0)) #22
unreachable
5: ; preds = %2
%6 = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %0, i64 0, i32 0, i64 0
ret double* %6
}
; Function Attrs: nounwind uwtable mustprogress
define internal double* @augmented__ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* %"'", i64 %1) local_unnamed_addr #5 align 2 {
%3 = alloca double*, align 8
%4 = icmp eq i64 %1, 0
br i1 %4, label %6, label %5
5: ; preds = %2
call void @__assert_fail(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.9, i64 0, i64 0), i32 118, i8* getelementptr inbounds ([105 x i8], [105 x i8]* @__PRETTY_FUNCTION__._ZN5boost5arrayIdLm1EEixEm, i64 0, i64 0)) #22
unreachable
6: ; preds = %2
%"'ipg" = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %"'", i64 0, i32 0, i64 0
store double* %"'ipg", double** %3, align 8
%7 = load double*, double** %3, align 8
ret double* %7
}
; Function Attrs: nounwind uwtable mustprogress
define internal void @diffe_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* %"'", i64 %1) local_unnamed_addr #5 align 2 {
br i1 true, label %4, label %3
3: ; preds = %2
unreachable
4: ; preds = %2
br label %invert2
invert: ; preds = %invert2
ret void
invert2: ; preds = %4
br label %invert
}
; Function Attrs: nounwind uwtable mustprogress
define dso_local void @preprocess__Z6lorenzRKN5boost5arrayIdLm1EEERS1_d(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, double %2) #5 {
%4 = call nonnull align 8 dereferenceable(8) double* @_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 0)
%5 = load double, double* %4, align 8, !tbaa !6
%6 = fmul fast double %5, -1.200000e+00
%7 = call nonnull align 8 dereferenceable(8) double* @_ZN5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %1, i64 0)
store double %6, double* %7, align 8, !tbaa !6
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define internal { double*, double* } @augmented__ZN5boost5arrayIdLm1EEixEm.1(%"class.boost::array.1"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* %"'", i64 %1) local_unnamed_addr #5 align 2 {
%3 = alloca { double*, double* }, align 8
%4 = icmp eq i64 %1, 0
br i1 %4, label %6, label %5
5: ; preds = %2
call void @__assert_fail(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.9, i64 0, i64 0), i32 118, i8* getelementptr inbounds ([105 x i8], [105 x i8]* @__PRETTY_FUNCTION__._ZN5boost5arrayIdLm1EEixEm, i64 0, i64 0)) #22
unreachable
6: ; preds = %2
%"'ipg" = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %"'", i64 0, i32 0, i64 0
%7 = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %0, i64 0, i32 0, i64 0
%8 = insertvalue { i8*, double*, double* } undef, double* %7, 1
%9 = getelementptr inbounds { double*, double* }, { double*, double* }* %3, i32 0, i32 0
store double* %7, double** %9, align 8
%10 = getelementptr inbounds { double*, double* }, { double*, double* }* %3, i32 0, i32 1
store double* %"'ipg", double** %10, align 8
%11 = load { double*, double* }, { double*, double* }* %3, align 8
ret { double*, double* } %11
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) double* @preprocess__ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, i64 %1) local_unnamed_addr #5 align 2 {
%3 = icmp eq i64 %1, 0
br i1 %3, label %5, label %4
4: ; preds = %2
call void @__assert_fail(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.9, i64 0, i64 0), i32 123, i8* getelementptr inbounds ([117 x i8], [117 x i8]* @__PRETTY_FUNCTION__._ZNK5boost5arrayIdLm1EEixEm, i64 0, i64 0)) #22
unreachable
5: ; preds = %2
%6 = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %0, i64 0, i32 0, i64 0
ret double* %6
}
; Function Attrs: nounwind uwtable mustprogress
define internal { double*, double* } @augmented__ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* %"'", i64 %1) local_unnamed_addr #5 align 2 {
%3 = alloca { double*, double* }, align 8
%4 = icmp eq i64 %1, 0
br i1 %4, label %6, label %5
5: ; preds = %2
call void @__assert_fail(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.9, i64 0, i64 0), i32 123, i8* getelementptr inbounds ([117 x i8], [117 x i8]* @__PRETTY_FUNCTION__._ZNK5boost5arrayIdLm1EEixEm, i64 0, i64 0)) #22
unreachable
6: ; preds = %2
%"'ipg" = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %"'", i64 0, i32 0, i64 0
%7 = getelementptr inbounds %"class.boost::array.1", %"class.boost::array.1"* %0, i64 0, i32 0, i64 0
%8 = insertvalue { i8*, double*, double* } undef, double* %7, 1
%9 = getelementptr inbounds { double*, double* }, { double*, double* }* %3, i32 0, i32 0
store double* %7, double** %9, align 8
%10 = getelementptr inbounds { double*, double* }, { double*, double* }* %3, i32 0, i32 1
store double* %"'ipg", double** %10, align 8
%11 = load { double*, double* }, { double*, double* }* %3, align 8
ret { double*, double* } %11
}
; Function Attrs: nounwind uwtable mustprogress
define internal i8* @augmented__Z6lorenzRKN5boost5arrayIdLm1EEERS1_d(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* %"'", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* %"'1", double %2) #5 {
%malloccall = tail call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16)
%tapemem = bitcast i8* %malloccall to { double*, double* }*
%4 = alloca i8*, align 8
store i8* %malloccall, i8** %4, align 8
%_augmented3 = call { double*, double* } @augmented__ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* %0, %"class.boost::array.1"* %"'", i64 0)
%5 = extractvalue { double*, double* } %_augmented3, 0
%"'ac4" = extractvalue { double*, double* } %_augmented3, 1
%6 = getelementptr inbounds { double*, double* }, { double*, double* }* %tapemem, i32 0, i32 1
store double* %"'ac4", double** %6, align 8
%7 = load double, double* %5, align 8, !tbaa !6
%8 = fmul fast double %7, -1.200000e+00
%_augmented = call { double*, double* } @augmented__ZN5boost5arrayIdLm1EEixEm.1(%"class.boost::array.1"* %1, %"class.boost::array.1"* %"'1", i64 0)
%9 = extractvalue { double*, double* } %_augmented, 0
%"'ac" = extractvalue { double*, double* } %_augmented, 1
%10 = getelementptr inbounds { double*, double* }, { double*, double* }* %tapemem, i32 0, i32 0
store double* %"'ac", double** %10, align 8
store double %8, double* %9, align 8, !tbaa !6
%11 = load i8*, i8** %4, align 8
ret i8* %11
}
declare noalias i8* @malloc(i64)
; Function Attrs: nounwind uwtable mustprogress
define internal { double } @diffe_Z6lorenzRKN5boost5arrayIdLm1EEERS1_d(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* %"'", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* %"'1", double %2, i8* %tapeArg) #5 {
%4 = bitcast i8* %tapeArg to { double*, double* }*
%truetape = load { double*, double* }, { double*, double* }* %4, align 8, !enzyme_mustcache !59
tail call void @free(i8* nonnull %tapeArg)
%"'de" = alloca double, align 8
store double 0.000000e+00, double* %"'de", align 8
%"'de4" = alloca double, align 8
store double 0.000000e+00, double* %"'de4", align 8
%"'de7" = alloca double, align 8
store double 0.000000e+00, double* %"'de7", align 8
%"'ip_phi" = extractvalue { double*, double* } %truetape, 1
%"'ip_phi2" = extractvalue { double*, double* } %truetape, 0
br label %invert
invert: ; preds = %3
%5 = load double, double* %"'ip_phi2", align 8
store double 0.000000e+00, double* %"'ip_phi2", align 8
%6 = load double, double* %"'de", align 8
%7 = fadd fast double %6, %5
store double %7, double* %"'de", align 8
call void @diffe_ZN5boost5arrayIdLm1EEixEm.2(%"class.boost::array.1"* %1, %"class.boost::array.1"* %"'1", i64 0)
%8 = load double, double* %"'de", align 8
%m0diffe = fmul fast double %8, -1.200000e+00
store double 0.000000e+00, double* %"'de", align 8
%9 = load double, double* %"'de4", align 8
%10 = fadd fast double %9, %m0diffe
store double %10, double* %"'de4", align 8
%11 = load double, double* %"'de4", align 8
store double 0.000000e+00, double* %"'de4", align 8
%12 = load double, double* %"'ip_phi", align 8
%13 = fadd fast double %12, %11
store double %13, double* %"'ip_phi", align 8
call void @diffe_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* %0, %"class.boost::array.1"* %"'", i64 0)
%14 = load double, double* %"'de7", align 8
%15 = insertvalue { double } undef, double %14, 0
ret { double } %15
}
declare void @free(i8*)
; Function Attrs: nounwind uwtable mustprogress
define internal void @diffe_ZN5boost5arrayIdLm1EEixEm.2(%"class.boost::array.1"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* %"'", i64 %1) local_unnamed_addr #5 align 2 {
br i1 true, label %4, label %3
3: ; preds = %2
unreachable
4: ; preds = %2
br label %invert2
invert: ; preds = %invert2
ret void
invert2: ; preds = %4
br label %invert
}
; Function Attrs: nounwind uwtable mustprogress
define internal void @diffe_ZNK5boost5arrayIdLm1EEixEm(%"class.boost::array.1"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* %"'", i64 %1) local_unnamed_addr #5 align 2 {
br i1 true, label %4, label %3
3: ; preds = %2
unreachable
4: ; preds = %2
br label %invert2
invert: ; preds = %invert2
ret void
invert2: ; preds = %4
br label %invert
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i64 @preprocess__ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dEEmT_T0_RT1_T2_SQ_SQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5) local_unnamed_addr #5 {
%malloccall = tail call noalias i8* @malloc(i64 168), !enzyme_fromstack !59
%7 = bitcast i8* %malloccall to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%8 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %7, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%9 = getelementptr %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %8, i8* nonnull align 8 dereferenceable(168) %9, i64 168, i1 false), !tbaa !10
%10 = call i64 @_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dNS1_13null_observerEEEmT_T0_RT1_T2_SR_SR_T3_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %7, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 undef)
ret i64 %10
}
; Function Attrs: nounwind uwtable mustprogress
define internal { i8* } @fakeaugmented__ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dEEmT_T0_RT1_T2_SQ_SQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'", void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %"'1", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* %"'2", double %3, double %4, double %5) local_unnamed_addr #5 {
%malloccall = tail call noalias i8* @malloc(i64 168), !enzyme_fromstack !59
%"malloccall'mi" = phi i8*
%"'ipc" = bitcast i8* %"malloccall'mi" to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%7 = bitcast i8* %malloccall to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%8 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %7, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%9 = getelementptr %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %8, i8* nonnull align 8 dereferenceable(168) %9, i64 168, i1 false), !tbaa !10
%10 = call i64 @_ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dNS1_13null_observerEEEmT_T0_RT1_T2_SR_SR_T3_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %7, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 undef)
ret { i8* } undef
allocsForInversion: ; No predecessors!
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i64 @preprocess__ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dNS1_13null_observerEEEmT_T0_RT1_T2_SR_SR_T3_(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 %6) local_unnamed_addr #5 {
%malloccall = tail call noalias i8* @malloc(i64 168), !enzyme_fromstack !59
%8 = bitcast i8* %malloccall to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%9 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %8, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%10 = getelementptr %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %9, i8* nonnull align 8 dereferenceable(168) %10, i64 168, i1 false), !tbaa !10
%11 = call i64 @_ZN5boost7numeric6odeint6detail15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_T2_SS_SS_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %8, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 undef, i8 undef)
ret i64 %11
}
; Function Attrs: nounwind uwtable mustprogress
define internal { i8* } @fakeaugmented__ZN5boost7numeric6odeint15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS6_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS7_S8_EENS1_21default_step_adjusterIddEES9_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS6_RS6_dES6_dNS1_13null_observerEEEmT_T0_RT1_T2_SR_SR_T3_(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'", void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %"'1", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* %"'2", double %3, double %4, double %5, i8 %6) local_unnamed_addr #5 {
%malloccall = tail call noalias i8* @malloc(i64 168), !enzyme_fromstack !59
%"malloccall'mi" = phi i8*
%"'ipc" = bitcast i8* %"malloccall'mi" to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%8 = bitcast i8* %malloccall to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%9 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %8, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%10 = getelementptr %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %9, i8* nonnull align 8 dereferenceable(168) %10, i64 168, i1 false), !tbaa !10
%11 = call i64 @_ZN5boost7numeric6odeint6detail15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_T2_SS_SS_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %8, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 undef, i8 undef)
ret { i8* } undef
allocsForInversion: ; No predecessors!
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i64 @preprocess__ZN5boost7numeric6odeint6detail15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_T2_SS_SS_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %3, double %4, double %5, i8 %6, i8 %7) local_unnamed_addr #5 {
%malloccall1 = tail call noalias i8* @malloc(i64 8), !enzyme_fromstack !59
%9 = bitcast i8* %malloccall1 to double*
%malloccall2 = tail call noalias i8* @malloc(i64 8), !enzyme_fromstack !59
%10 = bitcast i8* %malloccall2 to double*
%malloccall = tail call noalias i8* @malloc(i64 1), !enzyme_fromstack !59
%11 = bitcast i8* %malloccall to %"struct.boost::numeric::odeint::null_observer"*
%malloccall3 = tail call noalias i8* @malloc(i64 168), !enzyme_fromstack !59
%12 = bitcast i8* %malloccall3 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::null_observer", %"struct.boost::numeric::odeint::null_observer"* %11, i64 0, i32 0
store i8 %6, i8* %13, align 4
store double %5, double* %9, align 8, !tbaa !6
%14 = bitcast double* %10 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %14) #3
store double %3, double* %10, align 8, !tbaa !6
%15 = fadd fast double %3, %5
%16 = call i1 @_ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %15, double %4, double %5)
br i1 %16, label %17, label %37
17: ; preds = %8
%18 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %12, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%19 = getelementptr %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
br label %20
20: ; preds = %20, %17
%tiv = phi i64 [ %tiv.next, %20 ], [ 0, %17 ]
%21 = phi i64 [ 0, %17 ], [ %33, %20 ]
%22 = trunc i64 %tiv to i32
%tiv.next = add nuw nsw i64 %tiv, 1
%23 = load double, double* %10, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %11, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %23)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %18, i8* nonnull align 8 dereferenceable(168) %19, i64 168, i1 false), !tbaa !10
%24 = load double, double* %10, align 8, !tbaa !6
%25 = fadd fast double %24, %5
%26 = call i64 @_ZN5boost7numeric6odeint6detail18integrate_adaptiveINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_RT2_SS_ST_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %12, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %10, double %25, double* nonnull align 8 dereferenceable(8) %9, i8 undef, i8 undef)
%27 = add i64 %26, %21
%28 = add nuw nsw i32 %22, 1
%29 = sitofp i32 %28 to double
%30 = fmul fast double %29, %5
%31 = fadd fast double %30, %3
%32 = shl i64 %27, 32
%33 = ashr exact i64 %32, 32
store double %31, double* %10, align 8, !tbaa !6
%34 = fadd fast double %31, %5
%35 = load double, double* %9, align 8, !tbaa !6
%36 = call i1 @_ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %34, double %4, double %35)
br i1 %36, label %20, label %.loopexit, !llvm.loop !48
.loopexit: ; preds = %20
br label %37
37: ; preds = %.loopexit, %8
%38 = phi i64 [ 0, %8 ], [ %33, %.loopexit ]
%39 = load double, double* %10, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %11, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %39)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %14) #3
ret i64 %38
}
; Function Attrs: nounwind uwtable mustprogress
define internal { i8* } @fakeaugmented__ZN5boost7numeric6odeint6detail15integrate_constINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_T2_SS_SS_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'", void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %"'1", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* %"'2", double %3, double %4, double %5, i8 %6, i8 %7) local_unnamed_addr #5 {
%malloccall1 = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8), !enzyme_fromstack !59
%"malloccall1'mi" = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8)
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(8) dereferenceable_or_null(8) %"malloccall1'mi", i8 0, i64 8, i1 false)
%"'ipc10" = bitcast i8* %"malloccall1'mi" to double*
%9 = bitcast i8* %malloccall1 to double*
%malloccall2 = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8), !enzyme_fromstack !59
%"malloccall2'mi" = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8)
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(8) dereferenceable_or_null(8) %"malloccall2'mi", i8 0, i64 8, i1 false)
%"'ipc9" = bitcast i8* %"malloccall2'mi" to double*
%10 = bitcast i8* %malloccall2 to double*
%malloccall = tail call noalias nonnull dereferenceable(1) dereferenceable_or_null(1) i8* @malloc(i64 1), !enzyme_fromstack !59
%"malloccall'mi" = tail call noalias nonnull dereferenceable(1) dereferenceable_or_null(1) i8* @malloc(i64 1)
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(1) dereferenceable_or_null(1) %"malloccall'mi", i8 0, i64 1, i1 false)
%"'ipc" = bitcast i8* %"malloccall'mi" to %"struct.boost::numeric::odeint::null_observer"*
%11 = bitcast i8* %malloccall to %"struct.boost::numeric::odeint::null_observer"*
%malloccall3 = tail call noalias nonnull dereferenceable(168) dereferenceable_or_null(168) i8* @malloc(i64 168), !enzyme_fromstack !59
%"malloccall3'mi" = tail call noalias nonnull dereferenceable(168) dereferenceable_or_null(168) i8* @malloc(i64 168)
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(168) dereferenceable_or_null(168) %"malloccall3'mi", i8 0, i64 168, i1 false)
%"'ipc8" = bitcast i8* %"malloccall3'mi" to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%12 = bitcast i8* %malloccall3 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%"'ipg" = getelementptr inbounds %"struct.boost::numeric::odeint::null_observer", %"struct.boost::numeric::odeint::null_observer"* %"'ipc", i64 0, i32 0
%13 = getelementptr inbounds %"struct.boost::numeric::odeint::null_observer", %"struct.boost::numeric::odeint::null_observer"* %11, i64 0, i32 0
store i8 %6, i8* %"'ipg", align 4
store i8 %6, i8* %13, align 4
store double %5, double* %9, align 8, !tbaa !6
%_replacementA = phi i8*
store double %3, double* %10, align 8, !tbaa !6
%14 = fadd fast double %3, %5
%_augmented = call { { double, i8*, i8* }, i1 } @augmented__ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %14, double %4, double %5)
%subcache = extractvalue { { double, i8*, i8* }, i1 } %_augmented, 0
%15 = extractvalue { { double, i8*, i8* }, i1 } %_augmented, 1
br i1 %15, label %16, label %44
16: ; preds = %8
%17 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %12, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%18 = getelementptr %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
store { double, i8*, i8* }* null, { double, i8*, i8* }** %subcache4_cache, align 8
store i1* null, i1** %_cache, align 8
br label %19
19: ; preds = %19, %16
%iv = phi i64 [ %iv.next, %19 ], [ 0, %16 ]
%20 = phi i64 [ 0, %16 ], [ %_replacementA5, %19 ]
%iv.next = add nuw nsw i64 %iv, 1
%21 = load i1*, i1** %_cache, align 8
%22 = bitcast i1* %21 to i8*
%_realloccache = call i8* @__enzyme_exponentialallocation(i8* %22, i64 %iv.next, i64 1)
%23 = bitcast i8* %_realloccache to i1*
store i1* %23, i1** %_cache, align 1
%24 = load { double, i8*, i8* }*, { double, i8*, i8* }** %subcache4_cache, align 8
%25 = bitcast { double, i8*, i8* }* %24 to i8*
%subcache4_realloccache = call i8* @__enzyme_exponentialallocation(i8* %25, i64 %iv.next, i64 24)
%26 = bitcast i8* %subcache4_realloccache to { double, i8*, i8* }*
store { double, i8*, i8* }* %26, { double, i8*, i8* }** %subcache4_cache, align 8
%27 = trunc i64 %iv to i32
%28 = load double, double* %10, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %11, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %28)
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(168) %17, i8* nonnull align 8 dereferenceable(168) %18, i64 168, i1 false), !tbaa !10
%29 = load double, double* %10, align 8, !tbaa !6
%30 = fadd fast double %29, %5
%31 = call i64 @_ZN5boost7numeric6odeint6detail18integrate_adaptiveINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_RT2_SS_ST_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull %12, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %10, double %30, double* nonnull align 8 dereferenceable(8) %9, i8 undef, i8 undef)
%_replacementA7 = phi i64
%32 = add nuw nsw i32 %27, 1
%33 = sitofp i32 %32 to double
%34 = fmul fast double %33, %5
%35 = fadd fast double %34, %3
%_replacementA6 = phi i64
%_replacementA5 = phi i64
store double %35, double* %10, align 8, !tbaa !6
%36 = fadd fast double %35, %5
%37 = load double, double* %9, align 8, !tbaa !6
%_augmented3 = call { { double, i8*, i8* }, i1 } @augmented__ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %36, double %4, double %37)
%subcache4 = extractvalue { { double, i8*, i8* }, i1 } %_augmented3, 0
%38 = load { double, i8*, i8* }*, { double, i8*, i8* }** %subcache4_cache, align 8, !dereferenceable !116, !invariant.group !117
%39 = getelementptr inbounds { double, i8*, i8* }, { double, i8*, i8* }* %38, i64 %iv
store { double, i8*, i8* } %subcache4, { double, i8*, i8* }* %39, align 8, !invariant.group !118
%40 = extractvalue { { double, i8*, i8* }, i1 } %_augmented3, 1
%41 = load i1*, i1** %_cache, align 8, !dereferenceable !116, !invariant.group !119
%42 = getelementptr inbounds i1, i1* %41, i64 %iv
store i1 %40, i1* %42, align 1, !invariant.group !120
br i1 %40, label %19, label %.loopexit, !llvm.loop !48
.loopexit: ; preds = %19
%43 = phi i64 [ %iv, %19 ]
store i64 %43, i64* %loopLimit_cache, align 8, !invariant.group !121
br label %44
44: ; preds = %.loopexit, %8
%45 = phi i64 [ 0, %8 ], [ %_replacementA5, %.loopexit ]
%46 = load double, double* %10, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %11, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %46)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %_replacementA) #3
ret { i8* } undef
allocsForInversion: ; No predecessors!
%"iv'ac" = alloca i64, align 8
%loopLimit_cache = alloca i64, align 8
%subcache4_cache = alloca { double, i8*, i8* }*, align 8
%_cache = alloca i1*, align 8
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @preprocess__ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %0, double %1, double %2) local_unnamed_addr #14 {
%malloccall = tail call noalias i8* @malloc(i64 8), !enzyme_fromstack !59
%4 = bitcast i8* %malloccall to double*
store double %2, double* %4, align 8, !tbaa !6
%5 = call fast double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %4)
%6 = fcmp fast ogt double %5, 0.000000e+00
%7 = fsub fast double %1, %0
%8 = fsub fast double %0, %1
%9 = select i1 %6, double %8, double %7
%10 = call fast double @_ZNSt14numeric_limitsIdE7epsilonEv() #3
%11 = fcmp fast ole double %9, %10
ret i1 %11
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @preprocess__ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
%2 = call fast double @_ZN5boost7numeric6odeint6detail19get_unit_value_implIdvE5valueERKd(double* nonnull align 8 dereferenceable(8) %0)
ret double %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local double @preprocess__ZN5boost7numeric6odeint6detail19get_unit_value_implIdvE5valueERKd(double* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 align 2 {
%2 = load double, double* %0, align 8, !tbaa !6
ret double %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal double @augmented__ZN5boost7numeric6odeint6detail19get_unit_value_implIdvE5valueERKd(double* nonnull align 8 dereferenceable(8) %0, double* %"'") local_unnamed_addr #14 align 2 {
%2 = alloca double, align 8
%3 = load double, double* %0, align 8, !tbaa !6
%4 = insertvalue { i8*, double } undef, double %3, 1
store double %3, double* %2, align 8
%5 = load double, double* %2, align 8
ret double %5
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal double @augmented__ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %0, double* %"'") local_unnamed_addr #14 {
%2 = alloca double, align 8
%3 = call fast double @augmented__ZN5boost7numeric6odeint6detail19get_unit_value_implIdvE5valueERKd(double* %0, double* %"'")
%4 = insertvalue { i8*, double } undef, double %3, 1
store double %3, double* %2, align 8
%5 = load double, double* %2, align 8
ret double %5
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { double, i8*, i8* }, i1 } @augmented__ZN5boost7numeric6odeint6detail17less_eq_with_signIdEEbT_S4_S4_(double %0, double %1, double %2) local_unnamed_addr #14 {
%4 = alloca { { double, i8*, i8* }, i1 }, align 8
%5 = getelementptr inbounds { { double, i8*, i8* }, i1 }, { { double, i8*, i8* }, i1 }* %4, i32 0, i32 0
%malloccall = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8), !enzyme_fromstack !59
%6 = getelementptr inbounds { double, i8*, i8* }, { double, i8*, i8* }* %5, i32 0, i32 2
store i8* %malloccall, i8** %6, align 8
%"malloccall'mi" = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8)
%7 = getelementptr inbounds { double, i8*, i8* }, { double, i8*, i8* }* %5, i32 0, i32 1
store i8* %"malloccall'mi", i8** %7, align 8
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(8) dereferenceable_or_null(8) %"malloccall'mi", i8 0, i64 8, i1 false)
%"'ipc" = bitcast i8* %"malloccall'mi" to double*
%8 = bitcast i8* %malloccall to double*
store double %2, double* %8, align 8, !tbaa !6
%9 = call fast double @augmented__ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* %8, double* %"'ipc")
%10 = fcmp fast ogt double %9, 0.000000e+00
%11 = fsub fast double %1, %0
%12 = fsub fast double %0, %1
%13 = select i1 %10, double %12, double %11
%14 = call fast double @_ZNSt14numeric_limitsIdE7epsilonEv() #3
%15 = getelementptr inbounds { double, i8*, i8* }, { double, i8*, i8* }* %5, i32 0, i32 0
store double %14, double* %15, align 8
%16 = fcmp fast ole double %13, %14
%17 = insertvalue { i8*, i1 } undef, i1 %16, 1
%18 = getelementptr inbounds { { double, i8*, i8* }, i1 }, { { double, i8*, i8* }, i1 }* %4, i32 0, i32 1
store i1 %16, i1* %18, align 1
%19 = load { { double, i8*, i8* }, i1 }, { { double, i8*, i8* }, i1 }* %4, align 8
ret { { double, i8*, i8* }, i1 } %19
}
; Function Attrs: alwaysinline nounwind
define internal i8* @__enzyme_exponentialallocation(i8* %ptr, i64 %size, i64 %tsize) #21 {
entry:
%0 = and i64 %size, 1
%1 = icmp ne i64 %0, 0
%2 = call i64 @llvm.ctpop.i64(i64 %size)
%3 = icmp ult i64 %2, 3
%4 = and i1 %3, %1
br i1 %4, label %grow, label %ok
grow: ; preds = %entry
%5 = call i64 @llvm.ctlz.i64(i64 %size, i1 true)
%6 = sub nuw nsw i64 64, %5
%7 = shl i64 %tsize, %6
%8 = call i8* @realloc(i8* %ptr, i64 %7)
br label %ok
ok: ; preds = %grow, %entry
%9 = phi i8* [ %8, %grow ], [ %ptr, %entry ]
ret i8* %9
}
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare i64 @llvm.ctpop.i64(i64) #9
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare i64 @llvm.ctlz.i64(i64, i1 immarg) #9
declare i8* @realloc(i8*, i64)
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i64 @preprocess__ZN5boost7numeric6odeint6detail18integrate_adaptiveINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_RT2_SS_ST_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double %4, double* nonnull align 8 dereferenceable(8) %5, i8 %6, i8 %7) local_unnamed_addr #5 {
%malloccall = tail call noalias i8* @malloc(i64 1), !enzyme_fromstack !59
%9 = bitcast i8* %malloccall to %"struct.boost::numeric::odeint::null_observer"*
%malloccall1 = tail call noalias i8* @malloc(i64 8), !enzyme_fromstack !59
%10 = bitcast i8* %malloccall1 to %"class.boost::numeric::odeint::failed_step_checker"*
%11 = getelementptr inbounds %"struct.boost::numeric::odeint::null_observer", %"struct.boost::numeric::odeint::null_observer"* %9, i64 0, i32 0
store i8 %6, i8* %11, align 4
%12 = bitcast %"class.boost::numeric::odeint::failed_step_checker"* %10 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %12) #3
call void @_ZN5boost7numeric6odeint19failed_step_checkerC2Ei(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %10, i32 500)
%13 = load double, double* %3, align 8, !tbaa !6
%14 = load double, double* %5, align 8, !tbaa !6
%15 = call i1 @_ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %13, double %4, double %14)
br i1 %15, label %16, label %36
16: ; preds = %8
%17 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %10, i64 0, i32 0
br label %18
18: ; preds = %31, %16
%tiv = phi i64 [ %tiv.next, %31 ], [ 0, %16 ]
%tiv.next = add nuw nsw i64 %tiv, 1
%19 = load double, double* %3, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %9, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %19)
%20 = load double, double* %3, align 8, !tbaa !6
%21 = load double, double* %5, align 8, !tbaa !6
%22 = fadd fast double %21, %20
%23 = call i1 @_ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %4, double %22, double %21)
br i1 %23, label %24, label %27
24: ; preds = %18
%25 = load double, double* %3, align 8, !tbaa !6
%26 = fsub fast double %4, %25
store double %26, double* %5, align 8, !tbaa !6
br label %27
27: ; preds = %24, %18
br label %28
28: ; preds = %28, %27
%29 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %5)
call void @_ZN5boost7numeric6odeint19failed_step_checkerclEv(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %10)
%30 = icmp eq i32 %29, 1
br i1 %30, label %28, label %31, !llvm.loop !49
31: ; preds = %28
call void @_ZN5boost7numeric6odeint16max_step_checker5resetEv(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %17)
%32 = add i64 %tiv, 1
%33 = load double, double* %3, align 8, !tbaa !6
%34 = load double, double* %5, align 8, !tbaa !6
%35 = call i1 @_ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %33, double %4, double %34)
br i1 %35, label %18, label %.loopexit, !llvm.loop !50
.loopexit: ; preds = %31
br label %36
36: ; preds = %.loopexit, %8
%37 = phi i64 [ 0, %8 ], [ %32, %.loopexit ]
%38 = load double, double* %3, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %9, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %38)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %12) #3
ret i64 %37
}
; Function Attrs: nounwind uwtable mustprogress
define internal { i8* } @fakeaugmented__ZN5boost7numeric6odeint6detail18integrate_adaptiveINS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS7_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS8_S9_EENS1_21default_step_adjusterIddEESA_NS1_31explicit_error_stepper_fsal_tagEEEPFvRKS7_RS7_dES7_dNS1_13null_observerEEEmT_T0_RT1_RT2_SS_ST_T3_NS1_22controlled_stepper_tagE(%"class.boost::numeric::odeint::controlled_runge_kutta"* %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'", void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %"'1", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* %"'2", double* nonnull align 8 dereferenceable(8) %3, double* %"'3", double %4, double* nonnull align 8 dereferenceable(8) %5, double* %"'4", i8 %6, i8 %7) local_unnamed_addr #5 {
%malloccall = tail call noalias nonnull dereferenceable(1) dereferenceable_or_null(1) i8* @malloc(i64 1), !enzyme_fromstack !59
%"malloccall'mi" = tail call noalias nonnull dereferenceable(1) dereferenceable_or_null(1) i8* @malloc(i64 1)
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(1) dereferenceable_or_null(1) %"malloccall'mi", i8 0, i64 1, i1 false)
%"'ipc8" = bitcast i8* %"malloccall'mi" to %"struct.boost::numeric::odeint::null_observer"*
%9 = bitcast i8* %malloccall to %"struct.boost::numeric::odeint::null_observer"*
%malloccall1 = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8), !enzyme_fromstack !59
%"malloccall1'mi" = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8)
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(8) dereferenceable_or_null(8) %"malloccall1'mi", i8 0, i64 8, i1 false)
%"'ipc" = bitcast i8* %"malloccall1'mi" to %"class.boost::numeric::odeint::failed_step_checker"*
%10 = bitcast i8* %malloccall1 to %"class.boost::numeric::odeint::failed_step_checker"*
%"'ipg" = getelementptr inbounds %"struct.boost::numeric::odeint::null_observer", %"struct.boost::numeric::odeint::null_observer"* %"'ipc8", i64 0, i32 0
%11 = getelementptr inbounds %"struct.boost::numeric::odeint::null_observer", %"struct.boost::numeric::odeint::null_observer"* %9, i64 0, i32 0
store i8 %6, i8* %"'ipg", align 4
store i8 %6, i8* %11, align 4
%_replacementA = phi i8*
call void @augmented__ZN5boost7numeric6odeint19failed_step_checkerC2Ei(%"class.boost::numeric::odeint::failed_step_checker"* %10, %"class.boost::numeric::odeint::failed_step_checker"* %"'ipc", i32 500)
%12 = load double, double* %3, align 8, !tbaa !6
%13 = load double, double* %5, align 8, !tbaa !6
%_augmented = call { { double, i8*, i8* }, i1 } @augmented__ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %12, double %4, double %13)
%subcache = extractvalue { { double, i8*, i8* }, i1 } %_augmented, 0
%14 = extractvalue { { double, i8*, i8* }, i1 } %_augmented, 1
br i1 %14, label %15, label %58
15: ; preds = %8
%16 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %10, i64 0, i32 0
store { double, i8*, i8* }* null, { double, i8*, i8* }** %subcache10_cache, align 8
store i1* null, i1** %_cache, align 8
store { i8*, i8*, i8* }** null, { i8*, i8*, i8* }*** %_augmented11_cache, align 8
br label %17
17: ; preds = %52, %15
%iv = phi i64 [ %iv.next, %52 ], [ 0, %15 ]
%iv.next = add nuw nsw i64 %iv, 1
%18 = load { i8*, i8*, i8* }**, { i8*, i8*, i8* }*** %_augmented11_cache, align 8
%19 = bitcast { i8*, i8*, i8* }** %18 to i8*
%_augmented11_realloccache = call i8* @__enzyme_exponentialallocation(i8* %19, i64 %iv.next, i64 8)
%20 = bitcast i8* %_augmented11_realloccache to { i8*, i8*, i8* }**
store { i8*, i8*, i8* }** %20, { i8*, i8*, i8* }*** %_augmented11_cache, align 8
%21 = load i1*, i1** %_cache, align 8
%22 = bitcast i1* %21 to i8*
%_realloccache = call i8* @__enzyme_exponentialallocation(i8* %22, i64 %iv.next, i64 1)
%23 = bitcast i8* %_realloccache to i1*
store i1* %23, i1** %_cache, align 1
%24 = load { double, i8*, i8* }*, { double, i8*, i8* }** %subcache10_cache, align 8
%25 = bitcast { double, i8*, i8* }* %24 to i8*
%subcache10_realloccache = call i8* @__enzyme_exponentialallocation(i8* %25, i64 %iv.next, i64 24)
%26 = bitcast i8* %subcache10_realloccache to { double, i8*, i8* }*
store { double, i8*, i8* }* %26, { double, i8*, i8* }** %subcache10_cache, align 8
%27 = load double, double* %3, align 8, !tbaa !6
call void @augmented__ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* %9, %"struct.boost::numeric::odeint::null_observer"* %"'ipc8", %"class.boost::array.1"* %2, %"class.boost::array.1"* %"'2", double %27)
%28 = load double, double* %3, align 8, !tbaa !6
%29 = load double, double* %5, align 8, !tbaa !6
%30 = fadd fast double %29, %28
%_augmented9 = call { { double, i8*, i8* }, i1 } @augmented__ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %4, double %30, double %29)
%subcache10 = extractvalue { { double, i8*, i8* }, i1 } %_augmented9, 0
%31 = load { double, i8*, i8* }*, { double, i8*, i8* }** %subcache10_cache, align 8, !dereferenceable !116, !invariant.group !122
%32 = getelementptr inbounds { double, i8*, i8* }, { double, i8*, i8* }* %31, i64 %iv
store { double, i8*, i8* } %subcache10, { double, i8*, i8* }* %32, align 8, !invariant.group !123
%33 = extractvalue { { double, i8*, i8* }, i1 } %_augmented9, 1
%34 = load i1*, i1** %_cache, align 8, !dereferenceable !116, !invariant.group !124
%35 = getelementptr inbounds i1, i1* %34, i64 %iv
store i1 %33, i1* %35, align 1, !invariant.group !125
br i1 %33, label %36, label %39
36: ; preds = %17
%37 = load double, double* %3, align 8, !tbaa !6
%38 = fsub fast double %4, %37
store double %38, double* %5, align 8, !tbaa !6
br label %39
39: ; preds = %36, %17
%40 = load { i8*, i8*, i8* }**, { i8*, i8*, i8* }*** %_augmented11_cache, align 8
%41 = getelementptr inbounds { i8*, i8*, i8* }*, { i8*, i8*, i8* }** %40, i64 %iv
store { i8*, i8*, i8* }* null, { i8*, i8*, i8* }** %41, align 8
br label %42
42: ; preds = %42, %39
%iv5 = phi i64 [ %iv.next6, %42 ], [ 0, %39 ]
%iv.next6 = add nuw nsw i64 %iv5, 1
%43 = load { i8*, i8*, i8* }*, { i8*, i8*, i8* }** %41, align 8
%44 = bitcast { i8*, i8*, i8* }* %43 to i8*
%_augmented11_realloccache12 = call i8* @__enzyme_exponentialallocation(i8* %44, i64 %iv.next6, i64 24)
%45 = bitcast i8* %_augmented11_realloccache12 to { i8*, i8*, i8* }*
store { i8*, i8*, i8* }* %45, { i8*, i8*, i8* }** %41, align 8
%46 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %5)
%_augmented11 = call { i8*, i8*, i8* } @augmented__ZN5boost7numeric6odeint19failed_step_checkerclEv(%"class.boost::numeric::odeint::failed_step_checker"* %10, %"class.boost::numeric::odeint::failed_step_checker"* %"'ipc")
%47 = load { i8*, i8*, i8* }**, { i8*, i8*, i8* }*** %_augmented11_cache, align 8, !dereferenceable !116, !invariant.group !126
%48 = getelementptr inbounds { i8*, i8*, i8* }*, { i8*, i8*, i8* }** %47, i64 %iv
%49 = load { i8*, i8*, i8* }*, { i8*, i8*, i8* }** %48, align 8, !dereferenceable !116, !invariant.group !127
%50 = getelementptr inbounds { i8*, i8*, i8* }, { i8*, i8*, i8* }* %49, i64 %iv5
store { i8*, i8*, i8* } %_augmented11, { i8*, i8*, i8* }* %50, align 8, !invariant.group !128
%51 = icmp eq i32 %46, 1
br i1 %51, label %42, label %52, !llvm.loop !49
52: ; preds = %42
%53 = phi i64 [ %iv5, %42 ]
store i64 %53, i64* %loopLimit_cache7, align 8, !invariant.group !129
call void @_ZN5boost7numeric6odeint16max_step_checker5resetEv(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %16)
%54 = load double, double* %3, align 8, !tbaa !6
%55 = load double, double* %5, align 8, !tbaa !6
%56 = call i1 @_ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %54, double %4, double %55)
br i1 %56, label %17, label %.loopexit, !llvm.loop !50
.loopexit: ; preds = %52
%57 = phi i64 [ %iv, %52 ]
store i64 %57, i64* %loopLimit_cache, align 8, !invariant.group !130
br label %58
58: ; preds = %.loopexit, %8
%59 = phi i64 [ 0, %8 ], [ %iv.next, %.loopexit ]
%60 = load double, double* %3, align 8, !tbaa !6
call void @_ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %9, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %60)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %_replacementA) #3
ret { i8* } undef
allocsForInversion: ; No predecessors!
%"iv'ac" = alloca i64, align 8
%loopLimit_cache = alloca i64, align 8
%"iv5'ac" = alloca i64, align 8
%loopLimit_cache7 = alloca i64, align 8
%subcache10_cache = alloca { double, i8*, i8* }*, align 8
%_cache = alloca i1*, align 8
%_augmented11_cache = alloca { i8*, i8*, i8* }**, align 8
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local i1 @preprocess__ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %0, double %1, double %2) local_unnamed_addr #14 {
%malloccall = tail call noalias i8* @malloc(i64 8), !enzyme_fromstack !59
%4 = bitcast i8* %malloccall to double*
store double %2, double* %4, align 8, !tbaa !6
%5 = call fast double @_ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* nonnull align 8 dereferenceable(8) %4)
%6 = fcmp fast ogt double %5, 0.000000e+00
%7 = fsub fast double %0, %1
%8 = fsub fast double %1, %0
%9 = select i1 %6, double %8, double %7
%10 = call fast double @_ZNSt14numeric_limitsIdE7epsilonEv() #3
%11 = fcmp fast ogt double %9, %10
ret i1 %11
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { double, i8*, i8* }, i1 } @augmented__ZN5boost7numeric6odeint6detail14less_with_signIdEEbT_S4_S4_(double %0, double %1, double %2) local_unnamed_addr #14 {
%4 = alloca { { double, i8*, i8* }, i1 }, align 8
%5 = getelementptr inbounds { { double, i8*, i8* }, i1 }, { { double, i8*, i8* }, i1 }* %4, i32 0, i32 0
%malloccall = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8), !enzyme_fromstack !59
%6 = getelementptr inbounds { double, i8*, i8* }, { double, i8*, i8* }* %5, i32 0, i32 2
store i8* %malloccall, i8** %6, align 8
%"malloccall'mi" = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8)
%7 = getelementptr inbounds { double, i8*, i8* }, { double, i8*, i8* }* %5, i32 0, i32 1
store i8* %"malloccall'mi", i8** %7, align 8
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(8) dereferenceable_or_null(8) %"malloccall'mi", i8 0, i64 8, i1 false)
%"'ipc" = bitcast i8* %"malloccall'mi" to double*
%8 = bitcast i8* %malloccall to double*
store double %2, double* %8, align 8, !tbaa !6
%9 = call fast double @augmented__ZN5boost7numeric6odeint14get_unit_valueIdEENS1_6detail19get_unit_value_implIT_vE11result_typeERKS5_(double* %8, double* %"'ipc")
%10 = fcmp fast ogt double %9, 0.000000e+00
%11 = fsub fast double %0, %1
%12 = fsub fast double %1, %0
%13 = select i1 %10, double %12, double %11
%14 = call fast double @_ZNSt14numeric_limitsIdE7epsilonEv() #3
%15 = getelementptr inbounds { double, i8*, i8* }, { double, i8*, i8* }* %5, i32 0, i32 0
store double %14, double* %15, align 8
%16 = fcmp fast ogt double %13, %14
%17 = insertvalue { i8*, i1 } undef, i1 %16, 1
%18 = getelementptr inbounds { { double, i8*, i8* }, i1 }, { { double, i8*, i8* }, i1 }* %4, i32 0, i32 1
store i1 %16, i1* %18, align 1
%19 = load { { double, i8*, i8* }, i1 }, { { double, i8*, i8* }, i1 }* %4, align 8
ret { { double, i8*, i8* }, i1 } %19
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZN5boost7numeric6odeint19failed_step_checkerC2Ei(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %0, i32 %1) unnamed_addr #7 align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %0, i64 0, i32 0
call void @_ZN5boost7numeric6odeint16max_step_checkerC2Ei(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %3, i32 %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZN5boost7numeric6odeint16max_step_checkerC2Ei(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %0, i32 %1) unnamed_addr #7 align 2 {
%3 = getelementptr inbounds %"class.boost::numeric::odeint::max_step_checker", %"class.boost::numeric::odeint::max_step_checker"* %0, i64 0, i32 0
store i32 %1, i32* %3, align 4, !tbaa !53
call void @_ZN5boost7numeric6odeint16max_step_checker5resetEv(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %0)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @preprocess__ZN5boost7numeric6odeint16max_step_checker5resetEv(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %0) local_unnamed_addr #14 align 2 {
%2 = getelementptr inbounds %"class.boost::numeric::odeint::max_step_checker", %"class.boost::numeric::odeint::max_step_checker"* %0, i64 0, i32 1
store i32 0, i32* %2, align 4, !tbaa !51
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal void @augmented__ZN5boost7numeric6odeint16max_step_checker5resetEv(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %0, %"class.boost::numeric::odeint::max_step_checker"* %"'") local_unnamed_addr #14 align 2 {
%"'ipg" = getelementptr inbounds %"class.boost::numeric::odeint::max_step_checker", %"class.boost::numeric::odeint::max_step_checker"* %"'", i64 0, i32 1
%2 = getelementptr inbounds %"class.boost::numeric::odeint::max_step_checker", %"class.boost::numeric::odeint::max_step_checker"* %0, i64 0, i32 1
store i32 0, i32* %"'ipg", align 4
store i32 0, i32* %2, align 4, !tbaa !51
ret void
}
; Function Attrs: nounwind uwtable willreturn
define internal void @augmented__ZN5boost7numeric6odeint16max_step_checkerC2Ei(%"class.boost::numeric::odeint::max_step_checker"* nonnull dereferenceable(8) %0, %"class.boost::numeric::odeint::max_step_checker"* %"'", i32 %1) unnamed_addr #7 align 2 {
%"'ipg" = getelementptr inbounds %"class.boost::numeric::odeint::max_step_checker", %"class.boost::numeric::odeint::max_step_checker"* %"'", i64 0, i32 0
%3 = getelementptr inbounds %"class.boost::numeric::odeint::max_step_checker", %"class.boost::numeric::odeint::max_step_checker"* %0, i64 0, i32 0
store i32 %1, i32* %"'ipg", align 4
store i32 %1, i32* %3, align 4, !tbaa !53
call void @augmented__ZN5boost7numeric6odeint16max_step_checker5resetEv(%"class.boost::numeric::odeint::max_step_checker"* %0, %"class.boost::numeric::odeint::max_step_checker"* %"'")
ret void
}
; Function Attrs: nounwind uwtable willreturn
define internal void @augmented__ZN5boost7numeric6odeint19failed_step_checkerC2Ei(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %0, %"class.boost::numeric::odeint::failed_step_checker"* %"'", i32 %1) unnamed_addr #7 align 2 {
%"'ipg" = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %"'", i64 0, i32 0
%3 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %0, i64 0, i32 0
call void @augmented__ZN5boost7numeric6odeint16max_step_checkerC2Ei(%"class.boost::numeric::odeint::max_step_checker"* %3, %"class.boost::numeric::odeint::max_step_checker"* %"'ipg", i32 %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @preprocess__ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, double %2) local_unnamed_addr #14 align 2 {
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal void @augmented__ZNK5boost7numeric6odeint13null_observerclINS_5arrayIdLm1EEEdEEvRKT_T0_(%"struct.boost::numeric::odeint::null_observer"* nonnull dereferenceable(1) %0, %"struct.boost::numeric::odeint::null_observer"* %"'", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* %"'1", double %2) local_unnamed_addr #14 align 2 {
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local void @preprocess__ZN5boost7numeric6odeint19failed_step_checkerclEv(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %0) local_unnamed_addr #5 align 2 {
%malloccall1 = tail call noalias i8* @malloc(i64 16), !enzyme_fromstack !59
%2 = bitcast i8* %malloccall1 to %"class.boost::numeric::odeint::step_adjustment_error"*
%malloccall2 = tail call noalias i8* @malloc(i64 32), !enzyme_fromstack !59
%3 = bitcast i8* %malloccall2 to %"class.std::__cxx11::basic_string"*
%malloccall = tail call noalias i8* @malloc(i64 200), !enzyme_fromstack !59
%4 = bitcast i8* %malloccall to [200 x i8]*
%malloccall3 = tail call noalias i8* @malloc(i64 1), !enzyme_fromstack !59
%5 = bitcast i8* %malloccall3 to %"class.std::allocator"*
%6 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %0, i64 0, i32 0, i32 1
%7 = load i32, i32* %6, align 4, !tbaa !51
%8 = add nsw i32 %7, 1
store i32 %8, i32* %6, align 4, !tbaa !51
%9 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %0, i64 0, i32 0, i32 0
%10 = load i32, i32* %9, align 4, !tbaa !53
%11 = icmp slt i32 %7, %10
br i1 %11, label %18, label %12
12: ; preds = %1
%13 = getelementptr inbounds [200 x i8], [200 x i8]* %4, i64 0, i64 0
call void @llvm.lifetime.start.p0i8(i64 200, i8* nonnull %13) #3
%14 = call i32 (i8*, i8*, ...) @sprintf(i8* nonnull %13, i8* nonnull dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @.str.10, i64 0, i64 0), i32 %10) #3
%15 = bitcast %"class.boost::numeric::odeint::step_adjustment_error"* %2 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %15) #3
%16 = bitcast %"class.std::__cxx11::basic_string"* %3 to i8*
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %16) #3
%17 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %5, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %17) #3
call void @_ZNSaIcEC2Ev(%"class.std::allocator"* nonnull dereferenceable(1) %5) #3
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %3, i8* nonnull %13, %"class.std::allocator"* nonnull align 1 dereferenceable(1) %5)
call void @_ZN5boost7numeric6odeint21step_adjustment_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull dereferenceable(16) %2, %"class.std::__cxx11::basic_string"* nonnull align 8 dereferenceable(32) %3)
call void @_ZN5boost16exception_detail16throw_exception_INS_7numeric6odeint21step_adjustment_errorEEEvRKT_PKcS9_i(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %2, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @__PRETTY_FUNCTION__._ZN5boost7numeric6odeint19failed_step_checkerclEv, i64 0, i64 0), i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.11, i64 0, i64 0), i32 105) #24
unreachable
18: ; preds = %1
ret void
}
; Function Attrs: nounwind uwtable mustprogress
define internal { i8*, i8*, i8* } @augmented__ZN5boost7numeric6odeint19failed_step_checkerclEv(%"class.boost::numeric::odeint::failed_step_checker"* nonnull dereferenceable(8) %0, %"class.boost::numeric::odeint::failed_step_checker"* %"'") local_unnamed_addr #5 align 2 {
%2 = alloca { i8*, i8*, i8* }, align 8
%3 = alloca i8, i64 1, align 4
%4 = alloca i8, i64 200, align 4
%5 = alloca i8, i64 32, align 4
%6 = alloca i8, i64 16, align 4
%"malloccall1'mi" = tail call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16)
%7 = getelementptr inbounds { i8*, i8*, i8* }, { i8*, i8*, i8* }* %2, i32 0, i32 2
store i8* %"malloccall1'mi", i8** %7, align 8
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(16) dereferenceable_or_null(16) %"malloccall1'mi", i8 0, i64 16, i1 false)
%8 = bitcast i8* %6 to %"class.boost::numeric::odeint::step_adjustment_error"*
%"malloccall2'mi" = tail call noalias nonnull dereferenceable(32) dereferenceable_or_null(32) i8* @malloc(i64 32)
%9 = getelementptr inbounds { i8*, i8*, i8* }, { i8*, i8*, i8* }* %2, i32 0, i32 1
store i8* %"malloccall2'mi", i8** %9, align 8
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(32) dereferenceable_or_null(32) %"malloccall2'mi", i8 0, i64 32, i1 false)
%10 = bitcast i8* %5 to %"class.std::__cxx11::basic_string"*
%11 = bitcast i8* %4 to [200 x i8]*
%"malloccall3'mi" = tail call noalias nonnull dereferenceable(1) dereferenceable_or_null(1) i8* @malloc(i64 1)
%12 = getelementptr inbounds { i8*, i8*, i8* }, { i8*, i8*, i8* }* %2, i32 0, i32 0
store i8* %"malloccall3'mi", i8** %12, align 8
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(1) dereferenceable_or_null(1) %"malloccall3'mi", i8 0, i64 1, i1 false)
%13 = bitcast i8* %3 to %"class.std::allocator"*
%"'ipg" = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %"'", i64 0, i32 0, i32 1
%14 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %0, i64 0, i32 0, i32 1
%15 = load i32, i32* %14, align 4, !tbaa !51
%16 = add nsw i32 %15, 1
store i32 %16, i32* %"'ipg", align 4
store i32 %16, i32* %14, align 4, !tbaa !51
%17 = getelementptr inbounds %"class.boost::numeric::odeint::failed_step_checker", %"class.boost::numeric::odeint::failed_step_checker"* %0, i64 0, i32 0, i32 0
%18 = load i32, i32* %17, align 4, !tbaa !53
%19 = icmp slt i32 %15, %18
br i1 %19, label %23, label %20
20: ; preds = %1
%21 = getelementptr inbounds [200 x i8], [200 x i8]* %11, i64 0, i64 0
%22 = call i32 (i8*, i8*, ...) @sprintf(i8* nonnull %21, i8* nonnull dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @.str.10, i64 0, i64 0), i32 %18) #3
call void @_ZNSaIcEC2Ev(%"class.std::allocator"* nonnull dereferenceable(1) %13) #3
call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_(%"class.std::__cxx11::basic_string"* nonnull dereferenceable(32) %10, i8* nonnull %21, %"class.std::allocator"* nonnull align 1 dereferenceable(1) %13)
call void @_ZN5boost7numeric6odeint21step_adjustment_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull dereferenceable(16) %8, %"class.std::__cxx11::basic_string"* nonnull align 8 dereferenceable(32) %10)
call void @_ZN5boost16exception_detail16throw_exception_INS_7numeric6odeint21step_adjustment_errorEEEvRKT_PKcS9_i(%"class.boost::numeric::odeint::step_adjustment_error"* nonnull align 8 dereferenceable(16) %8, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @__PRETTY_FUNCTION__._ZN5boost7numeric6odeint19failed_step_checkerclEv, i64 0, i64 0), i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.11, i64 0, i64 0), i32 105) #24
unreachable
23: ; preds = %1
%24 = load { i8*, i8*, i8* }, { i8*, i8*, i8* }* %2, align 8
ret { i8*, i8*, i8* } %24
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i32 @preprocess__ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4) local_unnamed_addr #5 align 2 {
%6 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE11try_step_v1IPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4)
ret i32 %6
}
; Function Attrs: nounwind uwtable mustprogress
define internal { i8*, i32 } @fakeaugmented__ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'", void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %"'1", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* %"'2", double* nonnull align 8 dereferenceable(8) %3, double* %"'3", double* nonnull align 8 dereferenceable(8) %4, double* %"'4") local_unnamed_addr #5 align 2 {
%6 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE11try_step_v1IPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4)
%7 = insertvalue { i8*, i32 } undef, i32 %6, 1
ret { i8*, i32 } %7
allocsForInversion: ; No predecessors!
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i32 @preprocess__ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE11try_step_v1IPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4) local_unnamed_addr #5 align 2 {
%malloccall1 = tail call noalias i8* @malloc(i64 16), !enzyme_fromstack !59
%6 = bitcast i8* %malloccall1 to { i64, i64 }*
%malloccall = tail call noalias i8* @malloc(i64 24), !enzyme_fromstack !59
%7 = bitcast i8* %malloccall to %"class.std::_Bind"*
%malloccall2 = tail call noalias i8* @malloc(i64 8), !enzyme_fromstack !59
%8 = bitcast i8* %malloccall2 to %"class.std::reference_wrapper"*
%9 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 3
%10 = bitcast { i64, i64 }* %6 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %10) #3
%11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %6, i64 0, i32 0
store i64 ptrtoint (i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_dxdt_implIS5_EEbRKT_ to i64), i64* %11, align 8, !tbaa !54
%12 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %6, i64 0, i32 1
store i64 0, i64* %12, align 8, !tbaa !55
%13 = bitcast %"class.std::reference_wrapper"* %8 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %13) #3
%14 = call i64 @_ZSt3refIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEESt17reference_wrapperIT_ERSI_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) #3
%15 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %8, i64 0, i32 0
%16 = inttoptr i64 %14 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %16, %"class.boost::numeric::odeint::controlled_runge_kutta"** %15, align 8
call void @_ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_(%"class.std::_Bind"* nonnull sret(%"class.std::_Bind") align 8 %7, { i64, i64 }* nonnull align 8 dereferenceable(16) %6, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %8, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E)
%17 = call i1 @_ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %9, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.std::_Bind"* nonnull %7)
br i1 %17, label %22, label %18
18: ; preds = %5
%19 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 12
%20 = load i8, i8* %19, align 8, !tbaa !28, !range !56
%21 = icmp eq i8 %20, 0
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %13) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %10) #3
br i1 %21, label %25, label %23
22: ; preds = %5
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %13) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %10) #3
br label %23
23: ; preds = %22, %18
%24 = load double, double* %3, align 8, !tbaa !6
call void @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE10initializeIPFvRKS5_RS5_dES5_EEvT_RKT0_d(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %24)
br label %25
25: ; preds = %23, %18
%26 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 8, i32 0
%27 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_S5_EENS1_22controlled_step_resultET_RT0_RT1_RdSS_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %26, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4)
ret i32 %27
}
; Function Attrs: nounwind uwtable mustprogress
define internal { i8*, i32 } @fakeaugmented__ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE11try_step_v1IPFvRKS5_RS5_dES5_EENS1_22controlled_step_resultET_RT0_RdSQ_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'", void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %"'1", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* %"'2", double* nonnull align 8 dereferenceable(8) %3, double* %"'3", double* nonnull align 8 dereferenceable(8) %4, double* %"'4") local_unnamed_addr #5 align 2 {
%malloccall1 = tail call noalias i8* @malloc(i64 16), !enzyme_fromstack !59
%"malloccall1'mi" = phi i8*
%"'ipc5" = bitcast i8* %"malloccall1'mi" to { i64, i64 }*
%6 = bitcast i8* %malloccall1 to { i64, i64 }*
%malloccall = tail call noalias i8* @malloc(i64 24), !enzyme_fromstack !59
%"malloccall'mi" = phi i8*
%"'ipc" = bitcast i8* %"malloccall'mi" to %"class.std::_Bind"*
%7 = bitcast i8* %malloccall to %"class.std::_Bind"*
%malloccall2 = tail call noalias i8* @malloc(i64 8), !enzyme_fromstack !59
%"malloccall2'mi" = phi i8*
%"'ipc6" = bitcast i8* %"malloccall2'mi" to %"class.std::reference_wrapper"*
%8 = bitcast i8* %malloccall2 to %"class.std::reference_wrapper"*
%"'ipg" = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'", i64 0, i32 3
%9 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 3
%10 = bitcast { i64, i64 }* %6 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %10) #3
%11 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %6, i64 0, i32 0
store i64 ptrtoint (i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE18resize_m_dxdt_implIS5_EEbRKT_ to i64), i64* %11, align 8, !tbaa !54
%12 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %6, i64 0, i32 1
store i64 0, i64* %12, align 8, !tbaa !55
%13 = bitcast %"class.std::reference_wrapper"* %8 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %13) #3
%14 = call i64 @_ZSt3refIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEESt17reference_wrapperIT_ERSI_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) #3
%"'ip_phi" = phi i64
%15 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %8, i64 0, i32 0
%16 = inttoptr i64 %14 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %16, %"class.boost::numeric::odeint::controlled_runge_kutta"** %15, align 8
call void @_ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_(%"class.std::_Bind"* nonnull sret(%"class.std::_Bind") align 8 %7, { i64, i64 }* nonnull align 8 dereferenceable(16) %6, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %8, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E)
%_augmented = call { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 } @augmented__ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* %9, %"struct.boost::numeric::odeint::initially_resizer"* %"'ipg", %"class.boost::array.1"* %2, %"class.boost::array.1"* %"'2", %"class.std::_Bind"* %7, %"class.std::_Bind"* %"'ipc")
%subcache = extractvalue { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 } %_augmented, 0
%17 = extractvalue { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 } %_augmented, 1
br i1 %17, label %22, label %18
18: ; preds = %5
%19 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 12
%20 = load i8, i8* %19, align 8, !tbaa !28, !range !56
%21 = icmp eq i8 %20, 0
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %13) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %10) #3
br i1 %21, label %25, label %23
22: ; preds = %5
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %13) #3
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %10) #3
br label %23
23: ; preds = %22, %18
%24 = load double, double* %3, align 8, !tbaa !6
call void @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE10initializeIPFvRKS5_RS5_dES5_EEvT_RKT0_d(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, double %24)
br label %25
25: ; preds = %23, %18
%26 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, i64 0, i32 8, i32 0
%27 = call i32 @_ZN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEE8try_stepIPFvRKS5_RS5_dES5_S5_EENS1_22controlled_step_resultET_RT0_RT1_RdSS_(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %0, void (%"class.boost::array.1"*, %"class.boost::array.1"*, double)* %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %26, double* nonnull align 8 dereferenceable(8) %3, double* nonnull align 8 dereferenceable(8) %4)
%28 = insertvalue { i8*, i32 } undef, i32 %27, 1
ret { i8*, i32 } %28
allocsForInversion: ; No predecessors!
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @preprocess__ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.std::_Bind"* %2) local_unnamed_addr #5 align 2 {
%4 = getelementptr inbounds %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer"* %0, i64 0, i32 0
%5 = load i8, i8* %4, align 1, !tbaa !47, !range !56
%6 = icmp eq i8 %5, 0
br i1 %6, label %7, label %9
7: ; preds = %3
store i8 1, i8* %4, align 1, !tbaa !47
%8 = call i1 @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEclIJSI_EbEET0_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
br label %9
9: ; preds = %7, %3
%10 = phi i1 [ %8, %7 ], [ false, %3 ]
ret i1 %10
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @preprocess__ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEclIJSI_EbEET0_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #5 align 2 {
%malloccall = tail call noalias i8* @malloc(i64 8), !enzyme_fromstack !59
%3 = bitcast i8* %malloccall to %"class.std::tuple.6"*
%4 = bitcast %"class.std::tuple.6"* %3 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %4) #3
%5 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #3
call void @_ZSt16forward_as_tupleIJRKN5boost5arrayIdLm1EEEEESt5tupleIJDpOT_EES8_(%"class.std::tuple.6"* nonnull sret(%"class.std::tuple.6") align 8 %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %5) #3
%6 = call i1 @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEE6__callIbJSI_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE(%"class.std::_Bind"* nonnull dereferenceable(24) %0, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %3, i8 undef)
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %4) #3
ret i1 %6
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @preprocess__ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEE6__callIbJSI_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE(%"class.std::_Bind"* nonnull dereferenceable(24) %0, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1, i8 %2) local_unnamed_addr #5 align 2 {
%malloccall = tail call noalias i8* @malloc(i64 1), !enzyme_fromstack !59
%4 = bitcast i8* %malloccall to %"class.std::_Mu"*
%malloccall1 = tail call noalias i8* @malloc(i64 1), !enzyme_fromstack !59
%5 = bitcast i8* %malloccall1 to %"class.std::_Mu.9"*
%6 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0
%7 = getelementptr inbounds %"class.std::_Mu", %"class.std::_Mu"* %4, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %7) #3
%8 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 1
%9 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %8) #3
%10 = call nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0ELb0EEclISI_St5tupleIJRKS7_EEEERSH_RT_RT0_(%"class.std::_Mu"* nonnull dereferenceable(1) %4, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %9, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1)
%11 = getelementptr inbounds %"class.std::_Mu.9", %"class.std::_Mu.9"* %5, i64 0, i32 0
call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %11) #3
%12 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %8) #3
%13 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNVKSt3_MuISt12_PlaceholderILi1EELb0ELb1EEclISt5tupleIJRKN5boost5arrayIdLm1EEEEEEEONSt9enable_ifIXltLm0Esr10tuple_sizeIT_EE5valueESt13tuple_elementILm0ESC_EE4type4typeERVKS1_RSC_(%"class.std::_Mu.9"* nonnull dereferenceable(1) %5, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %12, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1)
%14 = call i1 @_ZSt8__invokeIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJRSG_SI_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSO_DpOSP_({ i64, i64 }* nonnull align 8 dereferenceable(16) %6, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %10, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %13)
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %11) #3
call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %7) #3
ret i1 %14
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @preprocess__ZSt8__invokeIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJRSG_SI_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSO_DpOSP_({ i64, i64 }* nonnull align 8 dereferenceable(16) %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %1, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2) local_unnamed_addr #5 {
%4 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISM_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) #3
%5 = call nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZSt7forwardIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEOT_RNSt16remove_referenceISI_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %1) #3
%6 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2) #3
%7 = call i1 @_ZSt13__invoke_implIbRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ERSG_JSI_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_(i8 undef, { i64, i64 }* nonnull align 8 dereferenceable(16) %4, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %5, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %6)
ret i1 %7
}
; Function Attrs: nounwind uwtable mustprogress
define linkonce_odr dso_local i1 @preprocess__ZSt13__invoke_implIbRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ERSG_JSI_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_(i8 %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %2, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3) local_unnamed_addr #5 {
%5 = call nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZSt8__invfwdIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEESH_EOT0_RNSt16remove_referenceIT_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %2) #3
%6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i64 0, i32 0
%7 = load i64, i64* %6, align 8, !tbaa !54
%8 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i64 0, i32 1
%9 = load i64, i64* %8, align 8, !tbaa !54
%10 = ashr i64 %9, 1
%11 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %5, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%12 = getelementptr inbounds i8, i8* %11, i64 %10
%13 = and i64 %9, 1
%14 = icmp eq i64 %13, 0
br i1 %14, label %21, label %15
15: ; preds = %4
%16 = bitcast i8* %12 to i8**
%17 = load i8*, i8** %16, align 8, !tbaa !57
%18 = getelementptr i8, i8* %17, i64 %7, !nosanitize !59
%19 = bitcast i8* %18 to i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)**, !nosanitize !59
%20 = load i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)** %19, align 8, !nosanitize !59
br label %23
21: ; preds = %4
%22 = inttoptr i64 %7 to i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*
br label %23
23: ; preds = %21, %15
%24 = phi i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* [ %20, %15 ], [ %22, %21 ]
%25 = bitcast i8* %12 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%26 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3) #3
%27 = call i1 %24(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull dereferenceable(161) %25, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %26) #3
ret i1 %27
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @preprocess__ZSt8__invfwdIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEESH_EOT0_RNSt16remove_referenceIT_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) local_unnamed_addr #14 {
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } @augmented__ZSt8__invfwdIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEESH_EOT0_RNSt16remove_referenceIT_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'") local_unnamed_addr #14 {
%2 = alloca { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, align 8
%3 = insertvalue { i8*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } undef, %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, 1
%4 = getelementptr inbounds { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, i32 0, i32 0
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, %"class.boost::numeric::odeint::controlled_runge_kutta"** %4, align 8
%5 = getelementptr inbounds { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, i32 0, i32 1
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'", %"class.boost::numeric::odeint::controlled_runge_kutta"** %5, align 8
%6 = load { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, align 8
ret { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %6
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @preprocess__ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
ret %"class.boost::array.1"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %0, %"class.boost::array.1"* %"'") local_unnamed_addr #14 {
%2 = alloca { %"class.boost::array.1"*, %"class.boost::array.1"* }, align 8
%3 = insertvalue { i8*, %"class.boost::array.1"*, %"class.boost::array.1"* } undef, %"class.boost::array.1"* %0, 1
%4 = getelementptr inbounds { %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 0
store %"class.boost::array.1"* %0, %"class.boost::array.1"** %4, align 8
%5 = getelementptr inbounds { %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 1
store %"class.boost::array.1"* %"'", %"class.boost::array.1"** %5, align 8
%6 = load { %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, align 8
ret { %"class.boost::array.1"*, %"class.boost::array.1"* } %6
}
; Function Attrs: nounwind uwtable mustprogress
define internal { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 } @augmented__ZSt13__invoke_implIbRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ERSG_JSI_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_(i8 %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, { i64, i64 }* %"'", %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %2, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'1", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3, %"class.boost::array.1"* %"'2") local_unnamed_addr #5 {
%5 = alloca { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 }, align 8
%6 = getelementptr inbounds { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 }* %5, i32 0, i32 0
%_augmented = call { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } @augmented__ZSt8__invfwdIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEESH_EOT0_RNSt16remove_referenceIT_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* %2, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'1")
%7 = extractvalue { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented, 0
%"'ac" = extractvalue { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented, 1
%8 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 1
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ac", %"class.boost::numeric::odeint::controlled_runge_kutta"** %8, align 8
%"'ipg" = getelementptr inbounds { i64, i64 }, { i64, i64 }* %"'", i64 0, i32 0
%9 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i64 0, i32 0
%"'ipl" = load i64, i64* %"'ipg", align 8
%10 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 0
store i64 %"'ipl", i64* %10, align 8
%11 = load i64, i64* %9, align 8, !tbaa !54
%12 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 7
store i64 %11, i64* %12, align 8
%13 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %1, i64 0, i32 1
%14 = load i64, i64* %13, align 8, !tbaa !54
%15 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 8
store i64 %14, i64* %15, align 8
%16 = ashr i64 %14, 1
%"'ipg9" = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ac", i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%17 = getelementptr inbounds %"class.boost::numeric::odeint::controlled_runge_kutta", %"class.boost::numeric::odeint::controlled_runge_kutta"* %7, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
%"'ipg10" = getelementptr inbounds i8, i8* %"'ipg9", i64 %16
%18 = getelementptr inbounds i8, i8* %17, i64 %16
%19 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 9
store i8* %18, i8** %19, align 8
%20 = and i64 %14, 1
%21 = icmp eq i64 %20, 0
br i1 %21, label %31, label %22
22: ; preds = %4
%"'ipc11" = bitcast i8* %"'ipg10" to i8**
%23 = bitcast i8* %18 to i8**
%"'ipl12" = load i8*, i8** %"'ipc11", align 8
%24 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 3
store i8* %"'ipl12", i8** %24, align 8
%25 = load i8*, i8** %23, align 8, !tbaa !57
%"'ipg7" = getelementptr i8, i8* %"'ipl12", i64 %11
%26 = getelementptr i8, i8* %25, i64 %11, !nosanitize !59
%"'ipc" = bitcast i8* %"'ipg7" to i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)**
%27 = bitcast i8* %26 to i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)**, !nosanitize !59
%"'ipl8" = load i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)** %"'ipc", align 8
%28 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 2
store i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* %"'ipl8", i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)** %28, align 8
%29 = load i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)** %27, align 8, !nosanitize !59
%30 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 10
store i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* %29, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)** %30, align 8
br label %33
31: ; preds = %4
%"'ipc14" = inttoptr i64 %"'ipl" to i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*
%32 = inttoptr i64 %11 to i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*
br label %33
33: ; preds = %31, %22
%34 = phi i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* [ %"'ipl8", %22 ], [ %"'ipc14", %31 ]
%35 = phi i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* [ %29, %22 ], [ %32, %31 ]
%"'ipc13" = bitcast i8* %"'ipg10" to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%36 = bitcast i8* %18 to %"class.boost::numeric::odeint::controlled_runge_kutta"*
%_augmented16 = call { %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* %3, %"class.boost::array.1"* %"'2")
%37 = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented16, 0
%38 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 5
store %"class.boost::array.1"* %37, %"class.boost::array.1"** %38, align 8
%"'ac17" = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented16, 1
%39 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 6
store %"class.boost::array.1"* %"'ac17", %"class.boost::array.1"** %39, align 8
%40 = bitcast i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* %34 to { i8*, i1, i1 } (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*, %"class.boost::array.1"*)**
%41 = load { i8*, i1, i1 } (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*, %"class.boost::array.1"*)*, { i8*, i1, i1 } (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*, %"class.boost::array.1"*)** %40, align 8
%_augmented15 = call { i8*, i1, i1 } %41(%"class.boost::numeric::odeint::controlled_runge_kutta"* %36, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ipc13", %"class.boost::array.1"* %37, %"class.boost::array.1"* %"'ac17")
%subcache = extractvalue { i8*, i1, i1 } %_augmented15, 0
%42 = getelementptr inbounds { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %6, i32 0, i32 4
store i8* %subcache, i8** %42, align 8
%43 = extractvalue { i8*, i1, i1 } %_augmented15, 1
%44 = insertvalue { i8*, i1 } undef, i1 %43, 1
%45 = getelementptr inbounds { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 }* %5, i32 0, i32 1
store i1 %43, i1* %45, align 1
%46 = load { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 }* %5, align 8
ret { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 } %46
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @preprocess__ZSt7forwardIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEOT_RNSt16remove_referenceISI_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0) local_unnamed_addr #14 {
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } @augmented__ZSt7forwardIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEOT_RNSt16remove_referenceISI_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %0, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'") local_unnamed_addr #14 {
%2 = alloca { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, align 8
%3 = insertvalue { i8*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } undef, %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, 1
%4 = getelementptr inbounds { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, i32 0, i32 0
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %0, %"class.boost::numeric::odeint::controlled_runge_kutta"** %4, align 8
%5 = getelementptr inbounds { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, i32 0, i32 1
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'", %"class.boost::numeric::odeint::controlled_runge_kutta"** %5, align 8
%6 = load { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, align 8
ret { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %6
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(16) { i64, i64 }* @preprocess__ZSt7forwardIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISM_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %0) local_unnamed_addr #14 {
ret { i64, i64 }* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { i64, i64 }*, { i64, i64 }* } @augmented__ZSt7forwardIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISM_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %0, { i64, i64 }* %"'") local_unnamed_addr #14 {
%2 = alloca { { i64, i64 }*, { i64, i64 }* }, align 8
%3 = insertvalue { i8*, { i64, i64 }*, { i64, i64 }* } undef, { i64, i64 }* %0, 1
%4 = getelementptr inbounds { { i64, i64 }*, { i64, i64 }* }, { { i64, i64 }*, { i64, i64 }* }* %2, i32 0, i32 0
store { i64, i64 }* %0, { i64, i64 }** %4, align 8
%5 = getelementptr inbounds { { i64, i64 }*, { i64, i64 }* }, { { i64, i64 }*, { i64, i64 }* }* %2, i32 0, i32 1
store { i64, i64 }* %"'", { i64, i64 }** %5, align 8
%6 = load { { i64, i64 }*, { i64, i64 }* }, { { i64, i64 }*, { i64, i64 }* }* %2, align 8
ret { { i64, i64 }*, { i64, i64 }* } %6
}
; Function Attrs: nounwind uwtable mustprogress
define internal { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 } @augmented__ZSt8__invokeIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJRSG_SI_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSO_DpOSP_({ i64, i64 }* nonnull align 8 dereferenceable(16) %0, { i64, i64 }* %"'", %"class.boost::numeric::odeint::controlled_runge_kutta"* nonnull align 8 dereferenceable(161) %1, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'1", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2, %"class.boost::array.1"* %"'2") local_unnamed_addr #5 {
%4 = alloca { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 }, align 8
%5 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 }* %4, i32 0, i32 0
%_augmented8 = call { { i64, i64 }*, { i64, i64 }* } @augmented__ZSt7forwardIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISM_E4typeE({ i64, i64 }* %0, { i64, i64 }* %"'")
%6 = extractvalue { { i64, i64 }*, { i64, i64 }* } %_augmented8, 0
%7 = getelementptr inbounds { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }* %5, i32 0, i32 5
store { i64, i64 }* %6, { i64, i64 }** %7, align 8
%"'ac9" = extractvalue { { i64, i64 }*, { i64, i64 }* } %_augmented8, 1
%8 = getelementptr inbounds { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }* %5, i32 0, i32 6
store { i64, i64 }* %"'ac9", { i64, i64 }** %8, align 8
%_augmented6 = call { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } @augmented__ZSt7forwardIRN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEEOT_RNSt16remove_referenceISI_E4typeE(%"class.boost::numeric::odeint::controlled_runge_kutta"* %1, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'1")
%9 = extractvalue { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented6, 0
%10 = getelementptr inbounds { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }* %5, i32 0, i32 3
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %9, %"class.boost::numeric::odeint::controlled_runge_kutta"** %10, align 8
%"'ac7" = extractvalue { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented6, 1
%11 = getelementptr inbounds { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }* %5, i32 0, i32 4
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ac7", %"class.boost::numeric::odeint::controlled_runge_kutta"** %11, align 8
%_augmented5 = call { %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* %2, %"class.boost::array.1"* %"'2")
%12 = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented5, 0
%13 = getelementptr inbounds { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }* %5, i32 0, i32 1
store %"class.boost::array.1"* %12, %"class.boost::array.1"** %13, align 8
%"'ac" = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented5, 1
%14 = getelementptr inbounds { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }* %5, i32 0, i32 2
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %14, align 8
%_augmented = call { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 } @augmented__ZSt13__invoke_implIbRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ERSG_JSI_EET_St19__invoke_memfun_refOT0_OT1_DpOT2_(i8 undef, { i64, i64 }* %6, { i64, i64 }* %"'ac9", %"class.boost::numeric::odeint::controlled_runge_kutta"* %9, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ac7", %"class.boost::array.1"* %12, %"class.boost::array.1"* %"'ac")
%subcache = extractvalue { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 } %_augmented, 0
%15 = getelementptr inbounds { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }* %5, i32 0, i32 0
store { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* } %subcache, { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }* %15, align 8
%16 = extractvalue { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, i1 } %_augmented, 1
%17 = insertvalue { i8*, i1 } undef, i1 %16, 1
%18 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 }* %4, i32 0, i32 1
store i1 %16, i1* %18, align 1
%19 = load { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 }* %4, align 8
ret { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 } %19
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @preprocess__ZNVKSt3_MuISt12_PlaceholderILi1EELb0ELb1EEclISt5tupleIJRKN5boost5arrayIdLm1EEEEEEEONSt9enable_ifIXltLm0Esr10tuple_sizeIT_EE5valueESt13tuple_elementILm0ESC_EE4type4typeERVKS1_RSC_(%"class.std::_Mu.9"* nonnull dereferenceable(1) %0, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %2) local_unnamed_addr #14 align 2 {
%4 = call nonnull align 8 dereferenceable(8) %"class.std::tuple.6"* @_ZSt4moveIRSt5tupleIJRKN5boost5arrayIdLm1EEEEEEONSt16remove_referenceIT_E4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %2) #3
%5 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEEONSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %4) #3
ret %"class.boost::array.1"* %5
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @preprocess__ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEEONSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
%2 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0) #3
%3 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.boost::array.1"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @preprocess__ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
%2 = getelementptr inbounds %"class.std::tuple.6", %"class.std::tuple.6"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt12__get_helperILm0ERKN5boost5arrayIdLm1EEEJEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.boost::array.1"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @preprocess__ZSt12__get_helperILm0ERKN5boost5arrayIdLm1EEEJEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
%2 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEE7_M_headERS5_(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %0) #3
ret %"class.boost::array.1"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @preprocess__ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEE7_M_headERS5_(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 align 2 {
%2 = getelementptr inbounds %"struct.std::_Tuple_impl.7", %"struct.std::_Tuple_impl.7"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EE7_M_headERS5_(%"struct.std::_Head_base.8"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.boost::array.1"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @preprocess__ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EE7_M_headERS5_(%"struct.std::_Head_base.8"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 align 2 {
%2 = getelementptr inbounds %"struct.std::_Head_base.8", %"struct.std::_Head_base.8"* %0, i64 0, i32 0
%3 = load %"class.boost::array.1"*, %"class.boost::array.1"** %2, align 8, !tbaa !62
ret %"class.boost::array.1"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EE7_M_headERS5_(%"struct.std::_Head_base.8"* nonnull align 8 dereferenceable(8) %0, %"struct.std::_Head_base.8"* %"'") local_unnamed_addr #14 align 2 {
%2 = alloca { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* }, align 8
%3 = getelementptr inbounds { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 0
%"'ipg" = getelementptr inbounds %"struct.std::_Head_base.8", %"struct.std::_Head_base.8"* %"'", i64 0, i32 0
%4 = getelementptr inbounds %"struct.std::_Head_base.8", %"struct.std::_Head_base.8"* %0, i64 0, i32 0
%"'ipl" = load %"class.boost::array.1"*, %"class.boost::array.1"** %"'ipg", align 8
store %"class.boost::array.1"* %"'ipl", %"class.boost::array.1"** %3, align 8
%5 = load %"class.boost::array.1"*, %"class.boost::array.1"** %4, align 8, !tbaa !62
%6 = insertvalue { i8*, %"class.boost::array.1"*, %"class.boost::array.1"* } undef, %"class.boost::array.1"* %5, 1
%7 = getelementptr inbounds { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 1
store %"class.boost::array.1"* %5, %"class.boost::array.1"** %7, align 8
%8 = getelementptr inbounds { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 2
store %"class.boost::array.1"* %"'ipl", %"class.boost::array.1"** %8, align 8
%9 = load { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, align 8
ret { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* } %9
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEE7_M_headERS5_(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %0, %"struct.std::_Tuple_impl.7"* %"'") local_unnamed_addr #14 align 2 {
%2 = alloca { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, align 8
%3 = getelementptr inbounds { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 0
%"'ipg" = getelementptr inbounds %"struct.std::_Tuple_impl.7", %"struct.std::_Tuple_impl.7"* %"'", i64 0, i32 0
%4 = getelementptr inbounds %"struct.std::_Tuple_impl.7", %"struct.std::_Tuple_impl.7"* %0, i64 0, i32 0
%_augmented = call { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EE7_M_headERS5_(%"struct.std::_Head_base.8"* %4, %"struct.std::_Head_base.8"* %"'ipg")
%subcache = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 0
%5 = getelementptr inbounds { %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %3, i32 0, i32 0
store %"class.boost::array.1"* %subcache, %"class.boost::array.1"** %5, align 8
%6 = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 1
%"'ac" = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 2
%7 = getelementptr inbounds { %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %3, i32 0, i32 1
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %7, align 8
%8 = insertvalue { i8*, %"class.boost::array.1"*, %"class.boost::array.1"* } undef, %"class.boost::array.1"* %6, 1
%9 = getelementptr inbounds { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 1
store %"class.boost::array.1"* %6, %"class.boost::array.1"** %9, align 8
%10 = getelementptr inbounds { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 2
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %10, align 8
%11 = load { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, align 8
ret { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %11
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt12__get_helperILm0ERKN5boost5arrayIdLm1EEEJEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE(%"struct.std::_Tuple_impl.7"* nonnull align 8 dereferenceable(8) %0, %"struct.std::_Tuple_impl.7"* %"'") local_unnamed_addr #14 {
%2 = alloca { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, align 8
%3 = getelementptr inbounds { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 0
%_augmented = call { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEE7_M_headERS5_(%"struct.std::_Tuple_impl.7"* %0, %"struct.std::_Tuple_impl.7"* %"'")
%subcache = extractvalue { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 0
%4 = getelementptr inbounds { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }* %3, i32 0, i32 0
store { %"class.boost::array.1"*, %"class.boost::array.1"* } %subcache, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %4, align 8
%5 = extractvalue { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 1
%"'ac" = extractvalue { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 2
%6 = getelementptr inbounds { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }* %3, i32 0, i32 1
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %6, align 8
%7 = insertvalue { i8*, %"class.boost::array.1"*, %"class.boost::array.1"* } undef, %"class.boost::array.1"* %5, 1
%8 = getelementptr inbounds { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 1
store %"class.boost::array.1"* %5, %"class.boost::array.1"** %8, align 8
%9 = getelementptr inbounds { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 2
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %9, align 8
%10 = load { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, align 8
ret { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %10
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0, %"class.std::tuple.6"* %"'") local_unnamed_addr #14 {
%2 = alloca { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, align 8
%3 = getelementptr inbounds { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 0
%"'ipg" = getelementptr inbounds %"class.std::tuple.6", %"class.std::tuple.6"* %"'", i64 0, i32 0
%4 = getelementptr inbounds %"class.std::tuple.6", %"class.std::tuple.6"* %0, i64 0, i32 0
%_augmented = call { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt12__get_helperILm0ERKN5boost5arrayIdLm1EEEJEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE(%"struct.std::_Tuple_impl.7"* %4, %"struct.std::_Tuple_impl.7"* %"'ipg")
%subcache = extractvalue { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 0
%5 = getelementptr inbounds { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }* %3, i32 0, i32 0
store { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* } %subcache, { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }* %5, align 8
%6 = extractvalue { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 1
%"'ac" = extractvalue { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 2
%7 = getelementptr inbounds { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }* %3, i32 0, i32 1
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %7, align 8
%8 = insertvalue { i8*, %"class.boost::array.1"*, %"class.boost::array.1"* } undef, %"class.boost::array.1"* %6, 1
%9 = getelementptr inbounds { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 1
store %"class.boost::array.1"* %6, %"class.boost::array.1"** %9, align 8
%10 = getelementptr inbounds { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 2
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %10, align 8
%11 = load { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, align 8
ret { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %11
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEEONSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0, %"class.std::tuple.6"* %"'") local_unnamed_addr #14 {
%2 = alloca { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, align 8
%3 = getelementptr inbounds { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 0
%_augmented2 = call { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_(%"class.std::tuple.6"* %0, %"class.std::tuple.6"* %"'")
%subcache = extractvalue { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented2, 0
%4 = getelementptr inbounds { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %3, i32 0, i32 1
store { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* } %subcache, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }* %4, align 8
%5 = extractvalue { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented2, 1
%6 = getelementptr inbounds { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %3, i32 0, i32 2
store %"class.boost::array.1"* %5, %"class.boost::array.1"** %6, align 8
%"'ac3" = extractvalue { { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented2, 2
%7 = getelementptr inbounds { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %3, i32 0, i32 3
store %"class.boost::array.1"* %"'ac3", %"class.boost::array.1"** %7, align 8
%_augmented = call { %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* %5, %"class.boost::array.1"* %"'ac3")
%8 = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 0
%"'ac" = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 1
%9 = getelementptr inbounds { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %3, i32 0, i32 0
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %9, align 8
%10 = insertvalue { i8*, %"class.boost::array.1"*, %"class.boost::array.1"* } undef, %"class.boost::array.1"* %8, 1
%11 = getelementptr inbounds { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 1
store %"class.boost::array.1"* %8, %"class.boost::array.1"** %11, align 8
%12 = getelementptr inbounds { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, i32 0, i32 2
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %12, align 8
%13 = load { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %2, align 8
ret { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %13
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::tuple.6"* @preprocess__ZSt4moveIRSt5tupleIJRKN5boost5arrayIdLm1EEEEEEONSt16remove_referenceIT_E4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
ret %"class.std::tuple.6"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.std::tuple.6"*, %"class.std::tuple.6"* } @augmented__ZSt4moveIRSt5tupleIJRKN5boost5arrayIdLm1EEEEEEONSt16remove_referenceIT_E4typeEOS9_(%"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %0, %"class.std::tuple.6"* %"'") local_unnamed_addr #14 {
%2 = alloca { %"class.std::tuple.6"*, %"class.std::tuple.6"* }, align 8
%3 = insertvalue { i8*, %"class.std::tuple.6"*, %"class.std::tuple.6"* } undef, %"class.std::tuple.6"* %0, 1
%4 = getelementptr inbounds { %"class.std::tuple.6"*, %"class.std::tuple.6"* }, { %"class.std::tuple.6"*, %"class.std::tuple.6"* }* %2, i32 0, i32 0
store %"class.std::tuple.6"* %0, %"class.std::tuple.6"** %4, align 8
%5 = getelementptr inbounds { %"class.std::tuple.6"*, %"class.std::tuple.6"* }, { %"class.std::tuple.6"*, %"class.std::tuple.6"* }* %2, i32 0, i32 1
store %"class.std::tuple.6"* %"'", %"class.std::tuple.6"** %5, align 8
%6 = load { %"class.std::tuple.6"*, %"class.std::tuple.6"* }, { %"class.std::tuple.6"*, %"class.std::tuple.6"* }* %2, align 8
ret { %"class.std::tuple.6"*, %"class.std::tuple.6"* } %6
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZNVKSt3_MuISt12_PlaceholderILi1EELb0ELb1EEclISt5tupleIJRKN5boost5arrayIdLm1EEEEEEEONSt9enable_ifIXltLm0Esr10tuple_sizeIT_EE5valueESt13tuple_elementILm0ESC_EE4type4typeERVKS1_RSC_(%"class.std::_Mu.9"* nonnull dereferenceable(1) %0, %"class.std::_Mu.9"* %"'", %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1, %"struct.std::_Placeholder"* %"'1", %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %2, %"class.std::tuple.6"* %"'2") local_unnamed_addr #14 align 2 {
%4 = alloca { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, align 8
%5 = getelementptr inbounds { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %4, i32 0, i32 0
%_augmented4 = call { %"class.std::tuple.6"*, %"class.std::tuple.6"* } @augmented__ZSt4moveIRSt5tupleIJRKN5boost5arrayIdLm1EEEEEEONSt16remove_referenceIT_E4typeEOS9_(%"class.std::tuple.6"* %2, %"class.std::tuple.6"* %"'2")
%6 = extractvalue { %"class.std::tuple.6"*, %"class.std::tuple.6"* } %_augmented4, 0
%7 = getelementptr inbounds { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }* %5, i32 0, i32 2
store %"class.std::tuple.6"* %6, %"class.std::tuple.6"** %7, align 8
%"'ac5" = extractvalue { %"class.std::tuple.6"*, %"class.std::tuple.6"* } %_augmented4, 1
%8 = getelementptr inbounds { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }* %5, i32 0, i32 3
store %"class.std::tuple.6"* %"'ac5", %"class.std::tuple.6"** %8, align 8
%_augmented = call { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt3getILm0EJRKN5boost5arrayIdLm1EEEEEONSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEOS9_(%"class.std::tuple.6"* %6, %"class.std::tuple.6"* %"'ac5")
%subcache = extractvalue { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 0
%9 = getelementptr inbounds { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }* %5, i32 0, i32 0
store { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %subcache, { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %9, align 8
%10 = extractvalue { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 1
%"'ac" = extractvalue { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 2
%11 = getelementptr inbounds { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }* %5, i32 0, i32 1
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %11, align 8
%12 = insertvalue { i8*, %"class.boost::array.1"*, %"class.boost::array.1"* } undef, %"class.boost::array.1"* %10, 1
%13 = getelementptr inbounds { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %4, i32 0, i32 1
store %"class.boost::array.1"* %10, %"class.boost::array.1"** %13, align 8
%14 = getelementptr inbounds { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %4, i32 0, i32 2
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %14, align 8
%15 = load { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }* %4, align 8
ret { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %15
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @preprocess__ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
%2 = bitcast %"class.std::tuple"* %0 to %"struct.std::_Tuple_impl.2"*
%3 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt12__get_helperILm1ESt12_PlaceholderILi1EEJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %2) #3
ret %"struct.std::_Placeholder"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @preprocess__ZSt12__get_helperILm1ESt12_PlaceholderILi1EEJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #14 {
%2 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEE7_M_headERS2_(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %0) #3
ret %"struct.std::_Placeholder"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @preprocess__ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEE7_M_headERS2_(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #14 align 2 {
%2 = bitcast %"struct.std::_Tuple_impl.2"* %0 to %"struct.std::_Head_base"*
%3 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EE7_M_headERS2_(%"struct.std::_Head_base"* nonnull align 1 dereferenceable(1) %2) #3
ret %"struct.std::_Placeholder"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @preprocess__ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EE7_M_headERS2_(%"struct.std::_Head_base"* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #14 align 2 {
%2 = bitcast %"struct.std::_Head_base"* %0 to %"struct.std::_Placeholder"*
ret %"struct.std::_Placeholder"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EE7_M_headERS2_(%"struct.std::_Head_base"* nonnull align 1 dereferenceable(1) %0, %"struct.std::_Head_base"* %"'") local_unnamed_addr #14 align 2 {
%2 = alloca { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, align 8
%"'ipc" = bitcast %"struct.std::_Head_base"* %"'" to %"struct.std::_Placeholder"*
%3 = bitcast %"struct.std::_Head_base"* %0 to %"struct.std::_Placeholder"*
%4 = insertvalue { i8*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } undef, %"struct.std::_Placeholder"* %3, 1
%5 = getelementptr inbounds { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 0
store %"struct.std::_Placeholder"* %3, %"struct.std::_Placeholder"** %5, align 8
%6 = getelementptr inbounds { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 1
store %"struct.std::_Placeholder"* %"'ipc", %"struct.std::_Placeholder"** %6, align 8
%7 = load { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, align 8
ret { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %7
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEE7_M_headERS2_(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %0, %"struct.std::_Tuple_impl.2"* %"'") local_unnamed_addr #14 align 2 {
%2 = alloca { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, align 8
%3 = getelementptr inbounds { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 0
%"'ipc" = bitcast %"struct.std::_Tuple_impl.2"* %"'" to %"struct.std::_Head_base"*
%4 = bitcast %"struct.std::_Tuple_impl.2"* %0 to %"struct.std::_Head_base"*
%_augmented = call { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EE7_M_headERS2_(%"struct.std::_Head_base"* %4, %"struct.std::_Head_base"* %"'ipc")
%5 = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented, 0
%"'ac" = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented, 1
store %"struct.std::_Placeholder"* %"'ac", %"struct.std::_Placeholder"** %3, align 8
%6 = insertvalue { i8*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } undef, %"struct.std::_Placeholder"* %5, 1
%7 = getelementptr inbounds { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 1
store %"struct.std::_Placeholder"* %5, %"struct.std::_Placeholder"** %7, align 8
%8 = getelementptr inbounds { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 2
store %"struct.std::_Placeholder"* %"'ac", %"struct.std::_Placeholder"** %8, align 8
%9 = load { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, align 8
ret { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %9
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZSt12__get_helperILm1ESt12_PlaceholderILi1EEJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE(%"struct.std::_Tuple_impl.2"* nonnull align 1 dereferenceable(1) %0, %"struct.std::_Tuple_impl.2"* %"'") local_unnamed_addr #14 {
%2 = alloca { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, align 8
%3 = getelementptr inbounds { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 0
%_augmented = call { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEE7_M_headERS2_(%"struct.std::_Tuple_impl.2"* %0, %"struct.std::_Tuple_impl.2"* %"'")
%subcache = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented, 0
%4 = getelementptr inbounds { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %3, i32 0, i32 0
store %"struct.std::_Placeholder"* %subcache, %"struct.std::_Placeholder"** %4, align 8
%5 = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented, 1
%"'ac" = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented, 2
%6 = getelementptr inbounds { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %3, i32 0, i32 1
store %"struct.std::_Placeholder"* %"'ac", %"struct.std::_Placeholder"** %6, align 8
%7 = insertvalue { i8*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } undef, %"struct.std::_Placeholder"* %5, 1
%8 = getelementptr inbounds { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 1
store %"struct.std::_Placeholder"* %5, %"struct.std::_Placeholder"** %8, align 8
%9 = getelementptr inbounds { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 2
store %"struct.std::_Placeholder"* %"'ac", %"struct.std::_Placeholder"** %9, align 8
%10 = load { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, align 8
ret { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %10
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %0, %"class.std::tuple"* %"'") local_unnamed_addr #14 {
%2 = alloca { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, align 8
%3 = getelementptr inbounds { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 0
%"'ipc" = bitcast %"class.std::tuple"* %"'" to %"struct.std::_Tuple_impl.2"*
%4 = bitcast %"class.std::tuple"* %0 to %"struct.std::_Tuple_impl.2"*
%_augmented = call { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZSt12__get_helperILm1ESt12_PlaceholderILi1EEJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE(%"struct.std::_Tuple_impl.2"* %4, %"struct.std::_Tuple_impl.2"* %"'ipc")
%subcache = extractvalue { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented, 0
%5 = getelementptr inbounds { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }* %3, i32 0, i32 0
store { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %subcache, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %5, align 8
%6 = extractvalue { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented, 1
%"'ac" = extractvalue { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented, 2
%7 = getelementptr inbounds { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }* %3, i32 0, i32 1
store %"struct.std::_Placeholder"* %"'ac", %"struct.std::_Placeholder"** %7, align 8
%8 = insertvalue { i8*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } undef, %"struct.std::_Placeholder"* %6, 1
%9 = getelementptr inbounds { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 1
store %"struct.std::_Placeholder"* %6, %"struct.std::_Placeholder"** %9, align 8
%10 = getelementptr inbounds { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 2
store %"struct.std::_Placeholder"* %"'ac", %"struct.std::_Placeholder"** %10, align 8
%11 = load { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, align 8
ret { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %11
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @preprocess__ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0ELb0EEclISI_St5tupleIJRKS7_EEEERSH_RT_RT0_(%"class.std::_Mu"* nonnull dereferenceable(1) %0, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %2) local_unnamed_addr #14 align 2 {
%4 = call nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @_ZNKSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE3getEv(%"class.std::reference_wrapper"* nonnull dereferenceable(8) %1) #3
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %4
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(161) %"class.boost::numeric::odeint::controlled_runge_kutta"* @preprocess__ZNKSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE3getEv(%"class.std::reference_wrapper"* nonnull dereferenceable(8) %0) local_unnamed_addr #14 align 2 {
%2 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %0, i64 0, i32 0
%3 = load %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"** %2, align 8, !tbaa !60
ret %"class.boost::numeric::odeint::controlled_runge_kutta"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } @augmented__ZNKSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE3getEv(%"class.std::reference_wrapper"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper"* %"'") local_unnamed_addr #14 align 2 {
%2 = alloca { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, align 8
%3 = getelementptr inbounds { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, i32 0, i32 0
%"'ipg" = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %"'", i64 0, i32 0
%4 = getelementptr inbounds %"class.std::reference_wrapper", %"class.std::reference_wrapper"* %0, i64 0, i32 0
%"'ipl" = load %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"** %"'ipg", align 8
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ipl", %"class.boost::numeric::odeint::controlled_runge_kutta"** %3, align 8
%5 = load %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"** %4, align 8, !tbaa !60
%6 = insertvalue { i8*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } undef, %"class.boost::numeric::odeint::controlled_runge_kutta"* %5, 1
%7 = getelementptr inbounds { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, i32 0, i32 1
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %5, %"class.boost::numeric::odeint::controlled_runge_kutta"** %7, align 8
%8 = getelementptr inbounds { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, i32 0, i32 2
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ipl", %"class.boost::numeric::odeint::controlled_runge_kutta"** %8, align 8
%9 = load { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %2, align 8
ret { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %9
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } @augmented__ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0ELb0EEclISI_St5tupleIJRKS7_EEEERSH_RT_RT0_(%"class.std::_Mu"* nonnull dereferenceable(1) %0, %"class.std::_Mu"* %"'", %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"class.std::reference_wrapper"* %"'1", %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %2, %"class.std::tuple.6"* %"'2") local_unnamed_addr #14 align 2 {
%4 = alloca { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, align 8
%5 = getelementptr inbounds { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %4, i32 0, i32 0
%_augmented = call { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } @augmented__ZNKSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE3getEv(%"class.std::reference_wrapper"* %1, %"class.std::reference_wrapper"* %"'1")
%subcache = extractvalue { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented, 0
%6 = getelementptr inbounds { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %5, i32 0, i32 0
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %subcache, %"class.boost::numeric::odeint::controlled_runge_kutta"** %6, align 8
%7 = extractvalue { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented, 1
%"'ac" = extractvalue { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented, 2
%8 = getelementptr inbounds { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %5, i32 0, i32 1
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ac", %"class.boost::numeric::odeint::controlled_runge_kutta"** %8, align 8
%9 = insertvalue { i8*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } undef, %"class.boost::numeric::odeint::controlled_runge_kutta"* %7, 1
%10 = getelementptr inbounds { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %4, i32 0, i32 1
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %7, %"class.boost::numeric::odeint::controlled_runge_kutta"** %10, align 8
%11 = getelementptr inbounds { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %4, i32 0, i32 2
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ac", %"class.boost::numeric::odeint::controlled_runge_kutta"** %11, align 8
%12 = load { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %4, align 8
ret { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %12
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @preprocess__ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
%2 = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSL_DpT1_EE(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.std::reference_wrapper"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @preprocess__ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSL_DpT1_EE(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
%2 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEE7_M_headERSL_(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %0) #3
ret %"class.std::reference_wrapper"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @preprocess__ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEE7_M_headERSL_(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 align 2 {
%2 = getelementptr inbounds %"struct.std::_Tuple_impl", %"struct.std::_Tuple_impl"* %0, i64 0, i32 0
%3 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EE7_M_headERSJ_(%"struct.std::_Head_base.3"* nonnull align 8 dereferenceable(8) %2) #3
ret %"class.std::reference_wrapper"* %3
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @preprocess__ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EE7_M_headERSJ_(%"struct.std::_Head_base.3"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 align 2 {
%2 = getelementptr inbounds %"struct.std::_Head_base.3", %"struct.std::_Head_base.3"* %0, i64 0, i32 0
ret %"class.std::reference_wrapper"* %2
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EE7_M_headERSJ_(%"struct.std::_Head_base.3"* nonnull align 8 dereferenceable(8) %0, %"struct.std::_Head_base.3"* %"'") local_unnamed_addr #14 align 2 {
%2 = alloca { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, align 8
%"'ipg" = getelementptr inbounds %"struct.std::_Head_base.3", %"struct.std::_Head_base.3"* %"'", i64 0, i32 0
%3 = getelementptr inbounds %"struct.std::_Head_base.3", %"struct.std::_Head_base.3"* %0, i64 0, i32 0
%4 = insertvalue { i8*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } undef, %"class.std::reference_wrapper"* %3, 1
%5 = getelementptr inbounds { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 0
store %"class.std::reference_wrapper"* %3, %"class.std::reference_wrapper"** %5, align 8
%6 = getelementptr inbounds { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 1
store %"class.std::reference_wrapper"* %"'ipg", %"class.std::reference_wrapper"** %6, align 8
%7 = load { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, align 8
ret { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %7
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEE7_M_headERSL_(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %0, %"struct.std::_Tuple_impl"* %"'") local_unnamed_addr #14 align 2 {
%2 = alloca { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, align 8
%3 = getelementptr inbounds { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 0
%"'ipg" = getelementptr inbounds %"struct.std::_Tuple_impl", %"struct.std::_Tuple_impl"* %"'", i64 0, i32 0
%4 = getelementptr inbounds %"struct.std::_Tuple_impl", %"struct.std::_Tuple_impl"* %0, i64 0, i32 0
%_augmented = call { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EE7_M_headERSJ_(%"struct.std::_Head_base.3"* %4, %"struct.std::_Head_base.3"* %"'ipg")
%5 = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 0
%"'ac" = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 1
store %"class.std::reference_wrapper"* %"'ac", %"class.std::reference_wrapper"** %3, align 8
%6 = insertvalue { i8*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } undef, %"class.std::reference_wrapper"* %5, 1
%7 = getelementptr inbounds { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 1
store %"class.std::reference_wrapper"* %5, %"class.std::reference_wrapper"** %7, align 8
%8 = getelementptr inbounds { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 2
store %"class.std::reference_wrapper"* %"'ac", %"class.std::reference_wrapper"** %8, align 8
%9 = load { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, align 8
ret { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %9
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSL_DpT1_EE(%"struct.std::_Tuple_impl"* nonnull align 8 dereferenceable(8) %0, %"struct.std::_Tuple_impl"* %"'") local_unnamed_addr #14 {
%2 = alloca { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, align 8
%3 = getelementptr inbounds { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 0
%_augmented = call { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEE7_M_headERSL_(%"struct.std::_Tuple_impl"* %0, %"struct.std::_Tuple_impl"* %"'")
%subcache = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 0
%4 = getelementptr inbounds { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %3, i32 0, i32 0
store %"class.std::reference_wrapper"* %subcache, %"class.std::reference_wrapper"** %4, align 8
%5 = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 1
%"'ac" = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 2
%6 = getelementptr inbounds { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %3, i32 0, i32 1
store %"class.std::reference_wrapper"* %"'ac", %"class.std::reference_wrapper"** %6, align 8
%7 = insertvalue { i8*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } undef, %"class.std::reference_wrapper"* %5, 1
%8 = getelementptr inbounds { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 1
store %"class.std::reference_wrapper"* %5, %"class.std::reference_wrapper"** %8, align 8
%9 = getelementptr inbounds { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 2
store %"class.std::reference_wrapper"* %"'ac", %"class.std::reference_wrapper"** %9, align 8
%10 = load { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, align 8
ret { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %10
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* nonnull align 8 dereferenceable(8) %0, %"class.std::tuple"* %"'") local_unnamed_addr #14 {
%2 = alloca { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, align 8
%3 = getelementptr inbounds { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 0
%"'ipg" = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %"'", i64 0, i32 0
%4 = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %0, i64 0, i32 0
%_augmented = call { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZSt12__get_helperILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEJSt12_PlaceholderILi1EEEERT0_RSt11_Tuple_implIXT_EJSL_DpT1_EE(%"struct.std::_Tuple_impl"* %4, %"struct.std::_Tuple_impl"* %"'ipg")
%subcache = extractvalue { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 0
%5 = getelementptr inbounds { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }* %3, i32 0, i32 0
store { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %subcache, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %5, align 8
%6 = extractvalue { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 1
%"'ac" = extractvalue { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 2
%7 = getelementptr inbounds { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }* %3, i32 0, i32 1
store %"class.std::reference_wrapper"* %"'ac", %"class.std::reference_wrapper"** %7, align 8
%8 = insertvalue { i8*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } undef, %"class.std::reference_wrapper"* %6, 1
%9 = getelementptr inbounds { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 1
store %"class.std::reference_wrapper"* %6, %"class.std::reference_wrapper"** %9, align 8
%10 = getelementptr inbounds { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 2
store %"class.std::reference_wrapper"* %"'ac", %"class.std::reference_wrapper"** %10, align 8
%11 = load { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, align 8
ret { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %11
}
; Function Attrs: nounwind uwtable mustprogress
define internal { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 } @augmented__ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEE6__callIbJSI_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE(%"class.std::_Bind"* nonnull dereferenceable(24) %0, %"class.std::_Bind"* %"'", %"class.std::tuple.6"* nonnull align 8 dereferenceable(8) %1, %"class.std::tuple.6"* %"'1", i8 %2) local_unnamed_addr #5 align 2 {
%4 = alloca { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 }, align 8
%5 = getelementptr inbounds { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 }, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 }* %4, i32 0, i32 0
%malloccall = tail call noalias nonnull dereferenceable(1) dereferenceable_or_null(1) i8* @malloc(i64 1), !enzyme_fromstack !59
%6 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 16
store i8* %malloccall, i8** %6, align 8
%"malloccall'mi" = tail call noalias nonnull dereferenceable(1) dereferenceable_or_null(1) i8* @malloc(i64 1)
%7 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 15
store i8* %"malloccall'mi", i8** %7, align 8
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(1) dereferenceable_or_null(1) %"malloccall'mi", i8 0, i64 1, i1 false)
%"'ipc11" = bitcast i8* %"malloccall'mi" to %"class.std::_Mu"*
%8 = bitcast i8* %malloccall to %"class.std::_Mu"*
%malloccall1 = tail call noalias nonnull dereferenceable(1) dereferenceable_or_null(1) i8* @malloc(i64 1), !enzyme_fromstack !59
%9 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 14
store i8* %malloccall1, i8** %9, align 8
%"malloccall1'mi" = tail call noalias nonnull dereferenceable(1) dereferenceable_or_null(1) i8* @malloc(i64 1)
%10 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 13
store i8* %"malloccall1'mi", i8** %10, align 8
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(1) dereferenceable_or_null(1) %"malloccall1'mi", i8 0, i64 1, i1 false)
%"'ipc" = bitcast i8* %"malloccall1'mi" to %"class.std::_Mu.9"*
%11 = bitcast i8* %malloccall1 to %"class.std::_Mu.9"*
%"'ipg" = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %"'", i64 0, i32 0
%12 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0
%"'ipg7" = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %"'", i64 0, i32 1
%13 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 1
%_augmented15 = call { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZSt3getILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* %13, %"class.std::tuple"* %"'ipg7")
%subcache16 = extractvalue { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented15, 0
%14 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 10
store { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* } %subcache16, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }* %14, align 8
%15 = extractvalue { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented15, 1
%16 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 11
store %"class.std::reference_wrapper"* %15, %"class.std::reference_wrapper"** %16, align 8
%"'ac17" = extractvalue { { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented15, 2
%17 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 12
store %"class.std::reference_wrapper"* %"'ac17", %"class.std::reference_wrapper"** %17, align 8
%_augmented12 = call { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } @augmented__ZNVKSt3_MuISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0ELb0EEclISI_St5tupleIJRKS7_EEEERSH_RT_RT0_(%"class.std::_Mu"* %8, %"class.std::_Mu"* %"'ipc11", %"class.std::reference_wrapper"* %15, %"class.std::reference_wrapper"* %"'ac17", %"class.std::tuple.6"* %1, %"class.std::tuple.6"* %"'1")
%subcache13 = extractvalue { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented12, 0
%18 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 7
store { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %subcache13, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }* %18, align 8
%19 = extractvalue { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented12, 1
%20 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 8
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %19, %"class.boost::numeric::odeint::controlled_runge_kutta"** %20, align 8
%"'ac14" = extractvalue { { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* } %_augmented12, 2
%21 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 9
store %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ac14", %"class.boost::numeric::odeint::controlled_runge_kutta"** %21, align 8
%_augmented8 = call { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZSt3getILm1EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSP_(%"class.std::tuple"* %13, %"class.std::tuple"* %"'ipg7")
%subcache9 = extractvalue { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented8, 0
%22 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 4
store { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* } %subcache9, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }* %22, align 8
%23 = extractvalue { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented8, 1
%24 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 5
store %"struct.std::_Placeholder"* %23, %"struct.std::_Placeholder"** %24, align 8
%"'ac10" = extractvalue { { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented8, 2
%25 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 6
store %"struct.std::_Placeholder"* %"'ac10", %"struct.std::_Placeholder"** %25, align 8
%_augmented5 = call { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZNVKSt3_MuISt12_PlaceholderILi1EELb0ELb1EEclISt5tupleIJRKN5boost5arrayIdLm1EEEEEEEONSt9enable_ifIXltLm0Esr10tuple_sizeIT_EE5valueESt13tuple_elementILm0ESC_EE4type4typeERVKS1_RSC_(%"class.std::_Mu.9"* %11, %"class.std::_Mu.9"* %"'ipc", %"struct.std::_Placeholder"* %23, %"struct.std::_Placeholder"* %"'ac10", %"class.std::tuple.6"* %1, %"class.std::tuple.6"* %"'1")
%subcache6 = extractvalue { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented5, 0
%26 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 1
store { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* } %subcache6, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }* %26, align 8
%27 = extractvalue { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented5, 1
%28 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 2
store %"class.boost::array.1"* %27, %"class.boost::array.1"** %28, align 8
%"'ac" = extractvalue { { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented5, 2
%29 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 3
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %29, align 8
%_augmented = call { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 } @augmented__ZSt8__invokeIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJRSG_SI_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSO_DpOSP_({ i64, i64 }* %12, { i64, i64 }* %"'ipg", %"class.boost::numeric::odeint::controlled_runge_kutta"* %19, %"class.boost::numeric::odeint::controlled_runge_kutta"* %"'ac14", %"class.boost::array.1"* %27, %"class.boost::array.1"* %"'ac")
%subcache = extractvalue { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 } %_augmented, 0
%30 = getelementptr inbounds { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %5, i32 0, i32 0
store { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* } %subcache, { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }* %30, align 8
%31 = extractvalue { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, i1 } %_augmented, 1
%32 = insertvalue { i8*, i1 } undef, i1 %31, 1
%33 = getelementptr inbounds { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 }, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 }* %4, i32 0, i32 1
store i1 %31, i1* %33, align 1
%34 = load { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 }, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 }* %4, align 8
ret { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 } %34
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @preprocess__ZSt16forward_as_tupleIJRKN5boost5arrayIdLm1EEEEESt5tupleIJDpOT_EES8_(%"class.std::tuple.6"* noalias sret(%"class.std::tuple.6") align 8 %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #14 {
%3 = call nonnull align 8 dereferenceable(8) %"class.boost::array.1"* @_ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) #3
call void @_ZNSt5tupleIJRKN5boost5arrayIdLm1EEEEEC2IvLb1EEES4_(%"class.std::tuple.6"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %3)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt5tupleIJRKN5boost5arrayIdLm1EEEEEC2IvLb1EEES4_(%"class.std::tuple.6"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) unnamed_addr #7 align 2 {
%3 = getelementptr inbounds %"class.std::tuple.6", %"class.std::tuple.6"* %0, i64 0, i32 0
call void @_ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEEC2ES4_(%"struct.std::_Tuple_impl.7"* nonnull dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEEC2ES4_(%"struct.std::_Tuple_impl.7"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) unnamed_addr #7 align 2 {
%3 = getelementptr inbounds %"struct.std::_Tuple_impl.7", %"struct.std::_Tuple_impl.7"* %0, i64 0, i32 0
call void @_ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EEC2ES4_(%"struct.std::_Head_base.8"* nonnull dereferenceable(8) %3, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EEC2ES4_(%"struct.std::_Head_base.8"* nonnull dereferenceable(8) %0, %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1) unnamed_addr #7 align 2 {
%3 = getelementptr inbounds %"struct.std::_Head_base.8", %"struct.std::_Head_base.8"* %0, i64 0, i32 0
store %"class.boost::array.1"* %1, %"class.boost::array.1"** %3, align 8, !tbaa !32
ret void
}
; Function Attrs: nounwind uwtable willreturn
define internal void @augmented__ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EEC2ES4_(%"struct.std::_Head_base.8"* nonnull dereferenceable(8) %0, %"struct.std::_Head_base.8"* %"'", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* %"'1") unnamed_addr #7 align 2 {
%"'ipg" = getelementptr inbounds %"struct.std::_Head_base.8", %"struct.std::_Head_base.8"* %"'", i64 0, i32 0
%3 = getelementptr inbounds %"struct.std::_Head_base.8", %"struct.std::_Head_base.8"* %0, i64 0, i32 0
store %"class.boost::array.1"* %"'1", %"class.boost::array.1"** %"'ipg", align 8
store %"class.boost::array.1"* %1, %"class.boost::array.1"** %3, align 8, !tbaa !32
ret void
}
; Function Attrs: nounwind uwtable willreturn
define internal void @augmented__ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEEC2ES4_(%"struct.std::_Tuple_impl.7"* nonnull dereferenceable(8) %0, %"struct.std::_Tuple_impl.7"* %"'", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* %"'1") unnamed_addr #7 align 2 {
%"'ipg" = getelementptr inbounds %"struct.std::_Tuple_impl.7", %"struct.std::_Tuple_impl.7"* %"'", i64 0, i32 0
%3 = getelementptr inbounds %"struct.std::_Tuple_impl.7", %"struct.std::_Tuple_impl.7"* %0, i64 0, i32 0
call void @augmented__ZNSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EEC2ES4_(%"struct.std::_Head_base.8"* %3, %"struct.std::_Head_base.8"* %"'ipg", %"class.boost::array.1"* %1, %"class.boost::array.1"* %"'1")
ret void
}
; Function Attrs: nounwind uwtable willreturn
define internal void @augmented__ZNSt5tupleIJRKN5boost5arrayIdLm1EEEEEC2IvLb1EEES4_(%"class.std::tuple.6"* nonnull dereferenceable(8) %0, %"class.std::tuple.6"* %"'", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* %"'1") unnamed_addr #7 align 2 {
%"'ipg" = getelementptr inbounds %"class.std::tuple.6", %"class.std::tuple.6"* %"'", i64 0, i32 0
%3 = getelementptr inbounds %"class.std::tuple.6", %"class.std::tuple.6"* %0, i64 0, i32 0
call void @augmented__ZNSt11_Tuple_implILm0EJRKN5boost5arrayIdLm1EEEEEC2ES4_(%"struct.std::_Tuple_impl.7"* %3, %"struct.std::_Tuple_impl.7"* %"'ipg", %"class.boost::array.1"* %1, %"class.boost::array.1"* %"'1")
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt16forward_as_tupleIJRKN5boost5arrayIdLm1EEEEESt5tupleIJDpOT_EES8_(%"class.std::tuple.6"* noalias align 8 %0, %"class.std::tuple.6"* %"'", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* %"'1") local_unnamed_addr #14 {
%3 = alloca { %"class.boost::array.1"*, %"class.boost::array.1"* }, align 8
%_augmented = call { %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* %1, %"class.boost::array.1"* %"'1")
%4 = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 0
%5 = getelementptr inbounds { %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %3, i32 0, i32 0
store %"class.boost::array.1"* %4, %"class.boost::array.1"** %5, align 8
%"'ac" = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented, 1
%6 = getelementptr inbounds { %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %3, i32 0, i32 1
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %6, align 8
call void @augmented__ZNSt5tupleIJRKN5boost5arrayIdLm1EEEEEC2IvLb1EEES4_(%"class.std::tuple.6"* %0, %"class.std::tuple.6"* %"'", %"class.boost::array.1"* %4, %"class.boost::array.1"* %"'ac")
%7 = load { %"class.boost::array.1"*, %"class.boost::array.1"* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %3, align 8
ret { %"class.boost::array.1"*, %"class.boost::array.1"* } %7
}
; Function Attrs: nounwind uwtable mustprogress
define internal { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 } @augmented__ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEclIJSI_EbEET0_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, %"class.std::_Bind"* %"'", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* %"'1") local_unnamed_addr #5 align 2 {
%3 = alloca { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, align 8
%4 = getelementptr inbounds { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }* %3, i32 0, i32 0
%malloccall = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8), !enzyme_fromstack !59
%5 = getelementptr inbounds { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }* %4, i32 0, i32 5
store i8* %malloccall, i8** %5, align 8
%"malloccall'mi" = tail call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8)
%6 = getelementptr inbounds { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }* %4, i32 0, i32 4
store i8* %"malloccall'mi", i8** %6, align 8
call void @llvm.memset.p0i8.i64(i8* nonnull dereferenceable(8) dereferenceable_or_null(8) %"malloccall'mi", i8 0, i64 8, i1 false)
%"'ipc" = bitcast i8* %"malloccall'mi" to %"class.std::tuple.6"*
%7 = bitcast i8* %malloccall to %"class.std::tuple.6"*
%_augmented3 = call { %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt7forwardIRKN5boost5arrayIdLm1EEEEOT_RNSt16remove_referenceIS5_E4typeE(%"class.boost::array.1"* %1, %"class.boost::array.1"* %"'1")
%8 = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented3, 0
%9 = getelementptr inbounds { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }* %4, i32 0, i32 2
store %"class.boost::array.1"* %8, %"class.boost::array.1"** %9, align 8
%"'ac" = extractvalue { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented3, 1
%10 = getelementptr inbounds { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }* %4, i32 0, i32 3
store %"class.boost::array.1"* %"'ac", %"class.boost::array.1"** %10, align 8
%_augmented2 = call { %"class.boost::array.1"*, %"class.boost::array.1"* } @augmented__ZSt16forward_as_tupleIJRKN5boost5arrayIdLm1EEEEESt5tupleIJDpOT_EES8_(%"class.std::tuple.6"* %7, %"class.std::tuple.6"* %"'ipc", %"class.boost::array.1"* %8, %"class.boost::array.1"* %"'ac")
%11 = getelementptr inbounds { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }* %4, i32 0, i32 1
store { %"class.boost::array.1"*, %"class.boost::array.1"* } %_augmented2, { %"class.boost::array.1"*, %"class.boost::array.1"* }* %11, align 8
%_augmented = call { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 } @augmented__ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEE6__callIbJSI_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE(%"class.std::_Bind"* %0, %"class.std::_Bind"* %"'", %"class.std::tuple.6"* %7, %"class.std::tuple.6"* %"'ipc", i8 undef)
%subcache = extractvalue { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 } %_augmented, 0
%12 = getelementptr inbounds { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }* %4, i32 0, i32 0
store { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* } %subcache, { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }* %12, align 8
%13 = extractvalue { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, i1 } %_augmented, 1
%14 = insertvalue { i8*, i1 } undef, i1 %13, 1
%15 = getelementptr inbounds { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }* %3, i32 0, i32 1
store i1 %13, i1* %15, align 1
%16 = load { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }* %3, align 8
ret { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 } %16
}
; Function Attrs: nounwind uwtable mustprogress
define internal { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 } @augmented__ZN5boost7numeric6odeint17initially_resizer11adjust_sizeINS_5arrayIdLm1EEESt5_BindIFMNS1_22controlled_runge_kuttaINS1_18runge_kutta_dopri5IS5_dS5_dNS1_13array_algebraENS1_18default_operationsES2_EENS1_21default_error_checkerIdS9_SA_EENS1_21default_step_adjusterIddEES2_NS1_31explicit_error_stepper_fsal_tagEEEFbRKS5_ESt17reference_wrapperISH_ESt12_PlaceholderILi1EEEEEEbRKT_T0_(%"struct.boost::numeric::odeint::initially_resizer"* nonnull dereferenceable(1) %0, %"struct.boost::numeric::odeint::initially_resizer"* %"'", %"class.boost::array.1"* nonnull align 8 dereferenceable(8) %1, %"class.boost::array.1"* %"'1", %"class.std::_Bind"* %2, %"class.std::_Bind"* %"'2") local_unnamed_addr #5 align 2 {
%4 = alloca { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 }, align 8
%5 = getelementptr inbounds { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 }, { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 }* %4, i32 0, i32 0
%"'ipg" = getelementptr inbounds %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer"* %"'", i64 0, i32 0
%6 = getelementptr inbounds %"struct.boost::numeric::odeint::initially_resizer", %"struct.boost::numeric::odeint::initially_resizer"* %0, i64 0, i32 0
%7 = load i8, i8* %6, align 1, !tbaa !47, !range !56
%8 = icmp eq i8 %7, 0
%9 = getelementptr inbounds { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }* %5, i32 0, i32 1
store i1 %8, i1* %9, align 1
br i1 %8, label %10, label %13
10: ; preds = %3
store i8 1, i8* %"'ipg", align 1
store i8 1, i8* %6, align 1, !tbaa !47
%_augmented = call { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 } @augmented__ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEclIJSI_EbEET0_DpOT_(%"class.std::_Bind"* %2, %"class.std::_Bind"* %"'2", %"class.boost::array.1"* %1, %"class.boost::array.1"* %"'1")
%subcache = extractvalue { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 } %_augmented, 0
%11 = getelementptr inbounds { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }* %5, i32 0, i32 0
store { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* } %subcache, { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }* %11, align 8
%12 = extractvalue { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 } %_augmented, 1
br label %13
13: ; preds = %10, %3
%14 = phi i1 [ %12, %10 ], [ false, %3 ]
%15 = insertvalue { i8*, i1 } undef, i1 %14, 1
%16 = getelementptr inbounds { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 }, { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 }* %4, i32 0, i32 1
store i1 %14, i1* %16, align 1
%17 = load { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 }, { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 }* %4, align 8
ret { { { { { { i64, %"class.boost::numeric::odeint::controlled_runge_kutta"*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)*, i8*, i8*, %"class.boost::array.1"*, %"class.boost::array.1"*, i64, i64, i8*, i1 (%"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::array.1"*)* }, %"class.boost::array.1"*, %"class.boost::array.1"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { i64, i64 }*, { i64, i64 }* }, { { %"class.boost::array.1"*, { { { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.std::tuple.6"*, %"class.std::tuple.6"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, { { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, { %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"* }, %"class.boost::numeric::odeint::controlled_runge_kutta"*, %"class.boost::numeric::odeint::controlled_runge_kutta"*, { { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, i8*, i8*, i8*, i8* }, { %"class.boost::array.1"*, %"class.boost::array.1"* }, %"class.boost::array.1"*, %"class.boost::array.1"*, i8*, i8* }, i1 }, i1 } %17
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local void @preprocess__ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_(%"class.std::_Bind"* noalias sret(%"class.std::_Bind") align 8 %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) local_unnamed_addr #11 {
%5 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISL_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %1) #3
%6 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2) #3
%7 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) #3
call void @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEC2IJSM_RKSO_EEEOSK_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %5, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %6, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %7)
ret void
}
; Function Attrs: inlinehint nounwind uwtable willreturn mustprogress
define internal { i8* } @fakeaugmented__ZSt4bindIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EJSt17reference_wrapperISG_ERKSt12_PlaceholderILi1EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueESS_JDpT0_EE4typeEOSS_DpOST_(%"class.std::_Bind"* noalias sret(%"class.std::_Bind") align 8 %0, %"class.std::_Bind"* %"'", { i64, i64 }* nonnull align 8 dereferenceable(16) %1, { i64, i64 }* %"'1", %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2, %"class.std::reference_wrapper"* %"'2", %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) local_unnamed_addr #11 {
%5 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt7forwardIMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEOT_RNSt16remove_referenceISL_E4typeE({ i64, i64 }* nonnull align 8 dereferenceable(16) %1) #3
%"'ip_phi" = phi { i64, i64 }*
%6 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2) #3
%"'ip_phi3" = phi %"class.std::reference_wrapper"*
%7 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) #3
%"'ip_phi4" = phi %"struct.std::_Placeholder"*
call void @_ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEC2IJSM_RKSO_EEEOSK_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %5, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %6, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %7)
ret { i8* } undef
allocsForInversion: ; No predecessors!
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEC2IJSM_RKSO_EEEOSK_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) unnamed_addr #7 align 2 {
%5 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt4moveIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEONSt16remove_referenceIT_E4typeEOSN_({ i64, i64 }* nonnull align 8 dereferenceable(16) %1) #3
%6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 0
%7 = load i64, i64* %6, align 8, !tbaa !54
%8 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 1
%9 = load i64, i64* %8, align 8, !tbaa !54
%10 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0, i32 0
store i64 %7, i64* %10, align 8, !tbaa !64
%11 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0, i32 1
store i64 %9, i64* %11, align 8, !tbaa !64
%12 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 1
%13 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2) #3
%14 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) #3
call void @_ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_RKSK_Lb1EEEOT_OT0_(%"class.std::tuple"* nonnull dereferenceable(8) %12, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %13, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %14)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define internal { i8* } @fakeaugmented__ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEC2IJSM_RKSO_EEEOSK_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, %"class.std::_Bind"* %"'", { i64, i64 }* nonnull align 8 dereferenceable(16) %1, { i64, i64 }* %"'1", %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2, %"class.std::reference_wrapper"* %"'2", %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3, %"struct.std::_Placeholder"* %"'3") unnamed_addr #7 align 2 {
%5 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt4moveIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEONSt16remove_referenceIT_E4typeEOSN_({ i64, i64 }* nonnull align 8 dereferenceable(16) %1) #3
%"'ip_phi" = phi { i64, i64 }*
%6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 0
%7 = load i64, i64* %6, align 8, !tbaa !54
%"'il_phi" = phi i64
%8 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 1
%9 = load i64, i64* %8, align 8, !tbaa !54
%"'il_phi4" = phi i64
%10 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0, i32 0
store i64 %7, i64* %10, align 8, !tbaa !64
%11 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0, i32 1
store i64 %9, i64* %11, align 8, !tbaa !64
%"'ipg" = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %"'", i64 0, i32 1
%12 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 1
%_augmented8 = call { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* %2, %"class.std::reference_wrapper"* %"'2")
%13 = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented8, 0
%"'ac9" = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented8, 1
%_augmented7 = call { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* %3, %"struct.std::_Placeholder"* %"'3")
%14 = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented7, 0
%"'ac" = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented7, 1
%_augmented = call { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_RKSK_Lb1EEEOT_OT0_(%"class.std::tuple"* %12, %"class.std::tuple"* %"'ipg", %"class.std::reference_wrapper"* %13, %"class.std::reference_wrapper"* %"'ac9", %"struct.std::_Placeholder"* %14, %"struct.std::_Placeholder"* %"'ac")
ret { i8* } undef
allocsForInversion: ; No predecessors!
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_RKSK_Lb1EEEOT_OT0_(%"class.std::tuple"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) unnamed_addr #7 align 2 {
%4 = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %0, i64 0, i32 0
%5 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1) #3
%6 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) #3
call void @_ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_JRKSK_EvEEOT_DpOT0_(%"struct.std::_Tuple_impl"* nonnull dereferenceable(8) %4, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %5, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %6)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_JRKSK_EvEEOT_DpOT0_(%"struct.std::_Tuple_impl"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) unnamed_addr #7 align 2 {
%4 = bitcast %"struct.std::_Tuple_impl"* %0 to %"struct.std::_Tuple_impl.2"*
%5 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2) #3
call void @_ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEEC2ERKS1_(%"struct.std::_Tuple_impl.2"* nonnull dereferenceable(1) %4, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %5)
%6 = getelementptr inbounds %"struct.std::_Tuple_impl", %"struct.std::_Tuple_impl"* %0, i64 0, i32 0
%7 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1) #3
call void @_ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EEC2ISI_EEOT_(%"struct.std::_Head_base.3"* nonnull dereferenceable(8) %6, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %7)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EEC2ISI_EEOT_(%"struct.std::_Head_base.3"* nonnull dereferenceable(8) %0, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1) unnamed_addr #7 align 2 {
%3 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1) #3
%4 = bitcast %"class.std::reference_wrapper"* %3 to i64*
%5 = bitcast %"struct.std::_Head_base.3"* %0 to i64*
%6 = load i64, i64* %4, align 8, !tbaa !67
store i64 %6, i64* %5, align 8, !tbaa !67
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @preprocess__ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %0) local_unnamed_addr #14 {
ret %"class.std::reference_wrapper"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %0, %"class.std::reference_wrapper"* %"'") local_unnamed_addr #14 {
%2 = alloca { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, align 8
%3 = insertvalue { i8*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } undef, %"class.std::reference_wrapper"* %0, 1
%4 = getelementptr inbounds { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 0
store %"class.std::reference_wrapper"* %0, %"class.std::reference_wrapper"** %4, align 8
%5 = getelementptr inbounds { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, i32 0, i32 1
store %"class.std::reference_wrapper"* %"'", %"class.std::reference_wrapper"** %5, align 8
%6 = load { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %2, align 8
ret { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %6
}
; Function Attrs: nounwind uwtable willreturn
define internal { i64, %"class.std::reference_wrapper"* } @augmented__ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EEC2ISI_EEOT_(%"struct.std::_Head_base.3"* nonnull dereferenceable(8) %0, %"struct.std::_Head_base.3"* %"'", %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"class.std::reference_wrapper"* %"'1") unnamed_addr #7 align 2 {
%3 = alloca { i64, %"class.std::reference_wrapper"* }, align 8
%_augmented = call { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* %1, %"class.std::reference_wrapper"* %"'1")
%4 = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 0
%"'ac" = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented, 1
%5 = getelementptr inbounds { i64, %"class.std::reference_wrapper"* }, { i64, %"class.std::reference_wrapper"* }* %3, i32 0, i32 1
store %"class.std::reference_wrapper"* %"'ac", %"class.std::reference_wrapper"** %5, align 8
%"'ipc2" = bitcast %"class.std::reference_wrapper"* %"'ac" to i64*
%6 = bitcast %"class.std::reference_wrapper"* %4 to i64*
%"'ipc" = bitcast %"struct.std::_Head_base.3"* %"'" to i64*
%7 = bitcast %"struct.std::_Head_base.3"* %0 to i64*
%"'ipl" = load i64, i64* %"'ipc2", align 8
%8 = getelementptr inbounds { i64, %"class.std::reference_wrapper"* }, { i64, %"class.std::reference_wrapper"* }* %3, i32 0, i32 0
store i64 %"'ipl", i64* %8, align 8
%9 = load i64, i64* %6, align 8, !tbaa !67
store i64 %"'ipl", i64* %"'ipc", align 8
store i64 %9, i64* %7, align 8, !tbaa !67
%10 = load { i64, %"class.std::reference_wrapper"* }, { i64, %"class.std::reference_wrapper"* }* %3, align 8
ret { i64, %"class.std::reference_wrapper"* } %10
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEEC2ERKS1_(%"struct.std::_Tuple_impl.2"* nonnull dereferenceable(1) %0, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1) unnamed_addr #7 align 2 {
%3 = bitcast %"struct.std::_Tuple_impl.2"* %0 to %"struct.std::_Head_base"*
call void @_ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EEC2ERKS1_(%"struct.std::_Head_base"* nonnull dereferenceable(1) %3, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1)
ret void
}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EEC2ERKS1_(%"struct.std::_Head_base"* nonnull dereferenceable(1) %0, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1) unnamed_addr #7 align 2 {
ret void
}
; Function Attrs: nounwind uwtable willreturn
define internal void @augmented__ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EEC2ERKS1_(%"struct.std::_Head_base"* nonnull dereferenceable(1) %0, %"struct.std::_Head_base"* %"'", %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1, %"struct.std::_Placeholder"* %"'1") unnamed_addr #7 align 2 {
ret void
}
; Function Attrs: nounwind uwtable willreturn
define internal void @augmented__ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEEC2ERKS1_(%"struct.std::_Tuple_impl.2"* nonnull dereferenceable(1) %0, %"struct.std::_Tuple_impl.2"* %"'", %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %1, %"struct.std::_Placeholder"* %"'1") unnamed_addr #7 align 2 {
%"'ipc" = bitcast %"struct.std::_Tuple_impl.2"* %"'" to %"struct.std::_Head_base"*
%3 = bitcast %"struct.std::_Tuple_impl.2"* %0 to %"struct.std::_Head_base"*
call void @augmented__ZNSt10_Head_baseILm1ESt12_PlaceholderILi1EELb1EEC2ERKS1_(%"struct.std::_Head_base"* %3, %"struct.std::_Head_base"* %"'ipc", %"struct.std::_Placeholder"* %1, %"struct.std::_Placeholder"* %"'1")
ret void
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define linkonce_odr dso_local nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @preprocess__ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %0) local_unnamed_addr #14 {
ret %"struct.std::_Placeholder"* %0
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define internal { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %0, %"struct.std::_Placeholder"* %"'") local_unnamed_addr #14 {
%2 = alloca { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, align 8
%3 = insertvalue { i8*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } undef, %"struct.std::_Placeholder"* %0, 1
%4 = getelementptr inbounds { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 0
store %"struct.std::_Placeholder"* %0, %"struct.std::_Placeholder"** %4, align 8
%5 = getelementptr inbounds { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, i32 0, i32 1
store %"struct.std::_Placeholder"* %"'", %"struct.std::_Placeholder"** %5, align 8
%6 = load { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %2, align 8
ret { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %6
}
; Function Attrs: nounwind uwtable willreturn
define internal { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_JRKSK_EvEEOT_DpOT0_(%"struct.std::_Tuple_impl"* nonnull dereferenceable(8) %0, %"struct.std::_Tuple_impl"* %"'", %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"class.std::reference_wrapper"* %"'1", %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2, %"struct.std::_Placeholder"* %"'2") unnamed_addr #7 align 2 {
%4 = alloca { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, align 8
%"'ipc" = bitcast %"struct.std::_Tuple_impl"* %"'" to %"struct.std::_Tuple_impl.2"*
%5 = bitcast %"struct.std::_Tuple_impl"* %0 to %"struct.std::_Tuple_impl.2"*
%_augmented5 = call { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* %2, %"struct.std::_Placeholder"* %"'2")
%6 = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented5, 0
%7 = getelementptr inbounds { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %4, i32 0, i32 3
store %"struct.std::_Placeholder"* %6, %"struct.std::_Placeholder"** %7, align 8
%"'ac6" = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented5, 1
%8 = getelementptr inbounds { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %4, i32 0, i32 4
store %"struct.std::_Placeholder"* %"'ac6", %"struct.std::_Placeholder"** %8, align 8
call void @augmented__ZNSt11_Tuple_implILm1EJSt12_PlaceholderILi1EEEEC2ERKS1_(%"struct.std::_Tuple_impl.2"* %5, %"struct.std::_Tuple_impl.2"* %"'ipc", %"struct.std::_Placeholder"* %6, %"struct.std::_Placeholder"* %"'ac6")
%"'ipg" = getelementptr inbounds %"struct.std::_Tuple_impl", %"struct.std::_Tuple_impl"* %"'", i64 0, i32 0
%9 = getelementptr inbounds %"struct.std::_Tuple_impl", %"struct.std::_Tuple_impl"* %0, i64 0, i32 0
%_augmented4 = call { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* %1, %"class.std::reference_wrapper"* %"'1")
%10 = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented4, 0
%11 = getelementptr inbounds { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %4, i32 0, i32 1
store %"class.std::reference_wrapper"* %10, %"class.std::reference_wrapper"** %11, align 8
%"'ac" = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented4, 1
%12 = getelementptr inbounds { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %4, i32 0, i32 2
store %"class.std::reference_wrapper"* %"'ac", %"class.std::reference_wrapper"** %12, align 8
%_augmented = call { i64, %"class.std::reference_wrapper"* } @augmented__ZNSt10_Head_baseILm0ESt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEELb0EEC2ISI_EEOT_(%"struct.std::_Head_base.3"* %9, %"struct.std::_Head_base.3"* %"'ipg", %"class.std::reference_wrapper"* %10, %"class.std::reference_wrapper"* %"'ac")
%13 = getelementptr inbounds { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %4, i32 0, i32 0
store { i64, %"class.std::reference_wrapper"* } %_augmented, { i64, %"class.std::reference_wrapper"* }* %13, align 8
%14 = load { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %4, align 8
ret { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %14
}
; Function Attrs: nounwind uwtable willreturn
define internal { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_RKSK_Lb1EEEOT_OT0_(%"class.std::tuple"* nonnull dereferenceable(8) %0, %"class.std::tuple"* %"'", %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %1, %"class.std::reference_wrapper"* %"'1", %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %2, %"struct.std::_Placeholder"* %"'2") unnamed_addr #7 align 2 {
%4 = alloca { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, align 8
%"'ipg" = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %"'", i64 0, i32 0
%5 = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %0, i64 0, i32 0
%_augmented5 = call { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } @augmented__ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* %1, %"class.std::reference_wrapper"* %"'1")
%6 = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented5, 0
%7 = getelementptr inbounds { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %4, i32 0, i32 3
store %"class.std::reference_wrapper"* %6, %"class.std::reference_wrapper"** %7, align 8
%"'ac6" = extractvalue { %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %_augmented5, 1
%8 = getelementptr inbounds { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %4, i32 0, i32 4
store %"class.std::reference_wrapper"* %"'ac6", %"class.std::reference_wrapper"** %8, align 8
%_augmented4 = call { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* %2, %"struct.std::_Placeholder"* %"'2")
%9 = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented4, 0
%10 = getelementptr inbounds { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %4, i32 0, i32 1
store %"struct.std::_Placeholder"* %9, %"struct.std::_Placeholder"** %10, align 8
%"'ac" = extractvalue { %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented4, 1
%11 = getelementptr inbounds { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %4, i32 0, i32 2
store %"struct.std::_Placeholder"* %"'ac", %"struct.std::_Placeholder"** %11, align 8
%_augmented = call { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } @augmented__ZNSt11_Tuple_implILm0EJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_JRKSK_EvEEOT_DpOT0_(%"struct.std::_Tuple_impl"* %5, %"struct.std::_Tuple_impl"* %"'ipg", %"class.std::reference_wrapper"* %6, %"class.std::reference_wrapper"* %"'ac6", %"struct.std::_Placeholder"* %9, %"struct.std::_Placeholder"* %"'ac")
%12 = getelementptr inbounds { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %4, i32 0, i32 0
store { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* } %_augmented, { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }* %12, align 8
%13 = load { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }, { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* }* %4, align 8
ret { { { i64, %"class.std::reference_wrapper"* }, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"*, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"* }, %"struct.std::_Placeholder"*, %"struct.std::_Placeholder"*, %"class.std::reference_wrapper"*, %"class.std::reference_wrapper"* } %13
}
attributes #0 = { nounwind uwtable "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #1 = { "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #2 = { nounwind "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #3 = { nounwind }
attributes #4 = { norecurse noreturn nounwind readnone uwtable willreturn mustprogress "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #5 = { nounwind uwtable mustprogress "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #6 = { argmemonly nofree nosync nounwind willreturn }
attributes #7 = { nounwind uwtable willreturn "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #8 = { norecurse nounwind uwtable mustprogress "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #9 = { nofree nosync nounwind readnone speculatable willreturn }
attributes #10 = { nofree nounwind "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #11 = { inlinehint nounwind uwtable willreturn mustprogress "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #12 = { noreturn nounwind "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #13 = { inlinehint nounwind uwtable "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #14 = { nounwind uwtable willreturn mustprogress "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #15 = { noreturn nounwind uwtable mustprogress "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #16 = { inlinehint nounwind uwtable mustprogress "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #17 = { nobuiltin nounwind "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #18 = { noreturn "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #19 = { argmemonly nofree nounwind readonly willreturn "disable-tail-calls"="false" "frame-pointer"="non-leaf" "less-precise-fpmad"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="generic" "target-features"="+neon" "unsafe-fp-math"="true" "use-soft-float"="false" }
attributes #20 = { argmemonly nofree nosync nounwind willreturn writeonly }
attributes #21 = { alwaysinline nounwind }
attributes #22 = { noreturn nounwind }
attributes #23 = { cold }
attributes #24 = { noreturn }
attributes #25 = { builtin nounwind }
!llvm.module.flags = !{!0, !1, !2, !3, !4}
!llvm.ident = !{!5}
!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 1, !"branch-target-enforcement", i32 0}
!2 = !{i32 1, !"sign-return-address", i32 0}
!3 = !{i32 1, !"sign-return-address-all", i32 0}
!4 = !{i32 1, !"sign-return-address-with-bkey", i32 0}
!5 = !{!"Ubuntu clang version 12.0.1-++20211029101322+fed41342a82f-1~exp1~20211029221816.4"}
!6 = !{!7, !7, i64 0, i64 8}
!7 = !{!8, i64 8, !"double"}
!8 = !{!9, i64 1, !"omnipotent char"}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!11, !11, i64 0, i64 168}
!11 = !{!8, i64 168, !"_ZTSN5boost7numeric6odeint22controlled_runge_kuttaINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEENS1_21default_error_checkerIdS6_S7_EENS1_21default_step_adjusterIddEES8_NS1_31explicit_error_stepper_fsal_tagEEE", !12, i64 0, i64 80, !17, i64 80, i64 32, !18, i64 112, i64 8, !15, i64 120, i64 1, !15, i64 121, i64 1, !15, i64 122, i64 1, !15, i64 123, i64 1, !13, i64 128, i64 8, !13, i64 136, i64 8, !13, i64 144, i64 8, !13, i64 152, i64 8, !16, i64 160, i64 1}
!12 = !{!8, i64 80, !"_ZTSN5boost7numeric6odeint18runge_kutta_dopri5INS_5arrayIdLm1EEEdS4_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEE", !13, i64 16, i64 8, !13, i64 24, i64 8, !13, i64 32, i64 8, !13, i64 40, i64 8, !13, i64 48, i64 8, !13, i64 56, i64 8, !13, i64 64, i64 8, !15, i64 72, i64 1, !15, i64 73, i64 1}
!13 = !{!8, i64 8, !"_ZTSN5boost7numeric6odeint13state_wrapperINS_5arrayIdLm1EEEvEE", !14, i64 0, i64 8}
!14 = !{!8, i64 8, !"_ZTSN5boost5arrayIdLm1EEE", !7, i64 0, i64 8}
!15 = !{!8, i64 1, !"_ZTSN5boost7numeric6odeint17initially_resizerE", !16, i64 0, i64 1}
!16 = !{!8, i64 1, !"bool"}
!17 = !{!8, i64 32, !"_ZTSN5boost7numeric6odeint21default_error_checkerIdNS1_13array_algebraENS1_18default_operationsEEE", !7, i64 0, i64 8, !7, i64 8, i64 8, !7, i64 16, i64 8, !7, i64 24, i64 8}
!18 = !{!8, i64 8, !"_ZTSN5boost7numeric6odeint21default_step_adjusterIddEE", !7, i64 0, i64 8}
!19 = !{!17, !7, i64 0, i64 8}
!20 = !{!17, !7, i64 8, i64 8}
!21 = !{!17, !7, i64 16, i64 8}
!22 = !{!17, !7, i64 24, i64 8}
!23 = !{!18, !7, i64 0, i64 8}
!24 = !{!12, !12, i64 0, i64 80}
!25 = !{!17, !17, i64 0, i64 32}
!26 = !{i64 0, i64 8, !6, i64 8, i64 8, !6, i64 16, i64 8, !6, i64 24, i64 8, !6}
!27 = !{!18, !18, i64 0, i64 8}
!28 = !{!11, !16, i64 160, i64 1}
!29 = distinct !{!29, !30, !31}
!30 = !{!"llvm.loop.mustprogress"}
!31 = !{!"llvm.loop.unroll.disable"}
!32 = !{!33, !33, i64 0, i64 8}
!33 = !{!8, i64 8, !"any pointer"}
!34 = !{!35, !35, i64 0, i64 4}
!35 = !{!8, i64 4, !"int"}
!36 = !{!37, !38, i64 0, i64 8}
!37 = !{!8, i64 16, !"_ZTSSt4pairIllE", !38, i64 0, i64 8, !38, i64 8, i64 8}
!38 = !{!8, i64 8, !"long"}
!39 = !{!37, !38, i64 8, i64 8}
!40 = !{!41, !38, i64 0, i64 8}
!41 = !{!8, i64 32, !"_ZTSN5boost6detail11multi_array11index_rangeIlmEE", !38, i64 0, i64 8, !38, i64 8, i64 8, !38, i64 16, i64 8, !16, i64 24, i64 1}
!42 = !{!41, !38, i64 8, i64 8}
!43 = !{!41, !38, i64 16, i64 8}
!44 = !{!41, !16, i64 24, i64 1}
!45 = !{!46, !16, i64 2, i64 1}
!46 = !{!8, i64 16, !"_ZTSN5boost7numeric6odeint32explicit_error_stepper_fsal_baseINS1_18runge_kutta_dopri5INS_5arrayIdLm1EEEdS5_dNS1_13array_algebraENS1_18default_operationsENS1_17initially_resizerEEELt5ELt5ELt4ES5_dS5_dS6_S7_S8_EE", !15, i64 1, i64 1, !16, i64 2, i64 1, !13, i64 8, i64 8}
!47 = !{!15, !16, i64 0, i64 1}
!48 = distinct !{!48, !30, !31}
!49 = distinct !{!49, !30, !31}
!50 = distinct !{!50, !30, !31}
!51 = !{!52, !35, i64 4, i64 4}
!52 = !{!8, i64 8, !"_ZTSN5boost7numeric6odeint16max_step_checkerE", !35, i64 0, i64 4, !35, i64 4, i64 4}
!53 = !{!52, !35, i64 0, i64 4}
!54 = !{!8, !8, i64 0, i64 16}
!55 = !{!8, !8, i64 0, i64 8}
!56 = !{i8 0, i8 2}
!57 = !{!58, !58, i64 0, i64 8}
!58 = !{!9, i64 8, !"vtable pointer"}
!59 = !{}
!60 = !{!61, !33, i64 0, i64 8}
!61 = !{!8, i64 8, !"_ZTSSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEE", !33, i64 0, i64 8}
!62 = !{!63, !33, i64 0, i64 8}
!63 = !{!8, i64 8, !"_ZTSSt10_Head_baseILm0ERKN5boost5arrayIdLm1EEELb0EE", !33, i64 0, i64 8}
!64 = !{!65, !8, i64 0, i64 16}
!65 = !{!8, i64 24, !"_ZTSSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEE", !8, i64 0, i64 16, !66, i64 16, i64 8}
!66 = !{!8, i64 8, !"_ZTSSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEE"}
!67 = !{!61, !61, i64 0, i64 8}
!68 = !{!69, !7, i64 0, i64 8}
!69 = !{!8, i64 48, !"_ZTSN5boost7numeric6odeint18default_operations10scale_sum6IddddddEE", !7, i64 0, i64 8, !7, i64 8, i64 8, !7, i64 16, i64 8, !7, i64 24, i64 8, !7, i64 32, i64 8, !7, i64 40, i64 8}
!70 = !{!69, !7, i64 8, i64 8}
!71 = !{!69, !7, i64 16, i64 8}
!72 = !{!69, !7, i64 24, i64 8}
!73 = !{!69, !7, i64 32, i64 8}
!74 = !{!69, !7, i64 40, i64 8}
!75 = !{!76, !33, i64 0, i64 8}
!76 = !{!8, i64 8, !"_ZTSSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEE", !33, i64 0, i64 8}
!77 = !{!78, !8, i64 0, i64 16}
!78 = !{!8, i64 24, !"_ZTSSt5_BindIFMN5boost7numeric6odeint18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS5_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEEFbRKS5_ESt17reference_wrapperIS9_ESt12_PlaceholderILi1EEEE", !8, i64 0, i64 16, !79, i64 16, i64 8}
!79 = !{!8, i64 8, !"_ZTSSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS6_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEEESt12_PlaceholderILi1EEEE"}
!80 = !{!76, !76, i64 0, i64 8}
!81 = !{!82, !7, i64 0, i64 8}
!82 = !{!8, i64 16, !"_ZTSN5boost7numeric6odeint18default_operations10scale_sum2IddEE", !7, i64 0, i64 8, !7, i64 8, i64 8}
!83 = !{!82, !7, i64 8, i64 8}
!84 = !{!85, !7, i64 0, i64 8}
!85 = !{!8, i64 24, !"_ZTSN5boost7numeric6odeint18default_operations10scale_sum3IdddEE", !7, i64 0, i64 8, !7, i64 8, i64 8, !7, i64 16, i64 8}
!86 = !{!85, !7, i64 8, i64 8}
!87 = !{!85, !7, i64 16, i64 8}
!88 = !{!89, !7, i64 0, i64 8}
!89 = !{!8, i64 32, !"_ZTSN5boost7numeric6odeint18default_operations10scale_sum4IddddEE", !7, i64 0, i64 8, !7, i64 8, i64 8, !7, i64 16, i64 8, !7, i64 24, i64 8}
!90 = !{!89, !7, i64 8, i64 8}
!91 = !{!89, !7, i64 16, i64 8}
!92 = !{!89, !7, i64 24, i64 8}
!93 = !{!94, !7, i64 0, i64 8}
!94 = !{!8, i64 40, !"_ZTSN5boost7numeric6odeint18default_operations10scale_sum5IdddddEE", !7, i64 0, i64 8, !7, i64 8, i64 8, !7, i64 16, i64 8, !7, i64 24, i64 8, !7, i64 32, i64 8}
!95 = !{!94, !7, i64 8, i64 8}
!96 = !{!94, !7, i64 16, i64 8}
!97 = !{!94, !7, i64 24, i64 8}
!98 = !{!94, !7, i64 32, i64 8}
!99 = !{!100, !7, i64 0, i64 8}
!100 = !{!8, i64 32, !"_ZTSN5boost7numeric6odeint18default_operations9rel_errorIdEE", !7, i64 0, i64 8, !7, i64 8, i64 8, !7, i64 16, i64 8, !7, i64 24, i64 8}
!101 = !{!100, !7, i64 8, i64 8}
!102 = !{!100, !7, i64 16, i64 8}
!103 = !{!100, !7, i64 24, i64 8}
!104 = !{!105, !35, i64 32, i64 4}
!105 = !{!8, i64 40, !"_ZTSN5boost9exceptionE", !106, i64 8, i64 8, !33, i64 16, i64 8, !33, i64 24, i64 8, !35, i64 32, i64 4}
!106 = !{!8, i64 8, !"_ZTSN5boost16exception_detail12refcount_ptrINS0_20error_info_containerEEE", !33, i64 0, i64 8}
!107 = !{!106, !33, i64 0, i64 8}
!108 = !{!109, !33, i64 0, i64 8}
!109 = !{!8, i64 8, !"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !33, i64 0, i64 8}
!110 = !{!38, !38, i64 0, i64 8}
!111 = !{!112, !33, i64 0, i64 8}
!112 = !{!8, i64 32, !"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !109, i64 0, i64 8, !38, i64 8, i64 8, !8, i64 16, i64 16}
!113 = !{!8, !8, i64 0, i64 0}
!114 = !{!8, !8, i64 0, i64 1}
!115 = !{!112, !38, i64 8, i64 8}
!116 = !{i64 8}
!117 = distinct !{}
!118 = distinct !{}
!119 = distinct !{}
!120 = distinct !{}
!121 = distinct !{}
!122 = distinct !{}
!123 = distinct !{}
!124 = distinct !{}
!125 = distinct !{}
!126 = distinct !{}
!127 = distinct !{}
!128 = distinct !{}
!129 = distinct !{}
!130 = distinct !{}
; Function Attrs: nounwind uwtable willreturn
define linkonce_odr dso_local void @preprocess__ZNSt5_BindIFMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_ESt17reference_wrapperISG_ESt12_PlaceholderILi1EEEEC2IJSM_RKSO_EEEOSK_DpOT_(%"class.std::_Bind"* nonnull dereferenceable(24) %0, { i64, i64 }* nonnull align 8 dereferenceable(16) %1, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2, %"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) unnamed_addr #7 align 2 {
%5 = call nonnull align 8 dereferenceable(16) { i64, i64 }* @_ZSt4moveIRMN5boost7numeric6odeint22controlled_runge_kuttaINS2_18runge_kutta_dopri5INS0_5arrayIdLm1EEEdS6_dNS2_13array_algebraENS2_18default_operationsENS2_17initially_resizerEEENS2_21default_error_checkerIdS7_S8_EENS2_21default_step_adjusterIddEES9_NS2_31explicit_error_stepper_fsal_tagEEEFbRKS6_EEONSt16remove_referenceIT_E4typeEOSN_({ i64, i64 }* nonnull align 8 dereferenceable(16) %1) #3
%6 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 0
%7 = load i64, i64* %6, align 8, !tbaa !54
%8 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %5, i64 0, i32 1
%9 = load i64, i64* %8, align 8, !tbaa !54
%10 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0, i32 0
store i64 %7, i64* %10, align 8, !tbaa !64
%11 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 0, i32 1
store i64 %9, i64* %11, align 8, !tbaa !64
%12 = getelementptr inbounds %"class.std::_Bind", %"class.std::_Bind"* %0, i64 0, i32 1
%13 = call nonnull align 8 dereferenceable(8) %"class.std::reference_wrapper"* @_ZSt7forwardISt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEEEOT_RNSt16remove_referenceISJ_E4typeE(%"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %2) #3
%14 = call nonnull align 1 dereferenceable(1) %"struct.std::_Placeholder"* @_ZSt7forwardIRKSt12_PlaceholderILi1EEEOT_RNSt16remove_referenceIS4_E4typeE(%"struct.std::_Placeholder"* nonnull align 1 dereferenceable(1) %3) #3
call void @_ZNSt5tupleIJSt17reference_wrapperIN5boost7numeric6odeint22controlled_runge_kuttaINS3_18runge_kutta_dopri5INS1_5arrayIdLm1EEEdS7_dNS3_13array_algebraENS3_18default_operationsENS3_17initially_resizerEEENS3_21default_error_checkerIdS8_S9_EENS3_21default_step_adjusterIddEESA_NS3_31explicit_error_stepper_fsal_tagEEEESt12_PlaceholderILi1EEEEC2ISI_RKSK_Lb1EEEOT_OT0_(%"class.std::tuple"* nonnull dereferenceable(8) %12, %"class.std::reference_wrapper"* nonnull align 8 dereferenceable(8) %13, %"struct.std::_Placeholder"* nonnull align 1 d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment