Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr Modelica_4.0.0_Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001627/0.001627, allocations: 112 kB / 20.43 MB, free: 1.449 MB / 14.72 MB " [Timeout remaining time 180] loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo): time 0.001907/0.001907, allocations: 188.4 kB / 23.72 MB, free: 4.684 MB / 14.72 MB " [Timeout remaining time 180] loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo): time 1.477/1.477, allocations: 225.6 MB / 252.5 MB, free: 13.03 MB / 206.1 MB " [Timeout remaining time 178] Using package Modelica with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo) Using package Complex with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo) Using package ModelicaServices with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo) Running command: "" <> buildModelFMU(Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse,fileNamePrefix="Modelica_4_0_0_Modelica_Electrical_PowerConverters_Examples_ACDC_RectifierCenterTap2mPulse_DiodeCenterTap2mPulse",fmuType="me",version="2.0",platforms={"static"}) "" <> buildModelFMU(Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse,fileNamePrefix="Modelica_4_0_0_Modelica_Electrical_PowerConverters_Examples_ACDC_RectifierCenterTap2mPulse_DiodeCenterTap2mPulse",fmuType="me",version="2.0",platforms={"static"}) [Timeout 660] "Notification: Performance of FrontEnd - loaded program: time 0.001638/0.001638, allocations: 43.92 kB / 370.5 MB, free: 9.848 MB / 302.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 0.2688/0.2704, allocations: 52.2 MB / 422.7 MB, free: 14.6 MB / 334.1 MB Notification: Performance of NFInst.instantiate(Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse): time 0.006725/0.2771, allocations: 4.605 MB / 427.3 MB, free: 9.969 MB / 334.1 MB Notification: Performance of NFInst.instExpressions: time 0.00264/0.2798, allocations: 1.227 MB / 428.5 MB, free: 8.742 MB / 334.1 MB Notification: Performance of NFInst.updateImplicitVariability: time 0.0006257/0.2804, allocations: 27.81 kB / 428.5 MB, free: 8.715 MB / 334.1 MB Notification: Performance of NFTyping.typeComponents: time 0.0005316/0.2809, allocations: 178.6 kB / 428.7 MB, free: 8.539 MB / 334.1 MB Notification: Performance of NFTyping.typeBindings: time 0.00128/0.2822, allocations: 370 kB / 429.1 MB, free: 8.176 MB / 334.1 MB Notification: Performance of NFTyping.typeClassSections: time 0.0005199/0.2827, allocations: 187.7 kB / 429.2 MB, free: 7.992 MB / 334.1 MB Notification: Performance of NFFlatten.flatten: time 0.001981/0.2847, allocations: 1.615 MB / 430.8 MB, free: 6.371 MB / 334.1 MB Notification: Performance of NFFlatten.resolveConnections: time 0.0009575/0.2857, allocations: 0.5872 MB / 431.4 MB, free: 5.746 MB / 334.1 MB Notification: Performance of NFEvalConstants.evaluate: time 0.0009956/0.2867, allocations: 0.6931 MB / 432.1 MB, free: 5.051 MB / 334.1 MB Notification: Performance of NFSimplifyModel.simplify: time 0.001491/0.2881, allocations: 0.864 MB / 433 MB, free: 4.184 MB / 334.1 MB Notification: Performance of NFPackage.collectConstants: time 0.0003901/0.2885, allocations: 179.9 kB / 433.2 MB, free: 4.008 MB / 334.1 MB Notification: Performance of NFFlatten.collectFunctions: time 0.0004661/0.289, allocations: 176 kB / 433.3 MB, free: 3.836 MB / 334.1 MB Notification: Performance of NFScalarize.scalarize: time 0.0006129/0.2896, allocations: 486.6 kB / 433.8 MB, free: 3.359 MB / 334.1 MB Notification: Performance of NFVerifyModel.verify: time 0.001389/0.291, allocations: 0.7894 MB / 434.6 MB, free: 2.566 MB / 334.1 MB Notification: Performance of NFConvertDAE.convert: time 0.002597/0.2936, allocations: 2.254 MB / 436.9 MB, free: 316 kB / 334.1 MB Notification: Performance of FrontEnd - DAE generated: time 5.029e-06/0.2936, allocations: 4 kB / 436.9 MB, free: 312 kB / 334.1 MB Notification: Performance of FrontEnd: time 9.598e-06/0.2936, allocations: 3.984 kB / 436.9 MB, free: 308 kB / 334.1 MB Notification: Performance of Transformations before backend: time 7.189e-05/0.2937, allocations: 0 / 436.9 MB, free: 308 kB / 334.1 MB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 267 * Number of variables: 267 Notification: Performance of Generate backend data structure: time 0.004686/0.2984, allocations: 2.037 MB / 438.9 MB, free: 14.21 MB / 350.1 MB Notification: Performance of prepare preOptimizeDAE: time 4.749e-05/0.2984, allocations: 12.03 kB / 438.9 MB, free: 14.2 MB / 350.1 MB Notification: Performance of preOpt introduceOutputAliases (simulation): time 0.0003295/0.2988, allocations: 164.8 kB / 439.1 MB, free: 14.03 MB / 350.1 MB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.0003587/0.2991, allocations: 152 kB / 439.2 MB, free: 13.88 MB / 350.1 MB Notification: Performance of preOpt evaluateParameters (simulation): time 0.001861/0.301, allocations: 0.9359 MB / 440.2 MB, free: 12.91 MB / 350.1 MB Notification: Performance of preOpt simplifyIfEquations (simulation): time 7.464e-05/0.301, allocations: 86.36 kB / 440.2 MB, free: 12.82 MB / 350.1 MB Notification: Performance of preOpt expandDerOperator (simulation): time 0.0001893/0.3012, allocations: 111.9 kB / 440.4 MB, free: 12.71 MB / 350.1 MB Notification: Performance of preOpt clockPartitioning (simulation): time 0.002678/0.3039, allocations: 1.553 MB / 441.9 MB, free: 11.11 MB / 350.1 MB Notification: Performance of preOpt findStateOrder (simulation): time 3.154e-05/0.3039, allocations: 0 / 441.9 MB, free: 11.11 MB / 350.1 MB Notification: Performance of preOpt replaceEdgeChange (simulation): time 0.0001199/0.3041, allocations: 48 kB / 442 MB, free: 11.06 MB / 350.1 MB Notification: Performance of preOpt inlineArrayEqn (simulation): time 5.974e-05/0.3041, allocations: 42.03 kB / 442 MB, free: 11.02 MB / 350.1 MB Notification: Performance of preOpt removeEqualRHS (simulation): time 0.002602/0.3067, allocations: 1.433 MB / 443.4 MB, free: 9.574 MB / 350.1 MB Notification: Performance of preOpt removeSimpleEquations (simulation): time 0.008019/0.3147, allocations: 4.83 MB / 448.3 MB, free: 4.566 MB / 350.1 MB Notification: Performance of preOpt comSubExp (simulation): time 0.001576/0.3163, allocations: 0.9383 MB / 449.2 MB, free: 3.625 MB / 350.1 MB Notification: Performance of preOpt resolveLoops (simulation): time 0.001294/0.3176, allocations: 0.6806 MB / 449.9 MB, free: 2.941 MB / 350.1 MB Notification: Performance of preOpt evalFunc (simulation): time 5.267e-05/0.3177, allocations: 12.64 kB / 449.9 MB, free: 2.93 MB / 350.1 MB Notification: Performance of preOpt encapsulateWhenConditions (simulation): time 0.001064/0.3187, allocations: 0.6123 MB / 450.5 MB, free: 2.305 MB / 350.1 MB Notification: Performance of pre-optimization done (n=72): time 2.655e-06/0.3187, allocations: 0 / 450.5 MB, free: 2.305 MB / 350.1 MB Notification: Performance of matching and sorting (n=72): time 0.00595/0.3247, allocations: 2.344 MB / 452.8 MB, free: 15.94 MB / 366.1 MB Notification: Performance of inlineWhenForInitialization (initialization): time 9.534e-05/0.3248, allocations: 89.77 kB / 452.9 MB, free: 15.84 MB / 366.1 MB Notification: Performance of selectInitializationVariablesDAE (initialization): time 0.001681/0.3265, allocations: 0.9344 MB / 453.9 MB, free: 14.89 MB / 366.1 MB Notification: Performance of collectPreVariables (initialization): time 7.779e-05/0.3265, allocations: 41.7 kB / 453.9 MB, free: 14.84 MB / 366.1 MB Notification: Performance of collectInitialEqns (initialization): time 0.0005877/0.3271, allocations: 0.5397 MB / 454.5 MB, free: 14.29 MB / 366.1 MB Notification: Performance of collectInitialBindings (initialization): time 0.0002557/0.3274, allocations: 242 kB / 454.7 MB, free: 14.05 MB / 366.1 MB Notification: Performance of simplifyInitialFunctions (initialization): time 0.0002579/0.3276, allocations: 134.6 kB / 454.8 MB, free: 13.92 MB / 366.1 MB Notification: Performance of setup shared object (initialization): time 0.0001516/0.3278, allocations: 326 kB / 455.1 MB, free: 13.59 MB / 366.1 MB Notification: Performance of preBalanceInitialSystem (initialization): time 0.0007264/0.3285, allocations: 413.7 kB / 455.5 MB, free: 13.19 MB / 366.1 MB Notification: Performance of partitionIndependentBlocks (initialization): time 0.0008422/0.3294, allocations: 0.5563 MB / 456.1 MB, free: 12.58 MB / 366.1 MB Notification: Performance of analyzeInitialSystem (initialization): time 0.001508/0.3309, allocations: 0.956 MB / 457.1 MB, free: 11.57 MB / 366.1 MB Notification: Performance of solveInitialSystemEqSystem (initialization): time 7.354e-06/0.3309, allocations: 4 kB / 457.1 MB, free: 11.57 MB / 366.1 MB Notification: Performance of matching and sorting (n=86) (initialization): time 0.00231/0.3332, allocations: 1.275 MB / 458.3 MB, free: 10.29 MB / 366.1 MB Notification: Performance of prepare postOptimizeDAE: time 2.759e-05/0.3332, allocations: 11.94 kB / 458.3 MB, free: 10.27 MB / 366.1 MB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 1.338e-05/0.3332, allocations: 4.438 kB / 458.3 MB, free: 10.27 MB / 366.1 MB Notification: Performance of postOpt tearingSystem (initialization): time 0.0009676/0.3342, allocations: 407 kB / 458.7 MB, free: 9.871 MB / 366.1 MB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.0004887/0.3347, allocations: 107.9 kB / 458.8 MB, free: 9.766 MB / 366.1 MB Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.00593/0.3406, allocations: 4.411 MB / 463.3 MB, free: 5.238 MB / 366.1 MB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.0006025/0.3412, allocations: 87.56 kB / 463.3 MB, free: 5.152 MB / 366.1 MB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 6.102e-05/0.3413, allocations: 24 kB / 463.4 MB, free: 5.129 MB / 366.1 MB Notification: Model statistics after passing the back-end for initialization: * Number of independent subsystems: 17 * Number of states: 0 () * Number of discrete variables: 15 (meanVoltage.y_last,$PRE.meanVoltage.y_last,meanCurrent.y_last,$PRE.meanCurrent.y_last,$whenCondition3,$whenCondition2,$whenCondition1,rootMeanSquareVoltage.mean.y_last,$PRE.rootMeanSquareVoltage.mean.y_last,rectifier.diode_p.idealDiode[1].off,rectifier.diode_p.idealDiode[2].off,rectifier.diode_p.idealDiode[3].off,rectifier.diode_n.idealDiode[1].off,rectifier.diode_n.idealDiode[2].off,rectifier.diode_n.idealDiode[3].off) * Number of discrete states: 0 () * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for initialization (59): * Single equations (assignments): 58 * 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 {(6,22)} Notification: Performance of prepare postOptimizeDAE: time 0.0007789/0.3421, allocations: 495.1 kB / 463.9 MB, free: 4.633 MB / 366.1 MB Notification: Performance of postOpt lateInlineFunction (simulation): time 0.0002203/0.3423, allocations: 99.39 kB / 464 MB, free: 4.535 MB / 366.1 MB Notification: Performance of postOpt wrapFunctionCalls (simulation): time 0.0002782/0.3426, allocations: 120.5 kB / 464.1 MB, free: 4.414 MB / 366.1 MB Notification: Performance of postOpt inlineArrayEqn (simulation): time 9.547e-06/0.3426, allocations: 8 kB / 464.1 MB, free: 4.406 MB / 366.1 MB Notification: Performance of postOpt constantLinearSystem (simulation): time 4.348e-06/0.3426, allocations: 0 / 464.1 MB, free: 4.406 MB / 366.1 MB Notification: Performance of postOpt simplifysemiLinear (simulation): time 8.576e-06/0.3426, allocations: 3.984 kB / 464.1 MB, free: 4.402 MB / 366.1 MB Notification: Performance of postOpt removeSimpleEquations (simulation): time 0.004317/0.3469, allocations: 2.547 MB / 466.6 MB, free: 1.801 MB / 366.1 MB Notification: Performance of postOpt simplifyComplexFunction (simulation): time 3.377e-06/0.3469, allocations: 0 / 466.6 MB, free: 1.801 MB / 366.1 MB Notification: Performance of postOpt solveSimpleEquations (simulation): time 0.0004283/0.3473, allocations: 91.86 kB / 466.7 MB, free: 1.711 MB / 366.1 MB Notification: Performance of postOpt tearingSystem (simulation): time 0.00084/0.3482, allocations: 388.5 kB / 467.1 MB, free: 1.328 MB / 366.1 MB Notification: Performance of postOpt inputDerivativesUsed (simulation): time 5.711e-05/0.3482, allocations: 19.98 kB / 467.1 MB, free: 1.309 MB / 366.1 MB Notification: Performance of postOpt calculateStrongComponentJacobians (simulation): time 0.005802/0.354, allocations: 4.373 MB / 471.5 MB, free: 12.82 MB / 382.1 MB Notification: Performance of postOpt calculateStateSetsJacobians (simulation): time 1.793e-06/0.354, allocations: 0 / 471.5 MB, free: 12.82 MB / 382.1 MB Notification: Performance of postOpt symbolicJacobian (simulation): time 0.003171/0.3572, allocations: 1.944 MB / 473.4 MB, free: 10.85 MB / 382.1 MB Notification: Performance of postOpt removeConstants (simulation): time 0.0006233/0.3578, allocations: 215.2 kB / 473.6 MB, free: 10.64 MB / 382.1 MB Notification: Performance of postOpt simplifyTimeIndepFuncCalls (simulation): time 0.0002316/0.3581, allocations: 19.98 kB / 473.7 MB, free: 10.62 MB / 382.1 MB Notification: Performance of postOpt simplifyAllExpressions (simulation): time 0.0004825/0.3585, allocations: 39.95 kB / 473.7 MB, free: 10.58 MB / 382.1 MB Notification: Performance of postOpt findZeroCrossings (simulation): time 0.00021/0.3587, allocations: 80.5 kB / 473.8 MB, free: 10.5 MB / 382.1 MB Notification: Performance of postOpt collapseArrayExpressions (simulation): time 5.028e-05/0.3588, allocations: 27.92 kB / 473.8 MB, free: 10.48 MB / 382.1 MB Notification: Performance of sorting global known variables: time 0.001014/0.3598, allocations: 0.6669 MB / 474.5 MB, free: 9.816 MB / 382.1 MB Notification: Performance of sort global known variables: time 1e-07/0.3598, allocations: 4 kB / 474.5 MB, free: 9.812 MB / 382.1 MB Notification: Performance of remove unused functions: time 0.001052/0.3609, allocations: 359.1 kB / 474.8 MB, free: 9.461 MB / 382.1 MB Notification: Model statistics after passing the back-end for simulation: * Number of independent subsystems: 1 * Number of states: 3 (meanCurrent.x,rootMeanSquareVoltage.mean.x,meanVoltage.x) * Number of discrete variables: 12 ($whenCondition3,$whenCondition2,$whenCondition1,meanCurrent.y_last,rootMeanSquareVoltage.mean.y_last,meanVoltage.y_last,rectifier.diode_n.idealDiode[3].off,rectifier.diode_n.idealDiode[2].off,rectifier.diode_n.idealDiode[1].off,rectifier.diode_p.idealDiode[3].off,rectifier.diode_p.idealDiode[2].off,rectifier.diode_p.idealDiode[1].off) * Number of discrete states: 3 (meanVoltage.x,rootMeanSquareVoltage.mean.x,meanCurrent.x) * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for simulation (45): * Single equations (assignments): 41 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 0 * When equations: 3 * 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 {(6,22)} Notification: Performance of Backend phase and start with SimCode phase: time 0.003507/0.3644, allocations: 2.511 MB / 477.3 MB, free: 6.922 MB / 382.1 MB Notification: Performance of simCode: created initialization part: time 0.002327/0.3667, allocations: 1.25 MB / 478.6 MB, free: 5.66 MB / 382.1 MB Notification: Performance of simCode: created event and clocks part: time 3.717e-06/0.3667, allocations: 256 / 478.6 MB, free: 5.66 MB / 382.1 MB Notification: Performance of simCode: created simulation system equations: time 0.001333/0.368, allocations: 0.7755 MB / 479.4 MB, free: 4.871 MB / 382.1 MB Notification: Performance of simCode: created of all other equations (e.g. parameter, nominal, assert, etc): time 0.001312/0.3693, allocations: 263.2 kB / 479.6 MB, free: 4.613 MB / 382.1 MB Notification: Performance of simCode: created linear, non-linear and system jacobian parts: time 0.01943/0.3888, allocations: 10.76 MB / 490.4 MB, free: 9.625 MB / 398.1 MB Notification: Performance of simCode: some other stuff during SimCode phase: time 0.001474/0.3903, allocations: 1.384 MB / 491.8 MB, free: 8.215 MB / 398.1 MB Notification: Performance of simCode: alias equations: time 0.0005216/0.3908, allocations: 171.3 kB / 491.9 MB, free: 8.043 MB / 398.1 MB Notification: Performance of simCode: all other stuff during SimCode phase: time 0.0006338/0.3914, allocations: 415.3 kB / 492.3 MB, free: 7.637 MB / 398.1 MB Notification: Performance of SimCode: time 7.22e-07/0.3914, allocations: 0 / 492.3 MB, free: 7.637 MB / 398.1 MB Notification: Performance of buildModelFMU: Generate the FMI files: time 0.07332/0.4647, allocations: 29.27 MB / 0.5094 GB, free: 10.73 MB / 430.1 MB Notification: Performance of buildModelFMU: Generate platform static: time 13.98/14.44, allocations: 11.67 kB / 0.5094 GB, free: 10.72 MB / 430.1 MB " [Timeout remaining time 645] (rm -f Modelica_4.0.0_Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse.pipe ; mkfifo Modelica_4.0.0_Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse.pipe ; head -c 1048576 < Modelica_4.0.0_Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse.pipe >> ../files/Modelica_4.0.0_Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse.sim & /home/hudson/saved_omc/OMSimulator/install/bin/OMSimulator -r=Modelica_4.0.0_Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse_res.mat --tempDir=temp_Modelica_4_0_0_Modelica_Electrical_PowerConverters_Examples_ACDC_RectifierCenterTap2mPulse_DiodeCenterTap2mPulse_fmu --startTime=0 --stopTime=0.1 --stepSize=0.0002 --timeout=50 --tolerance=1e-06 Modelica_4_0_0_Modelica_Electrical_PowerConverters_Examples_ACDC_RectifierCenterTap2mPulse_DiodeCenterTap2mPulse.fmu > Modelica_4.0.0_Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse.pipe 2>&1) [Timeout 52.5] diffSimulationResults("Modelica_4.0.0_Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse_res.mat","/var/lib/jenkins1/ws/OpenModelicaLibraryTestingWork/Reference-modelica.org/ReferenceResults/MAP-LIB_ReferenceResults/v4.0.0/Modelica/Electrical/PowerConverters/Examples/ACDC/RectifierCenterTap2mPulse/DiodeCenterTap2mPulse/DiodeCenterTap2mPulse.csv","/var/lib/jenkins1/ws/OpenModelicaLibraryTestingWork/OpenModelicaLibraryTesting/files/Modelica_4.0.0_Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse.diff",relTol=0.003,relTolDiffMinMax=0.003,rangeDelta=0.001) [Timeout 660] "" [Timeout remaining time 660] Reference file matches [Calling sys.exit(0), Time elapsed: 17.210042039863765]