/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 06:33:33,026 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 06:33:33,069 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 06:33:33,108 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 06:33:33,108 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 06:33:33,110 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 06:33:33,113 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 06:33:33,117 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 06:33:33,119 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 06:33:33,120 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 06:33:33,121 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 06:33:33,122 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 06:33:33,122 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 06:33:33,127 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 06:33:33,129 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 06:33:33,132 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 06:33:33,132 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 06:33:33,133 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 06:33:33,135 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 06:33:33,140 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 06:33:33,142 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 06:33:33,143 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 06:33:33,144 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 06:33:33,145 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 06:33:33,146 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 06:33:33,151 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 06:33:33,151 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 06:33:33,152 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 06:33:33,153 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 06:33:33,153 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 06:33:33,154 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 06:33:33,155 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 06:33:33,156 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 06:33:33,157 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 06:33:33,157 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 06:33:33,158 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 06:33:33,158 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 06:33:33,159 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 06:33:33,159 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 06:33:33,159 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 06:33:33,160 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 06:33:33,161 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 06:33:33,162 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 06:33:33,174 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 06:33:33,175 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 06:33:33,176 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 06:33:33,176 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 06:33:33,176 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 06:33:33,177 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 06:33:33,177 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 06:33:33,177 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 06:33:33,177 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 06:33:33,178 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 06:33:33,178 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 06:33:33,178 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 06:33:33,178 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 06:33:33,178 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 06:33:33,178 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 06:33:33,178 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 06:33:33,178 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 06:33:33,179 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 06:33:33,179 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:33:33,179 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 06:33:33,179 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 06:33:33,179 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 06:33:33,179 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 06:33:33,179 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 06:33:33,179 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 06:33:33,180 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 06:33:33,438 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 06:33:33,468 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 06:33:33,470 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 06:33:33,471 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 06:33:33,472 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 06:33:33,473 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound100.c [2022-04-28 06:33:33,530 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b6fd801ba/44c1d6bde42a439b9413e8e778a3cf43/FLAG9d00ae33a [2022-04-28 06:33:33,978 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 06:33:33,979 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound100.c [2022-04-28 06:33:33,987 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b6fd801ba/44c1d6bde42a439b9413e8e778a3cf43/FLAG9d00ae33a [2022-04-28 06:33:34,007 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b6fd801ba/44c1d6bde42a439b9413e8e778a3cf43 [2022-04-28 06:33:34,010 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 06:33:34,011 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 06:33:34,014 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 06:33:34,014 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 06:33:34,018 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 06:33:34,019 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,020 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@472ad2a5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34, skipping insertion in model container [2022-04-28 06:33:34,021 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,028 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 06:33:34,042 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 06:33:34,197 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound100.c[526,539] [2022-04-28 06:33:34,215 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:33:34,247 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 06:33:34,266 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound100.c[526,539] [2022-04-28 06:33:34,273 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:33:34,287 INFO L208 MainTranslator]: Completed translation [2022-04-28 06:33:34,288 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34 WrapperNode [2022-04-28 06:33:34,289 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 06:33:34,290 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 06:33:34,290 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 06:33:34,290 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 06:33:34,300 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,300 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,307 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,308 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,319 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,323 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,325 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,326 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 06:33:34,327 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 06:33:34,328 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 06:33:34,328 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 06:33:34,334 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34" (1/1) ... [2022-04-28 06:33:34,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:33:34,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:33:34,369 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 06:33:34,380 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 06:33:34,411 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 06:33:34,412 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 06:33:34,412 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 06:33:34,412 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 06:33:34,412 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 06:33:34,412 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 06:33:34,413 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 06:33:34,413 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 06:33:34,413 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 06:33:34,413 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 06:33:34,413 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 06:33:34,414 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 06:33:34,415 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 06:33:34,415 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 06:33:34,415 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 06:33:34,415 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 06:33:34,415 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 06:33:34,415 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 06:33:34,415 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 06:33:34,415 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 06:33:34,483 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 06:33:34,485 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 06:33:34,642 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 06:33:34,648 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 06:33:34,648 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 06:33:34,650 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:33:34 BoogieIcfgContainer [2022-04-28 06:33:34,650 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 06:33:34,652 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 06:33:34,652 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 06:33:34,655 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 06:33:34,656 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 06:33:34" (1/3) ... [2022-04-28 06:33:34,656 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@739940da and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:33:34, skipping insertion in model container [2022-04-28 06:33:34,657 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:33:34" (2/3) ... [2022-04-28 06:33:34,657 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@739940da and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:33:34, skipping insertion in model container [2022-04-28 06:33:34,657 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:33:34" (3/3) ... [2022-04-28 06:33:34,658 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_unwindbound100.c [2022-04-28 06:33:34,671 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 06:33:34,671 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 06:33:34,711 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 06:33:34,717 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@58cef42b, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@50661af4 [2022-04-28 06:33:34,717 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 06:33:34,725 INFO L276 IsEmpty]: Start isEmpty. Operand has 31 states, 17 states have (on average 1.5294117647058822) internal successors, (26), 18 states have internal predecessors, (26), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 06:33:34,731 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-28 06:33:34,731 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:34,732 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:34,732 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:34,737 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:34,737 INFO L85 PathProgramCache]: Analyzing trace with hash -1682617676, now seen corresponding path program 1 times [2022-04-28 06:33:34,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:34,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1921201721] [2022-04-28 06:33:34,754 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:33:34,754 INFO L85 PathProgramCache]: Analyzing trace with hash -1682617676, now seen corresponding path program 2 times [2022-04-28 06:33:34,757 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:34,757 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [243106248] [2022-04-28 06:33:34,758 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:34,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:34,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:34,910 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:33:34,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:34,932 INFO L290 TraceCheckUtils]: 0: Hoare triple {39#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {34#true} is VALID [2022-04-28 06:33:34,933 INFO L290 TraceCheckUtils]: 1: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-28 06:33:34,933 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {34#true} {34#true} #92#return; {34#true} is VALID [2022-04-28 06:33:34,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {39#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:33:34,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {39#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {34#true} is VALID [2022-04-28 06:33:34,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-28 06:33:34,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #92#return; {34#true} is VALID [2022-04-28 06:33:34,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret7 := main(); {34#true} is VALID [2022-04-28 06:33:34,937 INFO L290 TraceCheckUtils]: 5: Hoare triple {34#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {34#true} is VALID [2022-04-28 06:33:34,937 INFO L290 TraceCheckUtils]: 6: Hoare triple {34#true} assume !true; {35#false} is VALID [2022-04-28 06:33:34,938 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#false} assume !true; {35#false} is VALID [2022-04-28 06:33:34,938 INFO L272 TraceCheckUtils]: 8: Hoare triple {35#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35#false} is VALID [2022-04-28 06:33:34,938 INFO L290 TraceCheckUtils]: 9: Hoare triple {35#false} ~cond := #in~cond; {35#false} is VALID [2022-04-28 06:33:34,939 INFO L290 TraceCheckUtils]: 10: Hoare triple {35#false} assume 0 == ~cond; {35#false} is VALID [2022-04-28 06:33:34,939 INFO L290 TraceCheckUtils]: 11: Hoare triple {35#false} assume !false; {35#false} is VALID [2022-04-28 06:33:34,939 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 06:33:34,940 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:34,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [243106248] [2022-04-28 06:33:34,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [243106248] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:34,941 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:34,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:33:34,944 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:34,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1921201721] [2022-04-28 06:33:34,944 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1921201721] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:34,944 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:34,945 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:33:34,945 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [296755794] [2022-04-28 06:33:34,945 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:34,950 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 06:33:34,951 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:34,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:34,971 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:34,972 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 06:33:34,972 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:34,990 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 06:33:34,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:33:34,993 INFO L87 Difference]: Start difference. First operand has 31 states, 17 states have (on average 1.5294117647058822) internal successors, (26), 18 states have internal predecessors, (26), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:35,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:35,191 INFO L93 Difference]: Finished difference Result 57 states and 91 transitions. [2022-04-28 06:33:35,191 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 06:33:35,192 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 06:33:35,192 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:35,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:35,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2022-04-28 06:33:35,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:35,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2022-04-28 06:33:35,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 91 transitions. [2022-04-28 06:33:35,335 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:35,345 INFO L225 Difference]: With dead ends: 57 [2022-04-28 06:33:35,345 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 06:33:35,349 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:33:35,355 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:35,357 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 44 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:33:35,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 06:33:35,394 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2022-04-28 06:33:35,395 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:35,396 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:35,397 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:35,397 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:35,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:35,402 INFO L93 Difference]: Finished difference Result 27 states and 37 transitions. [2022-04-28 06:33:35,402 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 37 transitions. [2022-04-28 06:33:35,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:35,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:35,405 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 27 states. [2022-04-28 06:33:35,405 INFO L87 Difference]: Start difference. First operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 27 states. [2022-04-28 06:33:35,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:35,412 INFO L93 Difference]: Finished difference Result 27 states and 37 transitions. [2022-04-28 06:33:35,412 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 37 transitions. [2022-04-28 06:33:35,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:35,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:35,414 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:35,414 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:35,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:35,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 36 transitions. [2022-04-28 06:33:35,420 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 36 transitions. Word has length 12 [2022-04-28 06:33:35,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:35,421 INFO L495 AbstractCegarLoop]: Abstraction has 26 states and 36 transitions. [2022-04-28 06:33:35,422 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:35,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 36 transitions. [2022-04-28 06:33:35,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:35,474 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 36 transitions. [2022-04-28 06:33:35,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-28 06:33:35,475 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:35,475 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:35,475 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 06:33:35,476 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:35,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:35,477 INFO L85 PathProgramCache]: Analyzing trace with hash -2144676086, now seen corresponding path program 1 times [2022-04-28 06:33:35,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:35,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1623635639] [2022-04-28 06:33:35,486 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:33:35,486 INFO L85 PathProgramCache]: Analyzing trace with hash -2144676086, now seen corresponding path program 2 times [2022-04-28 06:33:35,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:35,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [789182794] [2022-04-28 06:33:35,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:35,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:35,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:35,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:33:35,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:35,642 INFO L290 TraceCheckUtils]: 0: Hoare triple {270#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {262#true} is VALID [2022-04-28 06:33:35,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-28 06:33:35,643 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {262#true} {262#true} #92#return; {262#true} is VALID [2022-04-28 06:33:35,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {262#true} call ULTIMATE.init(); {270#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:33:35,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {270#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {262#true} is VALID [2022-04-28 06:33:35,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-28 06:33:35,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {262#true} {262#true} #92#return; {262#true} is VALID [2022-04-28 06:33:35,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {262#true} call #t~ret7 := main(); {262#true} is VALID [2022-04-28 06:33:35,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {262#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {267#(= main_~q~0 0)} is VALID [2022-04-28 06:33:35,648 INFO L290 TraceCheckUtils]: 6: Hoare triple {267#(= main_~q~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {267#(= main_~q~0 0)} is VALID [2022-04-28 06:33:35,649 INFO L290 TraceCheckUtils]: 7: Hoare triple {267#(= main_~q~0 0)} assume !!(#t~post5 < 100);havoc #t~post5; {267#(= main_~q~0 0)} is VALID [2022-04-28 06:33:35,649 INFO L272 TraceCheckUtils]: 8: Hoare triple {267#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {268#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:33:35,650 INFO L290 TraceCheckUtils]: 9: Hoare triple {268#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {269#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:33:35,650 INFO L290 TraceCheckUtils]: 10: Hoare triple {269#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {263#false} is VALID [2022-04-28 06:33:35,651 INFO L290 TraceCheckUtils]: 11: Hoare triple {263#false} assume !false; {263#false} is VALID [2022-04-28 06:33:35,651 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 06:33:35,651 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:35,653 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [789182794] [2022-04-28 06:33:35,653 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [789182794] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:35,653 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:35,653 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:33:35,654 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:35,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1623635639] [2022-04-28 06:33:35,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1623635639] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:35,655 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:35,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:33:35,655 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1636177455] [2022-04-28 06:33:35,655 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:35,657 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 06:33:35,657 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:35,658 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:35,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:35,671 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:33:35,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:35,672 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:33:35,672 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:33:35,672 INFO L87 Difference]: Start difference. First operand 26 states and 36 transitions. Second operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:36,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:36,035 INFO L93 Difference]: Finished difference Result 41 states and 56 transitions. [2022-04-28 06:33:36,036 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:33:36,036 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-28 06:33:36,036 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:36,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:36,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-28 06:33:36,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:36,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-28 06:33:36,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 56 transitions. [2022-04-28 06:33:36,097 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:36,098 INFO L225 Difference]: With dead ends: 41 [2022-04-28 06:33:36,099 INFO L226 Difference]: Without dead ends: 39 [2022-04-28 06:33:36,099 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:33:36,100 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 24 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 93 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:36,101 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 85 Invalid, 93 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:33:36,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-28 06:33:36,107 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 30. [2022-04-28 06:33:36,107 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:36,107 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:36,108 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:36,108 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:36,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:36,111 INFO L93 Difference]: Finished difference Result 39 states and 54 transitions. [2022-04-28 06:33:36,111 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 54 transitions. [2022-04-28 06:33:36,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:36,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:36,112 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-28 06:33:36,112 INFO L87 Difference]: Start difference. First operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-28 06:33:36,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:36,115 INFO L93 Difference]: Finished difference Result 39 states and 54 transitions. [2022-04-28 06:33:36,115 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 54 transitions. [2022-04-28 06:33:36,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:36,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:36,116 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:36,116 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:36,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:36,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-28 06:33:36,118 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 12 [2022-04-28 06:33:36,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:36,119 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-28 06:33:36,119 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:36,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-28 06:33:36,162 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:36,162 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-28 06:33:36,163 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-04-28 06:33:36,163 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:36,163 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:36,163 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 06:33:36,164 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:36,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:36,164 INFO L85 PathProgramCache]: Analyzing trace with hash 1842794081, now seen corresponding path program 1 times [2022-04-28 06:33:36,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:36,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [519820602] [2022-04-28 06:33:36,165 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:33:36,165 INFO L85 PathProgramCache]: Analyzing trace with hash 1842794081, now seen corresponding path program 2 times [2022-04-28 06:33:36,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:36,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1123090095] [2022-04-28 06:33:36,165 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:36,166 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:36,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:36,215 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:33:36,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:36,230 INFO L290 TraceCheckUtils]: 0: Hoare triple {508#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {506#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:36,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {506#(<= ~counter~0 0)} assume true; {506#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:36,231 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {506#(<= ~counter~0 0)} {501#true} #92#return; {506#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:36,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {501#true} call ULTIMATE.init(); {508#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:33:36,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {508#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {506#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:36,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {506#(<= ~counter~0 0)} assume true; {506#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:36,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {506#(<= ~counter~0 0)} {501#true} #92#return; {506#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:36,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {506#(<= ~counter~0 0)} call #t~ret7 := main(); {506#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:36,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {506#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {506#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:36,235 INFO L290 TraceCheckUtils]: 6: Hoare triple {506#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {507#(<= |main_#t~post5| 0)} is VALID [2022-04-28 06:33:36,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {507#(<= |main_#t~post5| 0)} assume !(#t~post5 < 100);havoc #t~post5; {502#false} is VALID [2022-04-28 06:33:36,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {502#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {502#false} is VALID [2022-04-28 06:33:36,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {502#false} assume !(#t~post6 < 100);havoc #t~post6; {502#false} is VALID [2022-04-28 06:33:36,236 INFO L272 TraceCheckUtils]: 10: Hoare triple {502#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {502#false} is VALID [2022-04-28 06:33:36,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {502#false} ~cond := #in~cond; {502#false} is VALID [2022-04-28 06:33:36,237 INFO L290 TraceCheckUtils]: 12: Hoare triple {502#false} assume 0 == ~cond; {502#false} is VALID [2022-04-28 06:33:36,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {502#false} assume !false; {502#false} is VALID [2022-04-28 06:33:36,237 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 06:33:36,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:36,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1123090095] [2022-04-28 06:33:36,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1123090095] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:36,238 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:36,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 06:33:36,238 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:36,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [519820602] [2022-04-28 06:33:36,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [519820602] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:36,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:36,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 06:33:36,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [934439940] [2022-04-28 06:33:36,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:36,239 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-04-28 06:33:36,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:36,240 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:36,254 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:36,255 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:33:36,255 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:36,256 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:33:36,256 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:33:36,256 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:36,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:36,487 INFO L93 Difference]: Finished difference Result 46 states and 61 transitions. [2022-04-28 06:33:36,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 06:33:36,487 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-04-28 06:33:36,487 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:36,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:36,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-04-28 06:33:36,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:36,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-04-28 06:33:36,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2022-04-28 06:33:36,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:36,549 INFO L225 Difference]: With dead ends: 46 [2022-04-28 06:33:36,549 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 06:33:36,550 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:33:36,551 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 6 mSDsluCounter, 39 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:36,551 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 73 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:33:36,552 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 06:33:36,560 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 06:33:36,561 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:36,561 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:36,561 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:36,562 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:36,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:36,564 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 06:33:36,564 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 06:33:36,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:36,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:36,565 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-28 06:33:36,565 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-28 06:33:36,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:36,567 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 06:33:36,567 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 06:33:36,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:36,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:36,567 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:36,567 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:36,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:36,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-28 06:33:36,569 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 14 [2022-04-28 06:33:36,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:36,570 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-28 06:33:36,570 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-28 06:33:36,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-28 06:33:36,611 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:36,611 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 06:33:36,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 06:33:36,612 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:36,612 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:36,612 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 06:33:36,612 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:36,613 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:36,613 INFO L85 PathProgramCache]: Analyzing trace with hash 311129497, now seen corresponding path program 1 times [2022-04-28 06:33:36,613 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:36,613 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1549910429] [2022-04-28 06:33:36,614 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:33:36,614 INFO L85 PathProgramCache]: Analyzing trace with hash 311129497, now seen corresponding path program 2 times [2022-04-28 06:33:36,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:36,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1704219298] [2022-04-28 06:33:36,614 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:36,615 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:36,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:36,675 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:33:36,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:36,695 INFO L290 TraceCheckUtils]: 0: Hoare triple {745#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {733#true} is VALID [2022-04-28 06:33:36,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-28 06:33:36,696 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {733#true} {733#true} #92#return; {733#true} is VALID [2022-04-28 06:33:36,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-04-28 06:33:36,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:36,708 INFO L290 TraceCheckUtils]: 0: Hoare triple {733#true} ~cond := #in~cond; {733#true} is VALID [2022-04-28 06:33:36,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {733#true} assume !(0 == ~cond); {733#true} is VALID [2022-04-28 06:33:36,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-28 06:33:36,709 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {733#true} {738#(= main_~A~0 main_~r~0)} #78#return; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:33:36,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {733#true} call ULTIMATE.init(); {745#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:33:36,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {745#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {733#true} is VALID [2022-04-28 06:33:36,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-28 06:33:36,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {733#true} {733#true} #92#return; {733#true} is VALID [2022-04-28 06:33:36,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {733#true} call #t~ret7 := main(); {733#true} is VALID [2022-04-28 06:33:36,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {733#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:33:36,712 INFO L290 TraceCheckUtils]: 6: Hoare triple {738#(= main_~A~0 main_~r~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:33:36,715 INFO L290 TraceCheckUtils]: 7: Hoare triple {738#(= main_~A~0 main_~r~0)} assume !!(#t~post5 < 100);havoc #t~post5; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:33:36,715 INFO L272 TraceCheckUtils]: 8: Hoare triple {738#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {733#true} is VALID [2022-04-28 06:33:36,716 INFO L290 TraceCheckUtils]: 9: Hoare triple {733#true} ~cond := #in~cond; {733#true} is VALID [2022-04-28 06:33:36,716 INFO L290 TraceCheckUtils]: 10: Hoare triple {733#true} assume !(0 == ~cond); {733#true} is VALID [2022-04-28 06:33:36,716 INFO L290 TraceCheckUtils]: 11: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-28 06:33:36,717 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {733#true} {738#(= main_~A~0 main_~r~0)} #78#return; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:33:36,718 INFO L272 TraceCheckUtils]: 13: Hoare triple {738#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:33:36,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {743#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {744#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:33:36,719 INFO L290 TraceCheckUtils]: 15: Hoare triple {744#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {734#false} is VALID [2022-04-28 06:33:36,719 INFO L290 TraceCheckUtils]: 16: Hoare triple {734#false} assume !false; {734#false} is VALID [2022-04-28 06:33:36,719 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 06:33:36,720 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:36,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1704219298] [2022-04-28 06:33:36,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1704219298] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:36,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:36,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:33:36,720 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:36,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1549910429] [2022-04-28 06:33:36,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1549910429] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:36,721 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:36,721 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:33:36,721 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [894054003] [2022-04-28 06:33:36,721 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:36,722 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-04-28 06:33:36,722 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:36,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:33:36,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:36,736 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:33:36,736 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:36,737 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:33:36,738 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:33:36,739 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:33:37,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:37,077 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-28 06:33:37,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:33:37,077 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-04-28 06:33:37,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:37,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:33:37,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-28 06:33:37,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:33:37,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-28 06:33:37,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 56 transitions. [2022-04-28 06:33:37,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:37,143 INFO L225 Difference]: With dead ends: 46 [2022-04-28 06:33:37,143 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 06:33:37,143 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:33:37,144 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 19 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:37,144 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 78 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:33:37,145 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 06:33:37,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 36. [2022-04-28 06:33:37,153 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:37,154 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:37,154 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:37,154 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:37,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:37,157 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 06:33:37,157 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 06:33:37,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:37,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:37,158 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-28 06:33:37,158 INFO L87 Difference]: Start difference. First operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-28 06:33:37,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:37,160 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 06:33:37,160 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 06:33:37,161 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:37,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:37,161 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:37,161 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:37,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 06:33:37,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 44 transitions. [2022-04-28 06:33:37,163 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 44 transitions. Word has length 17 [2022-04-28 06:33:37,163 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:37,163 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 44 transitions. [2022-04-28 06:33:37,163 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:33:37,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 44 transitions. [2022-04-28 06:33:37,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:37,204 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 44 transitions. [2022-04-28 06:33:37,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 06:33:37,204 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:37,205 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:37,205 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 06:33:37,205 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:37,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:37,205 INFO L85 PathProgramCache]: Analyzing trace with hash -1912623062, now seen corresponding path program 1 times [2022-04-28 06:33:37,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:37,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [724878097] [2022-04-28 06:33:37,206 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:33:37,206 INFO L85 PathProgramCache]: Analyzing trace with hash -1912623062, now seen corresponding path program 2 times [2022-04-28 06:33:37,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:37,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2128247551] [2022-04-28 06:33:37,206 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:37,207 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:37,219 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:33:37,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [627984536] [2022-04-28 06:33:37,220 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:33:37,220 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:37,220 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:33:37,223 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:33:37,255 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 06:33:37,274 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:33:37,274 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:33:37,276 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 06:33:37,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:37,292 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:33:37,500 INFO L272 TraceCheckUtils]: 0: Hoare triple {1008#true} call ULTIMATE.init(); {1008#true} is VALID [2022-04-28 06:33:37,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {1008#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1008#true} is VALID [2022-04-28 06:33:37,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {1008#true} assume true; {1008#true} is VALID [2022-04-28 06:33:37,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1008#true} {1008#true} #92#return; {1008#true} is VALID [2022-04-28 06:33:37,501 INFO L272 TraceCheckUtils]: 4: Hoare triple {1008#true} call #t~ret7 := main(); {1008#true} is VALID [2022-04-28 06:33:37,502 INFO L290 TraceCheckUtils]: 5: Hoare triple {1008#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:37,502 INFO L290 TraceCheckUtils]: 6: Hoare triple {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:37,503 INFO L290 TraceCheckUtils]: 7: Hoare triple {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:37,503 INFO L272 TraceCheckUtils]: 8: Hoare triple {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1008#true} is VALID [2022-04-28 06:33:37,503 INFO L290 TraceCheckUtils]: 9: Hoare triple {1008#true} ~cond := #in~cond; {1008#true} is VALID [2022-04-28 06:33:37,503 INFO L290 TraceCheckUtils]: 10: Hoare triple {1008#true} assume !(0 == ~cond); {1008#true} is VALID [2022-04-28 06:33:37,503 INFO L290 TraceCheckUtils]: 11: Hoare triple {1008#true} assume true; {1008#true} is VALID [2022-04-28 06:33:37,504 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1008#true} {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:37,504 INFO L272 TraceCheckUtils]: 13: Hoare triple {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1008#true} is VALID [2022-04-28 06:33:37,505 INFO L290 TraceCheckUtils]: 14: Hoare triple {1008#true} ~cond := #in~cond; {1008#true} is VALID [2022-04-28 06:33:37,505 INFO L290 TraceCheckUtils]: 15: Hoare triple {1008#true} assume !(0 == ~cond); {1008#true} is VALID [2022-04-28 06:33:37,505 INFO L290 TraceCheckUtils]: 16: Hoare triple {1008#true} assume true; {1008#true} is VALID [2022-04-28 06:33:37,506 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1008#true} {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:37,507 INFO L272 TraceCheckUtils]: 18: Hoare triple {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1068#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:33:37,507 INFO L290 TraceCheckUtils]: 19: Hoare triple {1068#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1072#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:33:37,507 INFO L290 TraceCheckUtils]: 20: Hoare triple {1072#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1009#false} is VALID [2022-04-28 06:33:37,508 INFO L290 TraceCheckUtils]: 21: Hoare triple {1009#false} assume !false; {1009#false} is VALID [2022-04-28 06:33:37,508 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 06:33:37,508 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:33:37,508 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:37,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2128247551] [2022-04-28 06:33:37,509 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:33:37,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [627984536] [2022-04-28 06:33:37,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [627984536] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:37,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:37,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:33:37,510 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:37,510 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [724878097] [2022-04-28 06:33:37,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [724878097] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:37,510 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:37,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:33:37,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1088455250] [2022-04-28 06:33:37,510 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:37,511 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 06:33:37,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:37,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:33:37,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:37,527 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:33:37,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:37,527 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:33:37,527 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:33:37,528 INFO L87 Difference]: Start difference. First operand 36 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:33:37,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:37,704 INFO L93 Difference]: Finished difference Result 65 states and 87 transitions. [2022-04-28 06:33:37,704 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:33:37,704 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 06:33:37,704 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:37,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:33:37,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-04-28 06:33:37,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:33:37,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-04-28 06:33:37,708 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 81 transitions. [2022-04-28 06:33:37,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:37,785 INFO L225 Difference]: With dead ends: 65 [2022-04-28 06:33:37,785 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 06:33:37,785 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:33:37,786 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 10 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:37,786 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 121 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:33:37,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 06:33:37,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-28 06:33:37,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:37,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:33:37,801 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:33:37,802 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:33:37,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:37,804 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 06:33:37,804 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 06:33:37,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:37,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:37,805 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 50 states. [2022-04-28 06:33:37,805 INFO L87 Difference]: Start difference. First operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 50 states. [2022-04-28 06:33:37,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:37,807 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 06:33:37,807 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 06:33:37,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:37,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:37,808 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:37,808 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:37,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:33:37,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-28 06:33:37,810 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 22 [2022-04-28 06:33:37,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:37,810 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-28 06:33:37,810 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:33:37,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-28 06:33:37,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:37,873 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 06:33:37,873 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-04-28 06:33:37,873 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:37,873 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:37,899 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 06:33:38,087 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:38,088 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:38,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:38,088 INFO L85 PathProgramCache]: Analyzing trace with hash 214651490, now seen corresponding path program 1 times [2022-04-28 06:33:38,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:38,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1239186114] [2022-04-28 06:33:38,089 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:33:38,089 INFO L85 PathProgramCache]: Analyzing trace with hash 214651490, now seen corresponding path program 2 times [2022-04-28 06:33:38,089 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:38,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [954233786] [2022-04-28 06:33:38,090 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:38,090 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:38,104 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:33:38,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2126468465] [2022-04-28 06:33:38,104 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:33:38,105 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:38,105 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:33:38,106 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:33:38,124 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 06:33:38,160 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:33:38,161 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:33:38,162 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:33:38,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:38,180 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:33:38,429 INFO L272 TraceCheckUtils]: 0: Hoare triple {1410#true} call ULTIMATE.init(); {1410#true} is VALID [2022-04-28 06:33:38,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {1410#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1418#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:38,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {1418#(<= ~counter~0 0)} assume true; {1418#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:38,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1418#(<= ~counter~0 0)} {1410#true} #92#return; {1418#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:38,432 INFO L272 TraceCheckUtils]: 4: Hoare triple {1418#(<= ~counter~0 0)} call #t~ret7 := main(); {1418#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:38,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {1418#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1418#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:38,433 INFO L290 TraceCheckUtils]: 6: Hoare triple {1418#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {1434#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,434 INFO L272 TraceCheckUtils]: 8: Hoare triple {1434#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,434 INFO L290 TraceCheckUtils]: 9: Hoare triple {1434#(<= ~counter~0 1)} ~cond := #in~cond; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,435 INFO L290 TraceCheckUtils]: 10: Hoare triple {1434#(<= ~counter~0 1)} assume !(0 == ~cond); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,444 INFO L290 TraceCheckUtils]: 11: Hoare triple {1434#(<= ~counter~0 1)} assume true; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,445 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1434#(<= ~counter~0 1)} {1434#(<= ~counter~0 1)} #78#return; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,445 INFO L272 TraceCheckUtils]: 13: Hoare triple {1434#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {1434#(<= ~counter~0 1)} ~cond := #in~cond; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {1434#(<= ~counter~0 1)} assume !(0 == ~cond); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,448 INFO L290 TraceCheckUtils]: 16: Hoare triple {1434#(<= ~counter~0 1)} assume true; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,449 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1434#(<= ~counter~0 1)} {1434#(<= ~counter~0 1)} #80#return; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,450 INFO L272 TraceCheckUtils]: 18: Hoare triple {1434#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,451 INFO L290 TraceCheckUtils]: 19: Hoare triple {1434#(<= ~counter~0 1)} ~cond := #in~cond; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,451 INFO L290 TraceCheckUtils]: 20: Hoare triple {1434#(<= ~counter~0 1)} assume !(0 == ~cond); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,452 INFO L290 TraceCheckUtils]: 21: Hoare triple {1434#(<= ~counter~0 1)} assume true; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,452 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1434#(<= ~counter~0 1)} {1434#(<= ~counter~0 1)} #82#return; {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,453 INFO L290 TraceCheckUtils]: 23: Hoare triple {1434#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1434#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:38,453 INFO L290 TraceCheckUtils]: 24: Hoare triple {1434#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1489#(<= |main_#t~post6| 1)} is VALID [2022-04-28 06:33:38,454 INFO L290 TraceCheckUtils]: 25: Hoare triple {1489#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {1411#false} is VALID [2022-04-28 06:33:38,454 INFO L272 TraceCheckUtils]: 26: Hoare triple {1411#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1411#false} is VALID [2022-04-28 06:33:38,454 INFO L290 TraceCheckUtils]: 27: Hoare triple {1411#false} ~cond := #in~cond; {1411#false} is VALID [2022-04-28 06:33:38,454 INFO L290 TraceCheckUtils]: 28: Hoare triple {1411#false} assume 0 == ~cond; {1411#false} is VALID [2022-04-28 06:33:38,455 INFO L290 TraceCheckUtils]: 29: Hoare triple {1411#false} assume !false; {1411#false} is VALID [2022-04-28 06:33:38,455 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:33:38,455 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:33:38,455 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:38,455 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [954233786] [2022-04-28 06:33:38,456 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:33:38,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2126468465] [2022-04-28 06:33:38,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2126468465] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:38,456 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:38,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:33:38,456 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:38,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1239186114] [2022-04-28 06:33:38,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1239186114] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:38,457 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:38,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:33:38,457 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1337700021] [2022-04-28 06:33:38,457 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:38,457 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-28 06:33:38,458 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:38,458 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:38,477 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:38,477 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:33:38,483 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:38,484 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:33:38,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:33:38,484 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:38,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:38,617 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-28 06:33:38,617 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:33:38,618 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-28 06:33:38,619 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:38,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:38,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 06:33:38,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:38,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 06:33:38,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-28 06:33:38,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:38,674 INFO L225 Difference]: With dead ends: 70 [2022-04-28 06:33:38,674 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 06:33:38,674 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:33:38,676 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 3 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:38,677 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 105 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:33:38,678 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 06:33:38,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-28 06:33:38,717 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:38,717 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:33:38,717 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:33:38,718 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:33:38,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:38,722 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-28 06:33:38,722 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-28 06:33:38,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:38,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:38,724 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-28 06:33:38,724 INFO L87 Difference]: Start difference. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-28 06:33:38,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:38,726 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-28 06:33:38,726 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-28 06:33:38,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:38,727 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:38,727 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:38,727 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:38,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:33:38,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 72 transitions. [2022-04-28 06:33:38,731 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 72 transitions. Word has length 30 [2022-04-28 06:33:38,732 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:38,732 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 72 transitions. [2022-04-28 06:33:38,732 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:38,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 72 transitions. [2022-04-28 06:33:38,807 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:38,807 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-28 06:33:38,808 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-04-28 06:33:38,808 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:38,808 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:38,834 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 06:33:39,021 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-04-28 06:33:39,022 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:39,022 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:39,022 INFO L85 PathProgramCache]: Analyzing trace with hash 216379368, now seen corresponding path program 1 times [2022-04-28 06:33:39,022 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:39,022 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2095657376] [2022-04-28 06:33:39,023 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:33:39,023 INFO L85 PathProgramCache]: Analyzing trace with hash 216379368, now seen corresponding path program 2 times [2022-04-28 06:33:39,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:39,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [710611728] [2022-04-28 06:33:39,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:39,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:39,035 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:33:39,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [910448449] [2022-04-28 06:33:39,036 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:33:39,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:39,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:33:39,042 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:33:39,048 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 06:33:39,084 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:33:39,085 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:33:39,086 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:33:39,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:39,105 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:33:40,836 INFO L272 TraceCheckUtils]: 0: Hoare triple {1894#true} call ULTIMATE.init(); {1894#true} is VALID [2022-04-28 06:33:40,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {1894#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1894#true} is VALID [2022-04-28 06:33:40,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-28 06:33:40,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1894#true} {1894#true} #92#return; {1894#true} is VALID [2022-04-28 06:33:40,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {1894#true} call #t~ret7 := main(); {1894#true} is VALID [2022-04-28 06:33:40,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {1894#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:33:40,839 INFO L290 TraceCheckUtils]: 6: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:33:40,839 INFO L290 TraceCheckUtils]: 7: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !!(#t~post5 < 100);havoc #t~post5; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:33:40,839 INFO L272 TraceCheckUtils]: 8: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1894#true} is VALID [2022-04-28 06:33:40,839 INFO L290 TraceCheckUtils]: 9: Hoare triple {1894#true} ~cond := #in~cond; {1894#true} is VALID [2022-04-28 06:33:40,839 INFO L290 TraceCheckUtils]: 10: Hoare triple {1894#true} assume !(0 == ~cond); {1894#true} is VALID [2022-04-28 06:33:40,840 INFO L290 TraceCheckUtils]: 11: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-28 06:33:40,843 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1894#true} {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #78#return; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:33:40,844 INFO L272 TraceCheckUtils]: 13: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1894#true} is VALID [2022-04-28 06:33:40,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {1894#true} ~cond := #in~cond; {1894#true} is VALID [2022-04-28 06:33:40,844 INFO L290 TraceCheckUtils]: 15: Hoare triple {1894#true} assume !(0 == ~cond); {1894#true} is VALID [2022-04-28 06:33:40,844 INFO L290 TraceCheckUtils]: 16: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-28 06:33:40,844 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1894#true} {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:33:40,845 INFO L272 TraceCheckUtils]: 18: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1894#true} is VALID [2022-04-28 06:33:40,845 INFO L290 TraceCheckUtils]: 19: Hoare triple {1894#true} ~cond := #in~cond; {1894#true} is VALID [2022-04-28 06:33:40,845 INFO L290 TraceCheckUtils]: 20: Hoare triple {1894#true} assume !(0 == ~cond); {1894#true} is VALID [2022-04-28 06:33:40,845 INFO L290 TraceCheckUtils]: 21: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-28 06:33:40,845 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1894#true} {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #82#return; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:33:40,846 INFO L290 TraceCheckUtils]: 23: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:33:40,846 INFO L290 TraceCheckUtils]: 24: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:33:40,847 INFO L290 TraceCheckUtils]: 25: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:33:40,852 INFO L272 TraceCheckUtils]: 26: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1978#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:33:40,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {1978#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1982#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:33:40,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {1982#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1895#false} is VALID [2022-04-28 06:33:40,853 INFO L290 TraceCheckUtils]: 29: Hoare triple {1895#false} assume !false; {1895#false} is VALID [2022-04-28 06:33:40,853 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:33:40,853 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:33:40,853 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:40,853 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [710611728] [2022-04-28 06:33:40,853 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:33:40,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [910448449] [2022-04-28 06:33:40,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [910448449] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:40,854 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:40,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:33:40,854 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:40,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2095657376] [2022-04-28 06:33:40,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2095657376] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:40,854 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:40,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:33:40,855 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1407766399] [2022-04-28 06:33:40,855 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:40,855 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-28 06:33:40,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:40,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:40,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:40,877 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:33:40,877 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:40,877 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:33:40,877 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:33:40,877 INFO L87 Difference]: Start difference. First operand 62 states and 72 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:41,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:41,100 INFO L93 Difference]: Finished difference Result 76 states and 91 transitions. [2022-04-28 06:33:41,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:33:41,100 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-28 06:33:41,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:41,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:41,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 06:33:41,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:41,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 06:33:41,103 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-28 06:33:41,157 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:41,159 INFO L225 Difference]: With dead ends: 76 [2022-04-28 06:33:41,159 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 06:33:41,159 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:33:41,160 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 11 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 95 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:41,160 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 95 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:33:41,161 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 06:33:41,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2022-04-28 06:33:41,202 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:41,202 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:33:41,202 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:33:41,202 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:33:41,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:41,205 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-28 06:33:41,205 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-28 06:33:41,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:41,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:41,205 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 64 states. [2022-04-28 06:33:41,206 INFO L87 Difference]: Start difference. First operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 64 states. [2022-04-28 06:33:41,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:41,208 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-28 06:33:41,208 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-28 06:33:41,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:41,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:41,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:41,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:41,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:33:41,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 76 transitions. [2022-04-28 06:33:41,211 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 76 transitions. Word has length 30 [2022-04-28 06:33:41,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:41,211 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 76 transitions. [2022-04-28 06:33:41,211 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:41,211 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 76 transitions. [2022-04-28 06:33:41,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:41,280 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-28 06:33:41,281 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 06:33:41,281 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:41,281 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:41,298 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 06:33:41,483 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:41,484 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:41,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:41,484 INFO L85 PathProgramCache]: Analyzing trace with hash -1255015940, now seen corresponding path program 1 times [2022-04-28 06:33:41,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:41,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [442079780] [2022-04-28 06:33:45,644 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:33:45,645 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:33:45,645 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:33:45,645 INFO L85 PathProgramCache]: Analyzing trace with hash -1255015940, now seen corresponding path program 2 times [2022-04-28 06:33:45,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:45,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [73539237] [2022-04-28 06:33:45,645 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:45,645 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:45,655 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:33:45,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1610746453] [2022-04-28 06:33:45,656 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:33:45,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:45,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:33:45,657 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:33:45,667 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 06:33:45,706 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:33:45,706 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:33:45,707 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:33:45,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:45,719 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:33:45,897 INFO L272 TraceCheckUtils]: 0: Hoare triple {2396#true} call ULTIMATE.init(); {2396#true} is VALID [2022-04-28 06:33:45,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {2396#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2404#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:45,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {2404#(<= ~counter~0 0)} assume true; {2404#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:45,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2404#(<= ~counter~0 0)} {2396#true} #92#return; {2404#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:45,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {2404#(<= ~counter~0 0)} call #t~ret7 := main(); {2404#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:45,900 INFO L290 TraceCheckUtils]: 5: Hoare triple {2404#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2404#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:45,900 INFO L290 TraceCheckUtils]: 6: Hoare triple {2404#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,901 INFO L290 TraceCheckUtils]: 7: Hoare triple {2420#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,901 INFO L272 TraceCheckUtils]: 8: Hoare triple {2420#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,902 INFO L290 TraceCheckUtils]: 9: Hoare triple {2420#(<= ~counter~0 1)} ~cond := #in~cond; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,902 INFO L290 TraceCheckUtils]: 10: Hoare triple {2420#(<= ~counter~0 1)} assume !(0 == ~cond); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,902 INFO L290 TraceCheckUtils]: 11: Hoare triple {2420#(<= ~counter~0 1)} assume true; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,903 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2420#(<= ~counter~0 1)} {2420#(<= ~counter~0 1)} #78#return; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,904 INFO L272 TraceCheckUtils]: 13: Hoare triple {2420#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,904 INFO L290 TraceCheckUtils]: 14: Hoare triple {2420#(<= ~counter~0 1)} ~cond := #in~cond; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,904 INFO L290 TraceCheckUtils]: 15: Hoare triple {2420#(<= ~counter~0 1)} assume !(0 == ~cond); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,905 INFO L290 TraceCheckUtils]: 16: Hoare triple {2420#(<= ~counter~0 1)} assume true; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,905 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2420#(<= ~counter~0 1)} {2420#(<= ~counter~0 1)} #80#return; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,906 INFO L272 TraceCheckUtils]: 18: Hoare triple {2420#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,906 INFO L290 TraceCheckUtils]: 19: Hoare triple {2420#(<= ~counter~0 1)} ~cond := #in~cond; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,906 INFO L290 TraceCheckUtils]: 20: Hoare triple {2420#(<= ~counter~0 1)} assume !(0 == ~cond); {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,907 INFO L290 TraceCheckUtils]: 21: Hoare triple {2420#(<= ~counter~0 1)} assume true; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,908 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2420#(<= ~counter~0 1)} {2420#(<= ~counter~0 1)} #82#return; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,909 INFO L290 TraceCheckUtils]: 23: Hoare triple {2420#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2420#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:45,910 INFO L290 TraceCheckUtils]: 24: Hoare triple {2420#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2475#(<= |main_#t~post5| 1)} is VALID [2022-04-28 06:33:45,910 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#(<= |main_#t~post5| 1)} assume !(#t~post5 < 100);havoc #t~post5; {2397#false} is VALID [2022-04-28 06:33:45,911 INFO L290 TraceCheckUtils]: 26: Hoare triple {2397#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2397#false} is VALID [2022-04-28 06:33:45,911 INFO L290 TraceCheckUtils]: 27: Hoare triple {2397#false} assume !(#t~post6 < 100);havoc #t~post6; {2397#false} is VALID [2022-04-28 06:33:45,911 INFO L272 TraceCheckUtils]: 28: Hoare triple {2397#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2397#false} is VALID [2022-04-28 06:33:45,912 INFO L290 TraceCheckUtils]: 29: Hoare triple {2397#false} ~cond := #in~cond; {2397#false} is VALID [2022-04-28 06:33:45,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {2397#false} assume !(0 == ~cond); {2397#false} is VALID [2022-04-28 06:33:45,912 INFO L290 TraceCheckUtils]: 31: Hoare triple {2397#false} assume true; {2397#false} is VALID [2022-04-28 06:33:45,912 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2397#false} {2397#false} #88#return; {2397#false} is VALID [2022-04-28 06:33:45,912 INFO L272 TraceCheckUtils]: 33: Hoare triple {2397#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {2397#false} is VALID [2022-04-28 06:33:45,913 INFO L290 TraceCheckUtils]: 34: Hoare triple {2397#false} ~cond := #in~cond; {2397#false} is VALID [2022-04-28 06:33:45,913 INFO L290 TraceCheckUtils]: 35: Hoare triple {2397#false} assume 0 == ~cond; {2397#false} is VALID [2022-04-28 06:33:45,913 INFO L290 TraceCheckUtils]: 36: Hoare triple {2397#false} assume !false; {2397#false} is VALID [2022-04-28 06:33:45,913 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 06:33:45,913 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:33:46,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {2397#false} assume !false; {2397#false} is VALID [2022-04-28 06:33:46,121 INFO L290 TraceCheckUtils]: 35: Hoare triple {2397#false} assume 0 == ~cond; {2397#false} is VALID [2022-04-28 06:33:46,121 INFO L290 TraceCheckUtils]: 34: Hoare triple {2397#false} ~cond := #in~cond; {2397#false} is VALID [2022-04-28 06:33:46,122 INFO L272 TraceCheckUtils]: 33: Hoare triple {2397#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {2397#false} is VALID [2022-04-28 06:33:46,122 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2396#true} {2397#false} #88#return; {2397#false} is VALID [2022-04-28 06:33:46,122 INFO L290 TraceCheckUtils]: 31: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-28 06:33:46,122 INFO L290 TraceCheckUtils]: 30: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-28 06:33:46,122 INFO L290 TraceCheckUtils]: 29: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-28 06:33:46,122 INFO L272 TraceCheckUtils]: 28: Hoare triple {2397#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2396#true} is VALID [2022-04-28 06:33:46,122 INFO L290 TraceCheckUtils]: 27: Hoare triple {2397#false} assume !(#t~post6 < 100);havoc #t~post6; {2397#false} is VALID [2022-04-28 06:33:46,123 INFO L290 TraceCheckUtils]: 26: Hoare triple {2397#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2397#false} is VALID [2022-04-28 06:33:46,126 INFO L290 TraceCheckUtils]: 25: Hoare triple {2545#(< |main_#t~post5| 100)} assume !(#t~post5 < 100);havoc #t~post5; {2397#false} is VALID [2022-04-28 06:33:46,126 INFO L290 TraceCheckUtils]: 24: Hoare triple {2549#(< ~counter~0 100)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2545#(< |main_#t~post5| 100)} is VALID [2022-04-28 06:33:46,127 INFO L290 TraceCheckUtils]: 23: Hoare triple {2549#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2549#(< ~counter~0 100)} is VALID [2022-04-28 06:33:46,127 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2396#true} {2549#(< ~counter~0 100)} #82#return; {2549#(< ~counter~0 100)} is VALID [2022-04-28 06:33:46,127 INFO L290 TraceCheckUtils]: 21: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-28 06:33:46,127 INFO L290 TraceCheckUtils]: 20: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-28 06:33:46,128 INFO L290 TraceCheckUtils]: 19: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-28 06:33:46,128 INFO L272 TraceCheckUtils]: 18: Hoare triple {2549#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2396#true} is VALID [2022-04-28 06:33:46,128 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2396#true} {2549#(< ~counter~0 100)} #80#return; {2549#(< ~counter~0 100)} is VALID [2022-04-28 06:33:46,128 INFO L290 TraceCheckUtils]: 16: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-28 06:33:46,128 INFO L290 TraceCheckUtils]: 15: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-28 06:33:46,129 INFO L290 TraceCheckUtils]: 14: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-28 06:33:46,129 INFO L272 TraceCheckUtils]: 13: Hoare triple {2549#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2396#true} is VALID [2022-04-28 06:33:46,129 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2396#true} {2549#(< ~counter~0 100)} #78#return; {2549#(< ~counter~0 100)} is VALID [2022-04-28 06:33:46,129 INFO L290 TraceCheckUtils]: 11: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-28 06:33:46,129 INFO L290 TraceCheckUtils]: 10: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-28 06:33:46,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-28 06:33:46,130 INFO L272 TraceCheckUtils]: 8: Hoare triple {2549#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2396#true} is VALID [2022-04-28 06:33:46,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {2549#(< ~counter~0 100)} assume !!(#t~post5 < 100);havoc #t~post5; {2549#(< ~counter~0 100)} is VALID [2022-04-28 06:33:46,131 INFO L290 TraceCheckUtils]: 6: Hoare triple {2604#(< ~counter~0 99)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2549#(< ~counter~0 100)} is VALID [2022-04-28 06:33:46,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {2604#(< ~counter~0 99)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2604#(< ~counter~0 99)} is VALID [2022-04-28 06:33:46,132 INFO L272 TraceCheckUtils]: 4: Hoare triple {2604#(< ~counter~0 99)} call #t~ret7 := main(); {2604#(< ~counter~0 99)} is VALID [2022-04-28 06:33:46,132 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2604#(< ~counter~0 99)} {2396#true} #92#return; {2604#(< ~counter~0 99)} is VALID [2022-04-28 06:33:46,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {2604#(< ~counter~0 99)} assume true; {2604#(< ~counter~0 99)} is VALID [2022-04-28 06:33:46,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {2396#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2604#(< ~counter~0 99)} is VALID [2022-04-28 06:33:46,134 INFO L272 TraceCheckUtils]: 0: Hoare triple {2396#true} call ULTIMATE.init(); {2396#true} is VALID [2022-04-28 06:33:46,134 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 06:33:46,134 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:46,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [73539237] [2022-04-28 06:33:46,134 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:33:46,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1610746453] [2022-04-28 06:33:46,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1610746453] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:33:46,135 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:33:46,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 06:33:46,135 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:46,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [442079780] [2022-04-28 06:33:46,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [442079780] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:46,135 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:46,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:33:46,135 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [979498969] [2022-04-28 06:33:46,135 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:46,136 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-28 06:33:46,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:46,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:33:46,161 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:46,162 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:33:46,162 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:46,162 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:33:46,162 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 06:33:46,163 INFO L87 Difference]: Start difference. First operand 63 states and 76 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:33:46,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:46,324 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-28 06:33:46,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 06:33:46,324 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-28 06:33:46,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:46,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:33:46,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 06:33:46,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:33:46,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 06:33:46,328 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-28 06:33:46,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:46,397 INFO L225 Difference]: With dead ends: 90 [2022-04-28 06:33:46,397 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 06:33:46,397 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:33:46,398 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 2 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:46,398 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 126 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:33:46,399 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 06:33:46,449 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 65. [2022-04-28 06:33:46,449 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:46,449 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:33:46,449 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:33:46,450 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:33:46,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:46,452 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-04-28 06:33:46,452 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-28 06:33:46,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:46,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:46,453 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 65 states. [2022-04-28 06:33:46,453 INFO L87 Difference]: Start difference. First operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 65 states. [2022-04-28 06:33:46,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:46,456 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-04-28 06:33:46,456 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-28 06:33:46,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:46,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:46,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:46,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:46,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:33:46,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 78 transitions. [2022-04-28 06:33:46,459 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 78 transitions. Word has length 37 [2022-04-28 06:33:46,459 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:46,459 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 78 transitions. [2022-04-28 06:33:46,460 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:33:46,460 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 78 transitions. [2022-04-28 06:33:46,542 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:46,542 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-28 06:33:46,543 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 06:33:46,543 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:46,543 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:46,565 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 06:33:46,759 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:46,760 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:46,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:46,760 INFO L85 PathProgramCache]: Analyzing trace with hash -1057559728, now seen corresponding path program 1 times [2022-04-28 06:33:46,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:46,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [774683525] [2022-04-28 06:33:49,961 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:33:49,961 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:33:49,961 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:33:49,961 INFO L85 PathProgramCache]: Analyzing trace with hash -1057559728, now seen corresponding path program 2 times [2022-04-28 06:33:49,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:49,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1776214352] [2022-04-28 06:33:49,961 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:49,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:49,970 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:33:49,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [851039261] [2022-04-28 06:33:49,971 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:33:49,971 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:49,971 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:33:49,976 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:33:49,983 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 06:33:50,038 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:33:50,038 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:33:50,039 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 06:33:50,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:50,056 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:33:50,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {3067#true} call ULTIMATE.init(); {3067#true} is VALID [2022-04-28 06:33:50,266 INFO L290 TraceCheckUtils]: 1: Hoare triple {3067#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3067#true} is VALID [2022-04-28 06:33:50,266 INFO L290 TraceCheckUtils]: 2: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3067#true} {3067#true} #92#return; {3067#true} is VALID [2022-04-28 06:33:50,266 INFO L272 TraceCheckUtils]: 4: Hoare triple {3067#true} call #t~ret7 := main(); {3067#true} is VALID [2022-04-28 06:33:50,267 INFO L290 TraceCheckUtils]: 5: Hoare triple {3067#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:50,268 INFO L290 TraceCheckUtils]: 6: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:50,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:50,268 INFO L272 TraceCheckUtils]: 8: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,269 INFO L290 TraceCheckUtils]: 11: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,275 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3067#true} {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:50,275 INFO L272 TraceCheckUtils]: 13: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,276 INFO L290 TraceCheckUtils]: 14: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,277 INFO L290 TraceCheckUtils]: 15: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,279 INFO L290 TraceCheckUtils]: 16: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,281 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3067#true} {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:50,281 INFO L272 TraceCheckUtils]: 18: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,281 INFO L290 TraceCheckUtils]: 19: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,282 INFO L290 TraceCheckUtils]: 20: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,282 INFO L290 TraceCheckUtils]: 21: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,283 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3067#true} {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:33:50,284 INFO L290 TraceCheckUtils]: 23: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:33:50,284 INFO L290 TraceCheckUtils]: 24: Hoare triple {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:33:50,285 INFO L290 TraceCheckUtils]: 25: Hoare triple {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:33:50,285 INFO L272 TraceCheckUtils]: 26: Hoare triple {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,285 INFO L290 TraceCheckUtils]: 27: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,287 INFO L290 TraceCheckUtils]: 28: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,287 INFO L290 TraceCheckUtils]: 29: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,288 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3067#true} {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #78#return; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:33:50,288 INFO L272 TraceCheckUtils]: 31: Hoare triple {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,288 INFO L290 TraceCheckUtils]: 33: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,288 INFO L290 TraceCheckUtils]: 34: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,289 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3067#true} {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:33:50,289 INFO L272 TraceCheckUtils]: 36: Hoare triple {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:33:50,289 INFO L290 TraceCheckUtils]: 37: Hoare triple {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3186#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:33:50,290 INFO L290 TraceCheckUtils]: 38: Hoare triple {3186#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3068#false} is VALID [2022-04-28 06:33:50,290 INFO L290 TraceCheckUtils]: 39: Hoare triple {3068#false} assume !false; {3068#false} is VALID [2022-04-28 06:33:50,290 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 06:33:50,290 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:33:50,460 INFO L290 TraceCheckUtils]: 39: Hoare triple {3068#false} assume !false; {3068#false} is VALID [2022-04-28 06:33:50,460 INFO L290 TraceCheckUtils]: 38: Hoare triple {3186#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3068#false} is VALID [2022-04-28 06:33:50,461 INFO L290 TraceCheckUtils]: 37: Hoare triple {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3186#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:33:50,462 INFO L272 TraceCheckUtils]: 36: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:33:50,462 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,463 INFO L290 TraceCheckUtils]: 34: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,463 INFO L290 TraceCheckUtils]: 33: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,463 INFO L290 TraceCheckUtils]: 32: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,463 INFO L272 TraceCheckUtils]: 31: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,464 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,464 INFO L290 TraceCheckUtils]: 29: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,464 INFO L290 TraceCheckUtils]: 28: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,464 INFO L290 TraceCheckUtils]: 27: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,464 INFO L272 TraceCheckUtils]: 26: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,464 INFO L290 TraceCheckUtils]: 25: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post5 < 100);havoc #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,465 INFO L290 TraceCheckUtils]: 24: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,468 INFO L290 TraceCheckUtils]: 23: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,469 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,469 INFO L290 TraceCheckUtils]: 21: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,469 INFO L290 TraceCheckUtils]: 20: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,469 INFO L290 TraceCheckUtils]: 19: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,469 INFO L272 TraceCheckUtils]: 18: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,470 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,470 INFO L290 TraceCheckUtils]: 16: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,470 INFO L290 TraceCheckUtils]: 15: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,470 INFO L290 TraceCheckUtils]: 14: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,470 INFO L272 TraceCheckUtils]: 13: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,471 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,471 INFO L290 TraceCheckUtils]: 11: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,471 INFO L290 TraceCheckUtils]: 10: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-28 06:33:50,471 INFO L290 TraceCheckUtils]: 9: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-28 06:33:50,471 INFO L272 TraceCheckUtils]: 8: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3067#true} is VALID [2022-04-28 06:33:50,472 INFO L290 TraceCheckUtils]: 7: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post5 < 100);havoc #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,472 INFO L290 TraceCheckUtils]: 6: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {3067#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:33:50,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {3067#true} call #t~ret7 := main(); {3067#true} is VALID [2022-04-28 06:33:50,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3067#true} {3067#true} #92#return; {3067#true} is VALID [2022-04-28 06:33:50,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-28 06:33:50,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {3067#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3067#true} is VALID [2022-04-28 06:33:50,473 INFO L272 TraceCheckUtils]: 0: Hoare triple {3067#true} call ULTIMATE.init(); {3067#true} is VALID [2022-04-28 06:33:50,474 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 06:33:50,474 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:50,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1776214352] [2022-04-28 06:33:50,474 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:33:50,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [851039261] [2022-04-28 06:33:50,474 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [851039261] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 06:33:50,474 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:33:50,474 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-28 06:33:50,475 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:50,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [774683525] [2022-04-28 06:33:50,475 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [774683525] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:50,475 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:50,475 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:33:50,475 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [46968678] [2022-04-28 06:33:50,475 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:50,476 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-28 06:33:50,476 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:50,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:50,499 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:50,499 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:33:50,499 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:50,500 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:33:50,500 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 06:33:50,500 INFO L87 Difference]: Start difference. First operand 65 states and 78 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:52,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:52,752 INFO L93 Difference]: Finished difference Result 78 states and 95 transitions. [2022-04-28 06:33:52,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:33:52,752 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-28 06:33:52,753 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:52,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:52,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 06:33:52,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:52,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 06:33:52,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 06:33:52,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:52,802 INFO L225 Difference]: With dead ends: 78 [2022-04-28 06:33:52,802 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 06:33:52,802 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 72 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 06:33:52,803 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 11 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:52,803 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 103 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:33:52,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 06:33:52,853 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 73. [2022-04-28 06:33:52,853 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:52,853 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:33:52,854 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:33:52,854 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:33:52,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:52,857 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-28 06:33:52,857 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-28 06:33:52,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:52,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:52,857 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 76 states. [2022-04-28 06:33:52,858 INFO L87 Difference]: Start difference. First operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 76 states. [2022-04-28 06:33:52,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:52,860 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-28 06:33:52,860 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-28 06:33:52,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:52,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:52,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:52,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:52,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:33:52,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 88 transitions. [2022-04-28 06:33:52,864 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 88 transitions. Word has length 40 [2022-04-28 06:33:52,864 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:52,864 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 88 transitions. [2022-04-28 06:33:52,864 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:33:52,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 88 transitions. [2022-04-28 06:33:52,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:52,965 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 88 transitions. [2022-04-28 06:33:52,966 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 06:33:52,966 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:52,966 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:52,985 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 06:33:53,166 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:53,167 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:53,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:53,167 INFO L85 PathProgramCache]: Analyzing trace with hash 529029787, now seen corresponding path program 1 times [2022-04-28 06:33:53,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:53,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [929083884] [2022-04-28 06:33:57,309 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:33:57,309 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:33:57,309 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:33:57,309 INFO L85 PathProgramCache]: Analyzing trace with hash 529029787, now seen corresponding path program 2 times [2022-04-28 06:33:57,310 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:33:57,310 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [953548974] [2022-04-28 06:33:57,310 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:33:57,310 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:33:57,319 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:33:57,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1235589174] [2022-04-28 06:33:57,320 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:33:57,320 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:57,320 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:33:57,328 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:33:57,351 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 06:33:57,391 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:33:57,391 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:33:57,392 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 06:33:57,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:33:57,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:33:57,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {3769#true} call ULTIMATE.init(); {3769#true} is VALID [2022-04-28 06:33:57,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {3769#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3777#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:57,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {3777#(<= ~counter~0 0)} assume true; {3777#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:57,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3777#(<= ~counter~0 0)} {3769#true} #92#return; {3777#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:57,678 INFO L272 TraceCheckUtils]: 4: Hoare triple {3777#(<= ~counter~0 0)} call #t~ret7 := main(); {3777#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:57,679 INFO L290 TraceCheckUtils]: 5: Hoare triple {3777#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3777#(<= ~counter~0 0)} is VALID [2022-04-28 06:33:57,679 INFO L290 TraceCheckUtils]: 6: Hoare triple {3777#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {3793#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,682 INFO L272 TraceCheckUtils]: 8: Hoare triple {3793#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {3793#(<= ~counter~0 1)} ~cond := #in~cond; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,683 INFO L290 TraceCheckUtils]: 10: Hoare triple {3793#(<= ~counter~0 1)} assume !(0 == ~cond); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,683 INFO L290 TraceCheckUtils]: 11: Hoare triple {3793#(<= ~counter~0 1)} assume true; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,684 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3793#(<= ~counter~0 1)} {3793#(<= ~counter~0 1)} #78#return; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,684 INFO L272 TraceCheckUtils]: 13: Hoare triple {3793#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,684 INFO L290 TraceCheckUtils]: 14: Hoare triple {3793#(<= ~counter~0 1)} ~cond := #in~cond; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {3793#(<= ~counter~0 1)} assume !(0 == ~cond); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,685 INFO L290 TraceCheckUtils]: 16: Hoare triple {3793#(<= ~counter~0 1)} assume true; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,685 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3793#(<= ~counter~0 1)} {3793#(<= ~counter~0 1)} #80#return; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,686 INFO L272 TraceCheckUtils]: 18: Hoare triple {3793#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,686 INFO L290 TraceCheckUtils]: 19: Hoare triple {3793#(<= ~counter~0 1)} ~cond := #in~cond; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,686 INFO L290 TraceCheckUtils]: 20: Hoare triple {3793#(<= ~counter~0 1)} assume !(0 == ~cond); {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,687 INFO L290 TraceCheckUtils]: 21: Hoare triple {3793#(<= ~counter~0 1)} assume true; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,687 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3793#(<= ~counter~0 1)} {3793#(<= ~counter~0 1)} #82#return; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,687 INFO L290 TraceCheckUtils]: 23: Hoare triple {3793#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3793#(<= ~counter~0 1)} is VALID [2022-04-28 06:33:57,688 INFO L290 TraceCheckUtils]: 24: Hoare triple {3793#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {3848#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,689 INFO L272 TraceCheckUtils]: 26: Hoare triple {3848#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,689 INFO L290 TraceCheckUtils]: 27: Hoare triple {3848#(<= ~counter~0 2)} ~cond := #in~cond; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,689 INFO L290 TraceCheckUtils]: 28: Hoare triple {3848#(<= ~counter~0 2)} assume !(0 == ~cond); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,689 INFO L290 TraceCheckUtils]: 29: Hoare triple {3848#(<= ~counter~0 2)} assume true; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,690 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3848#(<= ~counter~0 2)} {3848#(<= ~counter~0 2)} #78#return; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,690 INFO L272 TraceCheckUtils]: 31: Hoare triple {3848#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,691 INFO L290 TraceCheckUtils]: 32: Hoare triple {3848#(<= ~counter~0 2)} ~cond := #in~cond; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,691 INFO L290 TraceCheckUtils]: 33: Hoare triple {3848#(<= ~counter~0 2)} assume !(0 == ~cond); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,691 INFO L290 TraceCheckUtils]: 34: Hoare triple {3848#(<= ~counter~0 2)} assume true; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,692 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3848#(<= ~counter~0 2)} {3848#(<= ~counter~0 2)} #80#return; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,692 INFO L272 TraceCheckUtils]: 36: Hoare triple {3848#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,692 INFO L290 TraceCheckUtils]: 37: Hoare triple {3848#(<= ~counter~0 2)} ~cond := #in~cond; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,693 INFO L290 TraceCheckUtils]: 38: Hoare triple {3848#(<= ~counter~0 2)} assume !(0 == ~cond); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,693 INFO L290 TraceCheckUtils]: 39: Hoare triple {3848#(<= ~counter~0 2)} assume true; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,694 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3848#(<= ~counter~0 2)} {3848#(<= ~counter~0 2)} #82#return; {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,694 INFO L290 TraceCheckUtils]: 41: Hoare triple {3848#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {3848#(<= ~counter~0 2)} is VALID [2022-04-28 06:33:57,695 INFO L290 TraceCheckUtils]: 42: Hoare triple {3848#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3903#(<= |main_#t~post6| 2)} is VALID [2022-04-28 06:33:57,695 INFO L290 TraceCheckUtils]: 43: Hoare triple {3903#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {3770#false} is VALID [2022-04-28 06:33:57,695 INFO L272 TraceCheckUtils]: 44: Hoare triple {3770#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3770#false} is VALID [2022-04-28 06:33:57,695 INFO L290 TraceCheckUtils]: 45: Hoare triple {3770#false} ~cond := #in~cond; {3770#false} is VALID [2022-04-28 06:33:57,695 INFO L290 TraceCheckUtils]: 46: Hoare triple {3770#false} assume !(0 == ~cond); {3770#false} is VALID [2022-04-28 06:33:57,695 INFO L290 TraceCheckUtils]: 47: Hoare triple {3770#false} assume true; {3770#false} is VALID [2022-04-28 06:33:57,696 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3770#false} {3770#false} #88#return; {3770#false} is VALID [2022-04-28 06:33:57,696 INFO L272 TraceCheckUtils]: 49: Hoare triple {3770#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {3770#false} is VALID [2022-04-28 06:33:57,696 INFO L290 TraceCheckUtils]: 50: Hoare triple {3770#false} ~cond := #in~cond; {3770#false} is VALID [2022-04-28 06:33:57,696 INFO L290 TraceCheckUtils]: 51: Hoare triple {3770#false} assume 0 == ~cond; {3770#false} is VALID [2022-04-28 06:33:57,696 INFO L290 TraceCheckUtils]: 52: Hoare triple {3770#false} assume !false; {3770#false} is VALID [2022-04-28 06:33:57,696 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 06:33:57,696 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:33:57,928 INFO L290 TraceCheckUtils]: 52: Hoare triple {3770#false} assume !false; {3770#false} is VALID [2022-04-28 06:33:57,929 INFO L290 TraceCheckUtils]: 51: Hoare triple {3770#false} assume 0 == ~cond; {3770#false} is VALID [2022-04-28 06:33:57,929 INFO L290 TraceCheckUtils]: 50: Hoare triple {3770#false} ~cond := #in~cond; {3770#false} is VALID [2022-04-28 06:33:57,929 INFO L272 TraceCheckUtils]: 49: Hoare triple {3770#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {3770#false} is VALID [2022-04-28 06:33:57,929 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3769#true} {3770#false} #88#return; {3770#false} is VALID [2022-04-28 06:33:57,929 INFO L290 TraceCheckUtils]: 47: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 06:33:57,929 INFO L290 TraceCheckUtils]: 46: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 06:33:57,929 INFO L290 TraceCheckUtils]: 45: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 06:33:57,929 INFO L272 TraceCheckUtils]: 44: Hoare triple {3770#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 06:33:57,930 INFO L290 TraceCheckUtils]: 43: Hoare triple {3961#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {3770#false} is VALID [2022-04-28 06:33:57,930 INFO L290 TraceCheckUtils]: 42: Hoare triple {3965#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3961#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:33:57,931 INFO L290 TraceCheckUtils]: 41: Hoare triple {3965#(< ~counter~0 100)} assume !(~r~0 >= ~d~0); {3965#(< ~counter~0 100)} is VALID [2022-04-28 06:33:57,931 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3769#true} {3965#(< ~counter~0 100)} #82#return; {3965#(< ~counter~0 100)} is VALID [2022-04-28 06:33:57,932 INFO L290 TraceCheckUtils]: 39: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 06:33:57,932 INFO L290 TraceCheckUtils]: 38: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 06:33:57,932 INFO L290 TraceCheckUtils]: 37: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 06:33:57,932 INFO L272 TraceCheckUtils]: 36: Hoare triple {3965#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 06:33:57,933 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3769#true} {3965#(< ~counter~0 100)} #80#return; {3965#(< ~counter~0 100)} is VALID [2022-04-28 06:33:57,933 INFO L290 TraceCheckUtils]: 34: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 06:33:57,933 INFO L290 TraceCheckUtils]: 33: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 06:33:57,933 INFO L290 TraceCheckUtils]: 32: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 06:33:57,933 INFO L272 TraceCheckUtils]: 31: Hoare triple {3965#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 06:33:57,933 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3769#true} {3965#(< ~counter~0 100)} #78#return; {3965#(< ~counter~0 100)} is VALID [2022-04-28 06:33:57,934 INFO L290 TraceCheckUtils]: 29: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 06:33:57,934 INFO L290 TraceCheckUtils]: 28: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 06:33:57,934 INFO L290 TraceCheckUtils]: 27: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 06:33:57,934 INFO L272 TraceCheckUtils]: 26: Hoare triple {3965#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 06:33:57,934 INFO L290 TraceCheckUtils]: 25: Hoare triple {3965#(< ~counter~0 100)} assume !!(#t~post5 < 100);havoc #t~post5; {3965#(< ~counter~0 100)} is VALID [2022-04-28 06:33:57,935 INFO L290 TraceCheckUtils]: 24: Hoare triple {4020#(< ~counter~0 99)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3965#(< ~counter~0 100)} is VALID [2022-04-28 06:33:57,935 INFO L290 TraceCheckUtils]: 23: Hoare triple {4020#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4020#(< ~counter~0 99)} is VALID [2022-04-28 06:33:57,936 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3769#true} {4020#(< ~counter~0 99)} #82#return; {4020#(< ~counter~0 99)} is VALID [2022-04-28 06:33:57,936 INFO L290 TraceCheckUtils]: 21: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 06:33:57,936 INFO L290 TraceCheckUtils]: 20: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 06:33:57,936 INFO L290 TraceCheckUtils]: 19: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 06:33:57,936 INFO L272 TraceCheckUtils]: 18: Hoare triple {4020#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 06:33:57,937 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3769#true} {4020#(< ~counter~0 99)} #80#return; {4020#(< ~counter~0 99)} is VALID [2022-04-28 06:33:57,937 INFO L290 TraceCheckUtils]: 16: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 06:33:57,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 06:33:57,937 INFO L290 TraceCheckUtils]: 14: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 06:33:57,937 INFO L272 TraceCheckUtils]: 13: Hoare triple {4020#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 06:33:57,938 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3769#true} {4020#(< ~counter~0 99)} #78#return; {4020#(< ~counter~0 99)} is VALID [2022-04-28 06:33:57,938 INFO L290 TraceCheckUtils]: 11: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-28 06:33:57,938 INFO L290 TraceCheckUtils]: 10: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-28 06:33:57,938 INFO L290 TraceCheckUtils]: 9: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-28 06:33:57,938 INFO L272 TraceCheckUtils]: 8: Hoare triple {4020#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3769#true} is VALID [2022-04-28 06:33:57,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {4020#(< ~counter~0 99)} assume !!(#t~post5 < 100);havoc #t~post5; {4020#(< ~counter~0 99)} is VALID [2022-04-28 06:33:57,939 INFO L290 TraceCheckUtils]: 6: Hoare triple {4075#(< ~counter~0 98)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4020#(< ~counter~0 99)} is VALID [2022-04-28 06:33:57,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {4075#(< ~counter~0 98)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4075#(< ~counter~0 98)} is VALID [2022-04-28 06:33:57,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {4075#(< ~counter~0 98)} call #t~ret7 := main(); {4075#(< ~counter~0 98)} is VALID [2022-04-28 06:33:57,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4075#(< ~counter~0 98)} {3769#true} #92#return; {4075#(< ~counter~0 98)} is VALID [2022-04-28 06:33:57,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {4075#(< ~counter~0 98)} assume true; {4075#(< ~counter~0 98)} is VALID [2022-04-28 06:33:57,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {3769#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4075#(< ~counter~0 98)} is VALID [2022-04-28 06:33:57,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {3769#true} call ULTIMATE.init(); {3769#true} is VALID [2022-04-28 06:33:57,942 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 06:33:57,942 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:33:57,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [953548974] [2022-04-28 06:33:57,942 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:33:57,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1235589174] [2022-04-28 06:33:57,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1235589174] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:33:57,942 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:33:57,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 06:33:57,943 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:33:57,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [929083884] [2022-04-28 06:33:57,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [929083884] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:33:57,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:33:57,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:33:57,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1429275611] [2022-04-28 06:33:57,943 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:33:57,943 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 53 [2022-04-28 06:33:57,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:33:57,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:33:57,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:57,973 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:33:57,973 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:57,973 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:33:57,974 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:33:57,974 INFO L87 Difference]: Start difference. First operand 73 states and 88 transitions. Second operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:33:58,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:58,189 INFO L93 Difference]: Finished difference Result 104 states and 120 transitions. [2022-04-28 06:33:58,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 06:33:58,190 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 53 [2022-04-28 06:33:58,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:33:58,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:33:58,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2022-04-28 06:33:58,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:33:58,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2022-04-28 06:33:58,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2022-04-28 06:33:58,250 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:58,253 INFO L225 Difference]: With dead ends: 104 [2022-04-28 06:33:58,253 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 06:33:58,254 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:33:58,254 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 4 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:33:58,254 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 155 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:33:58,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 06:33:58,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 91. [2022-04-28 06:33:58,319 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:33:58,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:33:58,320 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:33:58,320 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:33:58,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:58,323 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-28 06:33:58,324 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-28 06:33:58,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:58,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:58,324 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 92 states. [2022-04-28 06:33:58,325 INFO L87 Difference]: Start difference. First operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 92 states. [2022-04-28 06:33:58,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:33:58,327 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-28 06:33:58,327 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-28 06:33:58,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:33:58,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:33:58,328 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:33:58,328 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:33:58,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:33:58,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 107 transitions. [2022-04-28 06:33:58,330 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 107 transitions. Word has length 53 [2022-04-28 06:33:58,331 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:33:58,331 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 107 transitions. [2022-04-28 06:33:58,331 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:33:58,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 107 transitions. [2022-04-28 06:33:58,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:33:58,450 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-28 06:33:58,451 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 06:33:58,451 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:33:58,451 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:33:58,469 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 06:33:58,655 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:33:58,656 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:33:58,656 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:33:58,656 INFO L85 PathProgramCache]: Analyzing trace with hash 1864650262, now seen corresponding path program 3 times [2022-04-28 06:33:58,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:33:58,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [121870496] [2022-04-28 06:34:02,787 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:34:02,787 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:34:02,787 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:34:02,788 INFO L85 PathProgramCache]: Analyzing trace with hash 1864650262, now seen corresponding path program 4 times [2022-04-28 06:34:02,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:34:02,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [707626682] [2022-04-28 06:34:02,788 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:34:02,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:34:02,812 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:34:02,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1766789897] [2022-04-28 06:34:02,812 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:34:02,812 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:34:02,812 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:34:02,816 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:34:02,817 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 06:34:02,867 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:34:02,868 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:34:02,869 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 06:34:02,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:34:02,885 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:34:03,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {4670#true} call ULTIMATE.init(); {4670#true} is VALID [2022-04-28 06:34:03,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {4670#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4678#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:03,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {4678#(<= ~counter~0 0)} assume true; {4678#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:03,114 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4678#(<= ~counter~0 0)} {4670#true} #92#return; {4678#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:03,114 INFO L272 TraceCheckUtils]: 4: Hoare triple {4678#(<= ~counter~0 0)} call #t~ret7 := main(); {4678#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:03,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {4678#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4678#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:03,115 INFO L290 TraceCheckUtils]: 6: Hoare triple {4678#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,115 INFO L290 TraceCheckUtils]: 7: Hoare triple {4694#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,116 INFO L272 TraceCheckUtils]: 8: Hoare triple {4694#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,116 INFO L290 TraceCheckUtils]: 9: Hoare triple {4694#(<= ~counter~0 1)} ~cond := #in~cond; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,116 INFO L290 TraceCheckUtils]: 10: Hoare triple {4694#(<= ~counter~0 1)} assume !(0 == ~cond); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,117 INFO L290 TraceCheckUtils]: 11: Hoare triple {4694#(<= ~counter~0 1)} assume true; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,117 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4694#(<= ~counter~0 1)} {4694#(<= ~counter~0 1)} #78#return; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,118 INFO L272 TraceCheckUtils]: 13: Hoare triple {4694#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,118 INFO L290 TraceCheckUtils]: 14: Hoare triple {4694#(<= ~counter~0 1)} ~cond := #in~cond; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,118 INFO L290 TraceCheckUtils]: 15: Hoare triple {4694#(<= ~counter~0 1)} assume !(0 == ~cond); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,118 INFO L290 TraceCheckUtils]: 16: Hoare triple {4694#(<= ~counter~0 1)} assume true; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,119 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4694#(<= ~counter~0 1)} {4694#(<= ~counter~0 1)} #80#return; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,120 INFO L272 TraceCheckUtils]: 18: Hoare triple {4694#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,120 INFO L290 TraceCheckUtils]: 19: Hoare triple {4694#(<= ~counter~0 1)} ~cond := #in~cond; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,120 INFO L290 TraceCheckUtils]: 20: Hoare triple {4694#(<= ~counter~0 1)} assume !(0 == ~cond); {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,120 INFO L290 TraceCheckUtils]: 21: Hoare triple {4694#(<= ~counter~0 1)} assume true; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,121 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4694#(<= ~counter~0 1)} {4694#(<= ~counter~0 1)} #82#return; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,121 INFO L290 TraceCheckUtils]: 23: Hoare triple {4694#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4694#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:03,122 INFO L290 TraceCheckUtils]: 24: Hoare triple {4694#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,122 INFO L290 TraceCheckUtils]: 25: Hoare triple {4749#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,123 INFO L272 TraceCheckUtils]: 26: Hoare triple {4749#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,123 INFO L290 TraceCheckUtils]: 27: Hoare triple {4749#(<= ~counter~0 2)} ~cond := #in~cond; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,123 INFO L290 TraceCheckUtils]: 28: Hoare triple {4749#(<= ~counter~0 2)} assume !(0 == ~cond); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {4749#(<= ~counter~0 2)} assume true; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,124 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4749#(<= ~counter~0 2)} {4749#(<= ~counter~0 2)} #78#return; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,124 INFO L272 TraceCheckUtils]: 31: Hoare triple {4749#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,125 INFO L290 TraceCheckUtils]: 32: Hoare triple {4749#(<= ~counter~0 2)} ~cond := #in~cond; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,125 INFO L290 TraceCheckUtils]: 33: Hoare triple {4749#(<= ~counter~0 2)} assume !(0 == ~cond); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,125 INFO L290 TraceCheckUtils]: 34: Hoare triple {4749#(<= ~counter~0 2)} assume true; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,126 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4749#(<= ~counter~0 2)} {4749#(<= ~counter~0 2)} #80#return; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,126 INFO L272 TraceCheckUtils]: 36: Hoare triple {4749#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,126 INFO L290 TraceCheckUtils]: 37: Hoare triple {4749#(<= ~counter~0 2)} ~cond := #in~cond; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {4749#(<= ~counter~0 2)} assume !(0 == ~cond); {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,127 INFO L290 TraceCheckUtils]: 39: Hoare triple {4749#(<= ~counter~0 2)} assume true; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,127 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4749#(<= ~counter~0 2)} {4749#(<= ~counter~0 2)} #82#return; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,128 INFO L290 TraceCheckUtils]: 41: Hoare triple {4749#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4749#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:03,128 INFO L290 TraceCheckUtils]: 42: Hoare triple {4749#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4804#(<= |main_#t~post5| 2)} is VALID [2022-04-28 06:34:03,128 INFO L290 TraceCheckUtils]: 43: Hoare triple {4804#(<= |main_#t~post5| 2)} assume !(#t~post5 < 100);havoc #t~post5; {4671#false} is VALID [2022-04-28 06:34:03,128 INFO L290 TraceCheckUtils]: 44: Hoare triple {4671#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4671#false} is VALID [2022-04-28 06:34:03,128 INFO L290 TraceCheckUtils]: 45: Hoare triple {4671#false} assume !(#t~post6 < 100);havoc #t~post6; {4671#false} is VALID [2022-04-28 06:34:03,128 INFO L272 TraceCheckUtils]: 46: Hoare triple {4671#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4671#false} is VALID [2022-04-28 06:34:03,128 INFO L290 TraceCheckUtils]: 47: Hoare triple {4671#false} ~cond := #in~cond; {4671#false} is VALID [2022-04-28 06:34:03,129 INFO L290 TraceCheckUtils]: 48: Hoare triple {4671#false} assume !(0 == ~cond); {4671#false} is VALID [2022-04-28 06:34:03,129 INFO L290 TraceCheckUtils]: 49: Hoare triple {4671#false} assume true; {4671#false} is VALID [2022-04-28 06:34:03,129 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4671#false} {4671#false} #88#return; {4671#false} is VALID [2022-04-28 06:34:03,129 INFO L272 TraceCheckUtils]: 51: Hoare triple {4671#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {4671#false} is VALID [2022-04-28 06:34:03,129 INFO L290 TraceCheckUtils]: 52: Hoare triple {4671#false} ~cond := #in~cond; {4671#false} is VALID [2022-04-28 06:34:03,129 INFO L290 TraceCheckUtils]: 53: Hoare triple {4671#false} assume 0 == ~cond; {4671#false} is VALID [2022-04-28 06:34:03,129 INFO L290 TraceCheckUtils]: 54: Hoare triple {4671#false} assume !false; {4671#false} is VALID [2022-04-28 06:34:03,129 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 36 proven. 46 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 06:34:03,129 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:34:03,411 INFO L290 TraceCheckUtils]: 54: Hoare triple {4671#false} assume !false; {4671#false} is VALID [2022-04-28 06:34:03,411 INFO L290 TraceCheckUtils]: 53: Hoare triple {4671#false} assume 0 == ~cond; {4671#false} is VALID [2022-04-28 06:34:03,411 INFO L290 TraceCheckUtils]: 52: Hoare triple {4671#false} ~cond := #in~cond; {4671#false} is VALID [2022-04-28 06:34:03,411 INFO L272 TraceCheckUtils]: 51: Hoare triple {4671#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {4671#false} is VALID [2022-04-28 06:34:03,411 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4670#true} {4671#false} #88#return; {4671#false} is VALID [2022-04-28 06:34:03,411 INFO L290 TraceCheckUtils]: 49: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 06:34:03,411 INFO L290 TraceCheckUtils]: 48: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 06:34:03,411 INFO L290 TraceCheckUtils]: 47: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 06:34:03,411 INFO L272 TraceCheckUtils]: 46: Hoare triple {4671#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 06:34:03,411 INFO L290 TraceCheckUtils]: 45: Hoare triple {4671#false} assume !(#t~post6 < 100);havoc #t~post6; {4671#false} is VALID [2022-04-28 06:34:03,411 INFO L290 TraceCheckUtils]: 44: Hoare triple {4671#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4671#false} is VALID [2022-04-28 06:34:03,412 INFO L290 TraceCheckUtils]: 43: Hoare triple {4874#(< |main_#t~post5| 100)} assume !(#t~post5 < 100);havoc #t~post5; {4671#false} is VALID [2022-04-28 06:34:03,412 INFO L290 TraceCheckUtils]: 42: Hoare triple {4878#(< ~counter~0 100)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4874#(< |main_#t~post5| 100)} is VALID [2022-04-28 06:34:03,412 INFO L290 TraceCheckUtils]: 41: Hoare triple {4878#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4878#(< ~counter~0 100)} is VALID [2022-04-28 06:34:03,413 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4670#true} {4878#(< ~counter~0 100)} #82#return; {4878#(< ~counter~0 100)} is VALID [2022-04-28 06:34:03,413 INFO L290 TraceCheckUtils]: 39: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 06:34:03,413 INFO L290 TraceCheckUtils]: 38: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 06:34:03,413 INFO L290 TraceCheckUtils]: 37: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 06:34:03,413 INFO L272 TraceCheckUtils]: 36: Hoare triple {4878#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 06:34:03,413 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4670#true} {4878#(< ~counter~0 100)} #80#return; {4878#(< ~counter~0 100)} is VALID [2022-04-28 06:34:03,413 INFO L290 TraceCheckUtils]: 34: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 06:34:03,413 INFO L290 TraceCheckUtils]: 33: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 06:34:03,414 INFO L290 TraceCheckUtils]: 32: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 06:34:03,414 INFO L272 TraceCheckUtils]: 31: Hoare triple {4878#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 06:34:03,414 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4670#true} {4878#(< ~counter~0 100)} #78#return; {4878#(< ~counter~0 100)} is VALID [2022-04-28 06:34:03,414 INFO L290 TraceCheckUtils]: 29: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 06:34:03,414 INFO L290 TraceCheckUtils]: 28: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 06:34:03,414 INFO L290 TraceCheckUtils]: 27: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 06:34:03,414 INFO L272 TraceCheckUtils]: 26: Hoare triple {4878#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 06:34:03,414 INFO L290 TraceCheckUtils]: 25: Hoare triple {4878#(< ~counter~0 100)} assume !!(#t~post5 < 100);havoc #t~post5; {4878#(< ~counter~0 100)} is VALID [2022-04-28 06:34:03,415 INFO L290 TraceCheckUtils]: 24: Hoare triple {4933#(< ~counter~0 99)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4878#(< ~counter~0 100)} is VALID [2022-04-28 06:34:03,415 INFO L290 TraceCheckUtils]: 23: Hoare triple {4933#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4933#(< ~counter~0 99)} is VALID [2022-04-28 06:34:03,416 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4670#true} {4933#(< ~counter~0 99)} #82#return; {4933#(< ~counter~0 99)} is VALID [2022-04-28 06:34:03,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 06:34:03,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 06:34:03,416 INFO L290 TraceCheckUtils]: 19: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 06:34:03,416 INFO L272 TraceCheckUtils]: 18: Hoare triple {4933#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 06:34:03,418 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4670#true} {4933#(< ~counter~0 99)} #80#return; {4933#(< ~counter~0 99)} is VALID [2022-04-28 06:34:03,418 INFO L290 TraceCheckUtils]: 16: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 06:34:03,418 INFO L290 TraceCheckUtils]: 15: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 06:34:03,418 INFO L290 TraceCheckUtils]: 14: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 06:34:03,418 INFO L272 TraceCheckUtils]: 13: Hoare triple {4933#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 06:34:03,419 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4670#true} {4933#(< ~counter~0 99)} #78#return; {4933#(< ~counter~0 99)} is VALID [2022-04-28 06:34:03,419 INFO L290 TraceCheckUtils]: 11: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-28 06:34:03,419 INFO L290 TraceCheckUtils]: 10: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-28 06:34:03,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-28 06:34:03,419 INFO L272 TraceCheckUtils]: 8: Hoare triple {4933#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4670#true} is VALID [2022-04-28 06:34:03,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {4933#(< ~counter~0 99)} assume !!(#t~post5 < 100);havoc #t~post5; {4933#(< ~counter~0 99)} is VALID [2022-04-28 06:34:03,420 INFO L290 TraceCheckUtils]: 6: Hoare triple {4988#(< ~counter~0 98)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4933#(< ~counter~0 99)} is VALID [2022-04-28 06:34:03,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {4988#(< ~counter~0 98)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4988#(< ~counter~0 98)} is VALID [2022-04-28 06:34:03,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {4988#(< ~counter~0 98)} call #t~ret7 := main(); {4988#(< ~counter~0 98)} is VALID [2022-04-28 06:34:03,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4988#(< ~counter~0 98)} {4670#true} #92#return; {4988#(< ~counter~0 98)} is VALID [2022-04-28 06:34:03,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {4988#(< ~counter~0 98)} assume true; {4988#(< ~counter~0 98)} is VALID [2022-04-28 06:34:03,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {4670#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4988#(< ~counter~0 98)} is VALID [2022-04-28 06:34:03,422 INFO L272 TraceCheckUtils]: 0: Hoare triple {4670#true} call ULTIMATE.init(); {4670#true} is VALID [2022-04-28 06:34:03,422 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 14 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 06:34:03,422 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:34:03,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [707626682] [2022-04-28 06:34:03,423 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:34:03,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1766789897] [2022-04-28 06:34:03,423 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1766789897] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:34:03,423 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:34:03,423 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 06:34:03,423 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:34:03,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [121870496] [2022-04-28 06:34:03,423 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [121870496] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:34:03,423 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:34:03,423 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:34:03,423 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [25362379] [2022-04-28 06:34:03,424 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:34:03,424 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 55 [2022-04-28 06:34:03,424 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:34:03,424 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:34:03,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:03,458 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:34:03,458 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:34:03,458 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:34:03,458 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:34:03,459 INFO L87 Difference]: Start difference. First operand 91 states and 107 transitions. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:34:03,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:03,657 INFO L93 Difference]: Finished difference Result 126 states and 155 transitions. [2022-04-28 06:34:03,657 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:34:03,657 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 55 [2022-04-28 06:34:03,657 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:34:03,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:34:03,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 84 transitions. [2022-04-28 06:34:03,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:34:03,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 84 transitions. [2022-04-28 06:34:03,661 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 84 transitions. [2022-04-28 06:34:03,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:03,723 INFO L225 Difference]: With dead ends: 126 [2022-04-28 06:34:03,723 INFO L226 Difference]: Without dead ends: 93 [2022-04-28 06:34:03,723 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:34:03,724 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 5 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 35 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:34:03,724 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 115 Invalid, 35 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:34:03,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-28 06:34:03,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 93. [2022-04-28 06:34:03,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:34:03,790 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:34:03,790 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:34:03,790 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:34:03,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:03,793 INFO L93 Difference]: Finished difference Result 93 states and 109 transitions. [2022-04-28 06:34:03,793 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 109 transitions. [2022-04-28 06:34:03,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:34:03,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:34:03,793 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 93 states. [2022-04-28 06:34:03,794 INFO L87 Difference]: Start difference. First operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 93 states. [2022-04-28 06:34:03,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:03,796 INFO L93 Difference]: Finished difference Result 93 states and 109 transitions. [2022-04-28 06:34:03,796 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 109 transitions. [2022-04-28 06:34:03,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:34:03,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:34:03,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:34:03,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:34:03,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:34:03,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 109 transitions. [2022-04-28 06:34:03,799 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 109 transitions. Word has length 55 [2022-04-28 06:34:03,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:34:03,799 INFO L495 AbstractCegarLoop]: Abstraction has 93 states and 109 transitions. [2022-04-28 06:34:03,799 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 06:34:03,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 109 transitions. [2022-04-28 06:34:03,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:03,919 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 109 transitions. [2022-04-28 06:34:03,920 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 06:34:03,920 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:34:03,920 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:34:03,939 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 06:34:04,135 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:34:04,136 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:34:04,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:34:04,136 INFO L85 PathProgramCache]: Analyzing trace with hash -43330764, now seen corresponding path program 1 times [2022-04-28 06:34:04,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:34:04,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [771328366] [2022-04-28 06:34:08,287 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:34:08,287 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:34:08,288 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:34:08,288 INFO L85 PathProgramCache]: Analyzing trace with hash -43330764, now seen corresponding path program 2 times [2022-04-28 06:34:08,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:34:08,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1098776489] [2022-04-28 06:34:08,288 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:34:08,288 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:34:08,308 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:34:08,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2021417378] [2022-04-28 06:34:08,309 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:34:08,309 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:34:08,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:34:08,310 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:34:08,311 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 06:34:08,363 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:34:08,363 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:34:08,364 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 06:34:08,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:34:08,379 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:34:08,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {5637#true} call ULTIMATE.init(); {5637#true} is VALID [2022-04-28 06:34:08,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {5637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5645#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:08,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {5645#(<= ~counter~0 0)} assume true; {5645#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:08,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5645#(<= ~counter~0 0)} {5637#true} #92#return; {5645#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:08,670 INFO L272 TraceCheckUtils]: 4: Hoare triple {5645#(<= ~counter~0 0)} call #t~ret7 := main(); {5645#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:08,670 INFO L290 TraceCheckUtils]: 5: Hoare triple {5645#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5645#(<= ~counter~0 0)} is VALID [2022-04-28 06:34:08,671 INFO L290 TraceCheckUtils]: 6: Hoare triple {5645#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {5661#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,672 INFO L272 TraceCheckUtils]: 8: Hoare triple {5661#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,672 INFO L290 TraceCheckUtils]: 9: Hoare triple {5661#(<= ~counter~0 1)} ~cond := #in~cond; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,672 INFO L290 TraceCheckUtils]: 10: Hoare triple {5661#(<= ~counter~0 1)} assume !(0 == ~cond); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {5661#(<= ~counter~0 1)} assume true; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,673 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5661#(<= ~counter~0 1)} {5661#(<= ~counter~0 1)} #78#return; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,673 INFO L272 TraceCheckUtils]: 13: Hoare triple {5661#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {5661#(<= ~counter~0 1)} ~cond := #in~cond; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {5661#(<= ~counter~0 1)} assume !(0 == ~cond); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {5661#(<= ~counter~0 1)} assume true; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,674 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5661#(<= ~counter~0 1)} {5661#(<= ~counter~0 1)} #80#return; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,675 INFO L272 TraceCheckUtils]: 18: Hoare triple {5661#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {5661#(<= ~counter~0 1)} ~cond := #in~cond; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {5661#(<= ~counter~0 1)} assume !(0 == ~cond); {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {5661#(<= ~counter~0 1)} assume true; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,676 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5661#(<= ~counter~0 1)} {5661#(<= ~counter~0 1)} #82#return; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {5661#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5661#(<= ~counter~0 1)} is VALID [2022-04-28 06:34:08,677 INFO L290 TraceCheckUtils]: 24: Hoare triple {5661#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {5716#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,678 INFO L272 TraceCheckUtils]: 26: Hoare triple {5716#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,678 INFO L290 TraceCheckUtils]: 27: Hoare triple {5716#(<= ~counter~0 2)} ~cond := #in~cond; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,678 INFO L290 TraceCheckUtils]: 28: Hoare triple {5716#(<= ~counter~0 2)} assume !(0 == ~cond); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,678 INFO L290 TraceCheckUtils]: 29: Hoare triple {5716#(<= ~counter~0 2)} assume true; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,679 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {5716#(<= ~counter~0 2)} {5716#(<= ~counter~0 2)} #78#return; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,679 INFO L272 TraceCheckUtils]: 31: Hoare triple {5716#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,679 INFO L290 TraceCheckUtils]: 32: Hoare triple {5716#(<= ~counter~0 2)} ~cond := #in~cond; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,680 INFO L290 TraceCheckUtils]: 33: Hoare triple {5716#(<= ~counter~0 2)} assume !(0 == ~cond); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,680 INFO L290 TraceCheckUtils]: 34: Hoare triple {5716#(<= ~counter~0 2)} assume true; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,680 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5716#(<= ~counter~0 2)} {5716#(<= ~counter~0 2)} #80#return; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,681 INFO L272 TraceCheckUtils]: 36: Hoare triple {5716#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,681 INFO L290 TraceCheckUtils]: 37: Hoare triple {5716#(<= ~counter~0 2)} ~cond := #in~cond; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,681 INFO L290 TraceCheckUtils]: 38: Hoare triple {5716#(<= ~counter~0 2)} assume !(0 == ~cond); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,682 INFO L290 TraceCheckUtils]: 39: Hoare triple {5716#(<= ~counter~0 2)} assume true; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,682 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5716#(<= ~counter~0 2)} {5716#(<= ~counter~0 2)} #82#return; {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,682 INFO L290 TraceCheckUtils]: 41: Hoare triple {5716#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {5716#(<= ~counter~0 2)} is VALID [2022-04-28 06:34:08,683 INFO L290 TraceCheckUtils]: 42: Hoare triple {5716#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,683 INFO L290 TraceCheckUtils]: 43: Hoare triple {5771#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,684 INFO L272 TraceCheckUtils]: 44: Hoare triple {5771#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,685 INFO L290 TraceCheckUtils]: 45: Hoare triple {5771#(<= ~counter~0 3)} ~cond := #in~cond; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,685 INFO L290 TraceCheckUtils]: 46: Hoare triple {5771#(<= ~counter~0 3)} assume !(0 == ~cond); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,685 INFO L290 TraceCheckUtils]: 47: Hoare triple {5771#(<= ~counter~0 3)} assume true; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,686 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5771#(<= ~counter~0 3)} {5771#(<= ~counter~0 3)} #84#return; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,686 INFO L272 TraceCheckUtils]: 49: Hoare triple {5771#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,686 INFO L290 TraceCheckUtils]: 50: Hoare triple {5771#(<= ~counter~0 3)} ~cond := #in~cond; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,687 INFO L290 TraceCheckUtils]: 51: Hoare triple {5771#(<= ~counter~0 3)} assume !(0 == ~cond); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,687 INFO L290 TraceCheckUtils]: 52: Hoare triple {5771#(<= ~counter~0 3)} assume true; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,687 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5771#(<= ~counter~0 3)} {5771#(<= ~counter~0 3)} #86#return; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,688 INFO L290 TraceCheckUtils]: 54: Hoare triple {5771#(<= ~counter~0 3)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,689 INFO L290 TraceCheckUtils]: 55: Hoare triple {5771#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5771#(<= ~counter~0 3)} is VALID [2022-04-28 06:34:08,689 INFO L290 TraceCheckUtils]: 56: Hoare triple {5771#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5814#(<= |main_#t~post6| 3)} is VALID [2022-04-28 06:34:08,689 INFO L290 TraceCheckUtils]: 57: Hoare triple {5814#(<= |main_#t~post6| 3)} assume !(#t~post6 < 100);havoc #t~post6; {5638#false} is VALID [2022-04-28 06:34:08,690 INFO L272 TraceCheckUtils]: 58: Hoare triple {5638#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5638#false} is VALID [2022-04-28 06:34:08,690 INFO L290 TraceCheckUtils]: 59: Hoare triple {5638#false} ~cond := #in~cond; {5638#false} is VALID [2022-04-28 06:34:08,690 INFO L290 TraceCheckUtils]: 60: Hoare triple {5638#false} assume 0 == ~cond; {5638#false} is VALID [2022-04-28 06:34:08,690 INFO L290 TraceCheckUtils]: 61: Hoare triple {5638#false} assume !false; {5638#false} is VALID [2022-04-28 06:34:08,690 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 92 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 06:34:08,690 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:34:08,995 INFO L290 TraceCheckUtils]: 61: Hoare triple {5638#false} assume !false; {5638#false} is VALID [2022-04-28 06:34:08,995 INFO L290 TraceCheckUtils]: 60: Hoare triple {5638#false} assume 0 == ~cond; {5638#false} is VALID [2022-04-28 06:34:08,995 INFO L290 TraceCheckUtils]: 59: Hoare triple {5638#false} ~cond := #in~cond; {5638#false} is VALID [2022-04-28 06:34:08,995 INFO L272 TraceCheckUtils]: 58: Hoare triple {5638#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5638#false} is VALID [2022-04-28 06:34:08,995 INFO L290 TraceCheckUtils]: 57: Hoare triple {5842#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {5638#false} is VALID [2022-04-28 06:34:08,996 INFO L290 TraceCheckUtils]: 56: Hoare triple {5846#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5842#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:34:08,996 INFO L290 TraceCheckUtils]: 55: Hoare triple {5846#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5846#(< ~counter~0 100)} is VALID [2022-04-28 06:34:08,996 INFO L290 TraceCheckUtils]: 54: Hoare triple {5846#(< ~counter~0 100)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5846#(< ~counter~0 100)} is VALID [2022-04-28 06:34:08,997 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5637#true} {5846#(< ~counter~0 100)} #86#return; {5846#(< ~counter~0 100)} is VALID [2022-04-28 06:34:08,997 INFO L290 TraceCheckUtils]: 52: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 06:34:08,997 INFO L290 TraceCheckUtils]: 51: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 06:34:08,997 INFO L290 TraceCheckUtils]: 50: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 06:34:08,997 INFO L272 TraceCheckUtils]: 49: Hoare triple {5846#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 06:34:08,997 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5637#true} {5846#(< ~counter~0 100)} #84#return; {5846#(< ~counter~0 100)} is VALID [2022-04-28 06:34:08,997 INFO L290 TraceCheckUtils]: 47: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 06:34:08,998 INFO L290 TraceCheckUtils]: 46: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 06:34:08,998 INFO L290 TraceCheckUtils]: 45: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 06:34:08,998 INFO L272 TraceCheckUtils]: 44: Hoare triple {5846#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 06:34:08,998 INFO L290 TraceCheckUtils]: 43: Hoare triple {5846#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {5846#(< ~counter~0 100)} is VALID [2022-04-28 06:34:08,998 INFO L290 TraceCheckUtils]: 42: Hoare triple {5889#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5846#(< ~counter~0 100)} is VALID [2022-04-28 06:34:08,999 INFO L290 TraceCheckUtils]: 41: Hoare triple {5889#(< ~counter~0 99)} assume !(~r~0 >= ~d~0); {5889#(< ~counter~0 99)} is VALID [2022-04-28 06:34:08,999 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5637#true} {5889#(< ~counter~0 99)} #82#return; {5889#(< ~counter~0 99)} is VALID [2022-04-28 06:34:08,999 INFO L290 TraceCheckUtils]: 39: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 06:34:08,999 INFO L290 TraceCheckUtils]: 38: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 06:34:08,999 INFO L290 TraceCheckUtils]: 37: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 06:34:08,999 INFO L272 TraceCheckUtils]: 36: Hoare triple {5889#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 06:34:09,000 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5637#true} {5889#(< ~counter~0 99)} #80#return; {5889#(< ~counter~0 99)} is VALID [2022-04-28 06:34:09,000 INFO L290 TraceCheckUtils]: 34: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 06:34:09,000 INFO L290 TraceCheckUtils]: 33: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 06:34:09,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 06:34:09,000 INFO L272 TraceCheckUtils]: 31: Hoare triple {5889#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 06:34:09,001 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {5637#true} {5889#(< ~counter~0 99)} #78#return; {5889#(< ~counter~0 99)} is VALID [2022-04-28 06:34:09,001 INFO L290 TraceCheckUtils]: 29: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 06:34:09,001 INFO L290 TraceCheckUtils]: 28: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 06:34:09,001 INFO L290 TraceCheckUtils]: 27: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 06:34:09,001 INFO L272 TraceCheckUtils]: 26: Hoare triple {5889#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 06:34:09,001 INFO L290 TraceCheckUtils]: 25: Hoare triple {5889#(< ~counter~0 99)} assume !!(#t~post5 < 100);havoc #t~post5; {5889#(< ~counter~0 99)} is VALID [2022-04-28 06:34:09,002 INFO L290 TraceCheckUtils]: 24: Hoare triple {5944#(< ~counter~0 98)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5889#(< ~counter~0 99)} is VALID [2022-04-28 06:34:09,002 INFO L290 TraceCheckUtils]: 23: Hoare triple {5944#(< ~counter~0 98)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5944#(< ~counter~0 98)} is VALID [2022-04-28 06:34:09,002 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5637#true} {5944#(< ~counter~0 98)} #82#return; {5944#(< ~counter~0 98)} is VALID [2022-04-28 06:34:09,002 INFO L290 TraceCheckUtils]: 21: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 06:34:09,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 06:34:09,003 INFO L290 TraceCheckUtils]: 19: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 06:34:09,003 INFO L272 TraceCheckUtils]: 18: Hoare triple {5944#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 06:34:09,003 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5637#true} {5944#(< ~counter~0 98)} #80#return; {5944#(< ~counter~0 98)} is VALID [2022-04-28 06:34:09,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 06:34:09,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 06:34:09,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 06:34:09,003 INFO L272 TraceCheckUtils]: 13: Hoare triple {5944#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 06:34:09,004 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5637#true} {5944#(< ~counter~0 98)} #78#return; {5944#(< ~counter~0 98)} is VALID [2022-04-28 06:34:09,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-28 06:34:09,004 INFO L290 TraceCheckUtils]: 10: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-28 06:34:09,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-28 06:34:09,004 INFO L272 TraceCheckUtils]: 8: Hoare triple {5944#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5637#true} is VALID [2022-04-28 06:34:09,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {5944#(< ~counter~0 98)} assume !!(#t~post5 < 100);havoc #t~post5; {5944#(< ~counter~0 98)} is VALID [2022-04-28 06:34:09,005 INFO L290 TraceCheckUtils]: 6: Hoare triple {5999#(< ~counter~0 97)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5944#(< ~counter~0 98)} is VALID [2022-04-28 06:34:09,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {5999#(< ~counter~0 97)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5999#(< ~counter~0 97)} is VALID [2022-04-28 06:34:09,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {5999#(< ~counter~0 97)} call #t~ret7 := main(); {5999#(< ~counter~0 97)} is VALID [2022-04-28 06:34:09,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5999#(< ~counter~0 97)} {5637#true} #92#return; {5999#(< ~counter~0 97)} is VALID [2022-04-28 06:34:09,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {5999#(< ~counter~0 97)} assume true; {5999#(< ~counter~0 97)} is VALID [2022-04-28 06:34:09,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {5637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5999#(< ~counter~0 97)} is VALID [2022-04-28 06:34:09,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {5637#true} call ULTIMATE.init(); {5637#true} is VALID [2022-04-28 06:34:09,006 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:34:09,007 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:34:09,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1098776489] [2022-04-28 06:34:09,007 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:34:09,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2021417378] [2022-04-28 06:34:09,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2021417378] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:34:09,007 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:34:09,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 06:34:09,007 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:34:09,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [771328366] [2022-04-28 06:34:09,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [771328366] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:34:09,007 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:34:09,008 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:34:09,008 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [271739412] [2022-04-28 06:34:09,008 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:34:09,008 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 62 [2022-04-28 06:34:09,008 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:34:09,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:34:09,043 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:09,044 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 06:34:09,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:34:09,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 06:34:09,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:34:09,044 INFO L87 Difference]: Start difference. First operand 93 states and 109 transitions. Second operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:34:09,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:09,411 INFO L93 Difference]: Finished difference Result 145 states and 168 transitions. [2022-04-28 06:34:09,411 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:34:09,412 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 62 [2022-04-28 06:34:09,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:34:09,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:34:09,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 101 transitions. [2022-04-28 06:34:09,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:34:09,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 101 transitions. [2022-04-28 06:34:09,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 101 transitions. [2022-04-28 06:34:09,498 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:09,500 INFO L225 Difference]: With dead ends: 145 [2022-04-28 06:34:09,501 INFO L226 Difference]: Without dead ends: 130 [2022-04-28 06:34:09,501 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2022-04-28 06:34:09,501 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 23 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:34:09,501 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 190 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:34:09,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-28 06:34:09,602 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 127. [2022-04-28 06:34:09,602 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:34:09,602 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 06:34:09,603 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 06:34:09,603 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 06:34:09,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:09,606 INFO L93 Difference]: Finished difference Result 130 states and 150 transitions. [2022-04-28 06:34:09,606 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 150 transitions. [2022-04-28 06:34:09,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:34:09,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:34:09,607 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 130 states. [2022-04-28 06:34:09,607 INFO L87 Difference]: Start difference. First operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 130 states. [2022-04-28 06:34:09,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:09,610 INFO L93 Difference]: Finished difference Result 130 states and 150 transitions. [2022-04-28 06:34:09,610 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 150 transitions. [2022-04-28 06:34:09,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:34:09,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:34:09,611 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:34:09,611 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:34:09,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 06:34:09,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 148 transitions. [2022-04-28 06:34:09,614 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 148 transitions. Word has length 62 [2022-04-28 06:34:09,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:34:09,614 INFO L495 AbstractCegarLoop]: Abstraction has 127 states and 148 transitions. [2022-04-28 06:34:09,614 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:34:09,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 148 transitions. [2022-04-28 06:34:09,802 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:09,803 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 148 transitions. [2022-04-28 06:34:09,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 06:34:09,803 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:34:09,803 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:34:09,830 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 06:34:10,004 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 06:34:10,004 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:34:10,005 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:34:10,005 INFO L85 PathProgramCache]: Analyzing trace with hash -41602886, now seen corresponding path program 1 times [2022-04-28 06:34:10,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:34:10,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2085595799] [2022-04-28 06:34:14,106 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:34:14,107 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:34:14,107 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:34:14,107 INFO L85 PathProgramCache]: Analyzing trace with hash -41602886, now seen corresponding path program 2 times [2022-04-28 06:34:14,107 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:34:14,107 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1603408222] [2022-04-28 06:34:14,107 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:34:14,107 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:34:14,118 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:34:14,118 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1960530299] [2022-04-28 06:34:14,118 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:34:14,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:34:14,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:34:14,128 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:34:14,157 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 06:34:14,187 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:34:14,187 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:34:14,188 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 06:34:14,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:34:14,202 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:34:14,679 INFO L272 TraceCheckUtils]: 0: Hoare triple {6826#true} call ULTIMATE.init(); {6826#true} is VALID [2022-04-28 06:34:14,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {6826#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6826#true} is VALID [2022-04-28 06:34:14,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:14,679 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6826#true} {6826#true} #92#return; {6826#true} is VALID [2022-04-28 06:34:14,679 INFO L272 TraceCheckUtils]: 4: Hoare triple {6826#true} call #t~ret7 := main(); {6826#true} is VALID [2022-04-28 06:34:14,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {6826#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:34:14,680 INFO L290 TraceCheckUtils]: 6: Hoare triple {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:34:14,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:34:14,680 INFO L272 TraceCheckUtils]: 8: Hoare triple {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:14,681 INFO L290 TraceCheckUtils]: 9: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:14,681 INFO L290 TraceCheckUtils]: 10: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:14,681 INFO L290 TraceCheckUtils]: 11: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:14,681 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6826#true} {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:34:14,681 INFO L272 TraceCheckUtils]: 13: Hoare triple {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:14,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:14,681 INFO L290 TraceCheckUtils]: 15: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:14,682 INFO L290 TraceCheckUtils]: 16: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:14,682 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6826#true} {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:34:14,682 INFO L272 TraceCheckUtils]: 18: Hoare triple {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:14,682 INFO L290 TraceCheckUtils]: 19: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:14,682 INFO L290 TraceCheckUtils]: 20: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:14,682 INFO L290 TraceCheckUtils]: 21: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:14,683 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6826#true} {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:34:14,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,684 INFO L290 TraceCheckUtils]: 24: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,684 INFO L290 TraceCheckUtils]: 25: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,684 INFO L272 TraceCheckUtils]: 26: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:14,684 INFO L290 TraceCheckUtils]: 27: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:14,684 INFO L290 TraceCheckUtils]: 28: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:14,684 INFO L290 TraceCheckUtils]: 29: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:14,685 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6826#true} {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,685 INFO L272 TraceCheckUtils]: 31: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:14,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:14,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:14,685 INFO L290 TraceCheckUtils]: 34: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:14,686 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6826#true} {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,687 INFO L272 TraceCheckUtils]: 36: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:14,687 INFO L290 TraceCheckUtils]: 37: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:14,687 INFO L290 TraceCheckUtils]: 38: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:14,687 INFO L290 TraceCheckUtils]: 39: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:14,687 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6826#true} {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,688 INFO L290 TraceCheckUtils]: 41: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,688 INFO L290 TraceCheckUtils]: 42: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,688 INFO L290 TraceCheckUtils]: 43: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,688 INFO L272 TraceCheckUtils]: 44: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:14,689 INFO L290 TraceCheckUtils]: 45: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:14,689 INFO L290 TraceCheckUtils]: 46: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:14,689 INFO L290 TraceCheckUtils]: 47: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:14,689 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6826#true} {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,689 INFO L272 TraceCheckUtils]: 49: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:14,689 INFO L290 TraceCheckUtils]: 50: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:14,689 INFO L290 TraceCheckUtils]: 51: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:14,689 INFO L290 TraceCheckUtils]: 52: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:14,690 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {6826#true} {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:34:14,690 INFO L290 TraceCheckUtils]: 54: Hoare triple {6901#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:34:14,691 INFO L290 TraceCheckUtils]: 55: Hoare triple {6846#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-28 06:34:14,691 INFO L290 TraceCheckUtils]: 56: Hoare triple {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-28 06:34:14,692 INFO L290 TraceCheckUtils]: 57: Hoare triple {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-28 06:34:14,692 INFO L272 TraceCheckUtils]: 58: Hoare triple {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:34:14,693 INFO L290 TraceCheckUtils]: 59: Hoare triple {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:34:14,693 INFO L290 TraceCheckUtils]: 60: Hoare triple {7012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6827#false} is VALID [2022-04-28 06:34:14,693 INFO L290 TraceCheckUtils]: 61: Hoare triple {6827#false} assume !false; {6827#false} is VALID [2022-04-28 06:34:14,693 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:34:14,693 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:34:16,112 INFO L290 TraceCheckUtils]: 61: Hoare triple {6827#false} assume !false; {6827#false} is VALID [2022-04-28 06:34:16,113 INFO L290 TraceCheckUtils]: 60: Hoare triple {7012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6827#false} is VALID [2022-04-28 06:34:16,113 INFO L290 TraceCheckUtils]: 59: Hoare triple {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:34:16,114 INFO L272 TraceCheckUtils]: 58: Hoare triple {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:34:16,114 INFO L290 TraceCheckUtils]: 57: Hoare triple {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 100);havoc #t~post6; {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:34:16,115 INFO L290 TraceCheckUtils]: 56: Hoare triple {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:34:16,129 INFO L290 TraceCheckUtils]: 55: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:34:16,152 INFO L290 TraceCheckUtils]: 54: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 06:34:16,154 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {6826#true} {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,154 INFO L290 TraceCheckUtils]: 52: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:16,154 INFO L290 TraceCheckUtils]: 51: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:16,154 INFO L290 TraceCheckUtils]: 50: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:16,154 INFO L272 TraceCheckUtils]: 49: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:16,155 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6826#true} {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,155 INFO L290 TraceCheckUtils]: 47: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:16,155 INFO L290 TraceCheckUtils]: 46: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:16,155 INFO L290 TraceCheckUtils]: 45: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:16,155 INFO L272 TraceCheckUtils]: 44: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:16,157 INFO L290 TraceCheckUtils]: 43: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(#t~post6 < 100);havoc #t~post6; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,158 INFO L290 TraceCheckUtils]: 42: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,159 INFO L290 TraceCheckUtils]: 41: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,160 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6826#true} {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #82#return; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,160 INFO L290 TraceCheckUtils]: 39: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:16,160 INFO L290 TraceCheckUtils]: 38: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:16,160 INFO L290 TraceCheckUtils]: 37: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:16,160 INFO L272 TraceCheckUtils]: 36: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:16,161 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6826#true} {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #80#return; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,161 INFO L290 TraceCheckUtils]: 34: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:16,161 INFO L290 TraceCheckUtils]: 33: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:16,161 INFO L290 TraceCheckUtils]: 32: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:16,161 INFO L272 TraceCheckUtils]: 31: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:16,162 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6826#true} {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #78#return; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,162 INFO L290 TraceCheckUtils]: 29: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:16,162 INFO L290 TraceCheckUtils]: 28: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:16,162 INFO L290 TraceCheckUtils]: 27: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:16,162 INFO L272 TraceCheckUtils]: 26: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:16,164 INFO L290 TraceCheckUtils]: 25: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(#t~post5 < 100);havoc #t~post5; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,165 INFO L290 TraceCheckUtils]: 24: Hoare triple {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,173 INFO L290 TraceCheckUtils]: 23: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7042#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:34:16,174 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6826#true} {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 06:34:16,174 INFO L290 TraceCheckUtils]: 21: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:16,174 INFO L290 TraceCheckUtils]: 20: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:16,175 INFO L290 TraceCheckUtils]: 19: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:16,175 INFO L272 TraceCheckUtils]: 18: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:16,175 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6826#true} {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 06:34:16,175 INFO L290 TraceCheckUtils]: 16: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:16,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:16,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:16,176 INFO L272 TraceCheckUtils]: 13: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:16,176 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6826#true} {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #78#return; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 06:34:16,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:16,176 INFO L290 TraceCheckUtils]: 10: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-28 06:34:16,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-28 06:34:16,177 INFO L272 TraceCheckUtils]: 8: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6826#true} is VALID [2022-04-28 06:34:16,177 INFO L290 TraceCheckUtils]: 7: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(#t~post5 < 100);havoc #t~post5; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 06:34:16,177 INFO L290 TraceCheckUtils]: 6: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 06:34:16,178 INFO L290 TraceCheckUtils]: 5: Hoare triple {6826#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 06:34:16,178 INFO L272 TraceCheckUtils]: 4: Hoare triple {6826#true} call #t~ret7 := main(); {6826#true} is VALID [2022-04-28 06:34:16,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6826#true} {6826#true} #92#return; {6826#true} is VALID [2022-04-28 06:34:16,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-28 06:34:16,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {6826#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6826#true} is VALID [2022-04-28 06:34:16,178 INFO L272 TraceCheckUtils]: 0: Hoare triple {6826#true} call ULTIMATE.init(); {6826#true} is VALID [2022-04-28 06:34:16,179 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:34:16,179 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:34:16,179 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1603408222] [2022-04-28 06:34:16,179 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:34:16,179 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1960530299] [2022-04-28 06:34:16,179 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1960530299] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:34:16,179 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:34:16,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-28 06:34:16,180 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:34:16,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2085595799] [2022-04-28 06:34:16,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2085595799] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:34:16,180 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:34:16,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:34:16,180 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1537864700] [2022-04-28 06:34:16,180 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:34:16,181 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 06:34:16,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:34:16,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 06:34:16,221 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:16,221 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 06:34:16,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:34:16,222 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 06:34:16,222 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:34:16,222 INFO L87 Difference]: Start difference. First operand 127 states and 148 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 06:34:17,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:17,006 INFO L93 Difference]: Finished difference Result 181 states and 219 transitions. [2022-04-28 06:34:17,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 06:34:17,006 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 06:34:17,007 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:34:17,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 06:34:17,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 113 transitions. [2022-04-28 06:34:17,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 06:34:17,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 113 transitions. [2022-04-28 06:34:17,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 113 transitions. [2022-04-28 06:34:17,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:17,131 INFO L225 Difference]: With dead ends: 181 [2022-04-28 06:34:17,132 INFO L226 Difference]: Without dead ends: 137 [2022-04-28 06:34:17,132 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-28 06:34:17,133 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 13 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 209 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 187 SdHoareTripleChecker+Invalid, 223 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 209 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:34:17,133 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 187 Invalid, 223 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 209 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:34:17,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-28 06:34:17,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 135. [2022-04-28 06:34:17,253 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:34:17,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:34:17,254 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:34:17,255 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:34:17,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:17,258 INFO L93 Difference]: Finished difference Result 137 states and 159 transitions. [2022-04-28 06:34:17,258 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 159 transitions. [2022-04-28 06:34:17,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:34:17,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:34:17,259 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 137 states. [2022-04-28 06:34:17,259 INFO L87 Difference]: Start difference. First operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 137 states. [2022-04-28 06:34:17,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:17,262 INFO L93 Difference]: Finished difference Result 137 states and 159 transitions. [2022-04-28 06:34:17,262 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 159 transitions. [2022-04-28 06:34:17,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:34:17,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:34:17,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:34:17,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:34:17,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:34:17,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 156 transitions. [2022-04-28 06:34:17,267 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 156 transitions. Word has length 62 [2022-04-28 06:34:17,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:34:17,267 INFO L495 AbstractCegarLoop]: Abstraction has 135 states and 156 transitions. [2022-04-28 06:34:17,267 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 06:34:17,267 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 135 states and 156 transitions. [2022-04-28 06:34:17,415 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:17,415 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 156 transitions. [2022-04-28 06:34:17,416 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-28 06:34:17,416 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:34:17,416 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:34:17,433 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 06:34:17,619 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 06:34:17,619 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:34:17,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:34:17,620 INFO L85 PathProgramCache]: Analyzing trace with hash -378736343, now seen corresponding path program 3 times [2022-04-28 06:34:17,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:34:17,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [266057940] [2022-04-28 06:34:19,363 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:34:19,363 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:34:19,363 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:34:19,363 INFO L85 PathProgramCache]: Analyzing trace with hash -378736343, now seen corresponding path program 4 times [2022-04-28 06:34:19,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:34:19,363 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1192002817] [2022-04-28 06:34:19,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:34:19,364 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:34:19,374 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:34:19,374 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [69589031] [2022-04-28 06:34:19,375 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:34:19,375 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:34:19,375 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:34:19,380 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:34:19,391 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 06:34:19,437 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:34:19,438 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:34:19,439 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 06:34:19,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:34:19,462 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:34:21,694 INFO L272 TraceCheckUtils]: 0: Hoare triple {8115#true} call ULTIMATE.init(); {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {8115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8115#true} {8115#true} #92#return; {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L272 TraceCheckUtils]: 4: Hoare triple {8115#true} call #t~ret7 := main(); {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L290 TraceCheckUtils]: 5: Hoare triple {8115#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L290 TraceCheckUtils]: 6: Hoare triple {8115#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L290 TraceCheckUtils]: 7: Hoare triple {8115#true} assume !!(#t~post5 < 100);havoc #t~post5; {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L272 TraceCheckUtils]: 8: Hoare triple {8115#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L290 TraceCheckUtils]: 10: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 06:34:21,695 INFO L290 TraceCheckUtils]: 11: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 06:34:21,696 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8115#true} {8115#true} #78#return; {8115#true} is VALID [2022-04-28 06:34:21,696 INFO L272 TraceCheckUtils]: 13: Hoare triple {8115#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 06:34:21,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {8115#true} ~cond := #in~cond; {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:34:21,696 INFO L290 TraceCheckUtils]: 15: Hoare triple {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:34:21,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:34:21,697 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} {8115#true} #80#return; {8173#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:34:21,698 INFO L272 TraceCheckUtils]: 18: Hoare triple {8173#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 06:34:21,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 06:34:21,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 06:34:21,698 INFO L290 TraceCheckUtils]: 21: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 06:34:21,698 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8115#true} {8173#(= main_~A~0 main_~r~0)} #82#return; {8173#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:34:21,699 INFO L290 TraceCheckUtils]: 23: Hoare triple {8173#(= main_~A~0 main_~r~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 06:34:21,700 INFO L290 TraceCheckUtils]: 24: Hoare triple {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 06:34:21,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} assume !!(#t~post5 < 100);havoc #t~post5; {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 06:34:21,700 INFO L272 TraceCheckUtils]: 26: Hoare triple {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 06:34:21,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {8115#true} ~cond := #in~cond; {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:34:21,701 INFO L290 TraceCheckUtils]: 28: Hoare triple {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:34:21,701 INFO L290 TraceCheckUtils]: 29: Hoare triple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:34:21,702 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} #78#return; {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:34:21,702 INFO L272 TraceCheckUtils]: 31: Hoare triple {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 06:34:21,702 INFO L290 TraceCheckUtils]: 32: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 06:34:21,702 INFO L290 TraceCheckUtils]: 33: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 06:34:21,702 INFO L290 TraceCheckUtils]: 34: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 06:34:21,703 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {8115#true} {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #80#return; {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:34:21,703 INFO L272 TraceCheckUtils]: 36: Hoare triple {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 06:34:21,703 INFO L290 TraceCheckUtils]: 37: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 06:34:21,703 INFO L290 TraceCheckUtils]: 38: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 06:34:21,703 INFO L290 TraceCheckUtils]: 39: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 06:34:21,704 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8115#true} {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:34:21,705 INFO L290 TraceCheckUtils]: 41: Hoare triple {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:34:21,705 INFO L290 TraceCheckUtils]: 42: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:34:21,706 INFO L290 TraceCheckUtils]: 43: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:34:21,706 INFO L272 TraceCheckUtils]: 44: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 06:34:21,706 INFO L290 TraceCheckUtils]: 45: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 06:34:21,706 INFO L290 TraceCheckUtils]: 46: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 06:34:21,706 INFO L290 TraceCheckUtils]: 47: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 06:34:21,707 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {8115#true} {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:34:21,707 INFO L272 TraceCheckUtils]: 49: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 06:34:21,707 INFO L290 TraceCheckUtils]: 50: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-28 06:34:21,707 INFO L290 TraceCheckUtils]: 51: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-28 06:34:21,707 INFO L290 TraceCheckUtils]: 52: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-28 06:34:21,708 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {8115#true} {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #86#return; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:34:21,709 INFO L290 TraceCheckUtils]: 54: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8288#(and (= main_~A~0 main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0))} is VALID [2022-04-28 06:34:21,710 INFO L290 TraceCheckUtils]: 55: Hoare triple {8288#(and (= main_~A~0 main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 06:34:21,710 INFO L290 TraceCheckUtils]: 56: Hoare triple {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 06:34:21,711 INFO L290 TraceCheckUtils]: 57: Hoare triple {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 06:34:21,711 INFO L272 TraceCheckUtils]: 58: Hoare triple {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8115#true} is VALID [2022-04-28 06:34:21,711 INFO L290 TraceCheckUtils]: 59: Hoare triple {8115#true} ~cond := #in~cond; {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:34:21,712 INFO L290 TraceCheckUtils]: 60: Hoare triple {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:34:21,712 INFO L290 TraceCheckUtils]: 61: Hoare triple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:34:21,715 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #84#return; {8314#(exists ((aux_div_main_~A~0_41 Int) (aux_mod_main_~A~0_41 Int)) (and (< aux_div_main_~A~0_41 (+ main_~d~0 1)) (< (+ main_~d~0 aux_mod_main_~A~0_41) (* 2 aux_div_main_~A~0_41)) (= (+ (- 1) (* (- 1) main_~d~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41)) (+ (- 1) (* (- 1) main_~B~0 main_~p~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41))) (<= 0 aux_mod_main_~A~0_41) (< aux_mod_main_~A~0_41 2)))} is VALID [2022-04-28 06:34:21,720 INFO L272 TraceCheckUtils]: 63: Hoare triple {8314#(exists ((aux_div_main_~A~0_41 Int) (aux_mod_main_~A~0_41 Int)) (and (< aux_div_main_~A~0_41 (+ main_~d~0 1)) (< (+ main_~d~0 aux_mod_main_~A~0_41) (* 2 aux_div_main_~A~0_41)) (= (+ (- 1) (* (- 1) main_~d~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41)) (+ (- 1) (* (- 1) main_~B~0 main_~p~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41))) (<= 0 aux_mod_main_~A~0_41) (< aux_mod_main_~A~0_41 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8318#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:34:21,721 INFO L290 TraceCheckUtils]: 64: Hoare triple {8318#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8322#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:34:21,721 INFO L290 TraceCheckUtils]: 65: Hoare triple {8322#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8116#false} is VALID [2022-04-28 06:34:21,721 INFO L290 TraceCheckUtils]: 66: Hoare triple {8116#false} assume !false; {8116#false} is VALID [2022-04-28 06:34:21,722 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 48 proven. 34 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-28 06:34:21,722 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:34:40,463 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:34:58,564 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:34:58,565 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1192002817] [2022-04-28 06:34:58,565 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:34:58,565 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [69589031] [2022-04-28 06:34:58,565 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [69589031] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 06:34:58,565 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:34:58,565 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-28 06:34:58,565 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:34:58,565 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [266057940] [2022-04-28 06:34:58,565 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [266057940] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:34:58,565 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:34:58,565 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 06:34:58,565 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [332654703] [2022-04-28 06:34:58,565 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:34:58,566 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 67 [2022-04-28 06:34:58,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:34:58,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 06:34:58,610 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:58,611 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 06:34:58,611 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:34:58,611 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 06:34:58,611 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=173, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:34:58,611 INFO L87 Difference]: Start difference. First operand 135 states and 156 transitions. Second operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 06:34:59,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:34:59,852 INFO L93 Difference]: Finished difference Result 188 states and 232 transitions. [2022-04-28 06:34:59,852 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 06:34:59,852 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 67 [2022-04-28 06:34:59,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:34:59,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 06:34:59,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 122 transitions. [2022-04-28 06:34:59,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 06:34:59,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 122 transitions. [2022-04-28 06:34:59,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 122 transitions. [2022-04-28 06:34:59,974 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:34:59,977 INFO L225 Difference]: With dead ends: 188 [2022-04-28 06:34:59,977 INFO L226 Difference]: Without dead ends: 163 [2022-04-28 06:34:59,978 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:34:59,978 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 50 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 273 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 363 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 273 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 56 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 06:34:59,979 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 214 Invalid, 363 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 273 Invalid, 0 Unknown, 56 Unchecked, 0.5s Time] [2022-04-28 06:34:59,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-04-28 06:35:00,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 157. [2022-04-28 06:35:00,123 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:35:00,123 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 06:35:00,123 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 06:35:00,124 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 06:35:00,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:00,128 INFO L93 Difference]: Finished difference Result 163 states and 195 transitions. [2022-04-28 06:35:00,128 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 195 transitions. [2022-04-28 06:35:00,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:35:00,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:35:00,129 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 163 states. [2022-04-28 06:35:00,130 INFO L87 Difference]: Start difference. First operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 163 states. [2022-04-28 06:35:00,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:00,134 INFO L93 Difference]: Finished difference Result 163 states and 195 transitions. [2022-04-28 06:35:00,134 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 195 transitions. [2022-04-28 06:35:00,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:35:00,135 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:35:00,135 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:35:00,135 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:35:00,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 06:35:00,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 187 transitions. [2022-04-28 06:35:00,140 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 187 transitions. Word has length 67 [2022-04-28 06:35:00,140 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:35:00,140 INFO L495 AbstractCegarLoop]: Abstraction has 157 states and 187 transitions. [2022-04-28 06:35:00,140 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 06:35:00,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 187 transitions. [2022-04-28 06:35:00,343 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 187 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:00,344 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 187 transitions. [2022-04-28 06:35:00,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 06:35:00,345 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:35:00,345 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:35:00,362 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 06:35:00,547 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 06:35:00,547 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:35:00,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:35:00,548 INFO L85 PathProgramCache]: Analyzing trace with hash 73149133, now seen corresponding path program 1 times [2022-04-28 06:35:00,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:35:00,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1010652775] [2022-04-28 06:35:04,661 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:35:04,661 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:35:04,661 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:35:04,662 INFO L85 PathProgramCache]: Analyzing trace with hash 73149133, now seen corresponding path program 2 times [2022-04-28 06:35:04,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:35:04,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [605640072] [2022-04-28 06:35:04,662 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:35:04,662 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:35:04,673 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:35:04,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1062978043] [2022-04-28 06:35:04,673 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:35:04,673 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:35:04,673 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:35:04,677 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:35:04,678 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 06:35:04,726 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:35:04,726 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:35:04,727 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 06:35:04,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:35:04,748 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:35:05,496 INFO L272 TraceCheckUtils]: 0: Hoare triple {9367#true} call ULTIMATE.init(); {9367#true} is VALID [2022-04-28 06:35:05,497 INFO L290 TraceCheckUtils]: 1: Hoare triple {9367#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9367#true} is VALID [2022-04-28 06:35:05,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:05,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9367#true} {9367#true} #92#return; {9367#true} is VALID [2022-04-28 06:35:05,497 INFO L272 TraceCheckUtils]: 4: Hoare triple {9367#true} call #t~ret7 := main(); {9367#true} is VALID [2022-04-28 06:35:05,498 INFO L290 TraceCheckUtils]: 5: Hoare triple {9367#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,498 INFO L290 TraceCheckUtils]: 6: Hoare triple {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,499 INFO L290 TraceCheckUtils]: 7: Hoare triple {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,499 INFO L272 TraceCheckUtils]: 8: Hoare triple {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,499 INFO L290 TraceCheckUtils]: 9: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:05,499 INFO L290 TraceCheckUtils]: 10: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:05,499 INFO L290 TraceCheckUtils]: 11: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:05,500 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9367#true} {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,500 INFO L272 TraceCheckUtils]: 13: Hoare triple {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {9367#true} ~cond := #in~cond; {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:35:05,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:05,501 INFO L290 TraceCheckUtils]: 16: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:05,501 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,502 INFO L272 TraceCheckUtils]: 18: Hoare triple {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,502 INFO L290 TraceCheckUtils]: 19: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:05,502 INFO L290 TraceCheckUtils]: 20: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:05,502 INFO L290 TraceCheckUtils]: 21: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:05,502 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9367#true} {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,503 INFO L290 TraceCheckUtils]: 23: Hoare triple {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,504 INFO L290 TraceCheckUtils]: 24: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,504 INFO L290 TraceCheckUtils]: 25: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,504 INFO L272 TraceCheckUtils]: 26: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,504 INFO L290 TraceCheckUtils]: 27: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:05,504 INFO L290 TraceCheckUtils]: 28: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:05,504 INFO L290 TraceCheckUtils]: 29: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:05,505 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {9367#true} {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,505 INFO L272 TraceCheckUtils]: 31: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,505 INFO L290 TraceCheckUtils]: 32: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:05,505 INFO L290 TraceCheckUtils]: 33: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:05,506 INFO L290 TraceCheckUtils]: 34: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:05,506 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {9367#true} {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,506 INFO L272 TraceCheckUtils]: 36: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,506 INFO L290 TraceCheckUtils]: 37: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:05,506 INFO L290 TraceCheckUtils]: 38: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:05,506 INFO L290 TraceCheckUtils]: 39: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:05,507 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9367#true} {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,508 INFO L290 TraceCheckUtils]: 41: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,508 INFO L290 TraceCheckUtils]: 42: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,509 INFO L290 TraceCheckUtils]: 43: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,509 INFO L272 TraceCheckUtils]: 44: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,509 INFO L290 TraceCheckUtils]: 45: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:05,509 INFO L290 TraceCheckUtils]: 46: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:05,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:05,510 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9367#true} {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,510 INFO L272 TraceCheckUtils]: 49: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,510 INFO L290 TraceCheckUtils]: 50: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:05,510 INFO L290 TraceCheckUtils]: 51: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:05,510 INFO L290 TraceCheckUtils]: 52: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:05,511 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9367#true} {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:05,511 INFO L290 TraceCheckUtils]: 54: Hoare triple {9444#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,512 INFO L290 TraceCheckUtils]: 55: Hoare triple {9387#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9541#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,512 INFO L290 TraceCheckUtils]: 56: Hoare triple {9541#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9541#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,513 INFO L290 TraceCheckUtils]: 57: Hoare triple {9541#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {9541#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,513 INFO L272 TraceCheckUtils]: 58: Hoare triple {9541#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,513 INFO L290 TraceCheckUtils]: 59: Hoare triple {9367#true} ~cond := #in~cond; {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:35:05,514 INFO L290 TraceCheckUtils]: 60: Hoare triple {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:05,514 INFO L290 TraceCheckUtils]: 61: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:05,515 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9541#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {9563#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,515 INFO L272 TraceCheckUtils]: 63: Hoare triple {9563#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:05,515 INFO L290 TraceCheckUtils]: 64: Hoare triple {9367#true} ~cond := #in~cond; {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:35:05,516 INFO L290 TraceCheckUtils]: 65: Hoare triple {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:05,516 INFO L290 TraceCheckUtils]: 66: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:05,517 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9563#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {9579#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-28 06:35:05,518 INFO L290 TraceCheckUtils]: 68: Hoare triple {9579#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {9583#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} is VALID [2022-04-28 06:35:05,518 INFO L272 TraceCheckUtils]: 69: Hoare triple {9583#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:35:05,519 INFO L290 TraceCheckUtils]: 70: Hoare triple {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:35:05,519 INFO L290 TraceCheckUtils]: 71: Hoare triple {9591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9368#false} is VALID [2022-04-28 06:35:05,519 INFO L290 TraceCheckUtils]: 72: Hoare triple {9368#false} assume !false; {9368#false} is VALID [2022-04-28 06:35:05,520 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 62 proven. 32 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-04-28 06:35:05,520 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:35:14,223 INFO L290 TraceCheckUtils]: 72: Hoare triple {9368#false} assume !false; {9368#false} is VALID [2022-04-28 06:35:14,223 INFO L290 TraceCheckUtils]: 71: Hoare triple {9591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9368#false} is VALID [2022-04-28 06:35:14,223 INFO L290 TraceCheckUtils]: 70: Hoare triple {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:35:14,224 INFO L272 TraceCheckUtils]: 69: Hoare triple {9607#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:35:14,224 INFO L290 TraceCheckUtils]: 68: Hoare triple {9611#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {9607#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:35:14,225 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9615#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} #86#return; {9611#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:35:14,225 INFO L290 TraceCheckUtils]: 66: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:14,226 INFO L290 TraceCheckUtils]: 65: Hoare triple {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:14,226 INFO L290 TraceCheckUtils]: 64: Hoare triple {9367#true} ~cond := #in~cond; {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:35:14,226 INFO L272 TraceCheckUtils]: 63: Hoare triple {9615#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,229 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9367#true} #84#return; {9615#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:35:14,229 INFO L290 TraceCheckUtils]: 61: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:14,229 INFO L290 TraceCheckUtils]: 60: Hoare triple {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 59: Hoare triple {9367#true} ~cond := #in~cond; {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:35:14,230 INFO L272 TraceCheckUtils]: 58: Hoare triple {9367#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 57: Hoare triple {9367#true} assume !!(#t~post6 < 100);havoc #t~post6; {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 56: Hoare triple {9367#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 55: Hoare triple {9367#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 54: Hoare triple {9367#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9367#true} {9367#true} #86#return; {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 52: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 51: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 50: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L272 TraceCheckUtils]: 49: Hoare triple {9367#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9367#true} {9367#true} #84#return; {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 47: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 46: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:14,230 INFO L290 TraceCheckUtils]: 45: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L272 TraceCheckUtils]: 44: Hoare triple {9367#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L290 TraceCheckUtils]: 43: Hoare triple {9367#true} assume !!(#t~post6 < 100);havoc #t~post6; {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L290 TraceCheckUtils]: 42: Hoare triple {9367#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L290 TraceCheckUtils]: 41: Hoare triple {9367#true} assume !(~r~0 >= ~d~0); {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9367#true} {9367#true} #82#return; {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L290 TraceCheckUtils]: 39: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L290 TraceCheckUtils]: 38: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L290 TraceCheckUtils]: 37: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L272 TraceCheckUtils]: 36: Hoare triple {9367#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,231 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {9367#true} {9367#true} #80#return; {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L290 TraceCheckUtils]: 34: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L290 TraceCheckUtils]: 33: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L290 TraceCheckUtils]: 32: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L272 TraceCheckUtils]: 31: Hoare triple {9367#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {9367#true} {9367#true} #78#return; {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L290 TraceCheckUtils]: 29: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L290 TraceCheckUtils]: 28: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L290 TraceCheckUtils]: 27: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L272 TraceCheckUtils]: 26: Hoare triple {9367#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L290 TraceCheckUtils]: 25: Hoare triple {9367#true} assume !!(#t~post5 < 100);havoc #t~post5; {9367#true} is VALID [2022-04-28 06:35:14,232 INFO L290 TraceCheckUtils]: 24: Hoare triple {9367#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L290 TraceCheckUtils]: 23: Hoare triple {9367#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9367#true} {9367#true} #82#return; {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L290 TraceCheckUtils]: 21: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L290 TraceCheckUtils]: 19: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L272 TraceCheckUtils]: 18: Hoare triple {9367#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9367#true} {9367#true} #80#return; {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L290 TraceCheckUtils]: 16: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L290 TraceCheckUtils]: 15: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:14,233 INFO L290 TraceCheckUtils]: 14: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L272 TraceCheckUtils]: 13: Hoare triple {9367#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9367#true} {9367#true} #78#return; {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L290 TraceCheckUtils]: 11: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L290 TraceCheckUtils]: 10: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L272 TraceCheckUtils]: 8: Hoare triple {9367#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {9367#true} assume !!(#t~post5 < 100);havoc #t~post5; {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L290 TraceCheckUtils]: 6: Hoare triple {9367#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {9367#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9367#true} is VALID [2022-04-28 06:35:14,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {9367#true} call #t~ret7 := main(); {9367#true} is VALID [2022-04-28 06:35:14,235 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9367#true} {9367#true} #92#return; {9367#true} is VALID [2022-04-28 06:35:14,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-28 06:35:14,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {9367#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9367#true} is VALID [2022-04-28 06:35:14,235 INFO L272 TraceCheckUtils]: 0: Hoare triple {9367#true} call ULTIMATE.init(); {9367#true} is VALID [2022-04-28 06:35:14,235 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-28 06:35:14,235 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:35:14,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [605640072] [2022-04-28 06:35:14,236 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:35:14,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1062978043] [2022-04-28 06:35:14,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1062978043] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:35:14,236 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:35:14,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 06:35:14,236 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:35:14,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1010652775] [2022-04-28 06:35:14,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1010652775] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:35:14,236 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:35:14,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 06:35:14,237 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1992597154] [2022-04-28 06:35:14,237 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:35:14,237 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 06:35:14,237 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:35:14,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:14,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:14,289 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 06:35:14,289 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:35:14,290 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 06:35:14,290 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:35:14,290 INFO L87 Difference]: Start difference. First operand 157 states and 187 transitions. Second operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:15,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:15,294 INFO L93 Difference]: Finished difference Result 186 states and 221 transitions. [2022-04-28 06:35:15,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:35:15,294 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 06:35:15,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:35:15,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:15,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 06:35:15,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:15,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 06:35:15,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-28 06:35:15,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:15,386 INFO L225 Difference]: With dead ends: 186 [2022-04-28 06:35:15,386 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 06:35:15,386 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 129 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:35:15,387 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 17 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 368 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 06:35:15,387 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 180 Invalid, 368 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 06:35:15,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 06:35:15,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-28 06:35:15,523 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:35:15,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:35:15,524 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:35:15,524 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:35:15,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:15,527 INFO L93 Difference]: Finished difference Result 129 states and 152 transitions. [2022-04-28 06:35:15,527 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 152 transitions. [2022-04-28 06:35:15,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:35:15,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:35:15,528 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 129 states. [2022-04-28 06:35:15,529 INFO L87 Difference]: Start difference. First operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 129 states. [2022-04-28 06:35:15,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:15,532 INFO L93 Difference]: Finished difference Result 129 states and 152 transitions. [2022-04-28 06:35:15,532 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 152 transitions. [2022-04-28 06:35:15,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:35:15,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:35:15,532 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:35:15,532 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:35:15,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:35:15,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 152 transitions. [2022-04-28 06:35:15,535 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 152 transitions. Word has length 73 [2022-04-28 06:35:15,536 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:35:15,536 INFO L495 AbstractCegarLoop]: Abstraction has 129 states and 152 transitions. [2022-04-28 06:35:15,536 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:15,536 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 152 transitions. [2022-04-28 06:35:15,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:15,713 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 152 transitions. [2022-04-28 06:35:15,714 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 06:35:15,714 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:35:15,714 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:35:15,731 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 06:35:15,914 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 06:35:15,914 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:35:15,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:35:15,915 INFO L85 PathProgramCache]: Analyzing trace with hash 469209008, now seen corresponding path program 5 times [2022-04-28 06:35:15,915 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:35:15,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [328321230] [2022-04-28 06:35:19,875 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:35:19,876 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:35:19,876 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:35:19,876 INFO L85 PathProgramCache]: Analyzing trace with hash 469209008, now seen corresponding path program 6 times [2022-04-28 06:35:19,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:35:19,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1397315378] [2022-04-28 06:35:19,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:35:19,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:35:19,886 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:35:19,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1819056640] [2022-04-28 06:35:19,886 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:35:19,887 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:35:19,887 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:35:19,890 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:35:19,892 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 06:35:19,942 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 06:35:19,943 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:35:19,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 06:35:19,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:35:19,961 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:35:20,263 INFO L272 TraceCheckUtils]: 0: Hoare triple {10712#true} call ULTIMATE.init(); {10712#true} is VALID [2022-04-28 06:35:20,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {10712#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10720#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:20,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {10720#(<= ~counter~0 0)} assume true; {10720#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:20,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10720#(<= ~counter~0 0)} {10712#true} #92#return; {10720#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:20,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {10720#(<= ~counter~0 0)} call #t~ret7 := main(); {10720#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:20,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {10720#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10720#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:20,265 INFO L290 TraceCheckUtils]: 6: Hoare triple {10720#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {10736#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,267 INFO L272 TraceCheckUtils]: 8: Hoare triple {10736#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,267 INFO L290 TraceCheckUtils]: 9: Hoare triple {10736#(<= ~counter~0 1)} ~cond := #in~cond; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {10736#(<= ~counter~0 1)} assume !(0 == ~cond); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,268 INFO L290 TraceCheckUtils]: 11: Hoare triple {10736#(<= ~counter~0 1)} assume true; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,269 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10736#(<= ~counter~0 1)} {10736#(<= ~counter~0 1)} #78#return; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,269 INFO L272 TraceCheckUtils]: 13: Hoare triple {10736#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,270 INFO L290 TraceCheckUtils]: 14: Hoare triple {10736#(<= ~counter~0 1)} ~cond := #in~cond; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,270 INFO L290 TraceCheckUtils]: 15: Hoare triple {10736#(<= ~counter~0 1)} assume !(0 == ~cond); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,270 INFO L290 TraceCheckUtils]: 16: Hoare triple {10736#(<= ~counter~0 1)} assume true; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,271 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10736#(<= ~counter~0 1)} {10736#(<= ~counter~0 1)} #80#return; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,271 INFO L272 TraceCheckUtils]: 18: Hoare triple {10736#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,272 INFO L290 TraceCheckUtils]: 19: Hoare triple {10736#(<= ~counter~0 1)} ~cond := #in~cond; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {10736#(<= ~counter~0 1)} assume !(0 == ~cond); {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,272 INFO L290 TraceCheckUtils]: 21: Hoare triple {10736#(<= ~counter~0 1)} assume true; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,273 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10736#(<= ~counter~0 1)} {10736#(<= ~counter~0 1)} #82#return; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,273 INFO L290 TraceCheckUtils]: 23: Hoare triple {10736#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10736#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:20,274 INFO L290 TraceCheckUtils]: 24: Hoare triple {10736#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {10791#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,275 INFO L272 TraceCheckUtils]: 26: Hoare triple {10791#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,275 INFO L290 TraceCheckUtils]: 27: Hoare triple {10791#(<= ~counter~0 2)} ~cond := #in~cond; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,276 INFO L290 TraceCheckUtils]: 28: Hoare triple {10791#(<= ~counter~0 2)} assume !(0 == ~cond); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,276 INFO L290 TraceCheckUtils]: 29: Hoare triple {10791#(<= ~counter~0 2)} assume true; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,277 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {10791#(<= ~counter~0 2)} {10791#(<= ~counter~0 2)} #78#return; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,277 INFO L272 TraceCheckUtils]: 31: Hoare triple {10791#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,278 INFO L290 TraceCheckUtils]: 32: Hoare triple {10791#(<= ~counter~0 2)} ~cond := #in~cond; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,278 INFO L290 TraceCheckUtils]: 33: Hoare triple {10791#(<= ~counter~0 2)} assume !(0 == ~cond); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,278 INFO L290 TraceCheckUtils]: 34: Hoare triple {10791#(<= ~counter~0 2)} assume true; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,279 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {10791#(<= ~counter~0 2)} {10791#(<= ~counter~0 2)} #80#return; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,280 INFO L272 TraceCheckUtils]: 36: Hoare triple {10791#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,280 INFO L290 TraceCheckUtils]: 37: Hoare triple {10791#(<= ~counter~0 2)} ~cond := #in~cond; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,281 INFO L290 TraceCheckUtils]: 38: Hoare triple {10791#(<= ~counter~0 2)} assume !(0 == ~cond); {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,281 INFO L290 TraceCheckUtils]: 39: Hoare triple {10791#(<= ~counter~0 2)} assume true; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,282 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {10791#(<= ~counter~0 2)} {10791#(<= ~counter~0 2)} #82#return; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,282 INFO L290 TraceCheckUtils]: 41: Hoare triple {10791#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10791#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:20,283 INFO L290 TraceCheckUtils]: 42: Hoare triple {10791#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,283 INFO L290 TraceCheckUtils]: 43: Hoare triple {10846#(<= ~counter~0 3)} assume !!(#t~post5 < 100);havoc #t~post5; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,284 INFO L272 TraceCheckUtils]: 44: Hoare triple {10846#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,284 INFO L290 TraceCheckUtils]: 45: Hoare triple {10846#(<= ~counter~0 3)} ~cond := #in~cond; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,285 INFO L290 TraceCheckUtils]: 46: Hoare triple {10846#(<= ~counter~0 3)} assume !(0 == ~cond); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,285 INFO L290 TraceCheckUtils]: 47: Hoare triple {10846#(<= ~counter~0 3)} assume true; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,285 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10846#(<= ~counter~0 3)} {10846#(<= ~counter~0 3)} #78#return; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,286 INFO L272 TraceCheckUtils]: 49: Hoare triple {10846#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,286 INFO L290 TraceCheckUtils]: 50: Hoare triple {10846#(<= ~counter~0 3)} ~cond := #in~cond; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,287 INFO L290 TraceCheckUtils]: 51: Hoare triple {10846#(<= ~counter~0 3)} assume !(0 == ~cond); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,287 INFO L290 TraceCheckUtils]: 52: Hoare triple {10846#(<= ~counter~0 3)} assume true; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,288 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {10846#(<= ~counter~0 3)} {10846#(<= ~counter~0 3)} #80#return; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,288 INFO L272 TraceCheckUtils]: 54: Hoare triple {10846#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,288 INFO L290 TraceCheckUtils]: 55: Hoare triple {10846#(<= ~counter~0 3)} ~cond := #in~cond; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,289 INFO L290 TraceCheckUtils]: 56: Hoare triple {10846#(<= ~counter~0 3)} assume !(0 == ~cond); {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,289 INFO L290 TraceCheckUtils]: 57: Hoare triple {10846#(<= ~counter~0 3)} assume true; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,290 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10846#(<= ~counter~0 3)} {10846#(<= ~counter~0 3)} #82#return; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,290 INFO L290 TraceCheckUtils]: 59: Hoare triple {10846#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10846#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:20,291 INFO L290 TraceCheckUtils]: 60: Hoare triple {10846#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10901#(<= |main_#t~post5| 3)} is VALID [2022-04-28 06:35:20,291 INFO L290 TraceCheckUtils]: 61: Hoare triple {10901#(<= |main_#t~post5| 3)} assume !(#t~post5 < 100);havoc #t~post5; {10713#false} is VALID [2022-04-28 06:35:20,291 INFO L290 TraceCheckUtils]: 62: Hoare triple {10713#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10713#false} is VALID [2022-04-28 06:35:20,291 INFO L290 TraceCheckUtils]: 63: Hoare triple {10713#false} assume !(#t~post6 < 100);havoc #t~post6; {10713#false} is VALID [2022-04-28 06:35:20,291 INFO L272 TraceCheckUtils]: 64: Hoare triple {10713#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10713#false} is VALID [2022-04-28 06:35:20,291 INFO L290 TraceCheckUtils]: 65: Hoare triple {10713#false} ~cond := #in~cond; {10713#false} is VALID [2022-04-28 06:35:20,291 INFO L290 TraceCheckUtils]: 66: Hoare triple {10713#false} assume !(0 == ~cond); {10713#false} is VALID [2022-04-28 06:35:20,292 INFO L290 TraceCheckUtils]: 67: Hoare triple {10713#false} assume true; {10713#false} is VALID [2022-04-28 06:35:20,292 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10713#false} {10713#false} #88#return; {10713#false} is VALID [2022-04-28 06:35:20,292 INFO L272 TraceCheckUtils]: 69: Hoare triple {10713#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10713#false} is VALID [2022-04-28 06:35:20,292 INFO L290 TraceCheckUtils]: 70: Hoare triple {10713#false} ~cond := #in~cond; {10713#false} is VALID [2022-04-28 06:35:20,292 INFO L290 TraceCheckUtils]: 71: Hoare triple {10713#false} assume 0 == ~cond; {10713#false} is VALID [2022-04-28 06:35:20,292 INFO L290 TraceCheckUtils]: 72: Hoare triple {10713#false} assume !false; {10713#false} is VALID [2022-04-28 06:35:20,292 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 54 proven. 132 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 06:35:20,292 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:35:20,624 INFO L290 TraceCheckUtils]: 72: Hoare triple {10713#false} assume !false; {10713#false} is VALID [2022-04-28 06:35:20,624 INFO L290 TraceCheckUtils]: 71: Hoare triple {10713#false} assume 0 == ~cond; {10713#false} is VALID [2022-04-28 06:35:20,624 INFO L290 TraceCheckUtils]: 70: Hoare triple {10713#false} ~cond := #in~cond; {10713#false} is VALID [2022-04-28 06:35:20,624 INFO L272 TraceCheckUtils]: 69: Hoare triple {10713#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10713#false} is VALID [2022-04-28 06:35:20,624 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10712#true} {10713#false} #88#return; {10713#false} is VALID [2022-04-28 06:35:20,624 INFO L290 TraceCheckUtils]: 67: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,624 INFO L290 TraceCheckUtils]: 66: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,624 INFO L290 TraceCheckUtils]: 65: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,624 INFO L272 TraceCheckUtils]: 64: Hoare triple {10713#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,625 INFO L290 TraceCheckUtils]: 63: Hoare triple {10713#false} assume !(#t~post6 < 100);havoc #t~post6; {10713#false} is VALID [2022-04-28 06:35:20,625 INFO L290 TraceCheckUtils]: 62: Hoare triple {10713#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10713#false} is VALID [2022-04-28 06:35:20,625 INFO L290 TraceCheckUtils]: 61: Hoare triple {10971#(< |main_#t~post5| 100)} assume !(#t~post5 < 100);havoc #t~post5; {10713#false} is VALID [2022-04-28 06:35:20,625 INFO L290 TraceCheckUtils]: 60: Hoare triple {10975#(< ~counter~0 100)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10971#(< |main_#t~post5| 100)} is VALID [2022-04-28 06:35:20,625 INFO L290 TraceCheckUtils]: 59: Hoare triple {10975#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10975#(< ~counter~0 100)} is VALID [2022-04-28 06:35:20,626 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10712#true} {10975#(< ~counter~0 100)} #82#return; {10975#(< ~counter~0 100)} is VALID [2022-04-28 06:35:20,626 INFO L290 TraceCheckUtils]: 57: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,626 INFO L290 TraceCheckUtils]: 56: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,626 INFO L290 TraceCheckUtils]: 55: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,626 INFO L272 TraceCheckUtils]: 54: Hoare triple {10975#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,627 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {10712#true} {10975#(< ~counter~0 100)} #80#return; {10975#(< ~counter~0 100)} is VALID [2022-04-28 06:35:20,627 INFO L290 TraceCheckUtils]: 52: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,627 INFO L290 TraceCheckUtils]: 51: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,627 INFO L272 TraceCheckUtils]: 49: Hoare triple {10975#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,627 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10712#true} {10975#(< ~counter~0 100)} #78#return; {10975#(< ~counter~0 100)} is VALID [2022-04-28 06:35:20,627 INFO L290 TraceCheckUtils]: 47: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,627 INFO L290 TraceCheckUtils]: 46: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,627 INFO L290 TraceCheckUtils]: 45: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,627 INFO L272 TraceCheckUtils]: 44: Hoare triple {10975#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,628 INFO L290 TraceCheckUtils]: 43: Hoare triple {10975#(< ~counter~0 100)} assume !!(#t~post5 < 100);havoc #t~post5; {10975#(< ~counter~0 100)} is VALID [2022-04-28 06:35:20,628 INFO L290 TraceCheckUtils]: 42: Hoare triple {11030#(< ~counter~0 99)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10975#(< ~counter~0 100)} is VALID [2022-04-28 06:35:20,629 INFO L290 TraceCheckUtils]: 41: Hoare triple {11030#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11030#(< ~counter~0 99)} is VALID [2022-04-28 06:35:20,629 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {10712#true} {11030#(< ~counter~0 99)} #82#return; {11030#(< ~counter~0 99)} is VALID [2022-04-28 06:35:20,629 INFO L290 TraceCheckUtils]: 39: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,629 INFO L290 TraceCheckUtils]: 38: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,629 INFO L290 TraceCheckUtils]: 37: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,629 INFO L272 TraceCheckUtils]: 36: Hoare triple {11030#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,630 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {10712#true} {11030#(< ~counter~0 99)} #80#return; {11030#(< ~counter~0 99)} is VALID [2022-04-28 06:35:20,630 INFO L290 TraceCheckUtils]: 34: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,630 INFO L290 TraceCheckUtils]: 33: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,630 INFO L290 TraceCheckUtils]: 32: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,630 INFO L272 TraceCheckUtils]: 31: Hoare triple {11030#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,630 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {10712#true} {11030#(< ~counter~0 99)} #78#return; {11030#(< ~counter~0 99)} is VALID [2022-04-28 06:35:20,630 INFO L290 TraceCheckUtils]: 29: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,630 INFO L290 TraceCheckUtils]: 28: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,631 INFO L272 TraceCheckUtils]: 26: Hoare triple {11030#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,631 INFO L290 TraceCheckUtils]: 25: Hoare triple {11030#(< ~counter~0 99)} assume !!(#t~post5 < 100);havoc #t~post5; {11030#(< ~counter~0 99)} is VALID [2022-04-28 06:35:20,631 INFO L290 TraceCheckUtils]: 24: Hoare triple {11085#(< ~counter~0 98)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {11030#(< ~counter~0 99)} is VALID [2022-04-28 06:35:20,632 INFO L290 TraceCheckUtils]: 23: Hoare triple {11085#(< ~counter~0 98)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11085#(< ~counter~0 98)} is VALID [2022-04-28 06:35:20,632 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10712#true} {11085#(< ~counter~0 98)} #82#return; {11085#(< ~counter~0 98)} is VALID [2022-04-28 06:35:20,632 INFO L290 TraceCheckUtils]: 21: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,632 INFO L272 TraceCheckUtils]: 18: Hoare triple {11085#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,635 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10712#true} {11085#(< ~counter~0 98)} #80#return; {11085#(< ~counter~0 98)} is VALID [2022-04-28 06:35:20,636 INFO L290 TraceCheckUtils]: 16: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,636 INFO L272 TraceCheckUtils]: 13: Hoare triple {11085#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,636 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10712#true} {11085#(< ~counter~0 98)} #78#return; {11085#(< ~counter~0 98)} is VALID [2022-04-28 06:35:20,637 INFO L290 TraceCheckUtils]: 11: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-28 06:35:20,637 INFO L290 TraceCheckUtils]: 10: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-28 06:35:20,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-28 06:35:20,637 INFO L272 TraceCheckUtils]: 8: Hoare triple {11085#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10712#true} is VALID [2022-04-28 06:35:20,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {11085#(< ~counter~0 98)} assume !!(#t~post5 < 100);havoc #t~post5; {11085#(< ~counter~0 98)} is VALID [2022-04-28 06:35:20,638 INFO L290 TraceCheckUtils]: 6: Hoare triple {11140#(< ~counter~0 97)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {11085#(< ~counter~0 98)} is VALID [2022-04-28 06:35:20,638 INFO L290 TraceCheckUtils]: 5: Hoare triple {11140#(< ~counter~0 97)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {11140#(< ~counter~0 97)} is VALID [2022-04-28 06:35:20,639 INFO L272 TraceCheckUtils]: 4: Hoare triple {11140#(< ~counter~0 97)} call #t~ret7 := main(); {11140#(< ~counter~0 97)} is VALID [2022-04-28 06:35:20,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11140#(< ~counter~0 97)} {10712#true} #92#return; {11140#(< ~counter~0 97)} is VALID [2022-04-28 06:35:20,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {11140#(< ~counter~0 97)} assume true; {11140#(< ~counter~0 97)} is VALID [2022-04-28 06:35:20,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {10712#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11140#(< ~counter~0 97)} is VALID [2022-04-28 06:35:20,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {10712#true} call ULTIMATE.init(); {10712#true} is VALID [2022-04-28 06:35:20,641 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 20 proven. 24 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 06:35:20,641 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:35:20,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1397315378] [2022-04-28 06:35:20,641 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:35:20,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1819056640] [2022-04-28 06:35:20,641 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1819056640] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:35:20,641 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:35:20,641 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 06:35:20,641 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:35:20,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [328321230] [2022-04-28 06:35:20,642 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [328321230] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:35:20,642 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:35:20,642 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:35:20,642 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [30852478] [2022-04-28 06:35:20,642 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:35:20,642 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 06:35:20,643 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:35:20,643 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:20,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:20,692 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 06:35:20,692 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:35:20,692 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 06:35:20,692 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:35:20,692 INFO L87 Difference]: Start difference. First operand 129 states and 152 transitions. Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:20,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:20,941 INFO L93 Difference]: Finished difference Result 170 states and 207 transitions. [2022-04-28 06:35:20,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:35:20,942 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 06:35:20,942 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:35:20,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:20,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 06:35:20,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:20,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 06:35:20,946 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-28 06:35:21,018 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:21,026 INFO L225 Difference]: With dead ends: 170 [2022-04-28 06:35:21,026 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 06:35:21,026 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 135 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:35:21,028 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:35:21,028 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 144 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:35:21,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 06:35:21,140 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-28 06:35:21,141 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:35:21,141 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:35:21,141 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:35:21,142 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:35:21,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:21,145 INFO L93 Difference]: Finished difference Result 131 states and 154 transitions. [2022-04-28 06:35:21,145 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 154 transitions. [2022-04-28 06:35:21,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:35:21,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:35:21,146 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 131 states. [2022-04-28 06:35:21,146 INFO L87 Difference]: Start difference. First operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 131 states. [2022-04-28 06:35:21,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:21,149 INFO L93 Difference]: Finished difference Result 131 states and 154 transitions. [2022-04-28 06:35:21,149 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 154 transitions. [2022-04-28 06:35:21,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:35:21,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:35:21,150 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:35:21,150 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:35:21,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:35:21,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 154 transitions. [2022-04-28 06:35:21,153 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 154 transitions. Word has length 73 [2022-04-28 06:35:21,153 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:35:21,153 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 154 transitions. [2022-04-28 06:35:21,153 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:35:21,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 154 transitions. [2022-04-28 06:35:21,340 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:21,341 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 154 transitions. [2022-04-28 06:35:21,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 06:35:21,341 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:35:21,341 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:35:21,358 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 06:35:21,542 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 06:35:21,542 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:35:21,543 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:35:21,543 INFO L85 PathProgramCache]: Analyzing trace with hash 1997631578, now seen corresponding path program 3 times [2022-04-28 06:35:21,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:35:21,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [326968040] [2022-04-28 06:35:23,699 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:35:23,699 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:35:23,699 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:35:23,699 INFO L85 PathProgramCache]: Analyzing trace with hash 1997631578, now seen corresponding path program 4 times [2022-04-28 06:35:23,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:35:23,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2056204198] [2022-04-28 06:35:23,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:35:23,700 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:35:23,709 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:35:23,709 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [193497249] [2022-04-28 06:35:23,709 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:35:23,709 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:35:23,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:35:23,712 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:35:23,713 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 06:35:23,770 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:35:23,771 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:35:23,772 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 06:35:23,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:35:23,787 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:35:24,111 INFO L272 TraceCheckUtils]: 0: Hoare triple {12031#true} call ULTIMATE.init(); {12031#true} is VALID [2022-04-28 06:35:24,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {12031#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12039#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:24,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {12039#(<= ~counter~0 0)} assume true; {12039#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:24,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12039#(<= ~counter~0 0)} {12031#true} #92#return; {12039#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:24,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {12039#(<= ~counter~0 0)} call #t~ret7 := main(); {12039#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:24,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {12039#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {12039#(<= ~counter~0 0)} is VALID [2022-04-28 06:35:24,113 INFO L290 TraceCheckUtils]: 6: Hoare triple {12039#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {12055#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,114 INFO L272 TraceCheckUtils]: 8: Hoare triple {12055#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {12055#(<= ~counter~0 1)} ~cond := #in~cond; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,115 INFO L290 TraceCheckUtils]: 10: Hoare triple {12055#(<= ~counter~0 1)} assume !(0 == ~cond); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {12055#(<= ~counter~0 1)} assume true; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,116 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12055#(<= ~counter~0 1)} {12055#(<= ~counter~0 1)} #78#return; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,117 INFO L272 TraceCheckUtils]: 13: Hoare triple {12055#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,117 INFO L290 TraceCheckUtils]: 14: Hoare triple {12055#(<= ~counter~0 1)} ~cond := #in~cond; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,117 INFO L290 TraceCheckUtils]: 15: Hoare triple {12055#(<= ~counter~0 1)} assume !(0 == ~cond); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,118 INFO L290 TraceCheckUtils]: 16: Hoare triple {12055#(<= ~counter~0 1)} assume true; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,118 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {12055#(<= ~counter~0 1)} {12055#(<= ~counter~0 1)} #80#return; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,119 INFO L272 TraceCheckUtils]: 18: Hoare triple {12055#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,119 INFO L290 TraceCheckUtils]: 19: Hoare triple {12055#(<= ~counter~0 1)} ~cond := #in~cond; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,119 INFO L290 TraceCheckUtils]: 20: Hoare triple {12055#(<= ~counter~0 1)} assume !(0 == ~cond); {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,120 INFO L290 TraceCheckUtils]: 21: Hoare triple {12055#(<= ~counter~0 1)} assume true; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,120 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12055#(<= ~counter~0 1)} {12055#(<= ~counter~0 1)} #82#return; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,121 INFO L290 TraceCheckUtils]: 23: Hoare triple {12055#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12055#(<= ~counter~0 1)} is VALID [2022-04-28 06:35:24,122 INFO L290 TraceCheckUtils]: 24: Hoare triple {12055#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,122 INFO L290 TraceCheckUtils]: 25: Hoare triple {12110#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,123 INFO L272 TraceCheckUtils]: 26: Hoare triple {12110#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,123 INFO L290 TraceCheckUtils]: 27: Hoare triple {12110#(<= ~counter~0 2)} ~cond := #in~cond; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,123 INFO L290 TraceCheckUtils]: 28: Hoare triple {12110#(<= ~counter~0 2)} assume !(0 == ~cond); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {12110#(<= ~counter~0 2)} assume true; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,124 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {12110#(<= ~counter~0 2)} {12110#(<= ~counter~0 2)} #78#return; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,125 INFO L272 TraceCheckUtils]: 31: Hoare triple {12110#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,125 INFO L290 TraceCheckUtils]: 32: Hoare triple {12110#(<= ~counter~0 2)} ~cond := #in~cond; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,126 INFO L290 TraceCheckUtils]: 33: Hoare triple {12110#(<= ~counter~0 2)} assume !(0 == ~cond); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,126 INFO L290 TraceCheckUtils]: 34: Hoare triple {12110#(<= ~counter~0 2)} assume true; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,126 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12110#(<= ~counter~0 2)} {12110#(<= ~counter~0 2)} #80#return; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,127 INFO L272 TraceCheckUtils]: 36: Hoare triple {12110#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,127 INFO L290 TraceCheckUtils]: 37: Hoare triple {12110#(<= ~counter~0 2)} ~cond := #in~cond; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,128 INFO L290 TraceCheckUtils]: 38: Hoare triple {12110#(<= ~counter~0 2)} assume !(0 == ~cond); {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,128 INFO L290 TraceCheckUtils]: 39: Hoare triple {12110#(<= ~counter~0 2)} assume true; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,129 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12110#(<= ~counter~0 2)} {12110#(<= ~counter~0 2)} #82#return; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,129 INFO L290 TraceCheckUtils]: 41: Hoare triple {12110#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12110#(<= ~counter~0 2)} is VALID [2022-04-28 06:35:24,130 INFO L290 TraceCheckUtils]: 42: Hoare triple {12110#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,130 INFO L290 TraceCheckUtils]: 43: Hoare triple {12165#(<= ~counter~0 3)} assume !!(#t~post5 < 100);havoc #t~post5; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,131 INFO L272 TraceCheckUtils]: 44: Hoare triple {12165#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,131 INFO L290 TraceCheckUtils]: 45: Hoare triple {12165#(<= ~counter~0 3)} ~cond := #in~cond; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,131 INFO L290 TraceCheckUtils]: 46: Hoare triple {12165#(<= ~counter~0 3)} assume !(0 == ~cond); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,132 INFO L290 TraceCheckUtils]: 47: Hoare triple {12165#(<= ~counter~0 3)} assume true; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,132 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {12165#(<= ~counter~0 3)} {12165#(<= ~counter~0 3)} #78#return; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,133 INFO L272 TraceCheckUtils]: 49: Hoare triple {12165#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,133 INFO L290 TraceCheckUtils]: 50: Hoare triple {12165#(<= ~counter~0 3)} ~cond := #in~cond; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,133 INFO L290 TraceCheckUtils]: 51: Hoare triple {12165#(<= ~counter~0 3)} assume !(0 == ~cond); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,134 INFO L290 TraceCheckUtils]: 52: Hoare triple {12165#(<= ~counter~0 3)} assume true; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,134 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12165#(<= ~counter~0 3)} {12165#(<= ~counter~0 3)} #80#return; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,135 INFO L272 TraceCheckUtils]: 54: Hoare triple {12165#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,135 INFO L290 TraceCheckUtils]: 55: Hoare triple {12165#(<= ~counter~0 3)} ~cond := #in~cond; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,136 INFO L290 TraceCheckUtils]: 56: Hoare triple {12165#(<= ~counter~0 3)} assume !(0 == ~cond); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,136 INFO L290 TraceCheckUtils]: 57: Hoare triple {12165#(<= ~counter~0 3)} assume true; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,136 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12165#(<= ~counter~0 3)} {12165#(<= ~counter~0 3)} #82#return; {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,137 INFO L290 TraceCheckUtils]: 59: Hoare triple {12165#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {12165#(<= ~counter~0 3)} is VALID [2022-04-28 06:35:24,138 INFO L290 TraceCheckUtils]: 60: Hoare triple {12165#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,138 INFO L290 TraceCheckUtils]: 61: Hoare triple {12220#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,139 INFO L272 TraceCheckUtils]: 62: Hoare triple {12220#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,139 INFO L290 TraceCheckUtils]: 63: Hoare triple {12220#(<= ~counter~0 4)} ~cond := #in~cond; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,139 INFO L290 TraceCheckUtils]: 64: Hoare triple {12220#(<= ~counter~0 4)} assume !(0 == ~cond); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,139 INFO L290 TraceCheckUtils]: 65: Hoare triple {12220#(<= ~counter~0 4)} assume true; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,140 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {12220#(<= ~counter~0 4)} {12220#(<= ~counter~0 4)} #84#return; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,141 INFO L272 TraceCheckUtils]: 67: Hoare triple {12220#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,141 INFO L290 TraceCheckUtils]: 68: Hoare triple {12220#(<= ~counter~0 4)} ~cond := #in~cond; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,141 INFO L290 TraceCheckUtils]: 69: Hoare triple {12220#(<= ~counter~0 4)} assume !(0 == ~cond); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,142 INFO L290 TraceCheckUtils]: 70: Hoare triple {12220#(<= ~counter~0 4)} assume true; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,142 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {12220#(<= ~counter~0 4)} {12220#(<= ~counter~0 4)} #86#return; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,142 INFO L290 TraceCheckUtils]: 72: Hoare triple {12220#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,143 INFO L290 TraceCheckUtils]: 73: Hoare triple {12220#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12220#(<= ~counter~0 4)} is VALID [2022-04-28 06:35:24,143 INFO L290 TraceCheckUtils]: 74: Hoare triple {12220#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12263#(<= |main_#t~post6| 4)} is VALID [2022-04-28 06:35:24,144 INFO L290 TraceCheckUtils]: 75: Hoare triple {12263#(<= |main_#t~post6| 4)} assume !(#t~post6 < 100);havoc #t~post6; {12032#false} is VALID [2022-04-28 06:35:24,144 INFO L272 TraceCheckUtils]: 76: Hoare triple {12032#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12032#false} is VALID [2022-04-28 06:35:24,144 INFO L290 TraceCheckUtils]: 77: Hoare triple {12032#false} ~cond := #in~cond; {12032#false} is VALID [2022-04-28 06:35:24,144 INFO L290 TraceCheckUtils]: 78: Hoare triple {12032#false} assume 0 == ~cond; {12032#false} is VALID [2022-04-28 06:35:24,144 INFO L290 TraceCheckUtils]: 79: Hoare triple {12032#false} assume !false; {12032#false} is VALID [2022-04-28 06:35:24,144 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 200 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 06:35:24,145 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:35:24,525 INFO L290 TraceCheckUtils]: 79: Hoare triple {12032#false} assume !false; {12032#false} is VALID [2022-04-28 06:35:24,526 INFO L290 TraceCheckUtils]: 78: Hoare triple {12032#false} assume 0 == ~cond; {12032#false} is VALID [2022-04-28 06:35:24,526 INFO L290 TraceCheckUtils]: 77: Hoare triple {12032#false} ~cond := #in~cond; {12032#false} is VALID [2022-04-28 06:35:24,526 INFO L272 TraceCheckUtils]: 76: Hoare triple {12032#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12032#false} is VALID [2022-04-28 06:35:24,526 INFO L290 TraceCheckUtils]: 75: Hoare triple {12291#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {12032#false} is VALID [2022-04-28 06:35:24,526 INFO L290 TraceCheckUtils]: 74: Hoare triple {12295#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12291#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:35:24,527 INFO L290 TraceCheckUtils]: 73: Hoare triple {12295#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12295#(< ~counter~0 100)} is VALID [2022-04-28 06:35:24,527 INFO L290 TraceCheckUtils]: 72: Hoare triple {12295#(< ~counter~0 100)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {12295#(< ~counter~0 100)} is VALID [2022-04-28 06:35:24,527 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {12031#true} {12295#(< ~counter~0 100)} #86#return; {12295#(< ~counter~0 100)} is VALID [2022-04-28 06:35:24,527 INFO L290 TraceCheckUtils]: 70: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,527 INFO L290 TraceCheckUtils]: 69: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,527 INFO L290 TraceCheckUtils]: 68: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,528 INFO L272 TraceCheckUtils]: 67: Hoare triple {12295#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,528 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {12031#true} {12295#(< ~counter~0 100)} #84#return; {12295#(< ~counter~0 100)} is VALID [2022-04-28 06:35:24,528 INFO L290 TraceCheckUtils]: 65: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,528 INFO L290 TraceCheckUtils]: 64: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,528 INFO L290 TraceCheckUtils]: 63: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,528 INFO L272 TraceCheckUtils]: 62: Hoare triple {12295#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,528 INFO L290 TraceCheckUtils]: 61: Hoare triple {12295#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {12295#(< ~counter~0 100)} is VALID [2022-04-28 06:35:24,529 INFO L290 TraceCheckUtils]: 60: Hoare triple {12338#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12295#(< ~counter~0 100)} is VALID [2022-04-28 06:35:24,529 INFO L290 TraceCheckUtils]: 59: Hoare triple {12338#(< ~counter~0 99)} assume !(~r~0 >= ~d~0); {12338#(< ~counter~0 99)} is VALID [2022-04-28 06:35:24,530 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12031#true} {12338#(< ~counter~0 99)} #82#return; {12338#(< ~counter~0 99)} is VALID [2022-04-28 06:35:24,530 INFO L290 TraceCheckUtils]: 57: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,530 INFO L290 TraceCheckUtils]: 56: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,530 INFO L290 TraceCheckUtils]: 55: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,530 INFO L272 TraceCheckUtils]: 54: Hoare triple {12338#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,530 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12031#true} {12338#(< ~counter~0 99)} #80#return; {12338#(< ~counter~0 99)} is VALID [2022-04-28 06:35:24,531 INFO L290 TraceCheckUtils]: 52: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,531 INFO L290 TraceCheckUtils]: 51: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,531 INFO L290 TraceCheckUtils]: 50: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,531 INFO L272 TraceCheckUtils]: 49: Hoare triple {12338#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,531 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {12031#true} {12338#(< ~counter~0 99)} #78#return; {12338#(< ~counter~0 99)} is VALID [2022-04-28 06:35:24,531 INFO L290 TraceCheckUtils]: 47: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,531 INFO L290 TraceCheckUtils]: 46: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,531 INFO L290 TraceCheckUtils]: 45: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,531 INFO L272 TraceCheckUtils]: 44: Hoare triple {12338#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,532 INFO L290 TraceCheckUtils]: 43: Hoare triple {12338#(< ~counter~0 99)} assume !!(#t~post5 < 100);havoc #t~post5; {12338#(< ~counter~0 99)} is VALID [2022-04-28 06:35:24,532 INFO L290 TraceCheckUtils]: 42: Hoare triple {12393#(< ~counter~0 98)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12338#(< ~counter~0 99)} is VALID [2022-04-28 06:35:24,532 INFO L290 TraceCheckUtils]: 41: Hoare triple {12393#(< ~counter~0 98)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12393#(< ~counter~0 98)} is VALID [2022-04-28 06:35:24,533 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12031#true} {12393#(< ~counter~0 98)} #82#return; {12393#(< ~counter~0 98)} is VALID [2022-04-28 06:35:24,533 INFO L290 TraceCheckUtils]: 39: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,533 INFO L290 TraceCheckUtils]: 38: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,533 INFO L290 TraceCheckUtils]: 37: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,533 INFO L272 TraceCheckUtils]: 36: Hoare triple {12393#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,533 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12031#true} {12393#(< ~counter~0 98)} #80#return; {12393#(< ~counter~0 98)} is VALID [2022-04-28 06:35:24,534 INFO L290 TraceCheckUtils]: 34: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,534 INFO L290 TraceCheckUtils]: 33: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,534 INFO L290 TraceCheckUtils]: 32: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,534 INFO L272 TraceCheckUtils]: 31: Hoare triple {12393#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,534 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {12031#true} {12393#(< ~counter~0 98)} #78#return; {12393#(< ~counter~0 98)} is VALID [2022-04-28 06:35:24,534 INFO L290 TraceCheckUtils]: 29: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,534 INFO L290 TraceCheckUtils]: 28: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,534 INFO L290 TraceCheckUtils]: 27: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,534 INFO L272 TraceCheckUtils]: 26: Hoare triple {12393#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,535 INFO L290 TraceCheckUtils]: 25: Hoare triple {12393#(< ~counter~0 98)} assume !!(#t~post5 < 100);havoc #t~post5; {12393#(< ~counter~0 98)} is VALID [2022-04-28 06:35:24,535 INFO L290 TraceCheckUtils]: 24: Hoare triple {12448#(< ~counter~0 97)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12393#(< ~counter~0 98)} is VALID [2022-04-28 06:35:24,535 INFO L290 TraceCheckUtils]: 23: Hoare triple {12448#(< ~counter~0 97)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12448#(< ~counter~0 97)} is VALID [2022-04-28 06:35:24,536 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12031#true} {12448#(< ~counter~0 97)} #82#return; {12448#(< ~counter~0 97)} is VALID [2022-04-28 06:35:24,536 INFO L290 TraceCheckUtils]: 21: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,536 INFO L290 TraceCheckUtils]: 19: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,536 INFO L272 TraceCheckUtils]: 18: Hoare triple {12448#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,536 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {12031#true} {12448#(< ~counter~0 97)} #80#return; {12448#(< ~counter~0 97)} is VALID [2022-04-28 06:35:24,537 INFO L290 TraceCheckUtils]: 16: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,537 INFO L290 TraceCheckUtils]: 15: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,537 INFO L272 TraceCheckUtils]: 13: Hoare triple {12448#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,537 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12031#true} {12448#(< ~counter~0 97)} #78#return; {12448#(< ~counter~0 97)} is VALID [2022-04-28 06:35:24,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-28 06:35:24,537 INFO L290 TraceCheckUtils]: 10: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-28 06:35:24,537 INFO L290 TraceCheckUtils]: 9: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-28 06:35:24,538 INFO L272 TraceCheckUtils]: 8: Hoare triple {12448#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12031#true} is VALID [2022-04-28 06:35:24,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {12448#(< ~counter~0 97)} assume !!(#t~post5 < 100);havoc #t~post5; {12448#(< ~counter~0 97)} is VALID [2022-04-28 06:35:24,538 INFO L290 TraceCheckUtils]: 6: Hoare triple {12503#(< ~counter~0 96)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12448#(< ~counter~0 97)} is VALID [2022-04-28 06:35:24,539 INFO L290 TraceCheckUtils]: 5: Hoare triple {12503#(< ~counter~0 96)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {12503#(< ~counter~0 96)} is VALID [2022-04-28 06:35:24,539 INFO L272 TraceCheckUtils]: 4: Hoare triple {12503#(< ~counter~0 96)} call #t~ret7 := main(); {12503#(< ~counter~0 96)} is VALID [2022-04-28 06:35:24,539 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12503#(< ~counter~0 96)} {12031#true} #92#return; {12503#(< ~counter~0 96)} is VALID [2022-04-28 06:35:24,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {12503#(< ~counter~0 96)} assume true; {12503#(< ~counter~0 96)} is VALID [2022-04-28 06:35:24,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {12031#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12503#(< ~counter~0 96)} is VALID [2022-04-28 06:35:24,540 INFO L272 TraceCheckUtils]: 0: Hoare triple {12031#true} call ULTIMATE.init(); {12031#true} is VALID [2022-04-28 06:35:24,540 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 20 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 06:35:24,540 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:35:24,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2056204198] [2022-04-28 06:35:24,541 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:35:24,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [193497249] [2022-04-28 06:35:24,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [193497249] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:35:24,541 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:35:24,541 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 06:35:24,541 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:35:24,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [326968040] [2022-04-28 06:35:24,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [326968040] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:35:24,541 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:35:24,541 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:35:24,541 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1548366643] [2022-04-28 06:35:24,542 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:35:24,542 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-28 06:35:24,542 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:35:24,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:35:24,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:24,584 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:35:24,584 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:35:24,585 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:35:24,585 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:35:24,585 INFO L87 Difference]: Start difference. First operand 131 states and 154 transitions. Second operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:35:25,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:25,003 INFO L93 Difference]: Finished difference Result 181 states and 209 transitions. [2022-04-28 06:35:25,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:35:25,003 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-28 06:35:25,004 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:35:25,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:35:25,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2022-04-28 06:35:25,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:35:25,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2022-04-28 06:35:25,007 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 112 transitions. [2022-04-28 06:35:25,108 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:25,111 INFO L225 Difference]: With dead ends: 181 [2022-04-28 06:35:25,112 INFO L226 Difference]: Without dead ends: 166 [2022-04-28 06:35:25,112 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 147 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=129, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:35:25,112 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 26 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:35:25,113 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 201 Invalid, 105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:35:25,113 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2022-04-28 06:35:25,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 163. [2022-04-28 06:35:25,308 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:35:25,309 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 06:35:25,309 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 06:35:25,310 INFO L87 Difference]: Start difference. First operand 166 states. Second operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 06:35:25,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:25,316 INFO L93 Difference]: Finished difference Result 166 states and 192 transitions. [2022-04-28 06:35:25,316 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 192 transitions. [2022-04-28 06:35:25,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:35:25,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:35:25,317 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 166 states. [2022-04-28 06:35:25,318 INFO L87 Difference]: Start difference. First operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 166 states. [2022-04-28 06:35:25,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:35:25,321 INFO L93 Difference]: Finished difference Result 166 states and 192 transitions. [2022-04-28 06:35:25,321 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 192 transitions. [2022-04-28 06:35:25,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:35:25,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:35:25,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:35:25,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:35:25,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 06:35:25,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 190 transitions. [2022-04-28 06:35:25,326 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 190 transitions. Word has length 80 [2022-04-28 06:35:25,326 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:35:25,326 INFO L495 AbstractCegarLoop]: Abstraction has 163 states and 190 transitions. [2022-04-28 06:35:25,327 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:35:25,327 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 190 transitions. [2022-04-28 06:35:25,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 190 edges. 190 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:35:25,582 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 190 transitions. [2022-04-28 06:35:25,582 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 06:35:25,582 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:35:25,582 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:35:25,608 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 06:35:25,783 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 06:35:25,783 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:35:25,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:35:25,784 INFO L85 PathProgramCache]: Analyzing trace with hash 1999359456, now seen corresponding path program 5 times [2022-04-28 06:35:25,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:35:25,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1601690612] [2022-04-28 06:35:29,829 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:35:29,830 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:35:29,830 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:35:29,830 INFO L85 PathProgramCache]: Analyzing trace with hash 1999359456, now seen corresponding path program 6 times [2022-04-28 06:35:29,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:35:29,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1411340592] [2022-04-28 06:35:29,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:35:29,830 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:35:29,840 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:35:29,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [282686231] [2022-04-28 06:35:29,840 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:35:29,840 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:35:29,841 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:35:29,848 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:35:29,852 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 06:35:29,895 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 06:35:29,896 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:35:29,896 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 06:35:29,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:35:29,911 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:35:30,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {13546#true} call ULTIMATE.init(); {13546#true} is VALID [2022-04-28 06:35:30,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {13546#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13546#true} is VALID [2022-04-28 06:35:30,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13546#true} {13546#true} #92#return; {13546#true} is VALID [2022-04-28 06:35:30,734 INFO L272 TraceCheckUtils]: 4: Hoare triple {13546#true} call #t~ret7 := main(); {13546#true} is VALID [2022-04-28 06:35:30,735 INFO L290 TraceCheckUtils]: 5: Hoare triple {13546#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,735 INFO L290 TraceCheckUtils]: 6: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,736 INFO L290 TraceCheckUtils]: 7: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,736 INFO L272 TraceCheckUtils]: 8: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,736 INFO L290 TraceCheckUtils]: 10: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,736 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,737 INFO L272 TraceCheckUtils]: 13: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,737 INFO L290 TraceCheckUtils]: 14: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,737 INFO L290 TraceCheckUtils]: 15: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,737 INFO L290 TraceCheckUtils]: 16: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,737 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,737 INFO L272 TraceCheckUtils]: 18: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,738 INFO L290 TraceCheckUtils]: 21: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,738 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,739 INFO L290 TraceCheckUtils]: 23: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,740 INFO L290 TraceCheckUtils]: 25: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,740 INFO L272 TraceCheckUtils]: 26: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,740 INFO L290 TraceCheckUtils]: 27: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,740 INFO L290 TraceCheckUtils]: 28: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,740 INFO L290 TraceCheckUtils]: 29: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,741 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,741 INFO L272 TraceCheckUtils]: 31: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,741 INFO L290 TraceCheckUtils]: 32: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,741 INFO L290 TraceCheckUtils]: 33: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,741 INFO L290 TraceCheckUtils]: 34: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,742 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,742 INFO L272 TraceCheckUtils]: 36: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,742 INFO L290 TraceCheckUtils]: 37: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,742 INFO L290 TraceCheckUtils]: 38: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,742 INFO L290 TraceCheckUtils]: 39: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,743 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,744 INFO L290 TraceCheckUtils]: 41: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,745 INFO L290 TraceCheckUtils]: 42: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,745 INFO L290 TraceCheckUtils]: 43: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 100);havoc #t~post5; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,745 INFO L272 TraceCheckUtils]: 44: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,745 INFO L290 TraceCheckUtils]: 45: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,746 INFO L290 TraceCheckUtils]: 46: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,746 INFO L290 TraceCheckUtils]: 47: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,746 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {13546#true} {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #78#return; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,746 INFO L272 TraceCheckUtils]: 49: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,747 INFO L290 TraceCheckUtils]: 50: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,747 INFO L290 TraceCheckUtils]: 51: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,747 INFO L290 TraceCheckUtils]: 52: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,747 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13546#true} {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #80#return; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,748 INFO L272 TraceCheckUtils]: 54: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,748 INFO L290 TraceCheckUtils]: 55: Hoare triple {13546#true} ~cond := #in~cond; {13718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:35:30,748 INFO L290 TraceCheckUtils]: 56: Hoare triple {13718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:30,749 INFO L290 TraceCheckUtils]: 57: Hoare triple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:35:30,750 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #82#return; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,750 INFO L290 TraceCheckUtils]: 59: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,751 INFO L290 TraceCheckUtils]: 60: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,751 INFO L290 TraceCheckUtils]: 61: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,751 INFO L272 TraceCheckUtils]: 62: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,751 INFO L290 TraceCheckUtils]: 63: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,752 INFO L290 TraceCheckUtils]: 64: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,752 INFO L290 TraceCheckUtils]: 65: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,752 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13546#true} {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #84#return; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,752 INFO L272 TraceCheckUtils]: 67: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:35:30,752 INFO L290 TraceCheckUtils]: 68: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:35:30,753 INFO L290 TraceCheckUtils]: 69: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:35:30,753 INFO L290 TraceCheckUtils]: 70: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:35:30,753 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {13546#true} {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #86#return; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:35:30,755 INFO L290 TraceCheckUtils]: 72: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {13772#(and (= (div (* main_~B~0 main_~p~0 2) 2) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:35:30,756 INFO L290 TraceCheckUtils]: 73: Hoare triple {13772#(and (= (div (* main_~B~0 main_~p~0 2) 2) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} is VALID [2022-04-28 06:35:30,756 INFO L290 TraceCheckUtils]: 74: Hoare triple {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} is VALID [2022-04-28 06:35:30,757 INFO L290 TraceCheckUtils]: 75: Hoare triple {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} is VALID [2022-04-28 06:35:30,758 INFO L272 TraceCheckUtils]: 76: Hoare triple {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:35:30,758 INFO L290 TraceCheckUtils]: 77: Hoare triple {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13790#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:35:30,759 INFO L290 TraceCheckUtils]: 78: Hoare triple {13790#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13547#false} is VALID [2022-04-28 06:35:30,759 INFO L290 TraceCheckUtils]: 79: Hoare triple {13547#false} assume !false; {13547#false} is VALID [2022-04-28 06:35:30,759 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 57 proven. 10 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-28 06:35:30,759 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:37:08,788 INFO L290 TraceCheckUtils]: 79: Hoare triple {13547#false} assume !false; {13547#false} is VALID [2022-04-28 06:37:08,790 INFO L290 TraceCheckUtils]: 78: Hoare triple {13790#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13547#false} is VALID [2022-04-28 06:37:08,790 INFO L290 TraceCheckUtils]: 77: Hoare triple {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13790#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:37:08,791 INFO L272 TraceCheckUtils]: 76: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:37:08,791 INFO L290 TraceCheckUtils]: 75: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 100);havoc #t~post6; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,792 INFO L290 TraceCheckUtils]: 74: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,812 INFO L290 TraceCheckUtils]: 73: Hoare triple {13816#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,833 INFO L290 TraceCheckUtils]: 72: Hoare triple {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {13816#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 06:37:08,834 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {13546#true} {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:37:08,834 INFO L290 TraceCheckUtils]: 70: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,834 INFO L290 TraceCheckUtils]: 69: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,834 INFO L290 TraceCheckUtils]: 68: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,834 INFO L272 TraceCheckUtils]: 67: Hoare triple {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,835 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13546#true} {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:37:08,835 INFO L290 TraceCheckUtils]: 65: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,835 INFO L290 TraceCheckUtils]: 64: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,835 INFO L290 TraceCheckUtils]: 63: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,835 INFO L272 TraceCheckUtils]: 62: Hoare triple {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,836 INFO L290 TraceCheckUtils]: 61: Hoare triple {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(#t~post6 < 100);havoc #t~post6; {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:37:08,837 INFO L290 TraceCheckUtils]: 60: Hoare triple {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:37:08,839 INFO L290 TraceCheckUtils]: 59: Hoare triple {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:37:08,840 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #82#return; {13820#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:37:08,840 INFO L290 TraceCheckUtils]: 57: Hoare triple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:37:08,840 INFO L290 TraceCheckUtils]: 56: Hoare triple {13873#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:37:08,841 INFO L290 TraceCheckUtils]: 55: Hoare triple {13546#true} ~cond := #in~cond; {13873#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:37:08,841 INFO L272 TraceCheckUtils]: 54: Hoare triple {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,842 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13546#true} {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #80#return; {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:37:08,842 INFO L290 TraceCheckUtils]: 52: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,842 INFO L290 TraceCheckUtils]: 51: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,842 INFO L290 TraceCheckUtils]: 50: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,842 INFO L272 TraceCheckUtils]: 49: Hoare triple {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,843 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {13546#true} {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #78#return; {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:37:08,843 INFO L290 TraceCheckUtils]: 47: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,843 INFO L290 TraceCheckUtils]: 46: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,843 INFO L290 TraceCheckUtils]: 45: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,843 INFO L272 TraceCheckUtils]: 44: Hoare triple {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,845 INFO L290 TraceCheckUtils]: 43: Hoare triple {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume !!(#t~post5 < 100);havoc #t~post5; {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:37:08,847 INFO L290 TraceCheckUtils]: 42: Hoare triple {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:37:08,853 INFO L290 TraceCheckUtils]: 41: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13863#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:37:08,853 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,853 INFO L290 TraceCheckUtils]: 39: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,853 INFO L290 TraceCheckUtils]: 38: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,854 INFO L290 TraceCheckUtils]: 37: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,854 INFO L272 TraceCheckUtils]: 36: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,854 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,854 INFO L290 TraceCheckUtils]: 34: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,854 INFO L290 TraceCheckUtils]: 33: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,854 INFO L290 TraceCheckUtils]: 32: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,854 INFO L272 TraceCheckUtils]: 31: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,855 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #78#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,855 INFO L290 TraceCheckUtils]: 29: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,855 INFO L290 TraceCheckUtils]: 28: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,855 INFO L290 TraceCheckUtils]: 27: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,855 INFO L272 TraceCheckUtils]: 26: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,856 INFO L290 TraceCheckUtils]: 25: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post5 < 100);havoc #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,856 INFO L290 TraceCheckUtils]: 24: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,857 INFO L290 TraceCheckUtils]: 23: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,857 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,857 INFO L290 TraceCheckUtils]: 21: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,857 INFO L290 TraceCheckUtils]: 20: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,857 INFO L290 TraceCheckUtils]: 19: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,858 INFO L272 TraceCheckUtils]: 18: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,858 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,858 INFO L290 TraceCheckUtils]: 16: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,858 INFO L290 TraceCheckUtils]: 15: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,858 INFO L290 TraceCheckUtils]: 14: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,858 INFO L272 TraceCheckUtils]: 13: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,859 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #78#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,859 INFO L290 TraceCheckUtils]: 11: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,859 INFO L290 TraceCheckUtils]: 10: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-28 06:37:08,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-28 06:37:08,859 INFO L272 TraceCheckUtils]: 8: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-28 06:37:08,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post5 < 100);havoc #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,860 INFO L290 TraceCheckUtils]: 6: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {13546#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:37:08,861 INFO L272 TraceCheckUtils]: 4: Hoare triple {13546#true} call #t~ret7 := main(); {13546#true} is VALID [2022-04-28 06:37:08,861 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13546#true} {13546#true} #92#return; {13546#true} is VALID [2022-04-28 06:37:08,861 INFO L290 TraceCheckUtils]: 2: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-28 06:37:08,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {13546#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13546#true} is VALID [2022-04-28 06:37:08,861 INFO L272 TraceCheckUtils]: 0: Hoare triple {13546#true} call ULTIMATE.init(); {13546#true} is VALID [2022-04-28 06:37:08,862 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 45 proven. 22 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-28 06:37:08,862 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:37:08,862 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1411340592] [2022-04-28 06:37:08,862 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:37:08,862 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [282686231] [2022-04-28 06:37:08,862 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [282686231] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:37:08,862 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:37:08,862 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-28 06:37:08,862 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:37:08,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1601690612] [2022-04-28 06:37:08,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1601690612] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:37:08,863 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:37:08,863 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 06:37:08,863 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1417157900] [2022-04-28 06:37:08,863 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:37:08,863 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 80 [2022-04-28 06:37:08,864 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:37:08,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:37:08,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:08,910 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 06:37:08,910 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:37:08,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 06:37:08,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=182, Unknown=1, NotChecked=0, Total=240 [2022-04-28 06:37:08,911 INFO L87 Difference]: Start difference. First operand 163 states and 190 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:37:09,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:09,626 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-28 06:37:09,626 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:37:09,626 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 80 [2022-04-28 06:37:09,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:37:09,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:37:09,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 06:37:09,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:37:09,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 06:37:09,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-28 06:37:09,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:09,741 INFO L225 Difference]: With dead ends: 193 [2022-04-28 06:37:09,742 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 06:37:09,742 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 144 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=70, Invalid=235, Unknown=1, NotChecked=0, Total=306 [2022-04-28 06:37:09,742 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 45 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 195 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 195 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:37:09,743 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 116 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 195 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:37:09,743 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 06:37:09,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 169. [2022-04-28 06:37:09,937 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:37:09,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 06:37:09,937 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 06:37:09,938 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 06:37:09,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:09,944 INFO L93 Difference]: Finished difference Result 173 states and 201 transitions. [2022-04-28 06:37:09,944 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 201 transitions. [2022-04-28 06:37:09,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:37:09,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:37:09,945 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 173 states. [2022-04-28 06:37:09,945 INFO L87 Difference]: Start difference. First operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 173 states. [2022-04-28 06:37:09,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:09,948 INFO L93 Difference]: Finished difference Result 173 states and 201 transitions. [2022-04-28 06:37:09,949 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 201 transitions. [2022-04-28 06:37:09,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:37:09,949 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:37:09,949 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:37:09,949 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:37:09,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 06:37:09,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 196 transitions. [2022-04-28 06:37:09,953 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 196 transitions. Word has length 80 [2022-04-28 06:37:09,953 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:37:09,953 INFO L495 AbstractCegarLoop]: Abstraction has 169 states and 196 transitions. [2022-04-28 06:37:09,953 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:37:09,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 196 transitions. [2022-04-28 06:37:10,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 196 edges. 196 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:10,215 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-28 06:37:10,216 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 06:37:10,216 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:37:10,216 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:37:10,239 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 06:37:10,417 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:37:10,417 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:37:10,417 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:37:10,417 INFO L85 PathProgramCache]: Analyzing trace with hash 1035991527, now seen corresponding path program 3 times [2022-04-28 06:37:10,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:37:10,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1957136403] [2022-04-28 06:37:17,094 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:37:17,094 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:37:17,094 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:37:17,094 INFO L85 PathProgramCache]: Analyzing trace with hash 1035991527, now seen corresponding path program 4 times [2022-04-28 06:37:17,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:37:17,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1584265731] [2022-04-28 06:37:17,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:37:17,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:37:17,106 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:37:17,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1419454075] [2022-04-28 06:37:17,106 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:37:17,106 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:37:17,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:37:17,111 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:37:17,121 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 06:37:17,174 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:37:17,175 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:37:17,176 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 06:37:17,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:37:17,190 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:37:18,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {15115#true} call ULTIMATE.init(); {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {15115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15115#true} {15115#true} #92#return; {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {15115#true} call #t~ret7 := main(); {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L290 TraceCheckUtils]: 5: Hoare triple {15115#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L290 TraceCheckUtils]: 6: Hoare triple {15115#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {15115#true} assume !!(#t~post5 < 100);havoc #t~post5; {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L272 TraceCheckUtils]: 8: Hoare triple {15115#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L290 TraceCheckUtils]: 10: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L290 TraceCheckUtils]: 11: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15115#true} {15115#true} #78#return; {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L272 TraceCheckUtils]: 13: Hoare triple {15115#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,923 INFO L290 TraceCheckUtils]: 15: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,923 INFO L290 TraceCheckUtils]: 16: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,923 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15115#true} {15115#true} #80#return; {15115#true} is VALID [2022-04-28 06:37:18,923 INFO L272 TraceCheckUtils]: 18: Hoare triple {15115#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,923 INFO L290 TraceCheckUtils]: 19: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,923 INFO L290 TraceCheckUtils]: 20: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,923 INFO L290 TraceCheckUtils]: 21: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,923 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15115#true} {15115#true} #82#return; {15115#true} is VALID [2022-04-28 06:37:18,924 INFO L290 TraceCheckUtils]: 23: Hoare triple {15115#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,924 INFO L290 TraceCheckUtils]: 24: Hoare triple {15189#(= (mod main_~p~0 2) 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !!(#t~post5 < 100);havoc #t~post5; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,924 INFO L272 TraceCheckUtils]: 26: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,924 INFO L290 TraceCheckUtils]: 27: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,924 INFO L290 TraceCheckUtils]: 28: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,924 INFO L290 TraceCheckUtils]: 29: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,925 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #78#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,925 INFO L272 TraceCheckUtils]: 31: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,925 INFO L290 TraceCheckUtils]: 32: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,925 INFO L290 TraceCheckUtils]: 33: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,925 INFO L290 TraceCheckUtils]: 34: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,925 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #80#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,925 INFO L272 TraceCheckUtils]: 36: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,925 INFO L290 TraceCheckUtils]: 37: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,926 INFO L290 TraceCheckUtils]: 38: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,926 INFO L290 TraceCheckUtils]: 39: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,926 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #82#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,927 INFO L290 TraceCheckUtils]: 41: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,927 INFO L290 TraceCheckUtils]: 42: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,927 INFO L290 TraceCheckUtils]: 43: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 100);havoc #t~post5; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,928 INFO L272 TraceCheckUtils]: 44: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,928 INFO L290 TraceCheckUtils]: 45: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,928 INFO L290 TraceCheckUtils]: 46: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,928 INFO L290 TraceCheckUtils]: 47: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,928 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #78#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,928 INFO L272 TraceCheckUtils]: 49: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,928 INFO L290 TraceCheckUtils]: 50: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,928 INFO L290 TraceCheckUtils]: 51: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,928 INFO L290 TraceCheckUtils]: 52: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,929 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #80#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,929 INFO L272 TraceCheckUtils]: 54: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,929 INFO L290 TraceCheckUtils]: 55: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,929 INFO L290 TraceCheckUtils]: 56: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,929 INFO L290 TraceCheckUtils]: 57: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,929 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #82#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,930 INFO L290 TraceCheckUtils]: 59: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,930 INFO L290 TraceCheckUtils]: 60: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,930 INFO L290 TraceCheckUtils]: 61: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,930 INFO L272 TraceCheckUtils]: 62: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,930 INFO L290 TraceCheckUtils]: 63: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,930 INFO L290 TraceCheckUtils]: 64: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,931 INFO L290 TraceCheckUtils]: 65: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,931 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #84#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,931 INFO L272 TraceCheckUtils]: 67: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,931 INFO L290 TraceCheckUtils]: 68: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,931 INFO L290 TraceCheckUtils]: 69: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,931 INFO L290 TraceCheckUtils]: 70: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,932 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #86#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:37:18,933 INFO L290 TraceCheckUtils]: 72: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,933 INFO L290 TraceCheckUtils]: 73: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,933 INFO L290 TraceCheckUtils]: 74: Hoare triple {15189#(= (mod main_~p~0 2) 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,933 INFO L290 TraceCheckUtils]: 75: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !!(#t~post6 < 100);havoc #t~post6; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,933 INFO L272 TraceCheckUtils]: 76: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,933 INFO L290 TraceCheckUtils]: 77: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,934 INFO L290 TraceCheckUtils]: 78: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,934 INFO L290 TraceCheckUtils]: 79: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,934 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #84#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,934 INFO L272 TraceCheckUtils]: 81: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:18,934 INFO L290 TraceCheckUtils]: 82: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:18,934 INFO L290 TraceCheckUtils]: 83: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:18,934 INFO L290 TraceCheckUtils]: 84: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:18,935 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #86#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-28 06:37:18,935 INFO L290 TraceCheckUtils]: 86: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !(1 != ~p~0); {15116#false} is VALID [2022-04-28 06:37:18,935 INFO L272 TraceCheckUtils]: 87: Hoare triple {15116#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {15116#false} is VALID [2022-04-28 06:37:18,935 INFO L290 TraceCheckUtils]: 88: Hoare triple {15116#false} ~cond := #in~cond; {15116#false} is VALID [2022-04-28 06:37:18,935 INFO L290 TraceCheckUtils]: 89: Hoare triple {15116#false} assume 0 == ~cond; {15116#false} is VALID [2022-04-28 06:37:18,935 INFO L290 TraceCheckUtils]: 90: Hoare triple {15116#false} assume !false; {15116#false} is VALID [2022-04-28 06:37:18,935 INFO L134 CoverageAnalysis]: Checked inductivity of 361 backedges. 44 proven. 5 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:37:18,935 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:37:19,175 INFO L290 TraceCheckUtils]: 90: Hoare triple {15116#false} assume !false; {15116#false} is VALID [2022-04-28 06:37:19,175 INFO L290 TraceCheckUtils]: 89: Hoare triple {15116#false} assume 0 == ~cond; {15116#false} is VALID [2022-04-28 06:37:19,175 INFO L290 TraceCheckUtils]: 88: Hoare triple {15116#false} ~cond := #in~cond; {15116#false} is VALID [2022-04-28 06:37:19,175 INFO L272 TraceCheckUtils]: 87: Hoare triple {15116#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {15116#false} is VALID [2022-04-28 06:37:19,175 INFO L290 TraceCheckUtils]: 86: Hoare triple {15404#(not (= main_~p~0 1))} assume !(1 != ~p~0); {15116#false} is VALID [2022-04-28 06:37:19,176 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #86#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,176 INFO L290 TraceCheckUtils]: 84: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,176 INFO L290 TraceCheckUtils]: 83: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,176 INFO L290 TraceCheckUtils]: 82: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,176 INFO L272 TraceCheckUtils]: 81: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,177 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #84#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,177 INFO L290 TraceCheckUtils]: 79: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,177 INFO L290 TraceCheckUtils]: 78: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,177 INFO L290 TraceCheckUtils]: 77: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,177 INFO L272 TraceCheckUtils]: 76: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,177 INFO L290 TraceCheckUtils]: 75: Hoare triple {15404#(not (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,178 INFO L290 TraceCheckUtils]: 74: Hoare triple {15404#(not (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,178 INFO L290 TraceCheckUtils]: 73: Hoare triple {15404#(not (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,179 INFO L290 TraceCheckUtils]: 72: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,179 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #86#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,179 INFO L290 TraceCheckUtils]: 70: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,179 INFO L290 TraceCheckUtils]: 69: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,179 INFO L290 TraceCheckUtils]: 68: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,179 INFO L272 TraceCheckUtils]: 67: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,180 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #84#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,180 INFO L290 TraceCheckUtils]: 65: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,180 INFO L290 TraceCheckUtils]: 64: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,180 INFO L290 TraceCheckUtils]: 63: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,180 INFO L272 TraceCheckUtils]: 62: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,180 INFO L290 TraceCheckUtils]: 61: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !!(#t~post6 < 100);havoc #t~post6; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,181 INFO L290 TraceCheckUtils]: 60: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,181 INFO L290 TraceCheckUtils]: 59: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !(~r~0 >= ~d~0); {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,181 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #82#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,181 INFO L290 TraceCheckUtils]: 57: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,181 INFO L290 TraceCheckUtils]: 56: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,181 INFO L290 TraceCheckUtils]: 55: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,181 INFO L272 TraceCheckUtils]: 54: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,182 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #80#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,182 INFO L290 TraceCheckUtils]: 52: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,182 INFO L290 TraceCheckUtils]: 51: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,182 INFO L290 TraceCheckUtils]: 50: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,182 INFO L272 TraceCheckUtils]: 49: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,182 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #78#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,182 INFO L290 TraceCheckUtils]: 47: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,183 INFO L290 TraceCheckUtils]: 46: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,183 INFO L290 TraceCheckUtils]: 45: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,183 INFO L272 TraceCheckUtils]: 44: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,183 INFO L290 TraceCheckUtils]: 43: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !!(#t~post5 < 100);havoc #t~post5; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,183 INFO L290 TraceCheckUtils]: 42: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,184 INFO L290 TraceCheckUtils]: 41: Hoare triple {15404#(not (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-28 06:37:19,184 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #82#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,184 INFO L290 TraceCheckUtils]: 39: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,184 INFO L290 TraceCheckUtils]: 38: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,184 INFO L290 TraceCheckUtils]: 37: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,184 INFO L272 TraceCheckUtils]: 36: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,185 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #80#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,185 INFO L290 TraceCheckUtils]: 34: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,185 INFO L290 TraceCheckUtils]: 33: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,185 INFO L290 TraceCheckUtils]: 32: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,185 INFO L272 TraceCheckUtils]: 31: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,187 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #78#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,187 INFO L290 TraceCheckUtils]: 29: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,187 INFO L290 TraceCheckUtils]: 28: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,187 INFO L290 TraceCheckUtils]: 27: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,188 INFO L272 TraceCheckUtils]: 26: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,188 INFO L290 TraceCheckUtils]: 25: Hoare triple {15404#(not (= main_~p~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,188 INFO L290 TraceCheckUtils]: 24: Hoare triple {15404#(not (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,189 INFO L290 TraceCheckUtils]: 23: Hoare triple {15115#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15404#(not (= main_~p~0 1))} is VALID [2022-04-28 06:37:19,189 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15115#true} {15115#true} #82#return; {15115#true} is VALID [2022-04-28 06:37:19,189 INFO L290 TraceCheckUtils]: 21: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,189 INFO L290 TraceCheckUtils]: 20: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,189 INFO L290 TraceCheckUtils]: 19: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,189 INFO L272 TraceCheckUtils]: 18: Hoare triple {15115#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,189 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15115#true} {15115#true} #80#return; {15115#true} is VALID [2022-04-28 06:37:19,189 INFO L290 TraceCheckUtils]: 16: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,189 INFO L290 TraceCheckUtils]: 15: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,189 INFO L290 TraceCheckUtils]: 14: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,189 INFO L272 TraceCheckUtils]: 13: Hoare triple {15115#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15115#true} {15115#true} #78#return; {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L290 TraceCheckUtils]: 11: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L290 TraceCheckUtils]: 10: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L272 TraceCheckUtils]: 8: Hoare triple {15115#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {15115#true} assume !!(#t~post5 < 100);havoc #t~post5; {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L290 TraceCheckUtils]: 6: Hoare triple {15115#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L290 TraceCheckUtils]: 5: Hoare triple {15115#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {15115#true} call #t~ret7 := main(); {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15115#true} {15115#true} #92#return; {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {15115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15115#true} is VALID [2022-04-28 06:37:19,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {15115#true} call ULTIMATE.init(); {15115#true} is VALID [2022-04-28 06:37:19,191 INFO L134 CoverageAnalysis]: Checked inductivity of 361 backedges. 38 proven. 11 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:37:19,191 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:37:19,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1584265731] [2022-04-28 06:37:19,191 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:37:19,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1419454075] [2022-04-28 06:37:19,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1419454075] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:37:19,191 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:37:19,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2022-04-28 06:37:19,192 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:37:19,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1957136403] [2022-04-28 06:37:19,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1957136403] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:37:19,192 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:37:19,192 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 06:37:19,192 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [120598918] [2022-04-28 06:37:19,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:37:19,192 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 91 [2022-04-28 06:37:19,193 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:37:19,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 06:37:19,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:19,237 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 06:37:19,237 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:37:19,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 06:37:19,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:37:19,238 INFO L87 Difference]: Start difference. First operand 169 states and 196 transitions. Second operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 06:37:19,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:19,544 INFO L93 Difference]: Finished difference Result 197 states and 235 transitions. [2022-04-28 06:37:19,544 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 06:37:19,544 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 91 [2022-04-28 06:37:19,545 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:37:19,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 06:37:19,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 87 transitions. [2022-04-28 06:37:19,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 06:37:19,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 87 transitions. [2022-04-28 06:37:19,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 87 transitions. [2022-04-28 06:37:19,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:19,634 INFO L225 Difference]: With dead ends: 197 [2022-04-28 06:37:19,635 INFO L226 Difference]: Without dead ends: 184 [2022-04-28 06:37:19,635 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 181 GetRequests, 175 SyntacticMatches, 2 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:37:19,635 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 7 mSDsluCounter, 39 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 99 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:37:19,636 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 99 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:37:19,636 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2022-04-28 06:37:19,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 180. [2022-04-28 06:37:19,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:37:19,830 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 06:37:19,831 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 06:37:19,831 INFO L87 Difference]: Start difference. First operand 184 states. Second operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 06:37:19,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:19,835 INFO L93 Difference]: Finished difference Result 184 states and 220 transitions. [2022-04-28 06:37:19,835 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 220 transitions. [2022-04-28 06:37:19,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:37:19,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:37:19,836 INFO L74 IsIncluded]: Start isIncluded. First operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 184 states. [2022-04-28 06:37:19,836 INFO L87 Difference]: Start difference. First operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 184 states. [2022-04-28 06:37:19,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:19,840 INFO L93 Difference]: Finished difference Result 184 states and 220 transitions. [2022-04-28 06:37:19,840 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 220 transitions. [2022-04-28 06:37:19,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:37:19,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:37:19,840 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:37:19,840 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:37:19,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 06:37:19,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 180 states to 180 states and 214 transitions. [2022-04-28 06:37:19,845 INFO L78 Accepts]: Start accepts. Automaton has 180 states and 214 transitions. Word has length 91 [2022-04-28 06:37:19,845 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:37:19,845 INFO L495 AbstractCegarLoop]: Abstraction has 180 states and 214 transitions. [2022-04-28 06:37:19,845 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 06:37:19,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 180 states and 214 transitions. [2022-04-28 06:37:20,122 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 214 edges. 214 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:20,122 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 214 transitions. [2022-04-28 06:37:20,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 06:37:20,123 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:37:20,123 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:37:20,141 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 06:37:20,331 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:37:20,331 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:37:20,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:37:20,332 INFO L85 PathProgramCache]: Analyzing trace with hash 1432051402, now seen corresponding path program 7 times [2022-04-28 06:37:20,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:37:20,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1301303630] [2022-04-28 06:37:22,454 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:37:22,455 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:37:22,455 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:37:22,455 INFO L85 PathProgramCache]: Analyzing trace with hash 1432051402, now seen corresponding path program 8 times [2022-04-28 06:37:22,455 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:37:22,455 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [28577733] [2022-04-28 06:37:22,455 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:37:22,455 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:37:22,464 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:37:22,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [621600351] [2022-04-28 06:37:22,464 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:37:22,464 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:37:22,464 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:37:22,468 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:37:22,472 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 06:37:22,525 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:37:22,525 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:37:22,526 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 06:37:22,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:37:22,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:37:22,864 INFO L272 TraceCheckUtils]: 0: Hoare triple {16788#true} call ULTIMATE.init(); {16788#true} is VALID [2022-04-28 06:37:22,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {16788#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16796#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:22,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {16796#(<= ~counter~0 0)} assume true; {16796#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:22,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16796#(<= ~counter~0 0)} {16788#true} #92#return; {16796#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:22,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {16796#(<= ~counter~0 0)} call #t~ret7 := main(); {16796#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:22,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {16796#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {16796#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:22,866 INFO L290 TraceCheckUtils]: 6: Hoare triple {16796#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,866 INFO L290 TraceCheckUtils]: 7: Hoare triple {16812#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,867 INFO L272 TraceCheckUtils]: 8: Hoare triple {16812#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,867 INFO L290 TraceCheckUtils]: 9: Hoare triple {16812#(<= ~counter~0 1)} ~cond := #in~cond; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,867 INFO L290 TraceCheckUtils]: 10: Hoare triple {16812#(<= ~counter~0 1)} assume !(0 == ~cond); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,868 INFO L290 TraceCheckUtils]: 11: Hoare triple {16812#(<= ~counter~0 1)} assume true; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,868 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {16812#(<= ~counter~0 1)} {16812#(<= ~counter~0 1)} #78#return; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,868 INFO L272 TraceCheckUtils]: 13: Hoare triple {16812#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,869 INFO L290 TraceCheckUtils]: 14: Hoare triple {16812#(<= ~counter~0 1)} ~cond := #in~cond; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {16812#(<= ~counter~0 1)} assume !(0 == ~cond); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,869 INFO L290 TraceCheckUtils]: 16: Hoare triple {16812#(<= ~counter~0 1)} assume true; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,869 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {16812#(<= ~counter~0 1)} {16812#(<= ~counter~0 1)} #80#return; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,870 INFO L272 TraceCheckUtils]: 18: Hoare triple {16812#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {16812#(<= ~counter~0 1)} ~cond := #in~cond; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {16812#(<= ~counter~0 1)} assume !(0 == ~cond); {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {16812#(<= ~counter~0 1)} assume true; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,871 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16812#(<= ~counter~0 1)} {16812#(<= ~counter~0 1)} #82#return; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {16812#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16812#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:22,872 INFO L290 TraceCheckUtils]: 24: Hoare triple {16812#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,872 INFO L290 TraceCheckUtils]: 25: Hoare triple {16867#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,872 INFO L272 TraceCheckUtils]: 26: Hoare triple {16867#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,873 INFO L290 TraceCheckUtils]: 27: Hoare triple {16867#(<= ~counter~0 2)} ~cond := #in~cond; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,873 INFO L290 TraceCheckUtils]: 28: Hoare triple {16867#(<= ~counter~0 2)} assume !(0 == ~cond); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {16867#(<= ~counter~0 2)} assume true; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,874 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {16867#(<= ~counter~0 2)} {16867#(<= ~counter~0 2)} #78#return; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,874 INFO L272 TraceCheckUtils]: 31: Hoare triple {16867#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,874 INFO L290 TraceCheckUtils]: 32: Hoare triple {16867#(<= ~counter~0 2)} ~cond := #in~cond; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,874 INFO L290 TraceCheckUtils]: 33: Hoare triple {16867#(<= ~counter~0 2)} assume !(0 == ~cond); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,887 INFO L290 TraceCheckUtils]: 34: Hoare triple {16867#(<= ~counter~0 2)} assume true; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,887 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {16867#(<= ~counter~0 2)} {16867#(<= ~counter~0 2)} #80#return; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,888 INFO L272 TraceCheckUtils]: 36: Hoare triple {16867#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,888 INFO L290 TraceCheckUtils]: 37: Hoare triple {16867#(<= ~counter~0 2)} ~cond := #in~cond; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,889 INFO L290 TraceCheckUtils]: 38: Hoare triple {16867#(<= ~counter~0 2)} assume !(0 == ~cond); {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,889 INFO L290 TraceCheckUtils]: 39: Hoare triple {16867#(<= ~counter~0 2)} assume true; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,890 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16867#(<= ~counter~0 2)} {16867#(<= ~counter~0 2)} #82#return; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,890 INFO L290 TraceCheckUtils]: 41: Hoare triple {16867#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16867#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:22,890 INFO L290 TraceCheckUtils]: 42: Hoare triple {16867#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,891 INFO L290 TraceCheckUtils]: 43: Hoare triple {16922#(<= ~counter~0 3)} assume !!(#t~post5 < 100);havoc #t~post5; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,891 INFO L272 TraceCheckUtils]: 44: Hoare triple {16922#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,892 INFO L290 TraceCheckUtils]: 45: Hoare triple {16922#(<= ~counter~0 3)} ~cond := #in~cond; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,892 INFO L290 TraceCheckUtils]: 46: Hoare triple {16922#(<= ~counter~0 3)} assume !(0 == ~cond); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,892 INFO L290 TraceCheckUtils]: 47: Hoare triple {16922#(<= ~counter~0 3)} assume true; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,893 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {16922#(<= ~counter~0 3)} {16922#(<= ~counter~0 3)} #78#return; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,893 INFO L272 TraceCheckUtils]: 49: Hoare triple {16922#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,893 INFO L290 TraceCheckUtils]: 50: Hoare triple {16922#(<= ~counter~0 3)} ~cond := #in~cond; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,894 INFO L290 TraceCheckUtils]: 51: Hoare triple {16922#(<= ~counter~0 3)} assume !(0 == ~cond); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,894 INFO L290 TraceCheckUtils]: 52: Hoare triple {16922#(<= ~counter~0 3)} assume true; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,895 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {16922#(<= ~counter~0 3)} {16922#(<= ~counter~0 3)} #80#return; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,895 INFO L272 TraceCheckUtils]: 54: Hoare triple {16922#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,895 INFO L290 TraceCheckUtils]: 55: Hoare triple {16922#(<= ~counter~0 3)} ~cond := #in~cond; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,896 INFO L290 TraceCheckUtils]: 56: Hoare triple {16922#(<= ~counter~0 3)} assume !(0 == ~cond); {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,896 INFO L290 TraceCheckUtils]: 57: Hoare triple {16922#(<= ~counter~0 3)} assume true; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,897 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16922#(<= ~counter~0 3)} {16922#(<= ~counter~0 3)} #82#return; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,897 INFO L290 TraceCheckUtils]: 59: Hoare triple {16922#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16922#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:22,897 INFO L290 TraceCheckUtils]: 60: Hoare triple {16922#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,898 INFO L290 TraceCheckUtils]: 61: Hoare triple {16977#(<= ~counter~0 4)} assume !!(#t~post5 < 100);havoc #t~post5; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,898 INFO L272 TraceCheckUtils]: 62: Hoare triple {16977#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,898 INFO L290 TraceCheckUtils]: 63: Hoare triple {16977#(<= ~counter~0 4)} ~cond := #in~cond; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,899 INFO L290 TraceCheckUtils]: 64: Hoare triple {16977#(<= ~counter~0 4)} assume !(0 == ~cond); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,899 INFO L290 TraceCheckUtils]: 65: Hoare triple {16977#(<= ~counter~0 4)} assume true; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,900 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16977#(<= ~counter~0 4)} {16977#(<= ~counter~0 4)} #78#return; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,900 INFO L272 TraceCheckUtils]: 67: Hoare triple {16977#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,900 INFO L290 TraceCheckUtils]: 68: Hoare triple {16977#(<= ~counter~0 4)} ~cond := #in~cond; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,901 INFO L290 TraceCheckUtils]: 69: Hoare triple {16977#(<= ~counter~0 4)} assume !(0 == ~cond); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,901 INFO L290 TraceCheckUtils]: 70: Hoare triple {16977#(<= ~counter~0 4)} assume true; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,902 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16977#(<= ~counter~0 4)} {16977#(<= ~counter~0 4)} #80#return; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,902 INFO L272 TraceCheckUtils]: 72: Hoare triple {16977#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,902 INFO L290 TraceCheckUtils]: 73: Hoare triple {16977#(<= ~counter~0 4)} ~cond := #in~cond; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,903 INFO L290 TraceCheckUtils]: 74: Hoare triple {16977#(<= ~counter~0 4)} assume !(0 == ~cond); {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,903 INFO L290 TraceCheckUtils]: 75: Hoare triple {16977#(<= ~counter~0 4)} assume true; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,904 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16977#(<= ~counter~0 4)} {16977#(<= ~counter~0 4)} #82#return; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,904 INFO L290 TraceCheckUtils]: 77: Hoare triple {16977#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16977#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:22,904 INFO L290 TraceCheckUtils]: 78: Hoare triple {16977#(<= ~counter~0 4)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17032#(<= |main_#t~post5| 4)} is VALID [2022-04-28 06:37:22,905 INFO L290 TraceCheckUtils]: 79: Hoare triple {17032#(<= |main_#t~post5| 4)} assume !(#t~post5 < 100);havoc #t~post5; {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L290 TraceCheckUtils]: 80: Hoare triple {16789#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L290 TraceCheckUtils]: 81: Hoare triple {16789#false} assume !(#t~post6 < 100);havoc #t~post6; {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L272 TraceCheckUtils]: 82: Hoare triple {16789#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L290 TraceCheckUtils]: 83: Hoare triple {16789#false} ~cond := #in~cond; {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L290 TraceCheckUtils]: 84: Hoare triple {16789#false} assume !(0 == ~cond); {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L290 TraceCheckUtils]: 85: Hoare triple {16789#false} assume true; {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16789#false} {16789#false} #88#return; {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L272 TraceCheckUtils]: 87: Hoare triple {16789#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L290 TraceCheckUtils]: 88: Hoare triple {16789#false} ~cond := #in~cond; {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L290 TraceCheckUtils]: 89: Hoare triple {16789#false} assume 0 == ~cond; {16789#false} is VALID [2022-04-28 06:37:22,905 INFO L290 TraceCheckUtils]: 90: Hoare triple {16789#false} assume !false; {16789#false} is VALID [2022-04-28 06:37:22,906 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-04-28 06:37:22,906 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:37:23,242 INFO L290 TraceCheckUtils]: 90: Hoare triple {16789#false} assume !false; {16789#false} is VALID [2022-04-28 06:37:23,242 INFO L290 TraceCheckUtils]: 89: Hoare triple {16789#false} assume 0 == ~cond; {16789#false} is VALID [2022-04-28 06:37:23,242 INFO L290 TraceCheckUtils]: 88: Hoare triple {16789#false} ~cond := #in~cond; {16789#false} is VALID [2022-04-28 06:37:23,242 INFO L272 TraceCheckUtils]: 87: Hoare triple {16789#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {16789#false} is VALID [2022-04-28 06:37:23,242 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16788#true} {16789#false} #88#return; {16789#false} is VALID [2022-04-28 06:37:23,242 INFO L290 TraceCheckUtils]: 85: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,242 INFO L290 TraceCheckUtils]: 84: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,242 INFO L290 TraceCheckUtils]: 83: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,242 INFO L272 TraceCheckUtils]: 82: Hoare triple {16789#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,242 INFO L290 TraceCheckUtils]: 81: Hoare triple {16789#false} assume !(#t~post6 < 100);havoc #t~post6; {16789#false} is VALID [2022-04-28 06:37:23,243 INFO L290 TraceCheckUtils]: 80: Hoare triple {16789#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16789#false} is VALID [2022-04-28 06:37:23,243 INFO L290 TraceCheckUtils]: 79: Hoare triple {17102#(< |main_#t~post5| 100)} assume !(#t~post5 < 100);havoc #t~post5; {16789#false} is VALID [2022-04-28 06:37:23,243 INFO L290 TraceCheckUtils]: 78: Hoare triple {17106#(< ~counter~0 100)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17102#(< |main_#t~post5| 100)} is VALID [2022-04-28 06:37:23,243 INFO L290 TraceCheckUtils]: 77: Hoare triple {17106#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17106#(< ~counter~0 100)} is VALID [2022-04-28 06:37:23,244 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16788#true} {17106#(< ~counter~0 100)} #82#return; {17106#(< ~counter~0 100)} is VALID [2022-04-28 06:37:23,244 INFO L290 TraceCheckUtils]: 75: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,244 INFO L290 TraceCheckUtils]: 74: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,244 INFO L290 TraceCheckUtils]: 73: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,244 INFO L272 TraceCheckUtils]: 72: Hoare triple {17106#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,245 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16788#true} {17106#(< ~counter~0 100)} #80#return; {17106#(< ~counter~0 100)} is VALID [2022-04-28 06:37:23,245 INFO L290 TraceCheckUtils]: 70: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,245 INFO L290 TraceCheckUtils]: 69: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,245 INFO L290 TraceCheckUtils]: 68: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,245 INFO L272 TraceCheckUtils]: 67: Hoare triple {17106#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,245 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16788#true} {17106#(< ~counter~0 100)} #78#return; {17106#(< ~counter~0 100)} is VALID [2022-04-28 06:37:23,245 INFO L290 TraceCheckUtils]: 65: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,245 INFO L290 TraceCheckUtils]: 64: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,245 INFO L290 TraceCheckUtils]: 63: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,246 INFO L272 TraceCheckUtils]: 62: Hoare triple {17106#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,247 INFO L290 TraceCheckUtils]: 61: Hoare triple {17106#(< ~counter~0 100)} assume !!(#t~post5 < 100);havoc #t~post5; {17106#(< ~counter~0 100)} is VALID [2022-04-28 06:37:23,248 INFO L290 TraceCheckUtils]: 60: Hoare triple {17161#(< ~counter~0 99)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17106#(< ~counter~0 100)} is VALID [2022-04-28 06:37:23,248 INFO L290 TraceCheckUtils]: 59: Hoare triple {17161#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17161#(< ~counter~0 99)} is VALID [2022-04-28 06:37:23,249 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16788#true} {17161#(< ~counter~0 99)} #82#return; {17161#(< ~counter~0 99)} is VALID [2022-04-28 06:37:23,249 INFO L290 TraceCheckUtils]: 57: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,249 INFO L290 TraceCheckUtils]: 56: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,249 INFO L290 TraceCheckUtils]: 55: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,249 INFO L272 TraceCheckUtils]: 54: Hoare triple {17161#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,250 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {16788#true} {17161#(< ~counter~0 99)} #80#return; {17161#(< ~counter~0 99)} is VALID [2022-04-28 06:37:23,250 INFO L290 TraceCheckUtils]: 52: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,250 INFO L290 TraceCheckUtils]: 51: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,250 INFO L290 TraceCheckUtils]: 50: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,250 INFO L272 TraceCheckUtils]: 49: Hoare triple {17161#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,251 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {16788#true} {17161#(< ~counter~0 99)} #78#return; {17161#(< ~counter~0 99)} is VALID [2022-04-28 06:37:23,251 INFO L290 TraceCheckUtils]: 47: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,251 INFO L290 TraceCheckUtils]: 46: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,251 INFO L290 TraceCheckUtils]: 45: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,251 INFO L272 TraceCheckUtils]: 44: Hoare triple {17161#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,251 INFO L290 TraceCheckUtils]: 43: Hoare triple {17161#(< ~counter~0 99)} assume !!(#t~post5 < 100);havoc #t~post5; {17161#(< ~counter~0 99)} is VALID [2022-04-28 06:37:23,252 INFO L290 TraceCheckUtils]: 42: Hoare triple {17216#(< ~counter~0 98)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17161#(< ~counter~0 99)} is VALID [2022-04-28 06:37:23,252 INFO L290 TraceCheckUtils]: 41: Hoare triple {17216#(< ~counter~0 98)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17216#(< ~counter~0 98)} is VALID [2022-04-28 06:37:23,253 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16788#true} {17216#(< ~counter~0 98)} #82#return; {17216#(< ~counter~0 98)} is VALID [2022-04-28 06:37:23,253 INFO L290 TraceCheckUtils]: 39: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,253 INFO L290 TraceCheckUtils]: 38: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,253 INFO L290 TraceCheckUtils]: 37: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,253 INFO L272 TraceCheckUtils]: 36: Hoare triple {17216#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,254 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {16788#true} {17216#(< ~counter~0 98)} #80#return; {17216#(< ~counter~0 98)} is VALID [2022-04-28 06:37:23,254 INFO L290 TraceCheckUtils]: 34: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,254 INFO L290 TraceCheckUtils]: 33: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,254 INFO L290 TraceCheckUtils]: 32: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,254 INFO L272 TraceCheckUtils]: 31: Hoare triple {17216#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,254 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {16788#true} {17216#(< ~counter~0 98)} #78#return; {17216#(< ~counter~0 98)} is VALID [2022-04-28 06:37:23,255 INFO L290 TraceCheckUtils]: 29: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,255 INFO L290 TraceCheckUtils]: 28: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,255 INFO L290 TraceCheckUtils]: 27: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,255 INFO L272 TraceCheckUtils]: 26: Hoare triple {17216#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,255 INFO L290 TraceCheckUtils]: 25: Hoare triple {17216#(< ~counter~0 98)} assume !!(#t~post5 < 100);havoc #t~post5; {17216#(< ~counter~0 98)} is VALID [2022-04-28 06:37:23,256 INFO L290 TraceCheckUtils]: 24: Hoare triple {17271#(< ~counter~0 97)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17216#(< ~counter~0 98)} is VALID [2022-04-28 06:37:23,256 INFO L290 TraceCheckUtils]: 23: Hoare triple {17271#(< ~counter~0 97)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17271#(< ~counter~0 97)} is VALID [2022-04-28 06:37:23,257 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16788#true} {17271#(< ~counter~0 97)} #82#return; {17271#(< ~counter~0 97)} is VALID [2022-04-28 06:37:23,257 INFO L290 TraceCheckUtils]: 21: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,257 INFO L272 TraceCheckUtils]: 18: Hoare triple {17271#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,257 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {16788#true} {17271#(< ~counter~0 97)} #80#return; {17271#(< ~counter~0 97)} is VALID [2022-04-28 06:37:23,258 INFO L290 TraceCheckUtils]: 16: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,258 INFO L290 TraceCheckUtils]: 15: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,258 INFO L290 TraceCheckUtils]: 14: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,258 INFO L272 TraceCheckUtils]: 13: Hoare triple {17271#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,258 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {16788#true} {17271#(< ~counter~0 97)} #78#return; {17271#(< ~counter~0 97)} is VALID [2022-04-28 06:37:23,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-28 06:37:23,258 INFO L290 TraceCheckUtils]: 10: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-28 06:37:23,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-28 06:37:23,259 INFO L272 TraceCheckUtils]: 8: Hoare triple {17271#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-28 06:37:23,259 INFO L290 TraceCheckUtils]: 7: Hoare triple {17271#(< ~counter~0 97)} assume !!(#t~post5 < 100);havoc #t~post5; {17271#(< ~counter~0 97)} is VALID [2022-04-28 06:37:23,259 INFO L290 TraceCheckUtils]: 6: Hoare triple {17326#(< ~counter~0 96)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17271#(< ~counter~0 97)} is VALID [2022-04-28 06:37:23,260 INFO L290 TraceCheckUtils]: 5: Hoare triple {17326#(< ~counter~0 96)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {17326#(< ~counter~0 96)} is VALID [2022-04-28 06:37:23,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {17326#(< ~counter~0 96)} call #t~ret7 := main(); {17326#(< ~counter~0 96)} is VALID [2022-04-28 06:37:23,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17326#(< ~counter~0 96)} {16788#true} #92#return; {17326#(< ~counter~0 96)} is VALID [2022-04-28 06:37:23,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {17326#(< ~counter~0 96)} assume true; {17326#(< ~counter~0 96)} is VALID [2022-04-28 06:37:23,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {16788#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17326#(< ~counter~0 96)} is VALID [2022-04-28 06:37:23,261 INFO L272 TraceCheckUtils]: 0: Hoare triple {16788#true} call ULTIMATE.init(); {16788#true} is VALID [2022-04-28 06:37:23,262 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:37:23,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:37:23,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [28577733] [2022-04-28 06:37:23,262 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:37:23,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [621600351] [2022-04-28 06:37:23,262 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [621600351] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:37:23,262 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:37:23,262 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 06:37:23,263 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:37:23,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1301303630] [2022-04-28 06:37:23,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1301303630] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:37:23,263 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:37:23,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:37:23,263 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [981156739] [2022-04-28 06:37:23,263 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:37:23,263 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-28 06:37:23,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:37:23,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:23,309 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:23,309 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:37:23,309 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:37:23,309 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:37:23,309 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:37:23,310 INFO L87 Difference]: Start difference. First operand 180 states and 214 transitions. Second operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:23,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:23,697 INFO L93 Difference]: Finished difference Result 242 states and 300 transitions. [2022-04-28 06:37:23,697 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 06:37:23,697 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-28 06:37:23,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:37:23,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:23,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 117 transitions. [2022-04-28 06:37:23,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:23,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 117 transitions. [2022-04-28 06:37:23,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 117 transitions. [2022-04-28 06:37:23,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:23,807 INFO L225 Difference]: With dead ends: 242 [2022-04-28 06:37:23,807 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 06:37:23,808 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 169 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:37:23,808 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 11 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:37:23,808 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 195 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:37:23,809 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 06:37:23,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-28 06:37:23,966 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:37:23,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 06:37:23,967 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 06:37:23,967 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 06:37:23,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:23,971 INFO L93 Difference]: Finished difference Result 182 states and 216 transitions. [2022-04-28 06:37:23,971 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 216 transitions. [2022-04-28 06:37:23,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:37:23,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:37:23,972 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 182 states. [2022-04-28 06:37:23,973 INFO L87 Difference]: Start difference. First operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 182 states. [2022-04-28 06:37:23,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:23,976 INFO L93 Difference]: Finished difference Result 182 states and 216 transitions. [2022-04-28 06:37:23,976 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 216 transitions. [2022-04-28 06:37:23,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:37:23,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:37:23,977 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:37:23,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:37:23,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 06:37:23,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 216 transitions. [2022-04-28 06:37:23,981 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 216 transitions. Word has length 91 [2022-04-28 06:37:23,981 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:37:23,982 INFO L495 AbstractCegarLoop]: Abstraction has 182 states and 216 transitions. [2022-04-28 06:37:23,982 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:23,982 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 216 transitions. [2022-04-28 06:37:24,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 216 edges. 216 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:24,294 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 216 transitions. [2022-04-28 06:37:24,295 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-28 06:37:24,295 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:37:24,295 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:37:24,321 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 06:37:24,495 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:37:24,496 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:37:24,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:37:24,496 INFO L85 PathProgramCache]: Analyzing trace with hash -614243194, now seen corresponding path program 5 times [2022-04-28 06:37:24,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:37:24,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [954839253] [2022-04-28 06:37:28,576 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:37:28,577 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:37:28,577 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:37:28,577 INFO L85 PathProgramCache]: Analyzing trace with hash -614243194, now seen corresponding path program 6 times [2022-04-28 06:37:28,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:37:28,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1092997075] [2022-04-28 06:37:28,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:37:28,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:37:28,587 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:37:28,587 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1054491330] [2022-04-28 06:37:28,587 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:37:28,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:37:28,587 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:37:28,591 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:37:28,592 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 06:37:28,669 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 06:37:28,669 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:37:28,670 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 06:37:28,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:37:28,689 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:37:29,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {18567#true} call ULTIMATE.init(); {18567#true} is VALID [2022-04-28 06:37:29,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {18567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18575#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:29,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {18575#(<= ~counter~0 0)} assume true; {18575#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:29,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18575#(<= ~counter~0 0)} {18567#true} #92#return; {18575#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:29,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {18575#(<= ~counter~0 0)} call #t~ret7 := main(); {18575#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:29,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {18575#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {18575#(<= ~counter~0 0)} is VALID [2022-04-28 06:37:29,042 INFO L290 TraceCheckUtils]: 6: Hoare triple {18575#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {18591#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,043 INFO L272 TraceCheckUtils]: 8: Hoare triple {18591#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {18591#(<= ~counter~0 1)} ~cond := #in~cond; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,043 INFO L290 TraceCheckUtils]: 10: Hoare triple {18591#(<= ~counter~0 1)} assume !(0 == ~cond); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,043 INFO L290 TraceCheckUtils]: 11: Hoare triple {18591#(<= ~counter~0 1)} assume true; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,044 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {18591#(<= ~counter~0 1)} {18591#(<= ~counter~0 1)} #78#return; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,044 INFO L272 TraceCheckUtils]: 13: Hoare triple {18591#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {18591#(<= ~counter~0 1)} ~cond := #in~cond; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {18591#(<= ~counter~0 1)} assume !(0 == ~cond); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,045 INFO L290 TraceCheckUtils]: 16: Hoare triple {18591#(<= ~counter~0 1)} assume true; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,045 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {18591#(<= ~counter~0 1)} {18591#(<= ~counter~0 1)} #80#return; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,046 INFO L272 TraceCheckUtils]: 18: Hoare triple {18591#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,046 INFO L290 TraceCheckUtils]: 19: Hoare triple {18591#(<= ~counter~0 1)} ~cond := #in~cond; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {18591#(<= ~counter~0 1)} assume !(0 == ~cond); {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,046 INFO L290 TraceCheckUtils]: 21: Hoare triple {18591#(<= ~counter~0 1)} assume true; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,047 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18591#(<= ~counter~0 1)} {18591#(<= ~counter~0 1)} #82#return; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,047 INFO L290 TraceCheckUtils]: 23: Hoare triple {18591#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18591#(<= ~counter~0 1)} is VALID [2022-04-28 06:37:29,048 INFO L290 TraceCheckUtils]: 24: Hoare triple {18591#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,048 INFO L290 TraceCheckUtils]: 25: Hoare triple {18646#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,048 INFO L272 TraceCheckUtils]: 26: Hoare triple {18646#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,048 INFO L290 TraceCheckUtils]: 27: Hoare triple {18646#(<= ~counter~0 2)} ~cond := #in~cond; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,049 INFO L290 TraceCheckUtils]: 28: Hoare triple {18646#(<= ~counter~0 2)} assume !(0 == ~cond); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,049 INFO L290 TraceCheckUtils]: 29: Hoare triple {18646#(<= ~counter~0 2)} assume true; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,049 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {18646#(<= ~counter~0 2)} {18646#(<= ~counter~0 2)} #78#return; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,050 INFO L272 TraceCheckUtils]: 31: Hoare triple {18646#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,050 INFO L290 TraceCheckUtils]: 32: Hoare triple {18646#(<= ~counter~0 2)} ~cond := #in~cond; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,050 INFO L290 TraceCheckUtils]: 33: Hoare triple {18646#(<= ~counter~0 2)} assume !(0 == ~cond); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,050 INFO L290 TraceCheckUtils]: 34: Hoare triple {18646#(<= ~counter~0 2)} assume true; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,051 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {18646#(<= ~counter~0 2)} {18646#(<= ~counter~0 2)} #80#return; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,051 INFO L272 TraceCheckUtils]: 36: Hoare triple {18646#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,052 INFO L290 TraceCheckUtils]: 37: Hoare triple {18646#(<= ~counter~0 2)} ~cond := #in~cond; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,052 INFO L290 TraceCheckUtils]: 38: Hoare triple {18646#(<= ~counter~0 2)} assume !(0 == ~cond); {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,052 INFO L290 TraceCheckUtils]: 39: Hoare triple {18646#(<= ~counter~0 2)} assume true; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,052 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {18646#(<= ~counter~0 2)} {18646#(<= ~counter~0 2)} #82#return; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,053 INFO L290 TraceCheckUtils]: 41: Hoare triple {18646#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18646#(<= ~counter~0 2)} is VALID [2022-04-28 06:37:29,053 INFO L290 TraceCheckUtils]: 42: Hoare triple {18646#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,053 INFO L290 TraceCheckUtils]: 43: Hoare triple {18701#(<= ~counter~0 3)} assume !!(#t~post5 < 100);havoc #t~post5; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,054 INFO L272 TraceCheckUtils]: 44: Hoare triple {18701#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,054 INFO L290 TraceCheckUtils]: 45: Hoare triple {18701#(<= ~counter~0 3)} ~cond := #in~cond; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,054 INFO L290 TraceCheckUtils]: 46: Hoare triple {18701#(<= ~counter~0 3)} assume !(0 == ~cond); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,054 INFO L290 TraceCheckUtils]: 47: Hoare triple {18701#(<= ~counter~0 3)} assume true; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,055 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {18701#(<= ~counter~0 3)} {18701#(<= ~counter~0 3)} #78#return; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,055 INFO L272 TraceCheckUtils]: 49: Hoare triple {18701#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,055 INFO L290 TraceCheckUtils]: 50: Hoare triple {18701#(<= ~counter~0 3)} ~cond := #in~cond; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,056 INFO L290 TraceCheckUtils]: 51: Hoare triple {18701#(<= ~counter~0 3)} assume !(0 == ~cond); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,056 INFO L290 TraceCheckUtils]: 52: Hoare triple {18701#(<= ~counter~0 3)} assume true; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,056 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {18701#(<= ~counter~0 3)} {18701#(<= ~counter~0 3)} #80#return; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,057 INFO L272 TraceCheckUtils]: 54: Hoare triple {18701#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,057 INFO L290 TraceCheckUtils]: 55: Hoare triple {18701#(<= ~counter~0 3)} ~cond := #in~cond; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,057 INFO L290 TraceCheckUtils]: 56: Hoare triple {18701#(<= ~counter~0 3)} assume !(0 == ~cond); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,058 INFO L290 TraceCheckUtils]: 57: Hoare triple {18701#(<= ~counter~0 3)} assume true; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,058 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {18701#(<= ~counter~0 3)} {18701#(<= ~counter~0 3)} #82#return; {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,058 INFO L290 TraceCheckUtils]: 59: Hoare triple {18701#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {18701#(<= ~counter~0 3)} is VALID [2022-04-28 06:37:29,059 INFO L290 TraceCheckUtils]: 60: Hoare triple {18701#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,059 INFO L290 TraceCheckUtils]: 61: Hoare triple {18756#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,059 INFO L272 TraceCheckUtils]: 62: Hoare triple {18756#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,060 INFO L290 TraceCheckUtils]: 63: Hoare triple {18756#(<= ~counter~0 4)} ~cond := #in~cond; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,060 INFO L290 TraceCheckUtils]: 64: Hoare triple {18756#(<= ~counter~0 4)} assume !(0 == ~cond); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,060 INFO L290 TraceCheckUtils]: 65: Hoare triple {18756#(<= ~counter~0 4)} assume true; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,061 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18756#(<= ~counter~0 4)} {18756#(<= ~counter~0 4)} #84#return; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,061 INFO L272 TraceCheckUtils]: 67: Hoare triple {18756#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,061 INFO L290 TraceCheckUtils]: 68: Hoare triple {18756#(<= ~counter~0 4)} ~cond := #in~cond; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,062 INFO L290 TraceCheckUtils]: 69: Hoare triple {18756#(<= ~counter~0 4)} assume !(0 == ~cond); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,062 INFO L290 TraceCheckUtils]: 70: Hoare triple {18756#(<= ~counter~0 4)} assume true; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,062 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18756#(<= ~counter~0 4)} {18756#(<= ~counter~0 4)} #86#return; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,063 INFO L290 TraceCheckUtils]: 72: Hoare triple {18756#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,063 INFO L290 TraceCheckUtils]: 73: Hoare triple {18756#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18756#(<= ~counter~0 4)} is VALID [2022-04-28 06:37:29,063 INFO L290 TraceCheckUtils]: 74: Hoare triple {18756#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,063 INFO L290 TraceCheckUtils]: 75: Hoare triple {18799#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,064 INFO L272 TraceCheckUtils]: 76: Hoare triple {18799#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,064 INFO L290 TraceCheckUtils]: 77: Hoare triple {18799#(<= ~counter~0 5)} ~cond := #in~cond; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,064 INFO L290 TraceCheckUtils]: 78: Hoare triple {18799#(<= ~counter~0 5)} assume !(0 == ~cond); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,065 INFO L290 TraceCheckUtils]: 79: Hoare triple {18799#(<= ~counter~0 5)} assume true; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,065 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18799#(<= ~counter~0 5)} {18799#(<= ~counter~0 5)} #84#return; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,066 INFO L272 TraceCheckUtils]: 81: Hoare triple {18799#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,066 INFO L290 TraceCheckUtils]: 82: Hoare triple {18799#(<= ~counter~0 5)} ~cond := #in~cond; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,066 INFO L290 TraceCheckUtils]: 83: Hoare triple {18799#(<= ~counter~0 5)} assume !(0 == ~cond); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,066 INFO L290 TraceCheckUtils]: 84: Hoare triple {18799#(<= ~counter~0 5)} assume true; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,067 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {18799#(<= ~counter~0 5)} {18799#(<= ~counter~0 5)} #86#return; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,067 INFO L290 TraceCheckUtils]: 86: Hoare triple {18799#(<= ~counter~0 5)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,067 INFO L290 TraceCheckUtils]: 87: Hoare triple {18799#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18799#(<= ~counter~0 5)} is VALID [2022-04-28 06:37:29,068 INFO L290 TraceCheckUtils]: 88: Hoare triple {18799#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18842#(<= |main_#t~post6| 5)} is VALID [2022-04-28 06:37:29,068 INFO L290 TraceCheckUtils]: 89: Hoare triple {18842#(<= |main_#t~post6| 5)} assume !(#t~post6 < 100);havoc #t~post6; {18568#false} is VALID [2022-04-28 06:37:29,068 INFO L272 TraceCheckUtils]: 90: Hoare triple {18568#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18568#false} is VALID [2022-04-28 06:37:29,068 INFO L290 TraceCheckUtils]: 91: Hoare triple {18568#false} ~cond := #in~cond; {18568#false} is VALID [2022-04-28 06:37:29,068 INFO L290 TraceCheckUtils]: 92: Hoare triple {18568#false} assume 0 == ~cond; {18568#false} is VALID [2022-04-28 06:37:29,068 INFO L290 TraceCheckUtils]: 93: Hoare triple {18568#false} assume !false; {18568#false} is VALID [2022-04-28 06:37:29,069 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 296 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 06:37:29,069 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:37:29,437 INFO L290 TraceCheckUtils]: 93: Hoare triple {18568#false} assume !false; {18568#false} is VALID [2022-04-28 06:37:29,437 INFO L290 TraceCheckUtils]: 92: Hoare triple {18568#false} assume 0 == ~cond; {18568#false} is VALID [2022-04-28 06:37:29,437 INFO L290 TraceCheckUtils]: 91: Hoare triple {18568#false} ~cond := #in~cond; {18568#false} is VALID [2022-04-28 06:37:29,437 INFO L272 TraceCheckUtils]: 90: Hoare triple {18568#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18568#false} is VALID [2022-04-28 06:37:29,437 INFO L290 TraceCheckUtils]: 89: Hoare triple {18870#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {18568#false} is VALID [2022-04-28 06:37:29,438 INFO L290 TraceCheckUtils]: 88: Hoare triple {18874#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18870#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:37:29,438 INFO L290 TraceCheckUtils]: 87: Hoare triple {18874#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18874#(< ~counter~0 100)} is VALID [2022-04-28 06:37:29,438 INFO L290 TraceCheckUtils]: 86: Hoare triple {18874#(< ~counter~0 100)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18874#(< ~counter~0 100)} is VALID [2022-04-28 06:37:29,438 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {18567#true} {18874#(< ~counter~0 100)} #86#return; {18874#(< ~counter~0 100)} is VALID [2022-04-28 06:37:29,439 INFO L290 TraceCheckUtils]: 84: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,439 INFO L290 TraceCheckUtils]: 83: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,439 INFO L290 TraceCheckUtils]: 82: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,439 INFO L272 TraceCheckUtils]: 81: Hoare triple {18874#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,439 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18567#true} {18874#(< ~counter~0 100)} #84#return; {18874#(< ~counter~0 100)} is VALID [2022-04-28 06:37:29,439 INFO L290 TraceCheckUtils]: 79: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,439 INFO L290 TraceCheckUtils]: 78: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,439 INFO L290 TraceCheckUtils]: 77: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,439 INFO L272 TraceCheckUtils]: 76: Hoare triple {18874#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,440 INFO L290 TraceCheckUtils]: 75: Hoare triple {18874#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {18874#(< ~counter~0 100)} is VALID [2022-04-28 06:37:29,440 INFO L290 TraceCheckUtils]: 74: Hoare triple {18917#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18874#(< ~counter~0 100)} is VALID [2022-04-28 06:37:29,441 INFO L290 TraceCheckUtils]: 73: Hoare triple {18917#(< ~counter~0 99)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18917#(< ~counter~0 99)} is VALID [2022-04-28 06:37:29,441 INFO L290 TraceCheckUtils]: 72: Hoare triple {18917#(< ~counter~0 99)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18917#(< ~counter~0 99)} is VALID [2022-04-28 06:37:29,441 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18567#true} {18917#(< ~counter~0 99)} #86#return; {18917#(< ~counter~0 99)} is VALID [2022-04-28 06:37:29,441 INFO L290 TraceCheckUtils]: 70: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,441 INFO L290 TraceCheckUtils]: 69: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,441 INFO L290 TraceCheckUtils]: 68: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,442 INFO L272 TraceCheckUtils]: 67: Hoare triple {18917#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,442 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18567#true} {18917#(< ~counter~0 99)} #84#return; {18917#(< ~counter~0 99)} is VALID [2022-04-28 06:37:29,442 INFO L290 TraceCheckUtils]: 65: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,442 INFO L290 TraceCheckUtils]: 64: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,442 INFO L290 TraceCheckUtils]: 63: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,442 INFO L272 TraceCheckUtils]: 62: Hoare triple {18917#(< ~counter~0 99)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,442 INFO L290 TraceCheckUtils]: 61: Hoare triple {18917#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {18917#(< ~counter~0 99)} is VALID [2022-04-28 06:37:29,443 INFO L290 TraceCheckUtils]: 60: Hoare triple {18960#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18917#(< ~counter~0 99)} is VALID [2022-04-28 06:37:29,443 INFO L290 TraceCheckUtils]: 59: Hoare triple {18960#(< ~counter~0 98)} assume !(~r~0 >= ~d~0); {18960#(< ~counter~0 98)} is VALID [2022-04-28 06:37:29,444 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {18567#true} {18960#(< ~counter~0 98)} #82#return; {18960#(< ~counter~0 98)} is VALID [2022-04-28 06:37:29,444 INFO L290 TraceCheckUtils]: 57: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,444 INFO L290 TraceCheckUtils]: 56: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,444 INFO L290 TraceCheckUtils]: 55: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,444 INFO L272 TraceCheckUtils]: 54: Hoare triple {18960#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,444 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {18567#true} {18960#(< ~counter~0 98)} #80#return; {18960#(< ~counter~0 98)} is VALID [2022-04-28 06:37:29,444 INFO L290 TraceCheckUtils]: 52: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,444 INFO L290 TraceCheckUtils]: 51: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,444 INFO L290 TraceCheckUtils]: 50: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,444 INFO L272 TraceCheckUtils]: 49: Hoare triple {18960#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,445 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {18567#true} {18960#(< ~counter~0 98)} #78#return; {18960#(< ~counter~0 98)} is VALID [2022-04-28 06:37:29,445 INFO L290 TraceCheckUtils]: 47: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,445 INFO L290 TraceCheckUtils]: 46: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,445 INFO L290 TraceCheckUtils]: 45: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,445 INFO L272 TraceCheckUtils]: 44: Hoare triple {18960#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,447 INFO L290 TraceCheckUtils]: 43: Hoare triple {18960#(< ~counter~0 98)} assume !!(#t~post5 < 100);havoc #t~post5; {18960#(< ~counter~0 98)} is VALID [2022-04-28 06:37:29,451 INFO L290 TraceCheckUtils]: 42: Hoare triple {19015#(< ~counter~0 97)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18960#(< ~counter~0 98)} is VALID [2022-04-28 06:37:29,451 INFO L290 TraceCheckUtils]: 41: Hoare triple {19015#(< ~counter~0 97)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {19015#(< ~counter~0 97)} is VALID [2022-04-28 06:37:29,451 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {18567#true} {19015#(< ~counter~0 97)} #82#return; {19015#(< ~counter~0 97)} is VALID [2022-04-28 06:37:29,451 INFO L290 TraceCheckUtils]: 39: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,451 INFO L290 TraceCheckUtils]: 38: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,451 INFO L290 TraceCheckUtils]: 37: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,452 INFO L272 TraceCheckUtils]: 36: Hoare triple {19015#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,452 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {18567#true} {19015#(< ~counter~0 97)} #80#return; {19015#(< ~counter~0 97)} is VALID [2022-04-28 06:37:29,452 INFO L290 TraceCheckUtils]: 34: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,452 INFO L290 TraceCheckUtils]: 33: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,452 INFO L290 TraceCheckUtils]: 32: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,452 INFO L272 TraceCheckUtils]: 31: Hoare triple {19015#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,452 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {18567#true} {19015#(< ~counter~0 97)} #78#return; {19015#(< ~counter~0 97)} is VALID [2022-04-28 06:37:29,453 INFO L290 TraceCheckUtils]: 29: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,453 INFO L290 TraceCheckUtils]: 28: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,453 INFO L290 TraceCheckUtils]: 27: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,453 INFO L272 TraceCheckUtils]: 26: Hoare triple {19015#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,453 INFO L290 TraceCheckUtils]: 25: Hoare triple {19015#(< ~counter~0 97)} assume !!(#t~post5 < 100);havoc #t~post5; {19015#(< ~counter~0 97)} is VALID [2022-04-28 06:37:29,453 INFO L290 TraceCheckUtils]: 24: Hoare triple {19070#(< ~counter~0 96)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {19015#(< ~counter~0 97)} is VALID [2022-04-28 06:37:29,455 INFO L290 TraceCheckUtils]: 23: Hoare triple {19070#(< ~counter~0 96)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {19070#(< ~counter~0 96)} is VALID [2022-04-28 06:37:29,456 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18567#true} {19070#(< ~counter~0 96)} #82#return; {19070#(< ~counter~0 96)} is VALID [2022-04-28 06:37:29,456 INFO L290 TraceCheckUtils]: 21: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,456 INFO L290 TraceCheckUtils]: 19: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,456 INFO L272 TraceCheckUtils]: 18: Hoare triple {19070#(< ~counter~0 96)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,456 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {18567#true} {19070#(< ~counter~0 96)} #80#return; {19070#(< ~counter~0 96)} is VALID [2022-04-28 06:37:29,456 INFO L290 TraceCheckUtils]: 16: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,456 INFO L290 TraceCheckUtils]: 15: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,456 INFO L272 TraceCheckUtils]: 13: Hoare triple {19070#(< ~counter~0 96)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,457 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {18567#true} {19070#(< ~counter~0 96)} #78#return; {19070#(< ~counter~0 96)} is VALID [2022-04-28 06:37:29,457 INFO L290 TraceCheckUtils]: 11: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-28 06:37:29,457 INFO L290 TraceCheckUtils]: 10: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-28 06:37:29,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-28 06:37:29,457 INFO L272 TraceCheckUtils]: 8: Hoare triple {19070#(< ~counter~0 96)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18567#true} is VALID [2022-04-28 06:37:29,457 INFO L290 TraceCheckUtils]: 7: Hoare triple {19070#(< ~counter~0 96)} assume !!(#t~post5 < 100);havoc #t~post5; {19070#(< ~counter~0 96)} is VALID [2022-04-28 06:37:29,458 INFO L290 TraceCheckUtils]: 6: Hoare triple {19125#(< ~counter~0 95)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {19070#(< ~counter~0 96)} is VALID [2022-04-28 06:37:29,458 INFO L290 TraceCheckUtils]: 5: Hoare triple {19125#(< ~counter~0 95)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {19125#(< ~counter~0 95)} is VALID [2022-04-28 06:37:29,458 INFO L272 TraceCheckUtils]: 4: Hoare triple {19125#(< ~counter~0 95)} call #t~ret7 := main(); {19125#(< ~counter~0 95)} is VALID [2022-04-28 06:37:29,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19125#(< ~counter~0 95)} {18567#true} #92#return; {19125#(< ~counter~0 95)} is VALID [2022-04-28 06:37:29,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {19125#(< ~counter~0 95)} assume true; {19125#(< ~counter~0 95)} is VALID [2022-04-28 06:37:29,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {18567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19125#(< ~counter~0 95)} is VALID [2022-04-28 06:37:29,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {18567#true} call ULTIMATE.init(); {18567#true} is VALID [2022-04-28 06:37:29,460 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:37:29,460 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:37:29,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1092997075] [2022-04-28 06:37:29,460 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:37:29,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1054491330] [2022-04-28 06:37:29,460 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1054491330] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:37:29,460 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:37:29,460 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 06:37:29,460 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:37:29,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [954839253] [2022-04-28 06:37:29,460 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [954839253] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:37:29,461 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:37:29,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:37:29,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [758302583] [2022-04-28 06:37:29,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:37:29,461 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 94 [2022-04-28 06:37:29,461 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:37:29,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:29,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:29,509 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:37:29,509 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:37:29,510 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:37:29,510 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:37:29,510 INFO L87 Difference]: Start difference. First operand 182 states and 216 transitions. Second operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:29,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:29,982 INFO L93 Difference]: Finished difference Result 240 states and 281 transitions. [2022-04-28 06:37:29,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 06:37:29,982 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 94 [2022-04-28 06:37:29,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:37:29,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:29,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 128 transitions. [2022-04-28 06:37:29,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:29,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 128 transitions. [2022-04-28 06:37:29,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 128 transitions. [2022-04-28 06:37:30,102 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:30,107 INFO L225 Difference]: With dead ends: 240 [2022-04-28 06:37:30,107 INFO L226 Difference]: Without dead ends: 227 [2022-04-28 06:37:30,108 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 173 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=186, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:37:30,108 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 37 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:37:30,108 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 180 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:37:30,109 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-28 06:37:30,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 226. [2022-04-28 06:37:30,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:37:30,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 06:37:30,380 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 06:37:30,381 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 06:37:30,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:30,385 INFO L93 Difference]: Finished difference Result 227 states and 264 transitions. [2022-04-28 06:37:30,385 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 264 transitions. [2022-04-28 06:37:30,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:37:30,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:37:30,387 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 227 states. [2022-04-28 06:37:30,387 INFO L87 Difference]: Start difference. First operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 227 states. [2022-04-28 06:37:30,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:37:30,392 INFO L93 Difference]: Finished difference Result 227 states and 264 transitions. [2022-04-28 06:37:30,392 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 264 transitions. [2022-04-28 06:37:30,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:37:30,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:37:30,393 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:37:30,393 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:37:30,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 06:37:30,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 263 transitions. [2022-04-28 06:37:30,399 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 263 transitions. Word has length 94 [2022-04-28 06:37:30,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:37:30,399 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 263 transitions. [2022-04-28 06:37:30,400 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:37:30,400 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 263 transitions. [2022-04-28 06:37:30,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 263 edges. 263 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:37:30,728 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 263 transitions. [2022-04-28 06:37:30,731 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-28 06:37:30,731 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:37:30,731 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:37:30,748 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 06:37:30,931 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:37:30,932 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:37:30,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:37:30,932 INFO L85 PathProgramCache]: Analyzing trace with hash -612515316, now seen corresponding path program 7 times [2022-04-28 06:37:30,933 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:37:30,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1115966882] [2022-04-28 06:37:32,536 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:37:32,536 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:37:32,536 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:37:32,536 INFO L85 PathProgramCache]: Analyzing trace with hash -612515316, now seen corresponding path program 8 times [2022-04-28 06:37:32,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:37:32,537 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1649401192] [2022-04-28 06:37:32,537 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:37:32,537 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:37:32,548 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:37:32,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [387340939] [2022-04-28 06:37:32,549 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:37:32,549 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:37:32,549 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:37:32,553 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:37:32,555 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 06:37:32,604 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:37:32,605 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:37:32,606 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 06:37:32,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:37:32,622 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:37:33,257 INFO L272 TraceCheckUtils]: 0: Hoare triple {20536#true} call ULTIMATE.init(); {20536#true} is VALID [2022-04-28 06:37:33,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {20536#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20536#true} is VALID [2022-04-28 06:37:33,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20536#true} {20536#true} #92#return; {20536#true} is VALID [2022-04-28 06:37:33,258 INFO L272 TraceCheckUtils]: 4: Hoare triple {20536#true} call #t~ret7 := main(); {20536#true} is VALID [2022-04-28 06:37:33,258 INFO L290 TraceCheckUtils]: 5: Hoare triple {20536#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:37:33,258 INFO L290 TraceCheckUtils]: 6: Hoare triple {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:37:33,259 INFO L290 TraceCheckUtils]: 7: Hoare triple {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:37:33,259 INFO L272 TraceCheckUtils]: 8: Hoare triple {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,259 INFO L290 TraceCheckUtils]: 9: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,259 INFO L290 TraceCheckUtils]: 10: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,259 INFO L290 TraceCheckUtils]: 11: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,259 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {20536#true} {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:37:33,260 INFO L272 TraceCheckUtils]: 13: Hoare triple {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,260 INFO L290 TraceCheckUtils]: 15: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,260 INFO L290 TraceCheckUtils]: 16: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,260 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {20536#true} {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:37:33,260 INFO L272 TraceCheckUtils]: 18: Hoare triple {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,260 INFO L290 TraceCheckUtils]: 19: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,260 INFO L290 TraceCheckUtils]: 21: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,261 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20536#true} {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:37:33,261 INFO L290 TraceCheckUtils]: 23: Hoare triple {20556#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,262 INFO L290 TraceCheckUtils]: 24: Hoare triple {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post5 < 100);havoc #t~post5; {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,262 INFO L272 TraceCheckUtils]: 26: Hoare triple {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,262 INFO L290 TraceCheckUtils]: 28: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,262 INFO L290 TraceCheckUtils]: 29: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,263 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {20536#true} {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,263 INFO L272 TraceCheckUtils]: 31: Hoare triple {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,263 INFO L290 TraceCheckUtils]: 32: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,263 INFO L290 TraceCheckUtils]: 33: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,263 INFO L290 TraceCheckUtils]: 34: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,264 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {20536#true} {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,264 INFO L272 TraceCheckUtils]: 36: Hoare triple {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,264 INFO L290 TraceCheckUtils]: 37: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,264 INFO L290 TraceCheckUtils]: 38: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,264 INFO L290 TraceCheckUtils]: 39: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,264 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20536#true} {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,265 INFO L290 TraceCheckUtils]: 41: Hoare triple {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,265 INFO L290 TraceCheckUtils]: 42: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,265 INFO L290 TraceCheckUtils]: 43: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(#t~post5 < 100);havoc #t~post5; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,265 INFO L272 TraceCheckUtils]: 44: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,266 INFO L290 TraceCheckUtils]: 45: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,266 INFO L290 TraceCheckUtils]: 46: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,266 INFO L290 TraceCheckUtils]: 47: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,269 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #78#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,269 INFO L272 TraceCheckUtils]: 49: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,269 INFO L290 TraceCheckUtils]: 50: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,269 INFO L290 TraceCheckUtils]: 51: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,269 INFO L290 TraceCheckUtils]: 52: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,270 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,270 INFO L272 TraceCheckUtils]: 54: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,270 INFO L290 TraceCheckUtils]: 55: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,270 INFO L290 TraceCheckUtils]: 56: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,270 INFO L290 TraceCheckUtils]: 57: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,271 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,271 INFO L290 TraceCheckUtils]: 59: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,271 INFO L290 TraceCheckUtils]: 60: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,272 INFO L290 TraceCheckUtils]: 61: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(#t~post6 < 100);havoc #t~post6; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,272 INFO L272 TraceCheckUtils]: 62: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,272 INFO L290 TraceCheckUtils]: 63: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,272 INFO L290 TraceCheckUtils]: 64: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,272 INFO L290 TraceCheckUtils]: 65: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,272 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,272 INFO L272 TraceCheckUtils]: 67: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,273 INFO L290 TraceCheckUtils]: 68: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,273 INFO L290 TraceCheckUtils]: 69: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,273 INFO L290 TraceCheckUtils]: 70: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,273 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #86#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:37:33,274 INFO L290 TraceCheckUtils]: 72: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,274 INFO L290 TraceCheckUtils]: 73: Hoare triple {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,274 INFO L290 TraceCheckUtils]: 74: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,275 INFO L290 TraceCheckUtils]: 75: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,275 INFO L272 TraceCheckUtils]: 76: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,275 INFO L290 TraceCheckUtils]: 77: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,275 INFO L290 TraceCheckUtils]: 78: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,275 INFO L290 TraceCheckUtils]: 79: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,276 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20536#true} {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #84#return; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,276 INFO L272 TraceCheckUtils]: 81: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:37:33,276 INFO L290 TraceCheckUtils]: 82: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:37:33,276 INFO L290 TraceCheckUtils]: 83: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:37:33,276 INFO L290 TraceCheckUtils]: 84: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:37:33,276 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {20536#true} {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #86#return; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,277 INFO L290 TraceCheckUtils]: 86: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (div (+ main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= main_~B~0 1) (= (* main_~B~0 2) (+ main_~A~0 (* (- 1) main_~r~0))))} is VALID [2022-04-28 06:37:33,278 INFO L290 TraceCheckUtils]: 87: Hoare triple {20803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (div (+ main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= main_~B~0 1) (= (* main_~B~0 2) (+ main_~A~0 (* (- 1) main_~r~0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,278 INFO L290 TraceCheckUtils]: 88: Hoare triple {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,279 INFO L290 TraceCheckUtils]: 89: Hoare triple {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-28 06:37:33,279 INFO L272 TraceCheckUtils]: 90: Hoare triple {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:37:33,280 INFO L290 TraceCheckUtils]: 91: Hoare triple {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:37:33,280 INFO L290 TraceCheckUtils]: 92: Hoare triple {20821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20537#false} is VALID [2022-04-28 06:37:33,280 INFO L290 TraceCheckUtils]: 93: Hoare triple {20537#false} assume !false; {20537#false} is VALID [2022-04-28 06:37:33,280 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:37:33,280 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:38:06,462 INFO L290 TraceCheckUtils]: 93: Hoare triple {20537#false} assume !false; {20537#false} is VALID [2022-04-28 06:38:06,463 INFO L290 TraceCheckUtils]: 92: Hoare triple {20821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20537#false} is VALID [2022-04-28 06:38:06,463 INFO L290 TraceCheckUtils]: 91: Hoare triple {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:38:06,463 INFO L272 TraceCheckUtils]: 90: Hoare triple {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:38:06,464 INFO L290 TraceCheckUtils]: 89: Hoare triple {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 100);havoc #t~post6; {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:38:06,464 INFO L290 TraceCheckUtils]: 88: Hoare triple {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:38:06,475 INFO L290 TraceCheckUtils]: 87: Hoare triple {20847#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:38:06,489 INFO L290 TraceCheckUtils]: 86: Hoare triple {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20847#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 06:38:06,489 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {20536#true} {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:38:06,489 INFO L290 TraceCheckUtils]: 84: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:06,489 INFO L290 TraceCheckUtils]: 83: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:06,489 INFO L290 TraceCheckUtils]: 82: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:06,489 INFO L272 TraceCheckUtils]: 81: Hoare triple {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:06,490 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20536#true} {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:38:06,490 INFO L290 TraceCheckUtils]: 79: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:06,490 INFO L290 TraceCheckUtils]: 78: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:06,490 INFO L290 TraceCheckUtils]: 77: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:06,490 INFO L272 TraceCheckUtils]: 76: Hoare triple {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:06,491 INFO L290 TraceCheckUtils]: 75: Hoare triple {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(#t~post6 < 100);havoc #t~post6; {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:38:06,492 INFO L290 TraceCheckUtils]: 74: Hoare triple {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:38:06,520 INFO L290 TraceCheckUtils]: 73: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20851#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 06:38:06,808 INFO L290 TraceCheckUtils]: 72: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:38:06,809 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #86#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:06,809 INFO L290 TraceCheckUtils]: 70: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:06,809 INFO L290 TraceCheckUtils]: 69: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:06,809 INFO L290 TraceCheckUtils]: 68: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:06,810 INFO L272 TraceCheckUtils]: 67: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:06,812 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #84#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:06,812 INFO L290 TraceCheckUtils]: 65: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:06,812 INFO L290 TraceCheckUtils]: 64: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:06,812 INFO L290 TraceCheckUtils]: 63: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:06,812 INFO L272 TraceCheckUtils]: 62: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:06,815 INFO L290 TraceCheckUtils]: 61: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(#t~post6 < 100);havoc #t~post6; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:06,817 INFO L290 TraceCheckUtils]: 60: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:06,820 INFO L290 TraceCheckUtils]: 59: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !(~r~0 >= ~d~0); {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:06,821 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #82#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:06,821 INFO L290 TraceCheckUtils]: 57: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:06,821 INFO L290 TraceCheckUtils]: 56: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:06,821 INFO L290 TraceCheckUtils]: 55: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:06,821 INFO L272 TraceCheckUtils]: 54: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:06,828 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #80#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:06,829 INFO L290 TraceCheckUtils]: 52: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:06,829 INFO L290 TraceCheckUtils]: 51: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:06,829 INFO L290 TraceCheckUtils]: 50: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:06,829 INFO L272 TraceCheckUtils]: 49: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:06,830 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #78#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:06,830 INFO L290 TraceCheckUtils]: 47: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:06,831 INFO L290 TraceCheckUtils]: 46: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:06,831 INFO L290 TraceCheckUtils]: 45: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:06,831 INFO L272 TraceCheckUtils]: 44: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:06,834 INFO L290 TraceCheckUtils]: 43: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(#t~post5 < 100);havoc #t~post5; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:06,838 INFO L290 TraceCheckUtils]: 42: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:07,036 INFO L290 TraceCheckUtils]: 41: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:38:07,037 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20536#true} {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #82#return; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:38:07,037 INFO L290 TraceCheckUtils]: 39: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:07,037 INFO L290 TraceCheckUtils]: 38: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:07,037 INFO L290 TraceCheckUtils]: 37: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:07,037 INFO L272 TraceCheckUtils]: 36: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:07,037 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {20536#true} {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #80#return; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:38:07,037 INFO L290 TraceCheckUtils]: 34: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:07,037 INFO L290 TraceCheckUtils]: 33: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:07,038 INFO L290 TraceCheckUtils]: 32: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:07,038 INFO L272 TraceCheckUtils]: 31: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:07,038 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {20536#true} {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #78#return; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:38:07,038 INFO L290 TraceCheckUtils]: 29: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:07,038 INFO L290 TraceCheckUtils]: 28: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:07,038 INFO L290 TraceCheckUtils]: 27: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:07,038 INFO L272 TraceCheckUtils]: 26: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:07,039 INFO L290 TraceCheckUtils]: 25: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post5 < 100);havoc #t~post5; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:38:07,040 INFO L290 TraceCheckUtils]: 24: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:38:07,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:38:07,057 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20536#true} {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #82#return; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 06:38:07,057 INFO L290 TraceCheckUtils]: 21: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:07,057 INFO L290 TraceCheckUtils]: 20: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:07,057 INFO L290 TraceCheckUtils]: 19: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:07,057 INFO L272 TraceCheckUtils]: 18: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:07,057 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {20536#true} {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #80#return; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 06:38:07,057 INFO L290 TraceCheckUtils]: 16: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:07,058 INFO L290 TraceCheckUtils]: 15: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:07,058 INFO L290 TraceCheckUtils]: 14: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:07,058 INFO L272 TraceCheckUtils]: 13: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:07,058 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {20536#true} {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #78#return; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 06:38:07,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:07,058 INFO L290 TraceCheckUtils]: 10: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-28 06:38:07,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-28 06:38:07,058 INFO L272 TraceCheckUtils]: 8: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-28 06:38:07,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(#t~post5 < 100);havoc #t~post5; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 06:38:07,059 INFO L290 TraceCheckUtils]: 6: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 06:38:07,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {20536#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 06:38:07,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {20536#true} call #t~ret7 := main(); {20536#true} is VALID [2022-04-28 06:38:07,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20536#true} {20536#true} #92#return; {20536#true} is VALID [2022-04-28 06:38:07,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-28 06:38:07,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {20536#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20536#true} is VALID [2022-04-28 06:38:07,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {20536#true} call ULTIMATE.init(); {20536#true} is VALID [2022-04-28 06:38:07,061 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:38:07,061 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:38:07,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1649401192] [2022-04-28 06:38:07,061 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:38:07,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [387340939] [2022-04-28 06:38:07,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [387340939] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:38:07,061 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:38:07,061 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 06:38:07,061 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:38:07,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1115966882] [2022-04-28 06:38:07,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1115966882] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:38:07,062 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:38:07,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 06:38:07,062 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1058794775] [2022-04-28 06:38:07,062 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:38:07,062 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 94 [2022-04-28 06:38:07,062 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:38:07,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:38:07,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:38:07,130 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 06:38:07,130 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:38:07,131 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 06:38:07,131 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=179, Unknown=1, NotChecked=0, Total=240 [2022-04-28 06:38:07,131 INFO L87 Difference]: Start difference. First operand 226 states and 263 transitions. Second operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:38:08,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:38:08,656 INFO L93 Difference]: Finished difference Result 275 states and 329 transitions. [2022-04-28 06:38:08,656 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:38:08,657 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 94 [2022-04-28 06:38:08,657 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:38:08,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:38:08,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 129 transitions. [2022-04-28 06:38:08,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:38:08,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 129 transitions. [2022-04-28 06:38:08,661 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 129 transitions. [2022-04-28 06:38:08,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:38:08,788 INFO L225 Difference]: With dead ends: 275 [2022-04-28 06:38:08,788 INFO L226 Difference]: Without dead ends: 240 [2022-04-28 06:38:08,788 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 170 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 6.6s TimeCoverageRelationStatistics Valid=64, Invalid=207, Unknown=1, NotChecked=0, Total=272 [2022-04-28 06:38:08,789 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 13 mSDsluCounter, 243 mSDsCounter, 0 mSdLazyCounter, 433 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 300 SdHoareTripleChecker+Invalid, 451 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 433 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 06:38:08,789 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 300 Invalid, 451 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 433 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 06:38:08,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 240 states. [2022-04-28 06:38:09,047 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 240 to 238. [2022-04-28 06:38:09,048 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:38:09,048 INFO L82 GeneralOperation]: Start isEquivalent. First operand 240 states. Second operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 06:38:09,049 INFO L74 IsIncluded]: Start isIncluded. First operand 240 states. Second operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 06:38:09,049 INFO L87 Difference]: Start difference. First operand 240 states. Second operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 06:38:09,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:38:09,054 INFO L93 Difference]: Finished difference Result 240 states and 280 transitions. [2022-04-28 06:38:09,054 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 280 transitions. [2022-04-28 06:38:09,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:38:09,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:38:09,055 INFO L74 IsIncluded]: Start isIncluded. First operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 240 states. [2022-04-28 06:38:09,056 INFO L87 Difference]: Start difference. First operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 240 states. [2022-04-28 06:38:09,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:38:09,060 INFO L93 Difference]: Finished difference Result 240 states and 280 transitions. [2022-04-28 06:38:09,060 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 280 transitions. [2022-04-28 06:38:09,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:38:09,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:38:09,061 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:38:09,061 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:38:09,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-28 06:38:09,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 277 transitions. [2022-04-28 06:38:09,067 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 277 transitions. Word has length 94 [2022-04-28 06:38:09,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:38:09,067 INFO L495 AbstractCegarLoop]: Abstraction has 238 states and 277 transitions. [2022-04-28 06:38:09,067 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:38:09,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 277 transitions. [2022-04-28 06:38:09,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 277 edges. 277 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:38:09,449 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 277 transitions. [2022-04-28 06:38:09,449 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 06:38:09,449 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:38:09,450 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:38:09,471 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 06:38:09,650 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:38:09,650 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:38:09,650 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:38:09,651 INFO L85 PathProgramCache]: Analyzing trace with hash 18113303, now seen corresponding path program 9 times [2022-04-28 06:38:09,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:38:09,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1058033882] [2022-04-28 06:38:12,355 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:38:12,355 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:38:12,355 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:38:12,355 INFO L85 PathProgramCache]: Analyzing trace with hash 18113303, now seen corresponding path program 10 times [2022-04-28 06:38:12,356 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:38:12,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1133178161] [2022-04-28 06:38:12,356 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:38:12,356 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:38:12,375 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:38:12,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1547821155] [2022-04-28 06:38:12,376 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:38:12,376 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:38:12,376 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:38:12,380 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:38:12,381 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 06:38:12,437 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:38:12,438 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:38:12,439 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 06:38:12,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:38:12,463 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:41:29,889 INFO L272 TraceCheckUtils]: 0: Hoare triple {22623#true} call ULTIMATE.init(); {22623#true} is VALID [2022-04-28 06:41:29,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {22623#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22623#true} is VALID [2022-04-28 06:41:29,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:29,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22623#true} {22623#true} #92#return; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {22623#true} call #t~ret7 := main(); {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L290 TraceCheckUtils]: 5: Hoare triple {22623#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L290 TraceCheckUtils]: 6: Hoare triple {22623#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L290 TraceCheckUtils]: 7: Hoare triple {22623#true} assume !!(#t~post5 < 100);havoc #t~post5; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L272 TraceCheckUtils]: 8: Hoare triple {22623#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L290 TraceCheckUtils]: 9: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L290 TraceCheckUtils]: 10: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L290 TraceCheckUtils]: 11: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {22623#true} {22623#true} #78#return; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L272 TraceCheckUtils]: 13: Hoare triple {22623#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L290 TraceCheckUtils]: 14: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L290 TraceCheckUtils]: 16: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {22623#true} {22623#true} #80#return; {22623#true} is VALID [2022-04-28 06:41:29,890 INFO L272 TraceCheckUtils]: 18: Hoare triple {22623#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:29,891 INFO L290 TraceCheckUtils]: 19: Hoare triple {22623#true} ~cond := #in~cond; {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:41:29,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:41:29,891 INFO L290 TraceCheckUtils]: 21: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:41:29,893 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {22623#true} #82#return; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:41:30,370 INFO L290 TraceCheckUtils]: 23: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:30,371 INFO L290 TraceCheckUtils]: 24: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:30,371 INFO L290 TraceCheckUtils]: 25: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 100);havoc #t~post5; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:30,371 INFO L272 TraceCheckUtils]: 26: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:30,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:30,371 INFO L290 TraceCheckUtils]: 28: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:30,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:30,372 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {22623#true} {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} #78#return; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:30,372 INFO L272 TraceCheckUtils]: 31: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:30,372 INFO L290 TraceCheckUtils]: 32: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:30,372 INFO L290 TraceCheckUtils]: 33: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:30,372 INFO L290 TraceCheckUtils]: 34: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:30,373 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {22623#true} {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} #80#return; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:30,373 INFO L272 TraceCheckUtils]: 36: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:30,373 INFO L290 TraceCheckUtils]: 37: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:30,373 INFO L290 TraceCheckUtils]: 38: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:30,373 INFO L290 TraceCheckUtils]: 39: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:30,373 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22623#true} {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} #82#return; {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,772 INFO L290 TraceCheckUtils]: 41: Hoare triple {22700#(and (<= (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) main_~r~0) (= main_~d~0 (* (* main_~B~0 (div (- main_~p~0) (- 2))) 2)) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,773 INFO L290 TraceCheckUtils]: 42: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,774 INFO L290 TraceCheckUtils]: 43: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 100);havoc #t~post5; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,774 INFO L272 TraceCheckUtils]: 44: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:31,774 INFO L290 TraceCheckUtils]: 45: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:31,774 INFO L290 TraceCheckUtils]: 46: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:31,774 INFO L290 TraceCheckUtils]: 47: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:31,775 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {22623#true} {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #78#return; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,775 INFO L272 TraceCheckUtils]: 49: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:31,775 INFO L290 TraceCheckUtils]: 50: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:31,775 INFO L290 TraceCheckUtils]: 51: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:31,775 INFO L290 TraceCheckUtils]: 52: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:31,775 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {22623#true} {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #80#return; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,775 INFO L272 TraceCheckUtils]: 54: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:31,776 INFO L290 TraceCheckUtils]: 55: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:31,776 INFO L290 TraceCheckUtils]: 56: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:31,776 INFO L290 TraceCheckUtils]: 57: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:31,776 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22623#true} {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #82#return; {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,777 INFO L290 TraceCheckUtils]: 59: Hoare triple {22755#(and (<= (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) main_~r~0) (= (* (* (div (- (div (- main_~p~0) (- 2))) (- 2)) main_~B~0) 4) main_~d~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,777 INFO L290 TraceCheckUtils]: 60: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,778 INFO L290 TraceCheckUtils]: 61: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,778 INFO L272 TraceCheckUtils]: 62: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:31,778 INFO L290 TraceCheckUtils]: 63: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:31,778 INFO L290 TraceCheckUtils]: 64: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:31,778 INFO L290 TraceCheckUtils]: 65: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:31,778 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {22623#true} {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #84#return; {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:31,778 INFO L272 TraceCheckUtils]: 67: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:31,779 INFO L290 TraceCheckUtils]: 68: Hoare triple {22623#true} ~cond := #in~cond; {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:41:31,779 INFO L290 TraceCheckUtils]: 69: Hoare triple {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:41:31,779 INFO L290 TraceCheckUtils]: 70: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:41:31,780 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} #86#return; {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:41:33,611 INFO L290 TraceCheckUtils]: 72: Hoare triple {22810#(and (< main_~r~0 main_~d~0) (= main_~d~0 (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 4)) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (<= (* (* (div (* (- 1) (div (* (- 1) main_~p~0) (- 2))) (- 2)) main_~B~0) 2) main_~r~0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {22850#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (<= (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) main_~r~0) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (< main_~r~0 (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 06:41:33,613 INFO L290 TraceCheckUtils]: 73: Hoare triple {22850#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (<= (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) main_~r~0) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (< main_~r~0 (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 06:41:33,614 INFO L290 TraceCheckUtils]: 74: Hoare triple {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 06:41:33,616 INFO L290 TraceCheckUtils]: 75: Hoare triple {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} assume !!(#t~post6 < 100);havoc #t~post6; {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 06:41:33,616 INFO L272 TraceCheckUtils]: 76: Hoare triple {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:33,616 INFO L290 TraceCheckUtils]: 77: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:33,616 INFO L290 TraceCheckUtils]: 78: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:33,616 INFO L290 TraceCheckUtils]: 79: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:33,616 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {22623#true} {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} #84#return; {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} is VALID [2022-04-28 06:41:33,616 INFO L272 TraceCheckUtils]: 81: Hoare triple {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:33,617 INFO L290 TraceCheckUtils]: 82: Hoare triple {22623#true} ~cond := #in~cond; {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:41:33,617 INFO L290 TraceCheckUtils]: 83: Hoare triple {22685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:41:33,617 INFO L290 TraceCheckUtils]: 84: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:41:33,618 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {22854#(and (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))) (= main_~d~0 (* 2 (* main_~B~0 (div (* (- 1) (div (* (- 2) main_~p~0) (- 2))) (- 2))))))} #86#return; {22891#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))))} is VALID [2022-04-28 06:41:33,761 INFO L290 TraceCheckUtils]: 86: Hoare triple {22891#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= (mod (div (* (- 2) main_~p~0) (- 2)) 2) 0) (exists ((aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= main_~p~0 (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* (div (* (- 1) main_~p~0) (- 2)) main_~B~0) 4)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ main_~p~0 2)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} is VALID [2022-04-28 06:41:33,763 INFO L290 TraceCheckUtils]: 87: Hoare triple {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} is VALID [2022-04-28 06:41:33,765 INFO L290 TraceCheckUtils]: 88: Hoare triple {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} is VALID [2022-04-28 06:41:33,767 INFO L290 TraceCheckUtils]: 89: Hoare triple {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} assume !!(#t~post6 < 100);havoc #t~post6; {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} is VALID [2022-04-28 06:41:33,767 INFO L272 TraceCheckUtils]: 90: Hoare triple {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:41:33,767 INFO L290 TraceCheckUtils]: 91: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:41:33,767 INFO L290 TraceCheckUtils]: 92: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:41:33,767 INFO L290 TraceCheckUtils]: 93: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:41:33,768 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22623#true} {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} #84#return; {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} is VALID [2022-04-28 06:41:33,768 INFO L272 TraceCheckUtils]: 95: Hoare triple {22895#(and (= (* main_~B~0 main_~p~0) main_~d~0) (exists ((aux_div_v_main_~p~0_144_37 Int) (aux_div_aux_div_v_main_~p~0_143_37_48 Int)) (and (<= (* main_~p~0 2) (* 2 aux_div_aux_div_v_main_~p~0_143_37_48)) (< (* 2 (* main_~B~0 aux_div_aux_div_v_main_~p~0_143_37_48)) (* (* aux_div_v_main_~p~0_144_37 main_~B~0) 4)) (<= (* main_~p~0 2) (* aux_div_v_main_~p~0_144_37 2)) (< (* 2 aux_div_aux_div_v_main_~p~0_143_37_48) (+ (* main_~p~0 2) 2)) (< (* aux_div_v_main_~p~0_144_37 2) (+ (* main_~p~0 2) 2)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22923#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:41:33,769 INFO L290 TraceCheckUtils]: 96: Hoare triple {22923#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22927#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:41:33,769 INFO L290 TraceCheckUtils]: 97: Hoare triple {22927#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22624#false} is VALID [2022-04-28 06:41:33,769 INFO L290 TraceCheckUtils]: 98: Hoare triple {22624#false} assume !false; {22624#false} is VALID [2022-04-28 06:41:33,769 INFO L134 CoverageAnalysis]: Checked inductivity of 424 backedges. 98 proven. 53 refuted. 8 times theorem prover too weak. 265 trivial. 0 not checked. [2022-04-28 06:41:33,769 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:42:12,853 WARN L232 SmtUtils]: Spent 5.57s on a formula simplification. DAG size of input: 7 DAG size of output: 1 (called from [L 988] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-28 06:42:44,902 WARN L232 SmtUtils]: Spent 5.77s on a formula simplification. DAG size of input: 7 DAG size of output: 1 (called from [L 988] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-28 06:44:32,596 INFO L290 TraceCheckUtils]: 98: Hoare triple {22624#false} assume !false; {22624#false} is VALID [2022-04-28 06:44:32,596 INFO L290 TraceCheckUtils]: 97: Hoare triple {22927#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22624#false} is VALID [2022-04-28 06:44:32,597 INFO L290 TraceCheckUtils]: 96: Hoare triple {22923#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22927#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:44:32,597 INFO L272 TraceCheckUtils]: 95: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22923#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:44:32,598 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22623#true} {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:44:32,598 INFO L290 TraceCheckUtils]: 93: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:32,598 INFO L290 TraceCheckUtils]: 92: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:32,598 INFO L290 TraceCheckUtils]: 91: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:32,598 INFO L272 TraceCheckUtils]: 90: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:32,598 INFO L290 TraceCheckUtils]: 89: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post6 < 100);havoc #t~post6; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:44:32,598 INFO L290 TraceCheckUtils]: 88: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:44:32,599 INFO L290 TraceCheckUtils]: 87: Hoare triple {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:44:32,611 INFO L290 TraceCheckUtils]: 86: Hoare triple {22970#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {22696#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:44:32,623 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #86#return; {22970#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 06:44:32,623 INFO L290 TraceCheckUtils]: 84: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:44:32,624 INFO L290 TraceCheckUtils]: 83: Hoare triple {22984#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:44:32,624 INFO L290 TraceCheckUtils]: 82: Hoare triple {22623#true} ~cond := #in~cond; {22984#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:44:32,624 INFO L272 TraceCheckUtils]: 81: Hoare triple {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:32,624 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {22623#true} {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #84#return; {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:44:32,625 INFO L290 TraceCheckUtils]: 79: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:32,625 INFO L290 TraceCheckUtils]: 78: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:32,625 INFO L290 TraceCheckUtils]: 77: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:32,625 INFO L272 TraceCheckUtils]: 76: Hoare triple {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:32,626 INFO L290 TraceCheckUtils]: 75: Hoare triple {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:44:32,627 INFO L290 TraceCheckUtils]: 74: Hoare triple {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:44:32,629 INFO L290 TraceCheckUtils]: 73: Hoare triple {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:44:32,980 INFO L290 TraceCheckUtils]: 72: Hoare triple {23015#(and (or (not (< main_~p~0 0)) (and (or (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (* main_~B~0 (+ (div main_~p~0 2) 1)) 2)) (and (< (+ main_~B~0 (* main_~B~0 (div main_~p~0 2))) 0) (not (= (mod (* main_~B~0 (+ (div main_~p~0 2) 1)) 2) 0)))) (or (= (+ (div (* main_~B~0 (+ (div main_~p~0 2) 1)) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (not (< (+ main_~B~0 (* main_~B~0 (div main_~p~0 2))) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (or (not (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {22974#(or (and (or (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (not (< main_~d~0 0))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (< main_~p~0 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:44:33,013 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #86#return; {23015#(and (or (not (< main_~p~0 0)) (and (or (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (* main_~B~0 (+ (div main_~p~0 2) 1)) 2)) (and (< (+ main_~B~0 (* main_~B~0 (div main_~p~0 2))) 0) (not (= (mod (* main_~B~0 (+ (div main_~p~0 2) 1)) 2) 0)))) (or (= (+ (div (* main_~B~0 (+ (div main_~p~0 2) 1)) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (not (< (+ main_~B~0 (* main_~B~0 (div main_~p~0 2))) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (or (not (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-28 06:44:33,013 INFO L290 TraceCheckUtils]: 70: Hoare triple {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:44:33,014 INFO L290 TraceCheckUtils]: 69: Hoare triple {22984#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:44:33,014 INFO L290 TraceCheckUtils]: 68: Hoare triple {22623#true} ~cond := #in~cond; {22984#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:44:33,014 INFO L272 TraceCheckUtils]: 67: Hoare triple {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,015 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {22623#true} {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #84#return; {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:44:33,015 INFO L290 TraceCheckUtils]: 65: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,015 INFO L290 TraceCheckUtils]: 64: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,015 INFO L290 TraceCheckUtils]: 63: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,015 INFO L272 TraceCheckUtils]: 62: Hoare triple {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,016 INFO L290 TraceCheckUtils]: 61: Hoare triple {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:44:33,018 INFO L290 TraceCheckUtils]: 60: Hoare triple {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:44:33,019 INFO L290 TraceCheckUtils]: 59: Hoare triple {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {23019#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 06:44:33,020 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22623#true} {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} #82#return; {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:44:33,020 INFO L290 TraceCheckUtils]: 57: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,020 INFO L290 TraceCheckUtils]: 56: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,020 INFO L290 TraceCheckUtils]: 55: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,020 INFO L272 TraceCheckUtils]: 54: Hoare triple {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,020 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {22623#true} {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} #80#return; {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:44:33,020 INFO L290 TraceCheckUtils]: 52: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,021 INFO L290 TraceCheckUtils]: 51: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,021 INFO L290 TraceCheckUtils]: 50: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,021 INFO L272 TraceCheckUtils]: 49: Hoare triple {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,021 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {22623#true} {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} #78#return; {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:44:33,021 INFO L290 TraceCheckUtils]: 47: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,021 INFO L290 TraceCheckUtils]: 46: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,021 INFO L290 TraceCheckUtils]: 45: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,021 INFO L272 TraceCheckUtils]: 44: Hoare triple {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,023 INFO L290 TraceCheckUtils]: 43: Hoare triple {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} assume !!(#t~post5 < 100);havoc #t~post5; {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:44:33,024 INFO L290 TraceCheckUtils]: 42: Hoare triple {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:44:33,056 INFO L290 TraceCheckUtils]: 41: Hoare triple {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23056#(or (not (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (and (or (and (or (not (< (* main_~B~0 (div main_~p~0 2)) 0)) (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1)))) (or (= (div (* main_~B~0 (div main_~p~0 2)) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (< (div main_~p~0 2) 0) (and (or (= (+ (div (* main_~B~0 (div main_~p~0 2)) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0) (not (< (* main_~B~0 (div main_~p~0 2)) 0))) (or (= (* main_~B~0 (div (div main_~p~0 2) 2)) (div (* main_~B~0 (div main_~p~0 2)) 2)) (and (< (* main_~B~0 (div main_~p~0 2)) 0) (not (= (mod (* main_~B~0 (div main_~p~0 2)) 2) 0))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:44:33,057 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22623#true} {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} #82#return; {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 06:44:33,057 INFO L290 TraceCheckUtils]: 39: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,057 INFO L290 TraceCheckUtils]: 38: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,057 INFO L290 TraceCheckUtils]: 37: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,057 INFO L272 TraceCheckUtils]: 36: Hoare triple {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,058 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {22623#true} {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} #80#return; {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 06:44:33,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,058 INFO L290 TraceCheckUtils]: 33: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,058 INFO L290 TraceCheckUtils]: 32: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,058 INFO L272 TraceCheckUtils]: 31: Hoare triple {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,058 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {22623#true} {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} #78#return; {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 06:44:33,059 INFO L290 TraceCheckUtils]: 29: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,059 INFO L290 TraceCheckUtils]: 28: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,059 INFO L290 TraceCheckUtils]: 27: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,059 INFO L272 TraceCheckUtils]: 26: Hoare triple {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,060 INFO L290 TraceCheckUtils]: 25: Hoare triple {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} assume !!(#t~post5 < 100);havoc #t~post5; {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 06:44:33,061 INFO L290 TraceCheckUtils]: 24: Hoare triple {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 06:44:33,063 INFO L290 TraceCheckUtils]: 23: Hoare triple {22623#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23111#(or (not (= (* (* main_~B~0 main_~p~0) 2) (* main_~d~0 2))) (and (or (< main_~p~0 0) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2))) (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (* (div (* main_~p~0 2) 2) main_~B~0) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* (* main_~B~0 main_~p~0) 2) main_~r~0) (< main_~r~0 main_~d~0))} is VALID [2022-04-28 06:44:33,063 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22623#true} {22623#true} #82#return; {22623#true} is VALID [2022-04-28 06:44:33,063 INFO L290 TraceCheckUtils]: 21: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 19: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L272 TraceCheckUtils]: 18: Hoare triple {22623#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {22623#true} {22623#true} #80#return; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 16: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 15: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L272 TraceCheckUtils]: 13: Hoare triple {22623#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {22623#true} {22623#true} #78#return; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 11: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 10: Hoare triple {22623#true} assume !(0 == ~cond); {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 9: Hoare triple {22623#true} ~cond := #in~cond; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L272 TraceCheckUtils]: 8: Hoare triple {22623#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 7: Hoare triple {22623#true} assume !!(#t~post5 < 100);havoc #t~post5; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 6: Hoare triple {22623#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {22623#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {22623#true} call #t~ret7 := main(); {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22623#true} {22623#true} #92#return; {22623#true} is VALID [2022-04-28 06:44:33,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {22623#true} assume true; {22623#true} is VALID [2022-04-28 06:44:33,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {22623#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22623#true} is VALID [2022-04-28 06:44:33,065 INFO L272 TraceCheckUtils]: 0: Hoare triple {22623#true} call ULTIMATE.init(); {22623#true} is VALID [2022-04-28 06:44:33,065 INFO L134 CoverageAnalysis]: Checked inductivity of 424 backedges. 101 proven. 31 refuted. 0 times theorem prover too weak. 292 trivial. 0 not checked. [2022-04-28 06:44:33,065 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:44:33,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1133178161] [2022-04-28 06:44:33,065 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:44:33,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1547821155] [2022-04-28 06:44:33,066 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1547821155] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:44:33,066 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:44:33,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 21 [2022-04-28 06:44:33,066 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:44:33,066 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1058033882] [2022-04-28 06:44:33,066 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1058033882] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:44:33,066 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:44:33,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 06:44:33,066 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [954974287] [2022-04-28 06:44:33,066 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:44:33,066 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 8 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-28 06:44:33,067 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:44:33,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 8 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 06:44:36,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:44:36,384 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 06:44:36,384 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:44:36,384 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 06:44:36,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=325, Unknown=6, NotChecked=0, Total=420 [2022-04-28 06:44:36,385 INFO L87 Difference]: Start difference. First operand 238 states and 277 transitions. Second operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 8 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 06:44:43,855 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.48s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:44:45,153 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.28s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:44:48,293 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:44:50,271 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.97s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:44:51,321 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:44:55,945 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:09,964 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:12,015 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:14,090 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:16,119 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:17,935 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.57s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:20,563 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:22,584 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:25,651 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:37,542 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:39,544 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:43,853 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:48,117 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.93s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:51,720 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:55,454 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:45:57,464 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:46:02,126 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:46:28,213 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:46:30,215 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:46:36,411 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:46:38,945 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:46:39,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:46:39,609 INFO L93 Difference]: Finished difference Result 257 states and 304 transitions. [2022-04-28 06:46:39,609 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 06:46:39,609 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 8 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-28 06:46:39,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:46:39,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 8 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 06:46:39,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 103 transitions. [2022-04-28 06:46:39,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 8 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 06:46:39,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 103 transitions. [2022-04-28 06:46:39,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 103 transitions. [2022-04-28 06:46:59,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 97 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-28 06:46:59,764 INFO L225 Difference]: With dead ends: 257 [2022-04-28 06:46:59,764 INFO L226 Difference]: Without dead ends: 255 [2022-04-28 06:46:59,764 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 177 SyntacticMatches, 6 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 147 ImplicationChecksByTransitivity, 64.4s TimeCoverageRelationStatistics Valid=126, Invalid=464, Unknown=10, NotChecked=0, Total=600 [2022-04-28 06:46:59,765 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 32 mSDsluCounter, 240 mSDsCounter, 0 mSdLazyCounter, 275 mSolverCounterSat, 15 mSolverCounterUnsat, 15 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 53.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 286 SdHoareTripleChecker+Invalid, 430 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 275 IncrementalHoareTripleChecker+Invalid, 15 IncrementalHoareTripleChecker+Unknown, 125 IncrementalHoareTripleChecker+Unchecked, 53.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:46:59,765 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 286 Invalid, 430 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 275 Invalid, 15 Unknown, 125 Unchecked, 53.0s Time] [2022-04-28 06:46:59,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-28 06:47:00,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 250. [2022-04-28 06:47:00,101 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:47:00,101 INFO L82 GeneralOperation]: Start isEquivalent. First operand 255 states. Second operand has 250 states, 166 states have (on average 1.1566265060240963) internal successors, (192), 171 states have internal predecessors, (192), 52 states have call successors, (52), 32 states have call predecessors, (52), 31 states have return successors, (50), 46 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-28 06:47:00,102 INFO L74 IsIncluded]: Start isIncluded. First operand 255 states. Second operand has 250 states, 166 states have (on average 1.1566265060240963) internal successors, (192), 171 states have internal predecessors, (192), 52 states have call successors, (52), 32 states have call predecessors, (52), 31 states have return successors, (50), 46 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-28 06:47:00,102 INFO L87 Difference]: Start difference. First operand 255 states. Second operand has 250 states, 166 states have (on average 1.1566265060240963) internal successors, (192), 171 states have internal predecessors, (192), 52 states have call successors, (52), 32 states have call predecessors, (52), 31 states have return successors, (50), 46 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-28 06:47:00,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:47:00,107 INFO L93 Difference]: Finished difference Result 255 states and 302 transitions. [2022-04-28 06:47:00,107 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 302 transitions. [2022-04-28 06:47:00,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:47:00,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:47:00,108 INFO L74 IsIncluded]: Start isIncluded. First operand has 250 states, 166 states have (on average 1.1566265060240963) internal successors, (192), 171 states have internal predecessors, (192), 52 states have call successors, (52), 32 states have call predecessors, (52), 31 states have return successors, (50), 46 states have call predecessors, (50), 50 states have call successors, (50) Second operand 255 states. [2022-04-28 06:47:00,109 INFO L87 Difference]: Start difference. First operand has 250 states, 166 states have (on average 1.1566265060240963) internal successors, (192), 171 states have internal predecessors, (192), 52 states have call successors, (52), 32 states have call predecessors, (52), 31 states have return successors, (50), 46 states have call predecessors, (50), 50 states have call successors, (50) Second operand 255 states. [2022-04-28 06:47:00,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:47:00,114 INFO L93 Difference]: Finished difference Result 255 states and 302 transitions. [2022-04-28 06:47:00,114 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 302 transitions. [2022-04-28 06:47:00,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:47:00,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:47:00,115 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:47:00,115 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:47:00,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 250 states, 166 states have (on average 1.1566265060240963) internal successors, (192), 171 states have internal predecessors, (192), 52 states have call successors, (52), 32 states have call predecessors, (52), 31 states have return successors, (50), 46 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-28 06:47:00,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 250 states to 250 states and 294 transitions. [2022-04-28 06:47:00,121 INFO L78 Accepts]: Start accepts. Automaton has 250 states and 294 transitions. Word has length 99 [2022-04-28 06:47:00,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:47:00,121 INFO L495 AbstractCegarLoop]: Abstraction has 250 states and 294 transitions. [2022-04-28 06:47:00,121 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 11 states have internal predecessors, (31), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 8 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 06:47:00,121 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 250 states and 294 transitions. [2022-04-28 06:47:00,887 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:47:00,887 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-28 06:47:00,888 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 06:47:00,888 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:47:00,888 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:47:00,911 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 06:47:01,111 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:47:01,112 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:47:01,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:47:01,112 INFO L85 PathProgramCache]: Analyzing trace with hash 1358295611, now seen corresponding path program 5 times [2022-04-28 06:47:01,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:47:01,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1935458279] [2022-04-28 06:47:03,749 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:47:03,749 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:47:03,749 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:47:03,749 INFO L85 PathProgramCache]: Analyzing trace with hash 1358295611, now seen corresponding path program 6 times [2022-04-28 06:47:03,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:47:03,749 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [971294446] [2022-04-28 06:47:03,750 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:47:03,750 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:47:03,761 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:47:03,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [767283450] [2022-04-28 06:47:03,761 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:47:03,761 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:47:03,761 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:47:03,763 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:47:03,772 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 06:47:03,826 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 06:47:03,826 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:47:03,827 INFO L263 TraceCheckSpWp]: Trace formula consists of 217 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 06:47:03,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:47:03,852 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:47:04,260 INFO L272 TraceCheckUtils]: 0: Hoare triple {24774#true} call ULTIMATE.init(); {24774#true} is VALID [2022-04-28 06:47:04,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {24774#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {24774#true} is VALID [2022-04-28 06:47:04,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24774#true} {24774#true} #92#return; {24774#true} is VALID [2022-04-28 06:47:04,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {24774#true} call #t~ret7 := main(); {24774#true} is VALID [2022-04-28 06:47:04,260 INFO L290 TraceCheckUtils]: 5: Hoare triple {24774#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,261 INFO L290 TraceCheckUtils]: 6: Hoare triple {24794#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,261 INFO L290 TraceCheckUtils]: 7: Hoare triple {24794#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,261 INFO L272 TraceCheckUtils]: 8: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,261 INFO L290 TraceCheckUtils]: 9: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,261 INFO L290 TraceCheckUtils]: 10: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,261 INFO L290 TraceCheckUtils]: 11: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,262 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #78#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,262 INFO L272 TraceCheckUtils]: 13: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,262 INFO L290 TraceCheckUtils]: 14: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,262 INFO L290 TraceCheckUtils]: 15: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,262 INFO L290 TraceCheckUtils]: 16: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,262 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #80#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,262 INFO L272 TraceCheckUtils]: 18: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,262 INFO L290 TraceCheckUtils]: 21: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,263 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #82#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,263 INFO L290 TraceCheckUtils]: 23: Hoare triple {24794#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,263 INFO L290 TraceCheckUtils]: 24: Hoare triple {24794#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,264 INFO L290 TraceCheckUtils]: 25: Hoare triple {24794#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,264 INFO L272 TraceCheckUtils]: 26: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,264 INFO L290 TraceCheckUtils]: 27: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,264 INFO L290 TraceCheckUtils]: 28: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,264 INFO L290 TraceCheckUtils]: 29: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,264 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #78#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,264 INFO L272 TraceCheckUtils]: 31: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,264 INFO L290 TraceCheckUtils]: 32: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,264 INFO L290 TraceCheckUtils]: 33: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,264 INFO L290 TraceCheckUtils]: 34: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,265 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #80#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,265 INFO L272 TraceCheckUtils]: 36: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,265 INFO L290 TraceCheckUtils]: 37: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,265 INFO L290 TraceCheckUtils]: 38: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,265 INFO L290 TraceCheckUtils]: 39: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,265 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #82#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,266 INFO L290 TraceCheckUtils]: 41: Hoare triple {24794#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,266 INFO L290 TraceCheckUtils]: 42: Hoare triple {24794#(= main_~B~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,266 INFO L290 TraceCheckUtils]: 43: Hoare triple {24794#(= main_~B~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,266 INFO L272 TraceCheckUtils]: 44: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,266 INFO L290 TraceCheckUtils]: 45: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,266 INFO L290 TraceCheckUtils]: 46: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,266 INFO L290 TraceCheckUtils]: 47: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,267 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #78#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,267 INFO L272 TraceCheckUtils]: 49: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,267 INFO L290 TraceCheckUtils]: 50: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,267 INFO L290 TraceCheckUtils]: 51: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,267 INFO L290 TraceCheckUtils]: 52: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,267 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #80#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,267 INFO L272 TraceCheckUtils]: 54: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,267 INFO L290 TraceCheckUtils]: 55: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,267 INFO L290 TraceCheckUtils]: 56: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,268 INFO L290 TraceCheckUtils]: 57: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,268 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #82#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,268 INFO L290 TraceCheckUtils]: 59: Hoare triple {24794#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,268 INFO L290 TraceCheckUtils]: 60: Hoare triple {24794#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,269 INFO L290 TraceCheckUtils]: 61: Hoare triple {24794#(= main_~B~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,269 INFO L272 TraceCheckUtils]: 62: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,269 INFO L290 TraceCheckUtils]: 63: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,269 INFO L290 TraceCheckUtils]: 64: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,269 INFO L290 TraceCheckUtils]: 65: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,269 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #84#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,269 INFO L272 TraceCheckUtils]: 67: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,269 INFO L290 TraceCheckUtils]: 68: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,270 INFO L290 TraceCheckUtils]: 69: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,270 INFO L290 TraceCheckUtils]: 70: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,270 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #86#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,270 INFO L290 TraceCheckUtils]: 72: Hoare triple {24794#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,270 INFO L290 TraceCheckUtils]: 73: Hoare triple {24794#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,271 INFO L290 TraceCheckUtils]: 74: Hoare triple {24794#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,271 INFO L290 TraceCheckUtils]: 75: Hoare triple {24794#(= main_~B~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,271 INFO L272 TraceCheckUtils]: 76: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,271 INFO L290 TraceCheckUtils]: 77: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,271 INFO L290 TraceCheckUtils]: 78: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,271 INFO L290 TraceCheckUtils]: 79: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,272 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #84#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,272 INFO L272 TraceCheckUtils]: 81: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,272 INFO L290 TraceCheckUtils]: 82: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:04,272 INFO L290 TraceCheckUtils]: 83: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:04,272 INFO L290 TraceCheckUtils]: 84: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:04,272 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {24774#true} {24794#(= main_~B~0 1)} #86#return; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,273 INFO L290 TraceCheckUtils]: 86: Hoare triple {24794#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,273 INFO L290 TraceCheckUtils]: 87: Hoare triple {24794#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,273 INFO L290 TraceCheckUtils]: 88: Hoare triple {24794#(= main_~B~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,273 INFO L290 TraceCheckUtils]: 89: Hoare triple {24794#(= main_~B~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {24794#(= main_~B~0 1)} is VALID [2022-04-28 06:47:04,273 INFO L272 TraceCheckUtils]: 90: Hoare triple {24794#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,274 INFO L290 TraceCheckUtils]: 91: Hoare triple {24774#true} ~cond := #in~cond; {25053#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:47:04,274 INFO L290 TraceCheckUtils]: 92: Hoare triple {25053#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:47:04,274 INFO L290 TraceCheckUtils]: 93: Hoare triple {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:47:04,275 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} {24794#(= main_~B~0 1)} #84#return; {25064#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-28 06:47:04,275 INFO L272 TraceCheckUtils]: 95: Hoare triple {25064#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:04,275 INFO L290 TraceCheckUtils]: 96: Hoare triple {24774#true} ~cond := #in~cond; {25053#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:47:04,275 INFO L290 TraceCheckUtils]: 97: Hoare triple {25053#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:47:04,276 INFO L290 TraceCheckUtils]: 98: Hoare triple {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:47:04,277 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} {25064#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} #86#return; {25080#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 main_~p~0))} is VALID [2022-04-28 06:47:04,277 INFO L290 TraceCheckUtils]: 100: Hoare triple {25080#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 main_~p~0))} assume !(1 != ~p~0); {25084#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1))} is VALID [2022-04-28 06:47:04,278 INFO L272 TraceCheckUtils]: 101: Hoare triple {25084#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {25088#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:47:04,278 INFO L290 TraceCheckUtils]: 102: Hoare triple {25088#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25092#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:47:04,278 INFO L290 TraceCheckUtils]: 103: Hoare triple {25092#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24775#false} is VALID [2022-04-28 06:47:04,279 INFO L290 TraceCheckUtils]: 104: Hoare triple {24775#false} assume !false; {24775#false} is VALID [2022-04-28 06:47:04,279 INFO L134 CoverageAnalysis]: Checked inductivity of 484 backedges. 108 proven. 4 refuted. 0 times theorem prover too weak. 372 trivial. 0 not checked. [2022-04-28 06:47:04,279 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:47:40,909 INFO L290 TraceCheckUtils]: 104: Hoare triple {24775#false} assume !false; {24775#false} is VALID [2022-04-28 06:47:40,910 INFO L290 TraceCheckUtils]: 103: Hoare triple {25092#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24775#false} is VALID [2022-04-28 06:47:40,910 INFO L290 TraceCheckUtils]: 102: Hoare triple {25088#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25092#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:47:40,911 INFO L272 TraceCheckUtils]: 101: Hoare triple {25108#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {25088#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:47:40,912 INFO L290 TraceCheckUtils]: 100: Hoare triple {25112#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {25108#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:47:40,914 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} {25116#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #86#return; {25112#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:47:40,914 INFO L290 TraceCheckUtils]: 98: Hoare triple {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:47:40,915 INFO L290 TraceCheckUtils]: 97: Hoare triple {25126#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:47:40,915 INFO L290 TraceCheckUtils]: 96: Hoare triple {24774#true} ~cond := #in~cond; {25126#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:47:40,915 INFO L272 TraceCheckUtils]: 95: Hoare triple {25116#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,916 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} {24774#true} #84#return; {25116#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:47:40,916 INFO L290 TraceCheckUtils]: 93: Hoare triple {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:47:40,916 INFO L290 TraceCheckUtils]: 92: Hoare triple {25126#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25057#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:47:40,916 INFO L290 TraceCheckUtils]: 91: Hoare triple {24774#true} ~cond := #in~cond; {25126#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:47:40,917 INFO L272 TraceCheckUtils]: 90: Hoare triple {24774#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 89: Hoare triple {24774#true} assume !!(#t~post6 < 100);havoc #t~post6; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 88: Hoare triple {24774#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 87: Hoare triple {24774#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 86: Hoare triple {24774#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {24774#true} {24774#true} #86#return; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 84: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 83: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 82: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L272 TraceCheckUtils]: 81: Hoare triple {24774#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {24774#true} {24774#true} #84#return; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 79: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 78: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 77: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L272 TraceCheckUtils]: 76: Hoare triple {24774#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 75: Hoare triple {24774#true} assume !!(#t~post6 < 100);havoc #t~post6; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 74: Hoare triple {24774#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24774#true} is VALID [2022-04-28 06:47:40,917 INFO L290 TraceCheckUtils]: 73: Hoare triple {24774#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 72: Hoare triple {24774#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {24774#true} {24774#true} #86#return; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 70: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 69: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 68: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L272 TraceCheckUtils]: 67: Hoare triple {24774#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {24774#true} {24774#true} #84#return; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 65: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 64: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 63: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L272 TraceCheckUtils]: 62: Hoare triple {24774#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 61: Hoare triple {24774#true} assume !!(#t~post6 < 100);havoc #t~post6; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 60: Hoare triple {24774#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 59: Hoare triple {24774#true} assume !(~r~0 >= ~d~0); {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24774#true} {24774#true} #82#return; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 57: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 56: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L290 TraceCheckUtils]: 55: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L272 TraceCheckUtils]: 54: Hoare triple {24774#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,918 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {24774#true} {24774#true} #80#return; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 52: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 51: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 50: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L272 TraceCheckUtils]: 49: Hoare triple {24774#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {24774#true} {24774#true} #78#return; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 47: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 46: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 45: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L272 TraceCheckUtils]: 44: Hoare triple {24774#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 43: Hoare triple {24774#true} assume !!(#t~post5 < 100);havoc #t~post5; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 42: Hoare triple {24774#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 41: Hoare triple {24774#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24774#true} {24774#true} #82#return; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 38: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 37: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L272 TraceCheckUtils]: 36: Hoare triple {24774#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {24774#true} {24774#true} #80#return; {24774#true} is VALID [2022-04-28 06:47:40,919 INFO L290 TraceCheckUtils]: 34: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 33: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 32: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L272 TraceCheckUtils]: 31: Hoare triple {24774#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {24774#true} {24774#true} #78#return; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 28: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 27: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L272 TraceCheckUtils]: 26: Hoare triple {24774#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 25: Hoare triple {24774#true} assume !!(#t~post5 < 100);havoc #t~post5; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 24: Hoare triple {24774#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {24774#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24774#true} {24774#true} #82#return; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 21: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 20: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 19: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L272 TraceCheckUtils]: 18: Hoare triple {24774#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {24774#true} {24774#true} #80#return; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 16: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L272 TraceCheckUtils]: 13: Hoare triple {24774#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {24774#true} {24774#true} #78#return; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L290 TraceCheckUtils]: 11: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L290 TraceCheckUtils]: 10: Hoare triple {24774#true} assume !(0 == ~cond); {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {24774#true} ~cond := #in~cond; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L272 TraceCheckUtils]: 8: Hoare triple {24774#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {24774#true} assume !!(#t~post5 < 100);havoc #t~post5; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {24774#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {24774#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {24774#true} call #t~ret7 := main(); {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24774#true} {24774#true} #92#return; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {24774#true} assume true; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {24774#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L272 TraceCheckUtils]: 0: Hoare triple {24774#true} call ULTIMATE.init(); {24774#true} is VALID [2022-04-28 06:47:40,921 INFO L134 CoverageAnalysis]: Checked inductivity of 484 backedges. 110 proven. 2 refuted. 0 times theorem prover too weak. 372 trivial. 0 not checked. [2022-04-28 06:47:40,922 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:47:40,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [971294446] [2022-04-28 06:47:40,922 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:47:40,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [767283450] [2022-04-28 06:47:40,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [767283450] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:47:40,922 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:47:40,922 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 06:47:40,922 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:47:40,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1935458279] [2022-04-28 06:47:40,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1935458279] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:47:40,922 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:47:40,922 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 06:47:40,922 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [747910029] [2022-04-28 06:47:40,922 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:47:40,923 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 105 [2022-04-28 06:47:40,923 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:47:40,923 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 06:47:40,954 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:47:40,954 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 06:47:40,954 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:47:40,955 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 06:47:40,955 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:47:40,955 INFO L87 Difference]: Start difference. First operand 250 states and 294 transitions. Second operand has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 06:47:42,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:47:42,256 INFO L93 Difference]: Finished difference Result 267 states and 310 transitions. [2022-04-28 06:47:42,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:47:42,256 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 105 [2022-04-28 06:47:42,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:47:42,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 06:47:42,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-04-28 06:47:42,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 06:47:42,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-04-28 06:47:42,258 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 53 transitions. [2022-04-28 06:47:42,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:47:42,321 INFO L225 Difference]: With dead ends: 267 [2022-04-28 06:47:42,321 INFO L226 Difference]: Without dead ends: 262 [2022-04-28 06:47:42,321 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 213 GetRequests, 196 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=65, Invalid=241, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:47:42,321 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 33 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 169 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 208 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 169 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 06:47:42,322 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 118 Invalid, 208 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 169 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 06:47:42,322 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 262 states. [2022-04-28 06:47:42,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 262 to 245. [2022-04-28 06:47:42,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:47:42,645 INFO L82 GeneralOperation]: Start isEquivalent. First operand 262 states. Second operand has 245 states, 164 states have (on average 1.1158536585365855) internal successors, (183), 169 states have internal predecessors, (183), 47 states have call successors, (47), 34 states have call predecessors, (47), 33 states have return successors, (45), 41 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-28 06:47:42,645 INFO L74 IsIncluded]: Start isIncluded. First operand 262 states. Second operand has 245 states, 164 states have (on average 1.1158536585365855) internal successors, (183), 169 states have internal predecessors, (183), 47 states have call successors, (47), 34 states have call predecessors, (47), 33 states have return successors, (45), 41 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-28 06:47:42,646 INFO L87 Difference]: Start difference. First operand 262 states. Second operand has 245 states, 164 states have (on average 1.1158536585365855) internal successors, (183), 169 states have internal predecessors, (183), 47 states have call successors, (47), 34 states have call predecessors, (47), 33 states have return successors, (45), 41 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-28 06:47:42,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:47:42,651 INFO L93 Difference]: Finished difference Result 262 states and 299 transitions. [2022-04-28 06:47:42,651 INFO L276 IsEmpty]: Start isEmpty. Operand 262 states and 299 transitions. [2022-04-28 06:47:42,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:47:42,651 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:47:42,652 INFO L74 IsIncluded]: Start isIncluded. First operand has 245 states, 164 states have (on average 1.1158536585365855) internal successors, (183), 169 states have internal predecessors, (183), 47 states have call successors, (47), 34 states have call predecessors, (47), 33 states have return successors, (45), 41 states have call predecessors, (45), 45 states have call successors, (45) Second operand 262 states. [2022-04-28 06:47:42,652 INFO L87 Difference]: Start difference. First operand has 245 states, 164 states have (on average 1.1158536585365855) internal successors, (183), 169 states have internal predecessors, (183), 47 states have call successors, (47), 34 states have call predecessors, (47), 33 states have return successors, (45), 41 states have call predecessors, (45), 45 states have call successors, (45) Second operand 262 states. [2022-04-28 06:47:42,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:47:42,657 INFO L93 Difference]: Finished difference Result 262 states and 299 transitions. [2022-04-28 06:47:42,657 INFO L276 IsEmpty]: Start isEmpty. Operand 262 states and 299 transitions. [2022-04-28 06:47:42,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:47:42,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:47:42,658 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:47:42,658 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:47:42,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 245 states, 164 states have (on average 1.1158536585365855) internal successors, (183), 169 states have internal predecessors, (183), 47 states have call successors, (47), 34 states have call predecessors, (47), 33 states have return successors, (45), 41 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-28 06:47:42,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 275 transitions. [2022-04-28 06:47:42,663 INFO L78 Accepts]: Start accepts. Automaton has 245 states and 275 transitions. Word has length 105 [2022-04-28 06:47:42,664 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:47:42,664 INFO L495 AbstractCegarLoop]: Abstraction has 245 states and 275 transitions. [2022-04-28 06:47:42,664 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 06:47:42,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 245 states and 275 transitions. [2022-04-28 06:47:43,175 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 275 edges. 275 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:47:43,175 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 275 transitions. [2022-04-28 06:47:43,176 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-28 06:47:43,176 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:47:43,176 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:47:43,199 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 06:47:43,391 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2022-04-28 06:47:43,392 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:47:43,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:47:43,392 INFO L85 PathProgramCache]: Analyzing trace with hash 1894816690, now seen corresponding path program 7 times [2022-04-28 06:47:43,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:47:43,392 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1529100620] [2022-04-28 06:47:47,479 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:47:47,479 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:47:47,479 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:47:47,479 INFO L85 PathProgramCache]: Analyzing trace with hash 1894816690, now seen corresponding path program 8 times [2022-04-28 06:47:47,479 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:47:47,479 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1778903063] [2022-04-28 06:47:47,479 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:47:47,479 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:47:47,496 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:47:47,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [459596013] [2022-04-28 06:47:47,497 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:47:47,497 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:47:47,497 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:47:47,498 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:47:47,499 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 06:47:47,567 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:47:47,567 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:47:47,568 INFO L263 TraceCheckSpWp]: Trace formula consists of 281 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 06:47:47,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:47:47,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:47:48,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {26973#true} call ULTIMATE.init(); {26973#true} is VALID [2022-04-28 06:47:48,234 INFO L290 TraceCheckUtils]: 1: Hoare triple {26973#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {26981#(<= ~counter~0 0)} is VALID [2022-04-28 06:47:48,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {26981#(<= ~counter~0 0)} assume true; {26981#(<= ~counter~0 0)} is VALID [2022-04-28 06:47:48,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26981#(<= ~counter~0 0)} {26973#true} #92#return; {26981#(<= ~counter~0 0)} is VALID [2022-04-28 06:47:48,235 INFO L272 TraceCheckUtils]: 4: Hoare triple {26981#(<= ~counter~0 0)} call #t~ret7 := main(); {26981#(<= ~counter~0 0)} is VALID [2022-04-28 06:47:48,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {26981#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {26981#(<= ~counter~0 0)} is VALID [2022-04-28 06:47:48,236 INFO L290 TraceCheckUtils]: 6: Hoare triple {26981#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {26997#(<= ~counter~0 1)} assume !!(#t~post5 < 100);havoc #t~post5; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,236 INFO L272 TraceCheckUtils]: 8: Hoare triple {26997#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {26997#(<= ~counter~0 1)} ~cond := #in~cond; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,237 INFO L290 TraceCheckUtils]: 10: Hoare triple {26997#(<= ~counter~0 1)} assume !(0 == ~cond); {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {26997#(<= ~counter~0 1)} assume true; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,238 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {26997#(<= ~counter~0 1)} {26997#(<= ~counter~0 1)} #78#return; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,238 INFO L272 TraceCheckUtils]: 13: Hoare triple {26997#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {26997#(<= ~counter~0 1)} ~cond := #in~cond; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,238 INFO L290 TraceCheckUtils]: 15: Hoare triple {26997#(<= ~counter~0 1)} assume !(0 == ~cond); {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,239 INFO L290 TraceCheckUtils]: 16: Hoare triple {26997#(<= ~counter~0 1)} assume true; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,239 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {26997#(<= ~counter~0 1)} {26997#(<= ~counter~0 1)} #80#return; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,240 INFO L272 TraceCheckUtils]: 18: Hoare triple {26997#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,240 INFO L290 TraceCheckUtils]: 19: Hoare triple {26997#(<= ~counter~0 1)} ~cond := #in~cond; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {26997#(<= ~counter~0 1)} assume !(0 == ~cond); {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,240 INFO L290 TraceCheckUtils]: 21: Hoare triple {26997#(<= ~counter~0 1)} assume true; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,241 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26997#(<= ~counter~0 1)} {26997#(<= ~counter~0 1)} #82#return; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,241 INFO L290 TraceCheckUtils]: 23: Hoare triple {26997#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {26997#(<= ~counter~0 1)} is VALID [2022-04-28 06:47:48,242 INFO L290 TraceCheckUtils]: 24: Hoare triple {26997#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,242 INFO L290 TraceCheckUtils]: 25: Hoare triple {27052#(<= ~counter~0 2)} assume !!(#t~post5 < 100);havoc #t~post5; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,242 INFO L272 TraceCheckUtils]: 26: Hoare triple {27052#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,242 INFO L290 TraceCheckUtils]: 27: Hoare triple {27052#(<= ~counter~0 2)} ~cond := #in~cond; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,243 INFO L290 TraceCheckUtils]: 28: Hoare triple {27052#(<= ~counter~0 2)} assume !(0 == ~cond); {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,243 INFO L290 TraceCheckUtils]: 29: Hoare triple {27052#(<= ~counter~0 2)} assume true; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,243 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {27052#(<= ~counter~0 2)} {27052#(<= ~counter~0 2)} #78#return; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,244 INFO L272 TraceCheckUtils]: 31: Hoare triple {27052#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,244 INFO L290 TraceCheckUtils]: 32: Hoare triple {27052#(<= ~counter~0 2)} ~cond := #in~cond; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,244 INFO L290 TraceCheckUtils]: 33: Hoare triple {27052#(<= ~counter~0 2)} assume !(0 == ~cond); {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,244 INFO L290 TraceCheckUtils]: 34: Hoare triple {27052#(<= ~counter~0 2)} assume true; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,245 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {27052#(<= ~counter~0 2)} {27052#(<= ~counter~0 2)} #80#return; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,245 INFO L272 TraceCheckUtils]: 36: Hoare triple {27052#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,246 INFO L290 TraceCheckUtils]: 37: Hoare triple {27052#(<= ~counter~0 2)} ~cond := #in~cond; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,246 INFO L290 TraceCheckUtils]: 38: Hoare triple {27052#(<= ~counter~0 2)} assume !(0 == ~cond); {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,246 INFO L290 TraceCheckUtils]: 39: Hoare triple {27052#(<= ~counter~0 2)} assume true; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,246 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {27052#(<= ~counter~0 2)} {27052#(<= ~counter~0 2)} #82#return; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,247 INFO L290 TraceCheckUtils]: 41: Hoare triple {27052#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27052#(<= ~counter~0 2)} is VALID [2022-04-28 06:47:48,247 INFO L290 TraceCheckUtils]: 42: Hoare triple {27052#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,248 INFO L290 TraceCheckUtils]: 43: Hoare triple {27107#(<= ~counter~0 3)} assume !!(#t~post5 < 100);havoc #t~post5; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,248 INFO L272 TraceCheckUtils]: 44: Hoare triple {27107#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,248 INFO L290 TraceCheckUtils]: 45: Hoare triple {27107#(<= ~counter~0 3)} ~cond := #in~cond; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,248 INFO L290 TraceCheckUtils]: 46: Hoare triple {27107#(<= ~counter~0 3)} assume !(0 == ~cond); {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,249 INFO L290 TraceCheckUtils]: 47: Hoare triple {27107#(<= ~counter~0 3)} assume true; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,249 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {27107#(<= ~counter~0 3)} {27107#(<= ~counter~0 3)} #78#return; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,249 INFO L272 TraceCheckUtils]: 49: Hoare triple {27107#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,250 INFO L290 TraceCheckUtils]: 50: Hoare triple {27107#(<= ~counter~0 3)} ~cond := #in~cond; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,250 INFO L290 TraceCheckUtils]: 51: Hoare triple {27107#(<= ~counter~0 3)} assume !(0 == ~cond); {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,250 INFO L290 TraceCheckUtils]: 52: Hoare triple {27107#(<= ~counter~0 3)} assume true; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,251 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {27107#(<= ~counter~0 3)} {27107#(<= ~counter~0 3)} #80#return; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,251 INFO L272 TraceCheckUtils]: 54: Hoare triple {27107#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,251 INFO L290 TraceCheckUtils]: 55: Hoare triple {27107#(<= ~counter~0 3)} ~cond := #in~cond; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,252 INFO L290 TraceCheckUtils]: 56: Hoare triple {27107#(<= ~counter~0 3)} assume !(0 == ~cond); {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,252 INFO L290 TraceCheckUtils]: 57: Hoare triple {27107#(<= ~counter~0 3)} assume true; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,252 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {27107#(<= ~counter~0 3)} {27107#(<= ~counter~0 3)} #82#return; {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,253 INFO L290 TraceCheckUtils]: 59: Hoare triple {27107#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {27107#(<= ~counter~0 3)} is VALID [2022-04-28 06:47:48,253 INFO L290 TraceCheckUtils]: 60: Hoare triple {27107#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,253 INFO L290 TraceCheckUtils]: 61: Hoare triple {27162#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,254 INFO L272 TraceCheckUtils]: 62: Hoare triple {27162#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,254 INFO L290 TraceCheckUtils]: 63: Hoare triple {27162#(<= ~counter~0 4)} ~cond := #in~cond; {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,254 INFO L290 TraceCheckUtils]: 64: Hoare triple {27162#(<= ~counter~0 4)} assume !(0 == ~cond); {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,255 INFO L290 TraceCheckUtils]: 65: Hoare triple {27162#(<= ~counter~0 4)} assume true; {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,255 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27162#(<= ~counter~0 4)} {27162#(<= ~counter~0 4)} #84#return; {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,255 INFO L272 TraceCheckUtils]: 67: Hoare triple {27162#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,256 INFO L290 TraceCheckUtils]: 68: Hoare triple {27162#(<= ~counter~0 4)} ~cond := #in~cond; {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,256 INFO L290 TraceCheckUtils]: 69: Hoare triple {27162#(<= ~counter~0 4)} assume !(0 == ~cond); {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,256 INFO L290 TraceCheckUtils]: 70: Hoare triple {27162#(<= ~counter~0 4)} assume true; {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,257 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27162#(<= ~counter~0 4)} {27162#(<= ~counter~0 4)} #86#return; {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,257 INFO L290 TraceCheckUtils]: 72: Hoare triple {27162#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,257 INFO L290 TraceCheckUtils]: 73: Hoare triple {27162#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27162#(<= ~counter~0 4)} is VALID [2022-04-28 06:47:48,262 INFO L290 TraceCheckUtils]: 74: Hoare triple {27162#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,262 INFO L290 TraceCheckUtils]: 75: Hoare triple {27205#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,263 INFO L272 TraceCheckUtils]: 76: Hoare triple {27205#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,263 INFO L290 TraceCheckUtils]: 77: Hoare triple {27205#(<= ~counter~0 5)} ~cond := #in~cond; {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,264 INFO L290 TraceCheckUtils]: 78: Hoare triple {27205#(<= ~counter~0 5)} assume !(0 == ~cond); {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,264 INFO L290 TraceCheckUtils]: 79: Hoare triple {27205#(<= ~counter~0 5)} assume true; {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,265 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27205#(<= ~counter~0 5)} {27205#(<= ~counter~0 5)} #84#return; {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,265 INFO L272 TraceCheckUtils]: 81: Hoare triple {27205#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,266 INFO L290 TraceCheckUtils]: 82: Hoare triple {27205#(<= ~counter~0 5)} ~cond := #in~cond; {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,266 INFO L290 TraceCheckUtils]: 83: Hoare triple {27205#(<= ~counter~0 5)} assume !(0 == ~cond); {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,266 INFO L290 TraceCheckUtils]: 84: Hoare triple {27205#(<= ~counter~0 5)} assume true; {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,267 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27205#(<= ~counter~0 5)} {27205#(<= ~counter~0 5)} #86#return; {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,267 INFO L290 TraceCheckUtils]: 86: Hoare triple {27205#(<= ~counter~0 5)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,268 INFO L290 TraceCheckUtils]: 87: Hoare triple {27205#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27205#(<= ~counter~0 5)} is VALID [2022-04-28 06:47:48,268 INFO L290 TraceCheckUtils]: 88: Hoare triple {27205#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,268 INFO L290 TraceCheckUtils]: 89: Hoare triple {27248#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,269 INFO L272 TraceCheckUtils]: 90: Hoare triple {27248#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,269 INFO L290 TraceCheckUtils]: 91: Hoare triple {27248#(<= ~counter~0 6)} ~cond := #in~cond; {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,269 INFO L290 TraceCheckUtils]: 92: Hoare triple {27248#(<= ~counter~0 6)} assume !(0 == ~cond); {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,270 INFO L290 TraceCheckUtils]: 93: Hoare triple {27248#(<= ~counter~0 6)} assume true; {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,270 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {27248#(<= ~counter~0 6)} {27248#(<= ~counter~0 6)} #84#return; {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,271 INFO L272 TraceCheckUtils]: 95: Hoare triple {27248#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,271 INFO L290 TraceCheckUtils]: 96: Hoare triple {27248#(<= ~counter~0 6)} ~cond := #in~cond; {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,271 INFO L290 TraceCheckUtils]: 97: Hoare triple {27248#(<= ~counter~0 6)} assume !(0 == ~cond); {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,271 INFO L290 TraceCheckUtils]: 98: Hoare triple {27248#(<= ~counter~0 6)} assume true; {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,272 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {27248#(<= ~counter~0 6)} {27248#(<= ~counter~0 6)} #86#return; {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,272 INFO L290 TraceCheckUtils]: 100: Hoare triple {27248#(<= ~counter~0 6)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,272 INFO L290 TraceCheckUtils]: 101: Hoare triple {27248#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27248#(<= ~counter~0 6)} is VALID [2022-04-28 06:47:48,273 INFO L290 TraceCheckUtils]: 102: Hoare triple {27248#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27291#(<= |main_#t~post6| 6)} is VALID [2022-04-28 06:47:48,273 INFO L290 TraceCheckUtils]: 103: Hoare triple {27291#(<= |main_#t~post6| 6)} assume !(#t~post6 < 100);havoc #t~post6; {26974#false} is VALID [2022-04-28 06:47:48,273 INFO L272 TraceCheckUtils]: 104: Hoare triple {26974#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {26974#false} is VALID [2022-04-28 06:47:48,273 INFO L290 TraceCheckUtils]: 105: Hoare triple {26974#false} ~cond := #in~cond; {26974#false} is VALID [2022-04-28 06:47:48,273 INFO L290 TraceCheckUtils]: 106: Hoare triple {26974#false} assume 0 == ~cond; {26974#false} is VALID [2022-04-28 06:47:48,273 INFO L290 TraceCheckUtils]: 107: Hoare triple {26974#false} assume !false; {26974#false} is VALID [2022-04-28 06:47:48,273 INFO L134 CoverageAnalysis]: Checked inductivity of 492 backedges. 30 proven. 414 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 06:47:48,274 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:47:48,891 INFO L290 TraceCheckUtils]: 107: Hoare triple {26974#false} assume !false; {26974#false} is VALID [2022-04-28 06:47:48,892 INFO L290 TraceCheckUtils]: 106: Hoare triple {26974#false} assume 0 == ~cond; {26974#false} is VALID [2022-04-28 06:47:48,892 INFO L290 TraceCheckUtils]: 105: Hoare triple {26974#false} ~cond := #in~cond; {26974#false} is VALID [2022-04-28 06:47:48,892 INFO L272 TraceCheckUtils]: 104: Hoare triple {26974#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {26974#false} is VALID [2022-04-28 06:47:48,892 INFO L290 TraceCheckUtils]: 103: Hoare triple {27319#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {26974#false} is VALID [2022-04-28 06:47:48,892 INFO L290 TraceCheckUtils]: 102: Hoare triple {27323#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27319#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:47:48,893 INFO L290 TraceCheckUtils]: 101: Hoare triple {27323#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27323#(< ~counter~0 100)} is VALID [2022-04-28 06:47:48,893 INFO L290 TraceCheckUtils]: 100: Hoare triple {27323#(< ~counter~0 100)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {27323#(< ~counter~0 100)} is VALID [2022-04-28 06:47:48,893 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {26973#true} {27323#(< ~counter~0 100)} #86#return; {27323#(< ~counter~0 100)} is VALID [2022-04-28 06:47:48,893 INFO L290 TraceCheckUtils]: 98: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,893 INFO L290 TraceCheckUtils]: 97: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,894 INFO L290 TraceCheckUtils]: 96: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,894 INFO L272 TraceCheckUtils]: 95: Hoare triple {27323#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,894 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {26973#true} {27323#(< ~counter~0 100)} #84#return; {27323#(< ~counter~0 100)} is VALID [2022-04-28 06:47:48,894 INFO L290 TraceCheckUtils]: 93: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,894 INFO L290 TraceCheckUtils]: 92: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,894 INFO L290 TraceCheckUtils]: 91: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,894 INFO L272 TraceCheckUtils]: 90: Hoare triple {27323#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,895 INFO L290 TraceCheckUtils]: 89: Hoare triple {27323#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {27323#(< ~counter~0 100)} is VALID [2022-04-28 06:47:48,895 INFO L290 TraceCheckUtils]: 88: Hoare triple {27366#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27323#(< ~counter~0 100)} is VALID [2022-04-28 06:47:48,896 INFO L290 TraceCheckUtils]: 87: Hoare triple {27366#(< ~counter~0 99)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27366#(< ~counter~0 99)} is VALID [2022-04-28 06:47:48,896 INFO L290 TraceCheckUtils]: 86: Hoare triple {27366#(< ~counter~0 99)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {27366#(< ~counter~0 99)} is VALID [2022-04-28 06:47:48,896 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {26973#true} {27366#(< ~counter~0 99)} #86#return; {27366#(< ~counter~0 99)} is VALID [2022-04-28 06:47:48,896 INFO L290 TraceCheckUtils]: 84: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,897 INFO L290 TraceCheckUtils]: 83: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,897 INFO L290 TraceCheckUtils]: 82: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,897 INFO L272 TraceCheckUtils]: 81: Hoare triple {27366#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,897 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {26973#true} {27366#(< ~counter~0 99)} #84#return; {27366#(< ~counter~0 99)} is VALID [2022-04-28 06:47:48,897 INFO L290 TraceCheckUtils]: 79: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,897 INFO L290 TraceCheckUtils]: 78: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,897 INFO L290 TraceCheckUtils]: 77: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,897 INFO L272 TraceCheckUtils]: 76: Hoare triple {27366#(< ~counter~0 99)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,898 INFO L290 TraceCheckUtils]: 75: Hoare triple {27366#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {27366#(< ~counter~0 99)} is VALID [2022-04-28 06:47:48,898 INFO L290 TraceCheckUtils]: 74: Hoare triple {27409#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27366#(< ~counter~0 99)} is VALID [2022-04-28 06:47:48,898 INFO L290 TraceCheckUtils]: 73: Hoare triple {27409#(< ~counter~0 98)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27409#(< ~counter~0 98)} is VALID [2022-04-28 06:47:48,899 INFO L290 TraceCheckUtils]: 72: Hoare triple {27409#(< ~counter~0 98)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {27409#(< ~counter~0 98)} is VALID [2022-04-28 06:47:48,899 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {26973#true} {27409#(< ~counter~0 98)} #86#return; {27409#(< ~counter~0 98)} is VALID [2022-04-28 06:47:48,899 INFO L290 TraceCheckUtils]: 70: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,899 INFO L290 TraceCheckUtils]: 69: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,899 INFO L290 TraceCheckUtils]: 68: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,899 INFO L272 TraceCheckUtils]: 67: Hoare triple {27409#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,900 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {26973#true} {27409#(< ~counter~0 98)} #84#return; {27409#(< ~counter~0 98)} is VALID [2022-04-28 06:47:48,900 INFO L290 TraceCheckUtils]: 65: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,900 INFO L290 TraceCheckUtils]: 64: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,900 INFO L290 TraceCheckUtils]: 63: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,900 INFO L272 TraceCheckUtils]: 62: Hoare triple {27409#(< ~counter~0 98)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,900 INFO L290 TraceCheckUtils]: 61: Hoare triple {27409#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {27409#(< ~counter~0 98)} is VALID [2022-04-28 06:47:48,901 INFO L290 TraceCheckUtils]: 60: Hoare triple {27452#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27409#(< ~counter~0 98)} is VALID [2022-04-28 06:47:48,901 INFO L290 TraceCheckUtils]: 59: Hoare triple {27452#(< ~counter~0 97)} assume !(~r~0 >= ~d~0); {27452#(< ~counter~0 97)} is VALID [2022-04-28 06:47:48,901 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {26973#true} {27452#(< ~counter~0 97)} #82#return; {27452#(< ~counter~0 97)} is VALID [2022-04-28 06:47:48,902 INFO L290 TraceCheckUtils]: 57: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,902 INFO L290 TraceCheckUtils]: 56: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,902 INFO L290 TraceCheckUtils]: 55: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,902 INFO L272 TraceCheckUtils]: 54: Hoare triple {27452#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,902 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {26973#true} {27452#(< ~counter~0 97)} #80#return; {27452#(< ~counter~0 97)} is VALID [2022-04-28 06:47:48,902 INFO L290 TraceCheckUtils]: 52: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,902 INFO L290 TraceCheckUtils]: 51: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,902 INFO L290 TraceCheckUtils]: 50: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,902 INFO L272 TraceCheckUtils]: 49: Hoare triple {27452#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,903 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {26973#true} {27452#(< ~counter~0 97)} #78#return; {27452#(< ~counter~0 97)} is VALID [2022-04-28 06:47:48,903 INFO L290 TraceCheckUtils]: 47: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,903 INFO L290 TraceCheckUtils]: 46: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,903 INFO L290 TraceCheckUtils]: 45: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,903 INFO L272 TraceCheckUtils]: 44: Hoare triple {27452#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,903 INFO L290 TraceCheckUtils]: 43: Hoare triple {27452#(< ~counter~0 97)} assume !!(#t~post5 < 100);havoc #t~post5; {27452#(< ~counter~0 97)} is VALID [2022-04-28 06:47:48,904 INFO L290 TraceCheckUtils]: 42: Hoare triple {27507#(< ~counter~0 96)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27452#(< ~counter~0 97)} is VALID [2022-04-28 06:47:48,904 INFO L290 TraceCheckUtils]: 41: Hoare triple {27507#(< ~counter~0 96)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27507#(< ~counter~0 96)} is VALID [2022-04-28 06:47:48,904 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {26973#true} {27507#(< ~counter~0 96)} #82#return; {27507#(< ~counter~0 96)} is VALID [2022-04-28 06:47:48,904 INFO L290 TraceCheckUtils]: 39: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,904 INFO L290 TraceCheckUtils]: 38: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,905 INFO L290 TraceCheckUtils]: 37: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,905 INFO L272 TraceCheckUtils]: 36: Hoare triple {27507#(< ~counter~0 96)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,905 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {26973#true} {27507#(< ~counter~0 96)} #80#return; {27507#(< ~counter~0 96)} is VALID [2022-04-28 06:47:48,905 INFO L290 TraceCheckUtils]: 34: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,905 INFO L290 TraceCheckUtils]: 33: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,905 INFO L290 TraceCheckUtils]: 32: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,905 INFO L272 TraceCheckUtils]: 31: Hoare triple {27507#(< ~counter~0 96)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,906 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {26973#true} {27507#(< ~counter~0 96)} #78#return; {27507#(< ~counter~0 96)} is VALID [2022-04-28 06:47:48,906 INFO L290 TraceCheckUtils]: 29: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,906 INFO L290 TraceCheckUtils]: 28: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,906 INFO L290 TraceCheckUtils]: 27: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,906 INFO L272 TraceCheckUtils]: 26: Hoare triple {27507#(< ~counter~0 96)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,906 INFO L290 TraceCheckUtils]: 25: Hoare triple {27507#(< ~counter~0 96)} assume !!(#t~post5 < 100);havoc #t~post5; {27507#(< ~counter~0 96)} is VALID [2022-04-28 06:47:48,907 INFO L290 TraceCheckUtils]: 24: Hoare triple {27562#(< ~counter~0 95)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27507#(< ~counter~0 96)} is VALID [2022-04-28 06:47:48,907 INFO L290 TraceCheckUtils]: 23: Hoare triple {27562#(< ~counter~0 95)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27562#(< ~counter~0 95)} is VALID [2022-04-28 06:47:48,907 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26973#true} {27562#(< ~counter~0 95)} #82#return; {27562#(< ~counter~0 95)} is VALID [2022-04-28 06:47:48,907 INFO L290 TraceCheckUtils]: 21: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,907 INFO L290 TraceCheckUtils]: 20: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,907 INFO L290 TraceCheckUtils]: 19: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,907 INFO L272 TraceCheckUtils]: 18: Hoare triple {27562#(< ~counter~0 95)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,908 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {26973#true} {27562#(< ~counter~0 95)} #80#return; {27562#(< ~counter~0 95)} is VALID [2022-04-28 06:47:48,908 INFO L290 TraceCheckUtils]: 16: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,908 INFO L290 TraceCheckUtils]: 15: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,908 INFO L272 TraceCheckUtils]: 13: Hoare triple {27562#(< ~counter~0 95)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,908 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {26973#true} {27562#(< ~counter~0 95)} #78#return; {27562#(< ~counter~0 95)} is VALID [2022-04-28 06:47:48,909 INFO L290 TraceCheckUtils]: 11: Hoare triple {26973#true} assume true; {26973#true} is VALID [2022-04-28 06:47:48,909 INFO L290 TraceCheckUtils]: 10: Hoare triple {26973#true} assume !(0 == ~cond); {26973#true} is VALID [2022-04-28 06:47:48,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {26973#true} ~cond := #in~cond; {26973#true} is VALID [2022-04-28 06:47:48,909 INFO L272 TraceCheckUtils]: 8: Hoare triple {27562#(< ~counter~0 95)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {26973#true} is VALID [2022-04-28 06:47:48,909 INFO L290 TraceCheckUtils]: 7: Hoare triple {27562#(< ~counter~0 95)} assume !!(#t~post5 < 100);havoc #t~post5; {27562#(< ~counter~0 95)} is VALID [2022-04-28 06:47:48,909 INFO L290 TraceCheckUtils]: 6: Hoare triple {27617#(< ~counter~0 94)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {27562#(< ~counter~0 95)} is VALID [2022-04-28 06:47:48,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {27617#(< ~counter~0 94)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {27617#(< ~counter~0 94)} is VALID [2022-04-28 06:47:48,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {27617#(< ~counter~0 94)} call #t~ret7 := main(); {27617#(< ~counter~0 94)} is VALID [2022-04-28 06:47:48,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27617#(< ~counter~0 94)} {26973#true} #92#return; {27617#(< ~counter~0 94)} is VALID [2022-04-28 06:47:48,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {27617#(< ~counter~0 94)} assume true; {27617#(< ~counter~0 94)} is VALID [2022-04-28 06:47:48,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {26973#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27617#(< ~counter~0 94)} is VALID [2022-04-28 06:47:48,911 INFO L272 TraceCheckUtils]: 0: Hoare triple {26973#true} call ULTIMATE.init(); {26973#true} is VALID [2022-04-28 06:47:48,911 INFO L134 CoverageAnalysis]: Checked inductivity of 492 backedges. 30 proven. 42 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-28 06:47:48,912 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:47:48,912 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1778903063] [2022-04-28 06:47:48,912 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:47:48,912 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [459596013] [2022-04-28 06:47:48,912 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [459596013] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:47:48,912 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:47:48,912 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 06:47:48,912 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:47:48,912 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1529100620] [2022-04-28 06:47:48,913 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1529100620] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:47:48,913 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:47:48,913 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 06:47:48,913 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [911105012] [2022-04-28 06:47:48,913 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:47:48,913 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 108 [2022-04-28 06:47:48,913 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:47:48,914 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 06:47:48,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:47:48,981 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 06:47:48,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:47:48,981 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 06:47:48,981 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:47:48,982 INFO L87 Difference]: Start difference. First operand 245 states and 275 transitions. Second operand has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 06:47:50,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:47:50,228 INFO L93 Difference]: Finished difference Result 321 states and 361 transitions. [2022-04-28 06:47:50,228 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 06:47:50,228 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 108 [2022-04-28 06:47:50,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:47:50,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 06:47:50,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 149 transitions. [2022-04-28 06:47:50,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.7) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 06:47:50,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 149 transitions. [2022-04-28 06:47:50,231 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 149 transitions. [2022-04-28 06:47:50,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:47:50,353 INFO L225 Difference]: With dead ends: 321 [2022-04-28 06:47:50,353 INFO L226 Difference]: Without dead ends: 308 [2022-04-28 06:47:50,353 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 199 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=167, Invalid=253, Unknown=0, NotChecked=0, Total=420 [2022-04-28 06:47:50,354 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 49 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 105 mSolverCounterSat, 61 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 223 SdHoareTripleChecker+Invalid, 166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 61 IncrementalHoareTripleChecker+Valid, 105 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:47:50,354 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [49 Valid, 223 Invalid, 166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [61 Valid, 105 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:47:50,354 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 308 states.