Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr Buildings_12_Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle.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.001329/0.001329, allocations: 98.08 kB / 19.73 MB, free: 2.23 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.001563/0.001563, allocations: 216.8 kB / 23.04 MB, free: 5.074 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.492/1.492, allocations: 230.6 MB / 256.8 MB, free: 7.973 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.182/3.182, allocations: 0.49 GB / 0.7959 GB, free: 33.4 MB / 0.6231 GB " [Timeout remaining time 176] 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.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle,fileNamePrefix="Buildings_12_Buildings_BoundaryConditions_SolarGeometry_BaseClasses_Examples_AltitudeAngle",fmuType="cs",version="2.0",platforms={"static"}) "" <> buildModelFMU(Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle,fileNamePrefix="Buildings_12_Buildings_BoundaryConditions_SolarGeometry_BaseClasses_Examples_AltitudeAngle",fmuType="cs",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.002054/0.002054, allocations: 68.61 kB / 1.155 GB, free: 25.75 MB / 0.9044 GB Notification: Performance of FrontEnd - Absyn->SCode: time 0.3337/0.3357, allocations: 176.1 MB / 1.327 GB, free: 1.973 MB / 1.014 GB Notification: Performance of NFInst.instantiate(Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle): time 0.007855/0.3436, allocations: 5.033 MB / 1.332 GB, free: 12.92 MB / 1.029 GB Notification: Performance of NFInst.instExpressions: time 0.193/0.5366, allocations: 154.2 MB / 1.482 GB, free: 2.164 MB / 1.17 GB Notification: Performance of NFInst.updateImplicitVariability: time 0.00111/0.5377, allocations: 23.81 kB / 1.482 GB, free: 2.141 MB / 1.17 GB Notification: Performance of NFTyping.typeComponents: time 0.0009156/0.5386, allocations: 198.2 kB / 1.482 GB, free: 1.945 MB / 1.17 GB Notification: Performance of NFTyping.typeBindings: time 0.002398/0.541, allocations: 0.5774 MB / 1.483 GB, free: 1.367 MB / 1.17 GB Notification: Performance of NFTyping.typeClassSections: time 0.00241/0.5434, allocations: 0.8922 MB / 1.484 GB, free: 492 kB / 1.17 GB Notification: Performance of NFFlatten.flatten: time 0.002195/0.5456, allocations: 1.46 MB / 1.485 GB, free: 15.02 MB / 1.186 GB Notification: Performance of NFFlatten.resolveConnections: time 0.0008829/0.5465, allocations: 426.1 kB / 1.486 GB, free: 14.57 MB / 1.186 GB Notification: Performance of NFEvalConstants.evaluate: time 0.0009249/0.5474, allocations: 0.5217 MB / 1.486 GB, free: 14.05 MB / 1.186 GB Notification: Performance of NFSimplifyModel.simplify: time 0.0008397/0.5482, allocations: 0.5329 MB / 1.487 GB, free: 13.52 MB / 1.186 GB Notification: Performance of NFPackage.collectConstants: time 0.0002327/0.5485, allocations: 120 kB / 1.487 GB, free: 13.4 MB / 1.186 GB Notification: Performance of NFFlatten.collectFunctions: time 0.001143/0.5496, allocations: 0.5152 MB / 1.487 GB, free: 12.88 MB / 1.186 GB Notification: Performance of NFScalarize.scalarize: time 0.0003431/0.55, allocations: 315 kB / 1.488 GB, free: 12.57 MB / 1.186 GB Notification: Performance of NFVerifyModel.verify: time 0.0006673/0.5506, allocations: 0.583 MB / 1.488 GB, free: 11.99 MB / 1.186 GB Notification: Performance of NFConvertDAE.convert: time 0.002683/0.5533, allocations: 1.732 MB / 1.49 GB, free: 10.25 MB / 1.186 GB Notification: Performance of FrontEnd - DAE generated: time 6.662e-06/0.5533, allocations: 4 kB / 1.49 GB, free: 10.25 MB / 1.186 GB Notification: Performance of FrontEnd: time 1.773e-06/0.5533, allocations: 0 / 1.49 GB, free: 10.25 MB / 1.186 GB Notification: Performance of Transformations before backend: time 3.69e-05/0.5533, allocations: 0 / 1.49 GB, free: 10.25 MB / 1.186 GB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 219 * Number of variables: 219 Notification: Performance of Generate backend data structure: time 0.003198/0.5565, allocations: 1.453 MB / 1.491 GB, free: 8.758 MB / 1.186 GB Notification: Performance of prepare preOptimizeDAE: time 4.442e-05/0.5566, allocations: 8.031 kB / 1.491 GB, free: 8.75 MB / 1.186 GB Notification: Performance of preOpt introduceOutputRealDerivatives (simulation): time 4.411e-05/0.5566, allocations: 34.19 kB / 1.491 GB, free: 8.715 MB / 1.186 GB Notification: Performance of preOpt introduceOutputAliases (simulation): time 0.0001924/0.5568, allocations: 139.5 kB / 1.491 GB, free: 8.57 MB / 1.186 GB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.001793/0.5586, allocations: 255.9 kB / 1.492 GB, free: 8.32 MB / 1.186 GB Notification: Performance of preOpt evaluateParameters (simulation): time 0.001662/0.5603, allocations: 0.7217 MB / 1.492 GB, free: 7.57 MB / 1.186 GB Notification: Performance of preOpt simplifyIfEquations (simulation): time 7.228e-05/0.5604, allocations: 66 kB / 1.492 GB, free: 7.508 MB / 1.186 GB Notification: Performance of preOpt expandDerOperator (simulation): time 0.000146/0.5605, allocations: 87.98 kB / 1.492 GB, free: 7.422 MB / 1.186 GB Notification: Performance of preOpt clockPartitioning (simulation): time 0.001863/0.5624, allocations: 0.9456 MB / 1.493 GB, free: 6.434 MB / 1.186 GB Notification: Performance of preOpt findStateOrder (simulation): time 2.554e-05/0.5624, allocations: 3.938 kB / 1.493 GB, free: 6.43 MB / 1.186 GB Notification: Performance of preOpt replaceEdgeChange (simulation): time 9.65e-05/0.5625, allocations: 40 kB / 1.493 GB, free: 6.391 MB / 1.186 GB Notification: Performance of preOpt inlineArrayEqn (simulation): time 2.032e-05/0.5625, allocations: 20 kB / 1.493 GB, free: 6.371 MB / 1.186 GB Notification: Performance of preOpt removeEqualRHS (simulation): time 0.001981/0.5645, allocations: 1.128 MB / 1.495 GB, free: 5.246 MB / 1.186 GB Notification: Performance of preOpt removeSimpleEquations (simulation): time 0.004977/0.5695, allocations: 2.748 MB / 1.497 GB, free: 2.367 MB / 1.186 GB Notification: Performance of preOpt comSubExp (simulation): time 0.001736/0.5712, allocations: 0.7833 MB / 1.498 GB, free: 1.574 MB / 1.186 GB Notification: Performance of preOpt resolveLoops (simulation): time 0.000603/0.5718, allocations: 286.7 kB / 1.498 GB, free: 1.289 MB / 1.186 GB Notification: Performance of preOpt evalFunc (simulation): time 9.5e-05/0.5719, allocations: 36.67 kB / 1.498 GB, free: 1.254 MB / 1.186 GB Notification: Performance of preOpt encapsulateWhenConditions (simulation): time 0.001055/0.573, allocations: 0.5216 MB / 1.499 GB, free: 0.7188 MB / 1.186 GB Notification: Performance of pre-optimization done (n=85): time 5.2e-06/0.573, allocations: 3.984 kB / 1.499 GB, free: 0.7148 MB / 1.186 GB Notification: Performance of matching and sorting (n=85): time 0.003588/0.5765, allocations: 1.18 MB / 1.5 GB, free: 15.53 MB / 1.201 GB Notification: Performance of inlineWhenForInitialization (initialization): time 0.0001474/0.5767, allocations: 204.8 kB / 1.5 GB, free: 15.29 MB / 1.201 GB Notification: Performance of selectInitializationVariablesDAE (initialization): time 0.001049/0.5777, allocations: 0.6568 MB / 1.501 GB, free: 14.62 MB / 1.201 GB Notification: Performance of collectPreVariables (initialization): time 0.0001504/0.5779, allocations: 45.7 kB / 1.501 GB, free: 14.57 MB / 1.201 GB Notification: Performance of collectInitialEqns (initialization): time 0.0003855/0.5783, allocations: 421 kB / 1.501 GB, free: 14.15 MB / 1.201 GB Notification: Performance of collectInitialBindings (initialization): time 0.00029/0.5786, allocations: 285.6 kB / 1.502 GB, free: 13.87 MB / 1.201 GB Notification: Performance of simplifyInitialFunctions (initialization): time 0.0002681/0.5788, allocations: 158.6 kB / 1.502 GB, free: 13.71 MB / 1.201 GB Notification: Performance of setup shared object (initialization): time 0.0002025/0.579, allocations: 394.8 kB / 1.502 GB, free: 13.32 MB / 1.201 GB Notification: Performance of preBalanceInitialSystem (initialization): time 0.0005785/0.5796, allocations: 257.8 kB / 1.502 GB, free: 13.06 MB / 1.201 GB Notification: Performance of partitionIndependentBlocks (initialization): time 0.0006982/0.5803, allocations: 375.4 kB / 1.503 GB, free: 12.66 MB / 1.201 GB Notification: Performance of analyzeInitialSystem (initialization): time 0.001201/0.5815, allocations: 0.6133 MB / 1.503 GB, free: 12.04 MB / 1.201 GB Notification: Performance of solveInitialSystemEqSystem (initialization): time 7.063e-06/0.5815, allocations: 4 kB / 1.503 GB, free: 12.03 MB / 1.201 GB Notification: Performance of matching and sorting (n=95) (initialization): time 0.002188/0.5837, allocations: 0.8413 MB / 1.504 GB, free: 11.18 MB / 1.201 GB Notification: Performance of prepare postOptimizeDAE: time 2.42e-05/0.5837, allocations: 4 kB / 1.504 GB, free: 11.18 MB / 1.201 GB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 1.287e-05/0.5837, allocations: 4 kB / 1.504 GB, free: 11.18 MB / 1.201 GB Notification: Performance of postOpt tearingSystem (initialization): time 0.0006324/0.5844, allocations: 84.84 kB / 1.504 GB, free: 11.09 MB / 1.201 GB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.0007297/0.5851, allocations: 163.7 kB / 1.504 GB, free: 10.93 MB / 1.201 GB Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.002365/0.5875, allocations: 1.533 MB / 1.506 GB, free: 9.277 MB / 1.201 GB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.0009407/0.5884, allocations: 99.41 kB / 1.506 GB, free: 9.18 MB / 1.201 GB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 0.0001051/0.5885, allocations: 31.97 kB / 1.506 GB, free: 9.148 MB / 1.201 GB Notification: Model statistics after passing the back-end for initialization: * Number of independent subsystems: 5 * Number of states: 0 () * Number of discrete variables: 18 (weaDat.decAng.tNext,$PRE.weaDat.decAng.tNext,weaDat.eqnTim.tNext,$PRE.weaDat.eqnTim.tNext,weaDat.conTim.tNext,$PRE.weaDat.conTim.tNext,weaDat.conTimMin.tNext,$PRE.weaDat.conTimMin.tNext,weaDat.locTim.tNext,$PRE.weaDat.locTim.tNext,decAng.tNext,$PRE.decAng.tNext,$whenCondition1,$whenCondition2,$whenCondition3,$whenCondition4,$whenCondition5,$whenCondition6) * Number of discrete states: 0 () * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for initialization (93): * Single equations (assignments): 92 * 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): 0 systems * Non-linear torn systems (#iteration vars, #inner vars): 1 system {(1,2)} Notification: Performance of prepare postOptimizeDAE: time 0.0005593/0.5891, allocations: 277.6 kB / 1.506 GB, free: 8.867 MB / 1.201 GB Notification: Performance of postOpt lateInlineFunction (simulation): time 0.0002475/0.5893, allocations: 91.39 kB / 1.506 GB, free: 8.777 MB / 1.201 GB Notification: Performance of postOpt wrapFunctionCalls (simulation): time 0.002686/0.592, allocations: 1.14 MB / 1.507 GB, free: 7.621 MB / 1.201 GB Notification: Performance of postOpt inlineArrayEqn (simulation): time 1.629e-05/0.592, allocations: 12 kB / 1.507 GB, free: 7.609 MB / 1.201 GB Notification: Performance of postOpt constantLinearSystem (simulation): time 3.957e-06/0.592, allocations: 0 / 1.507 GB, free: 7.609 MB / 1.201 GB Notification: Performance of postOpt simplifysemiLinear (simulation): time 3.031e-05/0.5921, allocations: 3.984 kB / 1.507 GB, free: 7.605 MB / 1.201 GB Notification: Performance of postOpt removeSimpleEquations (simulation): time 0.00394/0.596, allocations: 2.016 MB / 1.509 GB, free: 5.535 MB / 1.201 GB Notification: Performance of postOpt simplifyComplexFunction (simulation): time 8.335e-06/0.596, allocations: 0 / 1.509 GB, free: 5.535 MB / 1.201 GB Notification: Performance of postOpt solveSimpleEquations (simulation): time 0.0006569/0.5967, allocations: 159.8 kB / 1.51 GB, free: 5.379 MB / 1.201 GB Notification: Performance of postOpt tearingSystem (simulation): time 0.0004553/0.5971, allocations: 72.78 kB / 1.51 GB, free: 5.305 MB / 1.201 GB Notification: Performance of postOpt inputDerivativesUsed (simulation): time 0.0001038/0.5972, allocations: 23.98 kB / 1.51 GB, free: 5.281 MB / 1.201 GB Notification: Performance of postOpt calculateStrongComponentJacobians (simulation): time 0.002056/0.5993, allocations: 1.559 MB / 1.511 GB, free: 3.602 MB / 1.201 GB Notification: Performance of postOpt calculateStateSetsJacobians (simulation): time 3.998e-06/0.5993, allocations: 3.938 kB / 1.511 GB, free: 3.598 MB / 1.201 GB Notification: Performance of postOpt symbolicJacobian (simulation): time 0.0025/0.6018, allocations: 1.053 MB / 1.512 GB, free: 2.527 MB / 1.201 GB Notification: Performance of postOpt removeConstants (simulation): time 0.0005903/0.6024, allocations: 215.1 kB / 1.512 GB, free: 2.316 MB / 1.201 GB Notification: Performance of postOpt simplifyTimeIndepFuncCalls (simulation): time 0.0001884/0.6026, allocations: 24 kB / 1.512 GB, free: 2.293 MB / 1.201 GB Notification: Performance of postOpt simplifyAllExpressions (simulation): time 0.0007623/0.6033, allocations: 69.47 kB / 1.513 GB, free: 2.227 MB / 1.201 GB Notification: Performance of postOpt findZeroCrossings (simulation): time 0.000208/0.6035, allocations: 84.78 kB / 1.513 GB, free: 2.145 MB / 1.201 GB Notification: Performance of postOpt collapseArrayExpressions (simulation): time 9.21e-05/0.6036, allocations: 39.98 kB / 1.513 GB, free: 2.105 MB / 1.201 GB Notification: Performance of sorting global known variables: time 0.0007804/0.6044, allocations: 483 kB / 1.513 GB, free: 1.637 MB / 1.201 GB Notification: Performance of sort global known variables: time 1.1e-07/0.6044, allocations: 3.938 kB / 1.513 GB, free: 1.633 MB / 1.201 GB Notification: Performance of remove unused functions: time 0.001108/0.6055, allocations: 343.1 kB / 1.513 GB, free: 1.297 MB / 1.201 GB Notification: Model statistics after passing the back-end for simulation: * Number of independent subsystems: 1 * Number of states: 0 () * Number of discrete variables: 12 ($whenCondition6,$whenCondition5,$whenCondition4,$whenCondition3,$whenCondition2,$whenCondition1,decAng.tNext,weaDat.locTim.tNext,weaDat.conTimMin.tNext,weaDat.conTim.tNext,weaDat.eqnTim.tNext,weaDat.decAng.tNext) * Number of discrete states: 6 (decAng.tNext,weaDat.locTim.tNext,weaDat.conTim.tNext,weaDat.eqnTim.tNext,weaDat.decAng.tNext,weaDat.conTimMin.tNext) * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for simulation (100): * Single equations (assignments): 93 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 0 * When equations: 6 * 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): 0 systems * Non-linear torn systems (#iteration vars, #inner vars): 1 system {(1,3)} Notification: Performance of Backend phase and start with SimCode phase: time 0.004685/0.6102, allocations: 2.112 MB / 1.515 GB, free: 15.33 MB / 1.217 GB Notification: Performance of simCode: created initialization part: time 0.002134/0.6123, allocations: 0.8079 MB / 1.516 GB, free: 14.52 MB / 1.217 GB Notification: Performance of simCode: created event and clocks part: time 5.991e-06/0.6123, allocations: 0 / 1.516 GB, free: 14.52 MB / 1.217 GB Notification: Performance of simCode: created simulation system equations: time 0.001158/0.6135, allocations: 0.5197 MB / 1.517 GB, free: 13.98 MB / 1.217 GB Notification: Performance of simCode: created of all other equations (e.g. parameter, nominal, assert, etc): time 0.001633/0.6151, allocations: 298.4 kB / 1.517 GB, free: 13.71 MB / 1.217 GB Notification: Performance of simCode: created linear, non-linear and system jacobian parts: time 0.01312/0.6283, allocations: 6.492 MB / 1.523 GB, free: 7.059 MB / 1.217 GB Notification: Performance of simCode: some other stuff during SimCode phase: time 0.00078/0.629, allocations: 1.042 MB / 1.524 GB, free: 5.992 MB / 1.217 GB Notification: Performance of simCode: alias equations: time 0.001019/0.6301, allocations: 286.9 kB / 1.525 GB, free: 5.707 MB / 1.217 GB Notification: Performance of simCode: all other stuff during SimCode phase: time 0.0007015/0.6308, allocations: 411.3 kB / 1.525 GB, free: 5.305 MB / 1.217 GB Notification: Performance of SimCode: time 1.854e-06/0.6308, allocations: 0 / 1.525 GB, free: 5.305 MB / 1.217 GB Notification: Performance of buildModelFMU: Generate the FMI files: time 0.062/0.6928, allocations: 23.28 MB / 1.548 GB, free: 14.28 MB / 1.248 GB Notification: Performance of buildModelFMU: Generate platform static: time 14.67/15.36, allocations: 7.25 kB / 1.548 GB, free: 14.27 MB / 1.248 GB " [Timeout remaining time 284] (rm -f Buildings_12_Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle.pipe ; mkfifo Buildings_12_Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle.pipe ; head -c 1048576 < Buildings_12_Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle.pipe >> ../files/Buildings_12_Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle.sim & /home/hudson/saved_omc/OMSimulator/install/bin/OMSimulator -r=Buildings_12_Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle_res.mat --tempDir=temp_Buildings_12_Buildings_BoundaryConditions_SolarGeometry_BaseClasses_Examples_AltitudeAngle_fmu --startTime=0 --stopTime=86400 --stepSize=34.56 --timeout=400 --tolerance=1e-06 Buildings_12_Buildings_BoundaryConditions_SolarGeometry_BaseClasses_Examples_AltitudeAngle.fmu > Buildings_12_Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle.pipe 2>&1) [Timeout 420.0] diffSimulationResults("Buildings_12_Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle_res.mat","/mnt/ReferenceFiles/Buildings/csv/maint_12.x/Buildings_BoundaryConditions_SolarGeometry_BaseClasses_Examples_AltitudeAngle.csv","/var/lib/jenkins1/ws/OpenModelicaLibraryTestingWork/OpenModelicaLibraryTesting/files/Buildings_12_Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle.diff",relTol=0.003,relTolDiffMinMax=0.003,rangeDelta=0.001) [Timeout 300] "" [Timeout remaining time 300] Reference file matches [Calling sys.exit(0), Time elapsed: 22.3652776919771]