Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.1.0+maint.om/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.1.0+maint.om/package.mo): time 0.001721/0.001721, allocations: 110.4 kB / 18.94 MB, free: 2.949 MB / 14.72 MB " [Timeout remaining time 180] loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.1.0+maint.om/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.1.0+maint.om/package.mo): time 0.002116/0.002116, allocations: 220.3 kB / 22.26 MB, free: 5.125 MB / 14.72 MB " [Timeout remaining time 180] loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.1.0+maint.om/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.1.0+maint.om/package.mo): time 1.383/1.383, allocations: 230.6 MB / 256 MB, free: 7.969 MB / 206.1 MB " [Timeout remaining time 178] loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 12.1.1-maint.12.x/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 12.1.1-maint.12.x/package.mo): time 3.048/3.048, allocations: 0.49 GB / 0.7951 GB, free: 33.43 MB / 0.6231 GB " [Timeout remaining time 177] Using package Buildings with version 12.1.1 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 12.1.1-maint.12.x/package.mo) Using package Modelica with version 4.1.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.1.0+maint.om/package.mo) Using package Complex with version 4.1.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.1.0+maint.om/package.mo) Using package ModelicaServices with version 4.1.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.1.0+maint.om/package.mo) Running command: "" <> buildModelFMU(Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance,fileNamePrefix="Buildings_12_Buildings_ThermalZones_Detailed_BaseClasses_Examples_MixedAirHeatMassBalance",fmuType="me",version="2.0",platforms={"static"}) "" <> buildModelFMU(Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance,fileNamePrefix="Buildings_12_Buildings_ThermalZones_Detailed_BaseClasses_Examples_MixedAirHeatMassBalance",fmuType="me",version="2.0",platforms={"static"}) [Timeout 300] "Notification: Buildings requested package Modelica of version 4.0.0. Modelica 4.1.0 is used instead which states that it is fully compatible without conversion script needed. Notification: Performance of FrontEnd - loaded program: time 0.001937/0.001937, allocations: 69.91 kB / 1.154 GB, free: 25.67 MB / 0.9044 GB Notification: Performance of FrontEnd - Absyn->SCode: time 0.3304/0.3323, allocations: 176.1 MB / 1.326 GB, free: 1.867 MB / 1.014 GB Notification: Performance of NFInst.instantiate(Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance): time 0.2059/0.5383, allocations: 183 MB / 1.505 GB, free: 10.14 MB / 1.201 GB Notification: Performance of NFInst.instExpressions: time 0.01742/0.5557, allocations: 11.09 MB / 1.516 GB, free: 15.03 MB / 1.217 GB Notification: Performance of NFInst.updateImplicitVariability: time 0.003204/0.5589, allocations: 131 kB / 1.516 GB, free: 14.9 MB / 1.217 GB Notification: Performance of NFTyping.typeComponents: time 0.005886/0.5648, allocations: 2.04 MB / 1.518 GB, free: 12.85 MB / 1.217 GB Notification: Performance of NFTyping.typeBindings: time 0.005145/0.5699, allocations: 1.706 MB / 1.519 GB, free: 11.13 MB / 1.217 GB Notification: Performance of NFTyping.typeClassSections: time 0.002637/0.5726, allocations: 0.8359 MB / 1.52 GB, free: 10.3 MB / 1.217 GB Notification: Performance of NFFlatten.flatten: time 0.005325/0.5779, allocations: 3.187 MB / 1.523 GB, free: 7.105 MB / 1.217 GB Notification: Performance of NFFlatten.resolveConnections: time 0.001579/0.5795, allocations: 0.8211 MB / 1.524 GB, free: 6.254 MB / 1.217 GB Notification: Performance of NFEvalConstants.evaluate: time 0.002669/0.5821, allocations: 1.346 MB / 1.525 GB, free: 4.902 MB / 1.217 GB Notification: Performance of NFSimplifyModel.simplify: time 0.002587/0.5847, allocations: 1.143 MB / 1.527 GB, free: 3.762 MB / 1.217 GB Notification: Performance of NFPackage.collectConstants: time 0.0003919/0.5851, allocations: 124 kB / 1.527 GB, free: 3.641 MB / 1.217 GB Notification: Performance of NFFlatten.collectFunctions: time 0.002243/0.5874, allocations: 0.9862 MB / 1.528 GB, free: 2.652 MB / 1.217 GB Notification: Performance of NFScalarize.scalarize: time 0.0005904/0.588, allocations: 485.9 kB / 1.528 GB, free: 2.176 MB / 1.217 GB Notification: Performance of NFVerifyModel.verify: time 0.001466/0.5894, allocations: 1.095 MB / 1.529 GB, free: 1.074 MB / 1.217 GB Notification: Performance of NFConvertDAE.convert: time 0.00527/0.5947, allocations: 3.502 MB / 1.533 GB, free: 13.56 MB / 1.232 GB Notification: Performance of FrontEnd - DAE generated: time 5.831e-06/0.5947, allocations: 0 / 1.533 GB, free: 13.56 MB / 1.232 GB Notification: Performance of FrontEnd: time 3.246e-06/0.5947, allocations: 8 kB / 1.533 GB, free: 13.55 MB / 1.232 GB Notification: Performance of Transformations before backend: time 7.059e-05/0.5948, allocations: 0 / 1.533 GB, free: 13.55 MB / 1.232 GB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 191 * Number of variables: 191 Notification: Performance of Generate backend data structure: time 0.004738/0.5995, allocations: 2.826 MB / 1.535 GB, free: 10.68 MB / 1.232 GB Notification: Performance of prepare preOptimizeDAE: time 4.782e-05/0.5996, allocations: 15.97 kB / 1.535 GB, free: 10.66 MB / 1.232 GB Notification: Performance of preOpt introduceOutputAliases (simulation): time 0.0001582/0.5997, allocations: 126.7 kB / 1.535 GB, free: 10.53 MB / 1.232 GB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.001495/0.6012, allocations: 390 kB / 1.536 GB, free: 10.14 MB / 1.232 GB Notification: Performance of preOpt evaluateParameters (simulation): time 0.003778/0.605, allocations: 1.951 MB / 1.538 GB, free: 8.137 MB / 1.232 GB Notification: Performance of preOpt simplifyIfEquations (simulation): time 5.854e-05/0.605, allocations: 62 kB / 1.538 GB, free: 8.074 MB / 1.232 GB Notification: Performance of preOpt expandDerOperator (simulation): time 0.000119/0.6052, allocations: 72 kB / 1.538 GB, free: 8.004 MB / 1.232 GB Notification: Performance of preOpt clockPartitioning (simulation): time 0.001499/0.6067, allocations: 0.9329 MB / 1.539 GB, free: 7.027 MB / 1.232 GB Notification: Performance of preOpt findStateOrder (simulation): time 2.712e-05/0.6067, allocations: 15.92 kB / 1.539 GB, free: 7.012 MB / 1.232 GB Notification: Performance of preOpt replaceEdgeChange (simulation): time 7.153e-05/0.6068, allocations: 32 kB / 1.539 GB, free: 6.98 MB / 1.232 GB Notification: Performance of preOpt inlineArrayEqn (simulation): time 3.744e-05/0.6068, allocations: 28.94 kB / 1.539 GB, free: 6.953 MB / 1.232 GB Notification: Performance of preOpt removeEqualRHS (simulation): time 0.001111/0.6079, allocations: 0.7025 MB / 1.54 GB, free: 6.25 MB / 1.232 GB Warning: The model contains alias variables with redundant start and/or conflicting nominal values. It is recommended to resolve the conflicts, because otherwise the system could be hard to solve. To print the conflicting alias sets and the chosen candidates please use -d=aliasConflicts. Notification: Performance of preOpt removeSimpleEquations (simulation): time 0.006656/0.6146, allocations: 4.403 MB / 1.544 GB, free: 1.641 MB / 1.232 GB Notification: Performance of preOpt comSubExp (simulation): time 0.0005028/0.6151, allocations: 298.6 kB / 1.544 GB, free: 1.34 MB / 1.232 GB Notification: Performance of preOpt resolveLoops (simulation): time 0.0002506/0.6153, allocations: 172.7 kB / 1.544 GB, free: 1.168 MB / 1.232 GB Notification: Performance of preOpt evalFunc (simulation): time 0.0001538/0.6155, allocations: 23.98 kB / 1.544 GB, free: 1.145 MB / 1.232 GB Notification: Performance of preOpt encapsulateWhenConditions (simulation): time 3.208e-05/0.6155, allocations: 34.56 kB / 1.544 GB, free: 1.102 MB / 1.232 GB Notification: Performance of pre-optimization done (n=30): time 2.225e-06/0.6155, allocations: 3.938 kB / 1.544 GB, free: 1.098 MB / 1.232 GB Notification: Performance of matching and sorting (n=32): time 0.003294/0.6188, allocations: 1.601 MB / 1.546 GB, free: 15.45 MB / 1.248 GB Notification: Performance of inlineWhenForInitialization (initialization): time 4.794e-05/0.6188, allocations: 55.41 kB / 1.546 GB, free: 15.38 MB / 1.248 GB Notification: Performance of selectInitializationVariablesDAE (initialization): time 0.004071/0.6229, allocations: 2.949 MB / 1.549 GB, free: 12.42 MB / 1.248 GB Notification: Performance of collectPreVariables (initialization): time 7.316e-05/0.623, allocations: 29.7 kB / 1.549 GB, free: 12.38 MB / 1.248 GB Notification: Performance of collectInitialEqns (initialization): time 0.0009936/0.624, allocations: 1.071 MB / 1.55 GB, free: 11.3 MB / 1.248 GB Notification: Performance of collectInitialBindings (initialization): time 0.0001524/0.6241, allocations: 123 kB / 1.55 GB, free: 11.18 MB / 1.248 GB Notification: Performance of simplifyInitialFunctions (initialization): time 0.0001822/0.6243, allocations: 114.2 kB / 1.55 GB, free: 11.06 MB / 1.248 GB Notification: Performance of setup shared object (initialization): time 0.0001408/0.6245, allocations: 326 kB / 1.55 GB, free: 10.74 MB / 1.248 GB Notification: Performance of preBalanceInitialSystem (initialization): time 0.0002593/0.6247, allocations: 169 kB / 1.551 GB, free: 10.57 MB / 1.248 GB Notification: Performance of partitionIndependentBlocks (initialization): time 0.0004159/0.6251, allocations: 370.6 kB / 1.551 GB, free: 10.13 MB / 1.248 GB Warning: It was not possible to determine if the initialization problem is consistent, because of not evaluable parameters/start values during compile time: air.vol.dynBal.medium.p = air.vol.dynBal.p_start (boundary.p = air.vol.dynBal.p_start) Notification: Performance of analyzeInitialSystem (initialization): time 0.002146/0.6273, allocations: 1.003 MB / 1.552 GB, free: 9.043 MB / 1.248 GB Notification: Performance of solveInitialSystemEqSystem (initialization): time 5.961e-06/0.6273, allocations: 4 kB / 1.552 GB, free: 9.039 MB / 1.248 GB Notification: Performance of matching and sorting (n=62) (initialization): time 0.001421/0.6287, allocations: 0.8023 MB / 1.553 GB, free: 8.227 MB / 1.248 GB Notification: Performance of prepare postOptimizeDAE: time 2.056e-05/0.6287, allocations: 12.03 kB / 1.553 GB, free: 8.215 MB / 1.248 GB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 1.066e-05/0.6287, allocations: 4 kB / 1.553 GB, free: 8.211 MB / 1.248 GB Notification: Performance of postOpt tearingSystem (initialization): time 0.0002019/0.6289, allocations: 64.75 kB / 1.553 GB, free: 8.145 MB / 1.248 GB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.0003643/0.6293, allocations: 103.8 kB / 1.553 GB, free: 8.043 MB / 1.248 GB Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.001672/0.631, allocations: 1.754 MB / 1.555 GB, free: 6.18 MB / 1.248 GB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.0009892/0.632, allocations: 37.75 kB / 1.555 GB, free: 6.145 MB / 1.248 GB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 4.715e-05/0.632, allocations: 24.06 kB / 1.555 GB, free: 6.121 MB / 1.248 GB Warning: The initial conditions are over specified. The following 1 initial equations are redundant, so they are removed from the initialization system: air.vol.dynBal.medium.p = air.vol.dynBal.p_start. Notification: Model statistics after passing the back-end for initialization: * Number of independent subsystems: 28 * Number of states: 0 () * Number of discrete variables: 0 () * Number of discrete states: 0 () * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for initialization (58): * Single equations (assignments): 57 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 0 * When equations: 0 * If-equations: 0 * Equation systems (not torn): 0 * Torn equation systems: 1 * Mixed (continuous/discrete) equation systems: 0 Notification: Torn system details for strict tearing set: * Linear torn systems (#iteration vars, #inner vars, density): 1 system {(1,4,100.0%)} * Non-linear torn systems (#iteration vars, #inner vars): 0 systems Notification: Performance of prepare postOptimizeDAE: time 0.001206/0.6332, allocations: 0.7902 MB / 1.555 GB, free: 5.32 MB / 1.248 GB Notification: Performance of postOpt lateInlineFunction (simulation): time 0.0003947/0.6336, allocations: 242.4 kB / 1.556 GB, free: 5.082 MB / 1.248 GB Notification: Performance of postOpt wrapFunctionCalls (simulation): time 0.0004288/0.634, allocations: 263.6 kB / 1.556 GB, free: 4.82 MB / 1.248 GB Notification: Performance of postOpt inlineArrayEqn (simulation): time 4.779e-06/0.6341, allocations: 4 kB / 1.556 GB, free: 4.816 MB / 1.248 GB Notification: Performance of postOpt constantLinearSystem (simulation): time 7.354e-06/0.6341, allocations: 0 / 1.556 GB, free: 4.816 MB / 1.248 GB Notification: Performance of postOpt simplifysemiLinear (simulation): time 0.0007273/0.6348, allocations: 0.597 MB / 1.557 GB, free: 4.148 MB / 1.248 GB Notification: Performance of postOpt removeSimpleEquations (simulation): time 0.003265/0.6381, allocations: 2.029 MB / 1.558 GB, free: 2.02 MB / 1.248 GB Notification: Performance of postOpt simplifyComplexFunction (simulation): time 4.308e-06/0.6381, allocations: 0 / 1.558 GB, free: 2.02 MB / 1.248 GB Notification: Performance of postOpt solveSimpleEquations (simulation): time 0.0002984/0.6384, allocations: 63.91 kB / 1.559 GB, free: 1.957 MB / 1.248 GB Notification: Performance of postOpt tearingSystem (simulation): time 0.0001718/0.6385, allocations: 61.22 kB / 1.559 GB, free: 1.895 MB / 1.248 GB Notification: Performance of postOpt inputDerivativesUsed (simulation): time 2.551e-05/0.6386, allocations: 12 kB / 1.559 GB, free: 1.883 MB / 1.248 GB Notification: Performance of postOpt calculateStrongComponentJacobians (simulation): time 0.001575/0.6401, allocations: 1.754 MB / 1.56 GB, free: 12 kB / 1.248 GB Notification: Performance of postOpt calculateStateSetsJacobians (simulation): time 6.382e-06/0.6401, allocations: 11.88 kB / 1.56 GB, free: 0 / 1.248 GB Notification: Performance of postOpt symbolicJacobian (simulation): time 0.001364/0.6415, allocations: 0.9321 MB / 1.561 GB, free: 15.01 MB / 1.264 GB Notification: Performance of postOpt removeConstants (simulation): time 0.000846/0.6423, allocations: 351.5 kB / 1.562 GB, free: 14.66 MB / 1.264 GB Notification: Performance of postOpt simplifyTimeIndepFuncCalls (simulation): time 0.0002037/0.6425, allocations: 16 kB / 1.562 GB, free: 14.64 MB / 1.264 GB Notification: Performance of postOpt simplifyAllExpressions (simulation): time 0.0005515/0.6431, allocations: 21.75 kB / 1.562 GB, free: 14.62 MB / 1.264 GB Notification: Performance of postOpt findZeroCrossings (simulation): time 5.547e-05/0.6432, allocations: 31.89 kB / 1.562 GB, free: 14.59 MB / 1.264 GB Notification: Performance of postOpt collapseArrayExpressions (simulation): time 2.965e-05/0.6432, allocations: 20.06 kB / 1.562 GB, free: 14.57 MB / 1.264 GB Notification: Performance of sorting global known variables: time 0.003111/0.6463, allocations: 2.079 MB / 1.564 GB, free: 12.49 MB / 1.264 GB Notification: Performance of sort global known variables: time 2.7e-07/0.6463, allocations: 0 / 1.564 GB, free: 12.49 MB / 1.264 GB Notification: Performance of remove unused functions: time 0.001171/0.6475, allocations: 304 kB / 1.564 GB, free: 12.2 MB / 1.264 GB Notification: Model statistics after passing the back-end for simulation: * Number of independent subsystems: 14 * Number of states: 2 (air.vol.dynBal.medium.Xi[1],air.vol.dynBal.U) * Number of discrete variables: 0 () * Number of discrete states: 0 () * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for simulation (29): * Single equations (assignments): 28 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 0 * When equations: 0 * If-equations: 0 * Equation systems (not torn): 0 * Torn equation systems: 1 * Mixed (continuous/discrete) equation systems: 0 Notification: Torn system details for strict tearing set: * Linear torn systems (#iteration vars, #inner vars, density): 1 system {(1,4,100.0%)} * Non-linear torn systems (#iteration vars, #inner vars): 0 systems Notification: Performance of Backend phase and start with SimCode phase: time 0.001782/0.6492, allocations: 1.553 MB / 1.566 GB, free: 10.57 MB / 1.264 GB Notification: Performance of simCode: created initialization part: time 0.0009637/0.6502, allocations: 0.5069 MB / 1.566 GB, free: 10.05 MB / 1.264 GB Notification: Performance of simCode: created event and clocks part: time 3.847e-06/0.6502, allocations: 0 / 1.566 GB, free: 10.05 MB / 1.264 GB Notification: Performance of simCode: created simulation system equations: time 0.0003991/0.6506, allocations: 295.7 kB / 1.566 GB, free: 9.754 MB / 1.264 GB Notification: Performance of simCode: created of all other equations (e.g. parameter, nominal, assert, etc): time 0.003575/0.6542, allocations: 0.9438 MB / 1.567 GB, free: 8.832 MB / 1.264 GB Notification: Performance of simCode: created linear, non-linear and system jacobian parts: time 0.02613/0.6803, allocations: 17.16 MB / 1.584 GB, free: 7.254 MB / 1.279 GB Notification: Performance of simCode: some other stuff during SimCode phase: time 0.001744/0.6821, allocations: 1.949 MB / 1.586 GB, free: 5.27 MB / 1.279 GB Notification: Performance of simCode: alias equations: time 0.001141/0.6832, allocations: 346.8 kB / 1.586 GB, free: 4.926 MB / 1.279 GB Notification: Performance of simCode: all other stuff during SimCode phase: time 0.00099/0.6842, allocations: 0.8 MB / 1.587 GB, free: 4.125 MB / 1.279 GB Notification: Performance of SimCode: time 1.784e-06/0.6842, allocations: 0 / 1.587 GB, free: 4.125 MB / 1.279 GB Notification: Performance of buildModelFMU: Generate the FMI files: time 0.7163/1.4, allocations: 51.79 MB / 1.638 GB, free: 264.3 MB / 1.295 GB Notification: Performance of buildModelFMU: Generate platform static: time 14.04/15.44, allocations: 8.672 kB / 1.638 GB, free: 264.3 MB / 1.295 GB " [Timeout remaining time 284] (rm -f Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance.pipe ; mkfifo Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance.pipe ; head -c 1048576 < Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance.pipe >> ../files/Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance.sim & python3 -m fmpy simulate --output-file Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance_res.csv --start-time 0 --stop-time 3600 --timeout 400 --relative-tolerance 1e-06 --interface-type ModelExchange --solver CVode --output-interval 1.44 Buildings_12_Buildings_ThermalZones_Detailed_BaseClasses_Examples_MixedAirHeatMassBalance.fmu > Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance.pipe 2>&1) [Timeout 420.0] diffSimulationResults("Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance_res.csv","/mnt/ReferenceFiles/Buildings/csv/maint_12.x/Buildings_ThermalZones_Detailed_BaseClasses_Examples_MixedAirHeatMassBalance.csv","/var/lib/jenkins1/ws/OpenModelicaLibraryTestingWork/OpenModelicaLibraryTesting/files/Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance.diff",relTol=0.003,relTolDiffMinMax=0.003,rangeDelta=0.001) [Timeout 300] "Error: Could not read variable air.vol.T in file Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance_res.csv. Warning: Get data of variable air.vol.T from file Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance_res.csv failed! Error: Could not read variable air.vol.Xi[1] in file Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance_res.csv. Warning: Get data of variable air.vol.Xi[1] from file Buildings_12_Buildings.ThermalZones.Detailed.BaseClasses.Examples.MixedAirHeatMassBalance_res.csv failed! " [Timeout remaining time 300] Reference file matches [Calling sys.exit(0), Time elapsed: 21.9147651509993]