/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_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 06:42:49,582 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 06:42:49,584 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 06:42:49,610 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 06:42:49,611 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 06:42:49,611 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 06:42:49,612 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 06:42:49,613 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 06:42:49,614 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 06:42:49,614 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 06:42:49,615 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 06:42:49,616 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 06:42:49,616 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 06:42:49,616 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 06:42:49,617 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 06:42:49,618 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 06:42:49,618 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 06:42:49,619 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 06:42:49,620 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 06:42:49,621 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 06:42:49,622 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 06:42:49,622 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 06:42:49,623 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 06:42:49,624 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 06:42:49,624 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 06:42:49,626 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 06:42:49,626 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 06:42:49,627 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 06:42:49,627 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 06:42:49,627 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 06:42:49,628 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 06:42:49,628 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 06:42:49,628 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 06:42:49,629 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 06:42:49,629 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 06:42:49,630 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 06:42:49,630 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 06:42:49,630 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 06:42:49,631 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 06:42:49,631 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 06:42:49,631 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 06:42:49,632 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 06:42:49,632 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:42:49,638 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 06:42:49,638 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 06:42:49,639 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 06:42:49,639 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 06:42:49,639 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 06:42:49,640 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 06:42:49,640 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 06:42:49,641 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 06:42:49,641 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 06:42:49,641 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:42:49,641 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 06:42:49,641 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 06:42:49,641 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 06:42:49,641 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 06:42:49,641 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 06:42:49,641 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 06:42:49,641 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:42:49,799 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 06:42:49,819 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 06:42:49,821 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 06:42:49,821 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 06:42:49,822 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 06:42:49,823 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound1.c [2022-04-28 06:42:49,873 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1e668975a/0f1e72210c994890b60233c0836ef60e/FLAGa9aa830fe [2022-04-28 06:42:50,233 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 06:42:50,234 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound1.c [2022-04-28 06:42:50,242 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1e668975a/0f1e72210c994890b60233c0836ef60e/FLAGa9aa830fe [2022-04-28 06:42:50,250 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1e668975a/0f1e72210c994890b60233c0836ef60e [2022-04-28 06:42:50,252 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 06:42:50,253 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 06:42:50,254 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 06:42:50,254 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 06:42:50,265 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 06:42:50,266 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,267 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1631e19b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50, skipping insertion in model container [2022-04-28 06:42:50,267 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,272 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 06:42:50,281 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 06:42:50,414 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_valuebound1.c[526,539] [2022-04-28 06:42:50,426 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:42:50,432 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 06:42:50,440 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_valuebound1.c[526,539] [2022-04-28 06:42:50,445 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:42:50,454 INFO L208 MainTranslator]: Completed translation [2022-04-28 06:42:50,455 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50 WrapperNode [2022-04-28 06:42:50,455 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 06:42:50,456 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 06:42:50,456 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 06:42:50,456 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 06:42:50,463 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,463 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,467 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,468 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,472 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,475 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,476 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,477 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 06:42:50,478 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 06:42:50,478 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 06:42:50,478 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 06:42:50,479 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50" (1/1) ... [2022-04-28 06:42:50,492 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:42:50,502 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:42:50,512 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:42:50,513 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:42:50,535 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 06:42:50,536 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 06:42:50,536 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 06:42:50,536 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 06:42:50,536 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 06:42:50,536 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 06:42:50,536 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 06:42:50,536 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 06:42:50,536 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 06:42:50,536 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 06:42:50,536 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 06:42:50,536 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 06:42:50,536 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 06:42:50,537 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 06:42:50,537 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 06:42:50,537 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 06:42:50,537 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 06:42:50,537 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 06:42:50,537 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 06:42:50,537 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 06:42:50,579 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 06:42:50,580 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 06:42:50,773 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 06:42:50,797 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 06:42:50,797 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 06:42:50,810 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:42:50 BoogieIcfgContainer [2022-04-28 06:42:50,810 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 06:42:50,811 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 06:42:50,811 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 06:42:50,816 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 06:42:50,816 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 06:42:50" (1/3) ... [2022-04-28 06:42:50,816 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@515e523c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:42:50, skipping insertion in model container [2022-04-28 06:42:50,817 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:42:50" (2/3) ... [2022-04-28 06:42:50,817 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@515e523c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:42:50, skipping insertion in model container [2022-04-28 06:42:50,817 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:42:50" (3/3) ... [2022-04-28 06:42:50,818 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound1.c [2022-04-28 06:42:50,829 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 06:42:50,829 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 06:42:50,878 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 06:42:50,886 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@7796429d, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@4a5ed312 [2022-04-28 06:42:50,886 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 06:42:50,903 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:42:50,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 06:42:50,908 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:42:50,909 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:42:50,909 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:42:50,914 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:42:50,914 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-28 06:42:50,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:50,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1975292057] [2022-04-28 06:42:50,932 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:42:50,932 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 2 times [2022-04-28 06:42:50,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:42:50,935 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1711451587] [2022-04-28 06:42:50,935 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:42:50,936 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:42:51,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:51,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:42:51,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:51,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(and (= |#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); {38#true} is VALID [2022-04-28 06:42:51,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 06:42:51,121 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-28 06:42:51,122 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:42:51,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:51,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 06:42:51,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 06:42:51,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 06:42:51,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-28 06:42:51,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:42:51,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {47#(and (= |#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); {38#true} is VALID [2022-04-28 06:42:51,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 06:42:51,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-28 06:42:51,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-28 06:42:51,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#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; {38#true} is VALID [2022-04-28 06:42:51,135 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {38#true} is VALID [2022-04-28 06:42:51,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 06:42:51,137 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 06:42:51,137 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 06:42:51,137 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-28 06:42:51,137 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {39#false} is VALID [2022-04-28 06:42:51,137 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-28 06:42:51,138 INFO L272 TraceCheckUtils]: 13: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {39#false} is VALID [2022-04-28 06:42:51,138 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-28 06:42:51,138 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-28 06:42:51,139 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-28 06:42:51,139 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:42:51,139 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:42:51,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1711451587] [2022-04-28 06:42:51,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1711451587] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:51,140 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:51,140 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:42:51,142 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:42:51,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1975292057] [2022-04-28 06:42:51,143 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1975292057] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:51,143 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:51,143 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:42:51,143 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [67743033] [2022-04-28 06:42:51,144 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:42:51,149 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 06:42:51,150 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:42:51,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:51,188 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:42:51,188 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 06:42:51,188 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:51,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 06:42:51,207 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:42:51,210 INFO L87 Difference]: Start difference. First operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:51,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:51,381 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-28 06:42:51,381 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 06:42:51,381 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 06:42:51,382 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:42:51,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:51,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-28 06:42:51,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:51,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-28 06:42:51,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-28 06:42:51,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:42:51,520 INFO L225 Difference]: With dead ends: 61 [2022-04-28 06:42:51,520 INFO L226 Difference]: Without dead ends: 30 [2022-04-28 06:42:51,523 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 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:42:51,526 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:42:51,527 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:42:51,550 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-28 06:42:51,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-28 06:42:51,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:42:51,564 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:51,564 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:51,565 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:51,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:51,568 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-28 06:42:51,568 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-28 06:42:51,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:51,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:51,569 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-28 06:42:51,570 INFO L87 Difference]: Start difference. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-28 06:42:51,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:51,572 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-28 06:42:51,572 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-28 06:42:51,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:51,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:51,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:42:51,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:42:51,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:51,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-28 06:42:51,578 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-28 06:42:51,578 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:42:51,578 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-28 06:42:51,579 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:51,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 38 transitions. [2022-04-28 06:42:51,617 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:42:51,617 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-28 06:42:51,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 06:42:51,618 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:42:51,618 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:42:51,618 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 06:42:51,618 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:42:51,619 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:42:51,619 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-28 06:42:51,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:51,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [332037955] [2022-04-28 06:42:51,620 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:42:51,621 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 2 times [2022-04-28 06:42:51,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:42:51,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [196622227] [2022-04-28 06:42:51,623 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:42:51,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:42:51,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:51,700 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:42:51,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:51,714 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#(and (= |#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); {292#true} is VALID [2022-04-28 06:42:51,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-28 06:42:51,715 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-28 06:42:51,716 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:42:51,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:51,734 INFO L290 TraceCheckUtils]: 0: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-28 06:42:51,735 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-28 06:42:51,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-28 06:42:51,735 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-28 06:42:51,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {292#true} call ULTIMATE.init(); {304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:42:51,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#(and (= |#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); {292#true} is VALID [2022-04-28 06:42:51,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-28 06:42:51,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-28 06:42:51,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {292#true} call #t~ret5 := main(); {292#true} is VALID [2022-04-28 06:42:51,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {292#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; {292#true} is VALID [2022-04-28 06:42:51,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {292#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {292#true} is VALID [2022-04-28 06:42:51,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-28 06:42:51,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-28 06:42:51,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-28 06:42:51,737 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-28 06:42:51,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {292#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {301#(= main_~q~0 0)} is VALID [2022-04-28 06:42:51,739 INFO L290 TraceCheckUtils]: 12: Hoare triple {301#(= main_~q~0 0)} assume !false; {301#(= main_~q~0 0)} is VALID [2022-04-28 06:42:51,740 INFO L272 TraceCheckUtils]: 13: Hoare triple {301#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:42:51,740 INFO L290 TraceCheckUtils]: 14: Hoare triple {302#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {303#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:42:51,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {303#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {293#false} is VALID [2022-04-28 06:42:51,741 INFO L290 TraceCheckUtils]: 16: Hoare triple {293#false} assume !false; {293#false} is VALID [2022-04-28 06:42:51,741 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:42:51,741 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:42:51,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [196622227] [2022-04-28 06:42:51,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [196622227] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:51,742 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:51,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:42:51,742 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:42:51,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [332037955] [2022-04-28 06:42:51,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [332037955] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:51,743 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:51,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:42:51,743 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1623319787] [2022-04-28 06:42:51,743 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:42:51,745 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), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 06:42:51,746 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:42:51,746 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), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:51,757 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:42:51,758 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:42:51,758 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:51,759 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:42:51,759 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:42:51,760 INFO L87 Difference]: Start difference. First operand 30 states and 38 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), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:52,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:52,111 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-28 06:42:52,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 06:42:52,111 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), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 06:42:52,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:42:52,111 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), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:52,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-28 06:42:52,113 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), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:52,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-28 06:42:52,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-28 06:42:52,172 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:42:52,174 INFO L225 Difference]: With dead ends: 43 [2022-04-28 06:42:52,174 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 06:42:52,174 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:42:52,175 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 37 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:42:52,176 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 45 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:42:52,178 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 06:42:52,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-28 06:42:52,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:42:52,188 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:52,188 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:52,189 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:52,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:52,196 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 06:42:52,196 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 06:42:52,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:52,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:52,201 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-28 06:42:52,201 INFO L87 Difference]: Start difference. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-28 06:42:52,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:52,203 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 06:42:52,203 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 06:42:52,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:52,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:52,204 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:42:52,204 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:42:52,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:52,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-28 06:42:52,206 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-28 06:42:52,206 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:42:52,206 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-28 06:42:52,206 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), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:42:52,206 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 41 transitions. [2022-04-28 06:42:52,260 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:42:52,260 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-28 06:42:52,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 06:42:52,262 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:42:52,262 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:42:52,271 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 06:42:52,271 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:42:52,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:42:52,272 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-28 06:42:52,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:52,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [300911751] [2022-04-28 06:42:52,273 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:42:52,273 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 2 times [2022-04-28 06:42:52,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:42:52,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [97665504] [2022-04-28 06:42:52,273 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:42:52,273 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:42:52,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:52,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:42:52,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:52,338 INFO L290 TraceCheckUtils]: 0: Hoare triple {567#(and (= |#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); {551#true} is VALID [2022-04-28 06:42:52,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 06:42:52,338 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-28 06:42:52,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:42:52,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:52,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-28 06:42:52,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-28 06:42:52,342 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 06:42:52,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-28 06:42:52,343 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 06:42:52,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:52,349 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-28 06:42:52,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-28 06:42:52,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 06:42:52,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {560#(= main_~A~0 main_~r~0)} #80#return; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:42:52,351 INFO L272 TraceCheckUtils]: 0: Hoare triple {551#true} call ULTIMATE.init(); {567#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:42:52,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#(and (= |#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); {551#true} is VALID [2022-04-28 06:42:52,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 06:42:52,351 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-28 06:42:52,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} call #t~ret5 := main(); {551#true} is VALID [2022-04-28 06:42:52,352 INFO L290 TraceCheckUtils]: 5: Hoare triple {551#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; {551#true} is VALID [2022-04-28 06:42:52,352 INFO L272 TraceCheckUtils]: 6: Hoare triple {551#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {551#true} is VALID [2022-04-28 06:42:52,352 INFO L290 TraceCheckUtils]: 7: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-28 06:42:52,352 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-28 06:42:52,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 06:42:52,352 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-28 06:42:52,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {551#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:42:52,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {560#(= main_~A~0 main_~r~0)} assume !false; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:42:52,355 INFO L272 TraceCheckUtils]: 13: Hoare triple {560#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {551#true} is VALID [2022-04-28 06:42:52,356 INFO L290 TraceCheckUtils]: 14: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-28 06:42:52,356 INFO L290 TraceCheckUtils]: 15: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-28 06:42:52,356 INFO L290 TraceCheckUtils]: 16: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 06:42:52,357 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {551#true} {560#(= main_~A~0 main_~r~0)} #80#return; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 06:42:52,357 INFO L272 TraceCheckUtils]: 18: Hoare triple {560#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {565#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:42:52,358 INFO L290 TraceCheckUtils]: 19: Hoare triple {565#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {566#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:42:52,358 INFO L290 TraceCheckUtils]: 20: Hoare triple {566#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {552#false} is VALID [2022-04-28 06:42:52,358 INFO L290 TraceCheckUtils]: 21: Hoare triple {552#false} assume !false; {552#false} is VALID [2022-04-28 06:42:52,359 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:42:52,359 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:42:52,359 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [97665504] [2022-04-28 06:42:52,360 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [97665504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:52,360 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:52,360 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:42:52,360 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:42:52,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [300911751] [2022-04-28 06:42:52,360 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [300911751] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:52,360 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:52,360 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:42:52,360 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [167797080] [2022-04-28 06:42:52,360 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:42:52,361 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 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:42:52,361 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:42:52,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 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:42:52,376 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:42:52,376 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:42:52,377 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:52,377 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:42:52,377 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:42:52,378 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 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:42:52,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:52,748 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-28 06:42:52,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 06:42:52,748 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 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:42:52,748 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:42:52,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 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:42:52,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-28 06:42:52,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 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:42:52,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-28 06:42:52,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-28 06:42:52,796 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:42:52,797 INFO L225 Difference]: With dead ends: 47 [2022-04-28 06:42:52,797 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 06:42:52,797 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 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:42:52,798 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 32 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:42:52,798 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:42:52,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 06:42:52,803 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-28 06:42:52,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:42:52,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:52,804 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:52,804 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:52,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:52,811 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 06:42:52,811 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 06:42:52,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:52,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:52,812 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 06:42:52,813 INFO L87 Difference]: Start difference. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 06:42:52,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:52,815 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 06:42:52,816 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 06:42:52,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:52,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:52,816 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:42:52,816 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:42:52,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:42:52,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-28 06:42:52,820 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-28 06:42:52,820 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:42:52,820 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-28 06:42:52,820 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 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:42:52,820 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 44 transitions. [2022-04-28 06:42:52,855 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:42:52,855 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-28 06:42:52,855 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 06:42:52,855 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:42:52,855 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:42:52,856 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 06:42:52,856 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:42:52,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:42:52,856 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-28 06:42:52,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:52,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1410902569] [2022-04-28 06:42:52,857 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:42:52,857 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 2 times [2022-04-28 06:42:52,857 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:42:52,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [955294328] [2022-04-28 06:42:52,857 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:42:52,857 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:42:52,874 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:42:52,875 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [139418427] [2022-04-28 06:42:52,875 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:42:52,875 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:42:52,875 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:42:52,876 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:42:52,878 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:42:52,908 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:42:52,908 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:42:52,910 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 06:42:52,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:52,921 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:42:53,121 INFO L272 TraceCheckUtils]: 0: Hoare triple {838#true} call ULTIMATE.init(); {838#true} is VALID [2022-04-28 06:42:53,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {838#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); {838#true} is VALID [2022-04-28 06:42:53,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-28 06:42:53,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {838#true} {838#true} #94#return; {838#true} is VALID [2022-04-28 06:42:53,122 INFO L272 TraceCheckUtils]: 4: Hoare triple {838#true} call #t~ret5 := main(); {838#true} is VALID [2022-04-28 06:42:53,122 INFO L290 TraceCheckUtils]: 5: Hoare triple {838#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; {838#true} is VALID [2022-04-28 06:42:53,123 INFO L272 TraceCheckUtils]: 6: Hoare triple {838#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {838#true} is VALID [2022-04-28 06:42:53,123 INFO L290 TraceCheckUtils]: 7: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-28 06:42:53,123 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-28 06:42:53,123 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-28 06:42:53,123 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#true} {838#true} #78#return; {838#true} is VALID [2022-04-28 06:42:53,124 INFO L290 TraceCheckUtils]: 11: Hoare triple {838#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:42:53,124 INFO L290 TraceCheckUtils]: 12: Hoare triple {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:42:53,124 INFO L272 TraceCheckUtils]: 13: Hoare triple {876#(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)); {838#true} is VALID [2022-04-28 06:42:53,125 INFO L290 TraceCheckUtils]: 14: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-28 06:42:53,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-28 06:42:53,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-28 06:42:53,126 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {838#true} {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:42:53,126 INFO L272 TraceCheckUtils]: 18: Hoare triple {876#(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)); {838#true} is VALID [2022-04-28 06:42:53,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-28 06:42:53,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-28 06:42:53,126 INFO L290 TraceCheckUtils]: 21: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-28 06:42:53,127 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {838#true} {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:42:53,128 INFO L272 TraceCheckUtils]: 23: Hoare triple {876#(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)); {913#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:42:53,128 INFO L290 TraceCheckUtils]: 24: Hoare triple {913#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {917#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:42:53,129 INFO L290 TraceCheckUtils]: 25: Hoare triple {917#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {839#false} is VALID [2022-04-28 06:42:53,129 INFO L290 TraceCheckUtils]: 26: Hoare triple {839#false} assume !false; {839#false} is VALID [2022-04-28 06:42:53,129 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:42:53,129 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:42:53,129 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:42:53,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [955294328] [2022-04-28 06:42:53,130 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:42:53,130 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [139418427] [2022-04-28 06:42:53,130 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [139418427] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:53,130 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:53,130 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:42:53,130 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:42:53,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1410902569] [2022-04-28 06:42:53,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1410902569] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:53,131 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:53,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:42:53,131 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1943915106] [2022-04-28 06:42:53,131 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:42:53,156 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 27 [2022-04-28 06:42:53,159 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:42:53,159 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:42:53,176 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:42:53,176 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:42:53,176 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:53,177 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:42:53,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:42:53,178 INFO L87 Difference]: Start difference. First operand 38 states and 44 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:42:53,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:53,338 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-28 06:42:53,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:42:53,339 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 27 [2022-04-28 06:42:53,339 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:42:53,339 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:42:53,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 06:42:53,341 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:42:53,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 06:42:53,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-28 06:42:53,387 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:42:53,391 INFO L225 Difference]: With dead ends: 66 [2022-04-28 06:42:53,391 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 06:42:53,392 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 23 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:42:53,396 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 128 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:42:53,397 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 128 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:42:53,399 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 06:42:53,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-28 06:42:53,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:42:53,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:42:53,419 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:42:53,420 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:42:53,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:53,423 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-28 06:42:53,423 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-28 06:42:53,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:53,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:53,425 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-28 06:42:53,426 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-28 06:42:53,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:53,430 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-28 06:42:53,430 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-28 06:42:53,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:53,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:53,430 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:42:53,430 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:42:53,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:42:53,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-28 06:42:53,432 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-28 06:42:53,433 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:42:53,433 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-28 06:42:53,433 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:42:53,433 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 63 transitions. [2022-04-28 06:42:53,477 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:42:53,477 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-28 06:42:53,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 06:42:53,478 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:42:53,478 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, 1, 1, 1, 1] [2022-04-28 06:42:53,502 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:42:53,691 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:42:53,691 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:42:53,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:42:53,692 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-28 06:42:53,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:53,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1762676674] [2022-04-28 06:42:53,692 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:42:53,693 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 2 times [2022-04-28 06:42:53,693 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:42:53,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1378704715] [2022-04-28 06:42:53,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:42:53,693 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:42:53,713 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:42:53,714 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [689608286] [2022-04-28 06:42:53,714 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:42:53,714 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:42:53,714 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:42:53,717 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:42:53,718 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:42:53,767 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:42:53,767 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:42:53,768 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:42:53,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:42:53,780 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:42:55,669 INFO L272 TraceCheckUtils]: 0: Hoare triple {1265#true} call ULTIMATE.init(); {1265#true} is VALID [2022-04-28 06:42:55,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {1265#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); {1265#true} is VALID [2022-04-28 06:42:55,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 06:42:55,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1265#true} {1265#true} #94#return; {1265#true} is VALID [2022-04-28 06:42:55,671 INFO L272 TraceCheckUtils]: 4: Hoare triple {1265#true} call #t~ret5 := main(); {1265#true} is VALID [2022-04-28 06:42:55,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {1265#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; {1265#true} is VALID [2022-04-28 06:42:55,673 INFO L272 TraceCheckUtils]: 6: Hoare triple {1265#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {1265#true} is VALID [2022-04-28 06:42:55,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-28 06:42:55,683 INFO L290 TraceCheckUtils]: 8: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-28 06:42:55,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 06:42:55,683 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1265#true} {1265#true} #78#return; {1265#true} is VALID [2022-04-28 06:42:55,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {1265#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:42:55,688 INFO L290 TraceCheckUtils]: 12: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:42:55,688 INFO L272 TraceCheckUtils]: 13: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1265#true} is VALID [2022-04-28 06:42:55,688 INFO L290 TraceCheckUtils]: 14: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-28 06:42:55,688 INFO L290 TraceCheckUtils]: 15: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-28 06:42:55,689 INFO L290 TraceCheckUtils]: 16: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 06:42:55,689 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1265#true} {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:42:55,689 INFO L272 TraceCheckUtils]: 18: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1265#true} is VALID [2022-04-28 06:42:55,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-28 06:42:55,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-28 06:42:55,689 INFO L290 TraceCheckUtils]: 21: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 06:42:55,690 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1265#true} {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #82#return; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:42:55,690 INFO L272 TraceCheckUtils]: 23: Hoare triple {1303#(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)); {1265#true} is VALID [2022-04-28 06:42:55,690 INFO L290 TraceCheckUtils]: 24: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-28 06:42:55,690 INFO L290 TraceCheckUtils]: 25: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-28 06:42:55,690 INFO L290 TraceCheckUtils]: 26: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 06:42:55,691 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1265#true} {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #84#return; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:42:55,691 INFO L290 TraceCheckUtils]: 28: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:42:55,692 INFO L290 TraceCheckUtils]: 29: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:42:55,692 INFO L272 TraceCheckUtils]: 30: Hoare triple {1303#(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)); {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:42:55,693 INFO L290 TraceCheckUtils]: 31: Hoare triple {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:42:55,693 INFO L290 TraceCheckUtils]: 32: Hoare triple {1365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1266#false} is VALID [2022-04-28 06:42:55,693 INFO L290 TraceCheckUtils]: 33: Hoare triple {1266#false} assume !false; {1266#false} is VALID [2022-04-28 06:42:55,693 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:42:55,693 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:42:55,694 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:42:55,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1378704715] [2022-04-28 06:42:55,694 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:42:55,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [689608286] [2022-04-28 06:42:55,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [689608286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:55,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:55,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:42:55,694 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:42:55,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1762676674] [2022-04-28 06:42:55,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1762676674] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:42:55,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:42:55,695 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:42:55,695 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [337988568] [2022-04-28 06:42:55,695 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:42:55,695 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 06:42:55,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:42:55,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:42:55,714 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:42:55,714 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:42:55,714 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:55,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:42:55,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:42:55,715 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:42:55,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:55,857 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-28 06:42:55,857 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:42:55,857 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 06:42:55,858 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:42:55,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:42:55,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 06:42:55,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:42:55,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 06:42:55,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-28 06:42:55,895 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:42:55,896 INFO L225 Difference]: With dead ends: 65 [2022-04-28 06:42:55,897 INFO L226 Difference]: Without dead ends: 58 [2022-04-28 06:42:55,897 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 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:42:55,897 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:42:55,898 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 103 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:42:55,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-28 06:42:55,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-28 06:42:55,918 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:42:55,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:42:55,919 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:42:55,919 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:42:55,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:55,921 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-28 06:42:55,921 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-28 06:42:55,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:55,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:55,922 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-28 06:42:55,922 INFO L87 Difference]: Start difference. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-28 06:42:55,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:42:55,924 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-28 06:42:55,924 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-28 06:42:55,925 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:42:55,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:42:55,925 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:42:55,925 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:42:55,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:42:55,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-28 06:42:55,927 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-28 06:42:55,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:42:55,927 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-28 06:42:55,927 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:42:55,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 69 transitions. [2022-04-28 06:42:55,983 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:42:55,983 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-28 06:42:55,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 06:42:55,984 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:42:55,984 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:42:56,004 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:42:56,196 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:42:56,197 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:42:56,197 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:42:56,197 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-28 06:42:56,197 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:42:56,197 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1651537631] [2022-04-28 06:43:00,344 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:43:00,344 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:43:00,344 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:43:00,344 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 2 times [2022-04-28 06:43:00,344 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:43:00,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1009921578] [2022-04-28 06:43:00,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:43:00,345 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:43:00,359 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:43:00,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [806713172] [2022-04-28 06:43:00,360 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:43:00,360 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:43:00,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:43:00,361 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:43:00,362 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:43:00,397 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:43:00,398 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:43:00,398 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 06:43:00,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:43:00,407 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:43:00,577 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-28 06:43:00,577 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#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); {1733#true} is VALID [2022-04-28 06:43:00,577 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,577 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-28 06:43:00,578 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-28 06:43:00,578 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#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; {1733#true} is VALID [2022-04-28 06:43:00,578 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {1733#true} is VALID [2022-04-28 06:43:00,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,578 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,578 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-28 06:43:00,579 INFO L290 TraceCheckUtils]: 11: Hoare triple {1733#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:00,579 INFO L290 TraceCheckUtils]: 12: Hoare triple {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:00,579 INFO L272 TraceCheckUtils]: 13: Hoare triple {1771#(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)); {1733#true} is VALID [2022-04-28 06:43:00,579 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,579 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,579 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,580 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:00,580 INFO L272 TraceCheckUtils]: 18: Hoare triple {1771#(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)); {1733#true} is VALID [2022-04-28 06:43:00,580 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,580 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,581 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,581 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:00,581 INFO L272 TraceCheckUtils]: 23: Hoare triple {1771#(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)); {1733#true} is VALID [2022-04-28 06:43:00,581 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,582 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,582 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,582 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:00,583 INFO L290 TraceCheckUtils]: 28: Hoare triple {1771#(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; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:00,583 INFO L290 TraceCheckUtils]: 29: Hoare triple {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:00,583 INFO L272 TraceCheckUtils]: 30: Hoare triple {1823#(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)); {1733#true} is VALID [2022-04-28 06:43:00,583 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,583 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,583 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,584 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:00,584 INFO L272 TraceCheckUtils]: 35: Hoare triple {1823#(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)); {1733#true} is VALID [2022-04-28 06:43:00,584 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,584 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,584 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,585 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:00,586 INFO L272 TraceCheckUtils]: 40: Hoare triple {1823#(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)); {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:43:00,586 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:00,587 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-28 06:43:00,587 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-28 06:43:00,587 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 06:43:00,587 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:43:00,739 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-28 06:43:00,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-28 06:43:00,740 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:00,741 INFO L272 TraceCheckUtils]: 40: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:43:00,741 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:00,741 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,741 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,741 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,741 INFO L272 TraceCheckUtils]: 35: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 06:43:00,742 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:00,742 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,742 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,742 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,742 INFO L272 TraceCheckUtils]: 30: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 06:43:00,743 INFO L290 TraceCheckUtils]: 29: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:00,746 INFO L290 TraceCheckUtils]: 28: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:00,747 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:00,747 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,747 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,747 INFO L272 TraceCheckUtils]: 23: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 06:43:00,748 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:00,748 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,748 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,748 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,748 INFO L272 TraceCheckUtils]: 18: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 06:43:00,748 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:00,749 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,749 INFO L272 TraceCheckUtils]: 13: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 06:43:00,749 INFO L290 TraceCheckUtils]: 12: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:00,749 INFO L290 TraceCheckUtils]: 11: Hoare triple {1733#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:00,750 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-28 06:43:00,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 06:43:00,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 06:43:00,750 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {1733#true} is VALID [2022-04-28 06:43:00,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#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; {1733#true} is VALID [2022-04-28 06:43:00,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-28 06:43:00,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-28 06:43:00,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 06:43:00,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#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); {1733#true} is VALID [2022-04-28 06:43:00,751 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-28 06:43:00,751 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 06:43:00,751 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:43:00,751 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1009921578] [2022-04-28 06:43:00,751 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:43:00,751 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [806713172] [2022-04-28 06:43:00,751 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [806713172] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 06:43:00,751 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:43:00,751 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-28 06:43:00,752 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:43:00,752 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1651537631] [2022-04-28 06:43:00,752 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1651537631] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:43:00,752 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:43:00,752 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:43:00,752 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [42261636] [2022-04-28 06:43:00,752 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:43:00,752 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-28 06:43:00,753 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:43:00,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:43:00,770 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:43:00,770 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:43:00,771 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:43:00,771 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:43:00,771 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 06:43:00,771 INFO L87 Difference]: Start difference. First operand 57 states and 69 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:43:02,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:02,967 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-28 06:43:02,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:43:02,967 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-28 06:43:02,972 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:43:02,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:43:02,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 06:43:02,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:43:02,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 06:43:02,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 06:43:03,014 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:43:03,015 INFO L225 Difference]: With dead ends: 69 [2022-04-28 06:43:03,016 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 06:43:03,016 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 80 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:43:03,016 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:43:03,017 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 112 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:43:03,017 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 06:43:03,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-28 06:43:03,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:43:03,043 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:43:03,043 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:43:03,043 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:43:03,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:03,045 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-28 06:43:03,045 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-28 06:43:03,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:43:03,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:43:03,046 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 06:43:03,046 INFO L87 Difference]: Start difference. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 06:43:03,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:03,048 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-28 06:43:03,048 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-28 06:43:03,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:43:03,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:43:03,049 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:43:03,049 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:43:03,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:43:03,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-28 06:43:03,051 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-28 06:43:03,051 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:43:03,051 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-28 06:43:03,051 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:43:03,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-28 06:43:03,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:43:03,132 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-28 06:43:03,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 06:43:03,133 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:43:03,133 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, 1, 1] [2022-04-28 06:43:03,163 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:43:03,347 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:43:03,347 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:43:03,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:43:03,348 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-28 06:43:03,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:43:03,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [878896507] [2022-04-28 06:43:07,453 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:43:07,454 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:43:07,454 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:43:07,454 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 2 times [2022-04-28 06:43:07,454 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:43:07,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1757334864] [2022-04-28 06:43:07,454 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:43:07,454 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:43:07,464 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:43:07,465 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [383276456] [2022-04-28 06:43:07,465 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:43:07,465 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:43:07,465 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:43:07,466 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:43:07,467 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:43:07,511 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:43:07,512 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:43:07,513 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 06:43:07,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:43:07,526 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:43:07,949 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-28 06:43:07,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {2405#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); {2405#true} is VALID [2022-04-28 06:43:07,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-28 06:43:07,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-28 06:43:07,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {2405#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; {2405#true} is VALID [2022-04-28 06:43:07,950 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {2405#true} is VALID [2022-04-28 06:43:07,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:07,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:07,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-28 06:43:07,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {2405#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2443#(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:43:07,957 INFO L290 TraceCheckUtils]: 12: Hoare triple {2443#(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 !false; {2443#(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:43:07,970 INFO L272 TraceCheckUtils]: 13: Hoare triple {2443#(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)); {2405#true} is VALID [2022-04-28 06:43:07,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:07,970 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:07,971 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,972 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2405#true} {2443#(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; {2443#(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:43:07,972 INFO L272 TraceCheckUtils]: 18: Hoare triple {2443#(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)); {2405#true} is VALID [2022-04-28 06:43:07,973 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:07,973 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:07,973 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,974 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2405#true} {2443#(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; {2443#(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:43:07,974 INFO L272 TraceCheckUtils]: 23: Hoare triple {2443#(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)); {2405#true} is VALID [2022-04-28 06:43:07,974 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:07,976 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:07,976 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,977 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2405#true} {2443#(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))} #84#return; {2443#(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:43:07,977 INFO L290 TraceCheckUtils]: 28: Hoare triple {2443#(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; {2495#(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:43:07,978 INFO L290 TraceCheckUtils]: 29: Hoare triple {2495#(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 !false; {2495#(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:43:07,978 INFO L272 TraceCheckUtils]: 30: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-28 06:43:07,978 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:07,978 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:07,978 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,979 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2405#true} {2495#(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; {2495#(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:43:07,979 INFO L272 TraceCheckUtils]: 35: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-28 06:43:07,979 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:07,979 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:07,979 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,979 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2405#true} {2495#(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; {2495#(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:43:07,980 INFO L272 TraceCheckUtils]: 40: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-28 06:43:07,980 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:07,980 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:07,980 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,980 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2405#true} {2495#(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; {2495#(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:43:07,981 INFO L290 TraceCheckUtils]: 45: Hoare triple {2495#(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); {2495#(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:43:07,981 INFO L290 TraceCheckUtils]: 46: Hoare triple {2495#(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 !false; {2495#(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:43:07,981 INFO L272 TraceCheckUtils]: 47: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-28 06:43:07,981 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:07,981 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:07,981 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,982 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2405#true} {2495#(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; {2495#(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:43:07,982 INFO L272 TraceCheckUtils]: 52: Hoare triple {2495#(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)); {2405#true} is VALID [2022-04-28 06:43:07,982 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:07,982 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:07,983 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:07,983 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2405#true} {2495#(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))} #88#return; {2495#(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:43:07,984 INFO L290 TraceCheckUtils]: 57: Hoare triple {2495#(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); {2443#(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:43:07,984 INFO L290 TraceCheckUtils]: 58: Hoare triple {2443#(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; {2586#(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:43:07,984 INFO L290 TraceCheckUtils]: 59: Hoare triple {2586#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !false; {2586#(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:43:07,985 INFO L272 TraceCheckUtils]: 60: Hoare triple {2586#(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)); {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:43:07,985 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:07,986 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-28 06:43:07,986 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-28 06:43:07,988 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:43:07,988 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:43:15,701 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-28 06:43:15,703 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-28 06:43:15,703 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:15,704 INFO L272 TraceCheckUtils]: 60: Hoare triple {2613#(= (+ (* 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)); {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:43:15,705 INFO L290 TraceCheckUtils]: 59: Hoare triple {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:43:15,720 INFO L290 TraceCheckUtils]: 58: Hoare triple {2620#(= 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; {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:43:15,744 INFO L290 TraceCheckUtils]: 57: Hoare triple {2624#(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); {2620#(= 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:43:15,745 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2405#true} {2624#(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))))))))} #88#return; {2624#(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:43:15,745 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,745 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:15,745 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:15,746 INFO L272 TraceCheckUtils]: 52: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-28 06:43:15,746 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2405#true} {2624#(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; {2624#(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:43:15,746 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,746 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:15,746 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:15,746 INFO L272 TraceCheckUtils]: 47: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-28 06:43:15,748 INFO L290 TraceCheckUtils]: 46: Hoare triple {2624#(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 !false; {2624#(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:43:15,749 INFO L290 TraceCheckUtils]: 45: Hoare triple {2624#(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); {2624#(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:43:15,749 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2405#true} {2624#(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; {2624#(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:43:15,749 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,749 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:15,749 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:15,750 INFO L272 TraceCheckUtils]: 40: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-28 06:43:15,750 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2405#true} {2624#(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; {2624#(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:43:15,750 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,750 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:15,750 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:15,751 INFO L272 TraceCheckUtils]: 35: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-28 06:43:15,751 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2405#true} {2624#(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; {2624#(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:43:15,751 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,751 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:15,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:15,752 INFO L272 TraceCheckUtils]: 30: Hoare triple {2624#(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)); {2405#true} is VALID [2022-04-28 06:43:15,752 INFO L290 TraceCheckUtils]: 29: Hoare triple {2624#(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 !false; {2624#(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:43:15,759 INFO L290 TraceCheckUtils]: 28: Hoare triple {2620#(= 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; {2624#(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:43:15,760 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2405#true} {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #84#return; {2620#(= 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:43:15,760 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,760 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:15,760 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:15,760 INFO L272 TraceCheckUtils]: 23: Hoare triple {2620#(= 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)); {2405#true} is VALID [2022-04-28 06:43:15,761 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2405#true} {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {2620#(= 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:43:15,761 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:15,761 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:15,761 INFO L272 TraceCheckUtils]: 18: Hoare triple {2620#(= 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)); {2405#true} is VALID [2022-04-28 06:43:15,762 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2405#true} {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {2620#(= 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:43:15,762 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,762 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:15,762 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:15,762 INFO L272 TraceCheckUtils]: 13: Hoare triple {2620#(= 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)); {2405#true} is VALID [2022-04-28 06:43:15,763 INFO L290 TraceCheckUtils]: 12: Hoare triple {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !false; {2620#(= 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:43:15,763 INFO L290 TraceCheckUtils]: 11: Hoare triple {2405#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2620#(= 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:43:15,763 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-28 06:43:15,763 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 06:43:15,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 06:43:15,764 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {2405#true} is VALID [2022-04-28 06:43:15,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {2405#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; {2405#true} is VALID [2022-04-28 06:43:15,764 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-28 06:43:15,764 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-28 06:43:15,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 06:43:15,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {2405#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); {2405#true} is VALID [2022-04-28 06:43:15,764 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-28 06:43:15,764 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:43:15,765 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:43:15,765 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1757334864] [2022-04-28 06:43:15,765 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:43:15,765 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [383276456] [2022-04-28 06:43:15,765 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [383276456] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:43:15,765 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:43:15,765 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-28 06:43:15,765 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:43:15,765 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [878896507] [2022-04-28 06:43:15,765 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [878896507] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:43:15,765 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:43:15,765 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:43:15,766 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1439777476] [2022-04-28 06:43:15,766 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:43:15,766 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, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-28 06:43:15,766 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:43:15,766 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, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 06:43:15,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:43:15,800 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 06:43:15,800 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:43:15,800 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 06:43:15,800 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:43:15,800 INFO L87 Difference]: Start difference. First operand 64 states and 77 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, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 06:43:16,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:16,363 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-28 06:43:16,363 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 06:43:16,363 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, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-28 06:43:16,364 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:43:16,364 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, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 06:43:16,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-28 06:43:16,367 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, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 06:43:16,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-28 06:43:16,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 107 transitions. [2022-04-28 06:43:16,462 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:43:16,465 INFO L225 Difference]: With dead ends: 130 [2022-04-28 06:43:16,465 INFO L226 Difference]: Without dead ends: 101 [2022-04-28 06:43:16,468 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 116 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:43:16,469 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 11 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 208 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 208 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:43:16,469 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 172 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 208 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:43:16,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-28 06:43:16,511 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 99. [2022-04-28 06:43:16,511 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:43:16,512 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 06:43:16,512 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 06:43:16,513 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 06:43:16,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:16,517 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-28 06:43:16,517 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-28 06:43:16,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:43:16,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:43:16,517 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-28 06:43:16,518 INFO L87 Difference]: Start difference. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-28 06:43:16,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:16,521 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-28 06:43:16,521 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-28 06:43:16,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:43:16,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:43:16,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:43:16,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:43:16,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 06:43:16,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 117 transitions. [2022-04-28 06:43:16,525 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 117 transitions. Word has length 64 [2022-04-28 06:43:16,526 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:43:16,526 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 117 transitions. [2022-04-28 06:43:16,526 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, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 06:43:16,526 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 117 transitions. [2022-04-28 06:43:16,659 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:43:16,659 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2022-04-28 06:43:16,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 06:43:16,660 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:43:16,660 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 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, 1, 1, 1, 1] [2022-04-28 06:43:16,677 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 06:43:16,867 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:43:16,883 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:43:16,883 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:43:16,884 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 3 times [2022-04-28 06:43:16,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:43:16,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2125824545] [2022-04-28 06:43:20,973 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:43:20,973 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:43:20,973 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:43:20,973 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 4 times [2022-04-28 06:43:20,973 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:43:20,973 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2138831469] [2022-04-28 06:43:20,973 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:43:20,973 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:43:20,983 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:43:20,983 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1151504528] [2022-04-28 06:43:20,983 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:43:20,984 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:43:20,984 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:43:20,985 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:43:20,985 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:43:21,029 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:43:21,030 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:43:21,030 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 06:43:21,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:43:21,043 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:43:21,341 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-28 06:43:21,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {3460#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); {3460#true} is VALID [2022-04-28 06:43:21,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-28 06:43:21,341 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-28 06:43:21,341 INFO L290 TraceCheckUtils]: 5: Hoare triple {3460#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; {3460#true} is VALID [2022-04-28 06:43:21,341 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:21,342 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,342 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,342 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,342 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-28 06:43:21,343 INFO L290 TraceCheckUtils]: 11: Hoare triple {3460#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:21,344 INFO L290 TraceCheckUtils]: 12: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:21,344 INFO L272 TraceCheckUtils]: 13: Hoare triple {3498#(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)); {3460#true} is VALID [2022-04-28 06:43:21,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,344 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,347 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:21,348 INFO L272 TraceCheckUtils]: 18: Hoare triple {3498#(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)); {3460#true} is VALID [2022-04-28 06:43:21,348 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,348 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,348 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:21,348 INFO L272 TraceCheckUtils]: 23: Hoare triple {3498#(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)); {3460#true} is VALID [2022-04-28 06:43:21,349 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,349 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,349 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:21,350 INFO L290 TraceCheckUtils]: 28: Hoare triple {3498#(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; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:21,350 INFO L290 TraceCheckUtils]: 29: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:21,350 INFO L272 TraceCheckUtils]: 30: Hoare triple {3550#(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)); {3460#true} is VALID [2022-04-28 06:43:21,350 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,350 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,350 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,351 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:21,351 INFO L272 TraceCheckUtils]: 35: Hoare triple {3550#(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)); {3460#true} is VALID [2022-04-28 06:43:21,351 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,352 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,352 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,352 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:21,352 INFO L272 TraceCheckUtils]: 40: Hoare triple {3550#(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)); {3460#true} is VALID [2022-04-28 06:43:21,352 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,353 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,353 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,353 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #84#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:21,354 INFO L290 TraceCheckUtils]: 45: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:21,354 INFO L290 TraceCheckUtils]: 46: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:21,354 INFO L272 TraceCheckUtils]: 47: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:21,354 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,354 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,354 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,355 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #86#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:21,355 INFO L272 TraceCheckUtils]: 52: Hoare triple {3550#(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)); {3460#true} is VALID [2022-04-28 06:43:21,355 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,355 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,355 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,356 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #88#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:21,356 INFO L290 TraceCheckUtils]: 57: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= 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); {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:21,357 INFO L290 TraceCheckUtils]: 58: Hoare triple {3498#(and (= 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; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:21,357 INFO L290 TraceCheckUtils]: 59: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:21,357 INFO L272 TraceCheckUtils]: 60: Hoare triple {3498#(and (= main_~B~0 1) (= 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)); {3460#true} is VALID [2022-04-28 06:43:21,357 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:21,357 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:21,357 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:21,358 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 06:43:21,359 INFO L272 TraceCheckUtils]: 65: Hoare triple {3498#(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)); {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:43:21,359 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:21,359 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-28 06:43:21,359 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-28 06:43:21,360 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 06:43:21,360 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:43:26,714 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-28 06:43:26,714 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-28 06:43:26,715 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:26,715 INFO L272 TraceCheckUtils]: 65: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:43:26,716 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #86#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:26,716 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,716 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,716 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,716 INFO L272 TraceCheckUtils]: 60: Hoare triple {3682#(= (* 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)); {3460#true} is VALID [2022-04-28 06:43:26,716 INFO L290 TraceCheckUtils]: 59: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:26,717 INFO L290 TraceCheckUtils]: 58: Hoare triple {3682#(= (* 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; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:26,728 INFO L290 TraceCheckUtils]: 57: Hoare triple {3707#(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); {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:26,729 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3460#true} {3707#(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)))))))} #88#return; {3707#(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:43:26,729 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,729 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,729 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,729 INFO L272 TraceCheckUtils]: 52: Hoare triple {3707#(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)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:26,730 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3460#true} {3707#(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)))))))} #86#return; {3707#(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:43:26,730 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,730 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,730 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,730 INFO L272 TraceCheckUtils]: 47: Hoare triple {3707#(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)))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:26,731 INFO L290 TraceCheckUtils]: 46: Hoare triple {3707#(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 !false; {3707#(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:43:26,732 INFO L290 TraceCheckUtils]: 45: Hoare triple {3707#(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 !(~r~0 >= ~d~0); {3707#(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:43:26,733 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3460#true} {3707#(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)))))))} #84#return; {3707#(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:43:26,733 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,733 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,733 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,733 INFO L272 TraceCheckUtils]: 40: Hoare triple {3707#(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)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:26,733 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3460#true} {3707#(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)))))))} #82#return; {3707#(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:43:26,734 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,734 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,734 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,734 INFO L272 TraceCheckUtils]: 35: Hoare triple {3707#(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)))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:26,734 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3460#true} {3707#(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)))))))} #80#return; {3707#(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:43:26,734 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,735 INFO L272 TraceCheckUtils]: 30: Hoare triple {3707#(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)))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:26,736 INFO L290 TraceCheckUtils]: 29: Hoare triple {3707#(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 !false; {3707#(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:43:26,741 INFO L290 TraceCheckUtils]: 28: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3707#(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:43:26,741 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:26,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,742 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,742 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,742 INFO L272 TraceCheckUtils]: 23: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:26,742 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:26,742 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,742 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,742 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,743 INFO L272 TraceCheckUtils]: 18: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:26,743 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:26,743 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,743 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,743 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,743 INFO L272 TraceCheckUtils]: 13: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:26,744 INFO L290 TraceCheckUtils]: 12: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:26,744 INFO L290 TraceCheckUtils]: 11: Hoare triple {3460#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 06:43:26,744 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-28 06:43:26,744 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,744 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 06:43:26,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 06:43:26,744 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {3460#true} is VALID [2022-04-28 06:43:26,745 INFO L290 TraceCheckUtils]: 5: Hoare triple {3460#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; {3460#true} is VALID [2022-04-28 06:43:26,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-28 06:43:26,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-28 06:43:26,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 06:43:26,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {3460#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); {3460#true} is VALID [2022-04-28 06:43:26,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-28 06:43:26,745 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 06:43:26,745 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:43:26,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2138831469] [2022-04-28 06:43:26,745 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:43:26,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1151504528] [2022-04-28 06:43:26,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1151504528] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:43:26,746 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:43:26,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 06:43:26,746 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:43:26,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2125824545] [2022-04-28 06:43:26,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2125824545] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:43:26,746 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:43:26,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:43:26,746 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1686489154] [2022-04-28 06:43:26,746 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:43:26,750 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 69 [2022-04-28 06:43:26,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:43:26,750 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 06:43:26,786 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:43:26,786 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:43:26,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:43:26,787 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:43:26,787 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 06:43:26,787 INFO L87 Difference]: Start difference. First operand 99 states and 117 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 06:43:27,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:27,103 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2022-04-28 06:43:27,103 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 06:43:27,103 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 69 [2022-04-28 06:43:27,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:43:27,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 06:43:27,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-28 06:43:27,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 06:43:27,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-28 06:43:27,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 93 transitions. [2022-04-28 06:43:27,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:43:27,178 INFO L225 Difference]: With dead ends: 126 [2022-04-28 06:43:27,178 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 06:43:27,178 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 129 SyntacticMatches, 2 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:43:27,179 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 6 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:43:27,179 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 175 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:43:27,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 06:43:27,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-28 06:43:27,216 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:43:27,217 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 06:43:27,217 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 06:43:27,217 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 06:43:27,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:27,220 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-28 06:43:27,220 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-28 06:43:27,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:43:27,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:43:27,221 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-28 06:43:27,221 INFO L87 Difference]: Start difference. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-28 06:43:27,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:27,223 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-28 06:43:27,223 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-28 06:43:27,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:43:27,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:43:27,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:43:27,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:43:27,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 06:43:27,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 118 transitions. [2022-04-28 06:43:27,227 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 118 transitions. Word has length 69 [2022-04-28 06:43:27,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:43:27,227 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 118 transitions. [2022-04-28 06:43:27,227 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 06:43:27,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 118 transitions. [2022-04-28 06:43:27,335 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:43:27,335 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-28 06:43:27,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 06:43:27,336 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:43:27,336 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 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, 1, 1, 1, 1, 1, 1] [2022-04-28 06:43:27,353 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:43:27,537 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:43:27,537 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:43:27,539 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:43:27,539 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-28 06:43:27,539 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:43:27,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1583997896] [2022-04-28 06:43:29,078 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:43:29,078 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:43:29,078 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:43:29,078 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 2 times [2022-04-28 06:43:29,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:43:29,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1474646699] [2022-04-28 06:43:29,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:43:29,078 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:43:29,103 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:43:29,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [789008011] [2022-04-28 06:43:29,103 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:43:29,103 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:43:29,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:43:29,104 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:43:29,105 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:43:29,144 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:43:29,144 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:43:29,146 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 06:43:29,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:43:29,159 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:43:29,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L290 TraceCheckUtils]: 1: Hoare triple {4547#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); {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L290 TraceCheckUtils]: 5: Hoare triple {4547#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; {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:29,725 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-28 06:43:29,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {4547#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4585#(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:43:29,732 INFO L290 TraceCheckUtils]: 12: Hoare triple {4585#(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 !false; {4585#(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:43:29,732 INFO L272 TraceCheckUtils]: 13: Hoare triple {4585#(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)); {4547#true} is VALID [2022-04-28 06:43:29,732 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:29,732 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:29,732 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:29,733 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4547#true} {4585#(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; {4585#(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:43:29,733 INFO L272 TraceCheckUtils]: 18: Hoare triple {4585#(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)); {4547#true} is VALID [2022-04-28 06:43:29,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:29,733 INFO L290 TraceCheckUtils]: 20: Hoare triple {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:29,734 INFO L290 TraceCheckUtils]: 21: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:29,734 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4585#(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; {4585#(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:43:29,734 INFO L272 TraceCheckUtils]: 23: Hoare triple {4585#(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)); {4547#true} is VALID [2022-04-28 06:43:29,734 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:29,734 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:29,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:29,735 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4547#true} {4585#(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))} #84#return; {4585#(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:43:29,736 INFO L290 TraceCheckUtils]: 28: Hoare triple {4585#(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; {4639#(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:43:29,736 INFO L290 TraceCheckUtils]: 29: Hoare triple {4639#(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 !false; {4639#(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:43:29,736 INFO L272 TraceCheckUtils]: 30: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-28 06:43:29,736 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:29,736 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:29,736 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:29,737 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4547#true} {4639#(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; {4639#(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:43:29,737 INFO L272 TraceCheckUtils]: 35: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-28 06:43:29,737 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:29,737 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:29,737 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:29,738 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4547#true} {4639#(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; {4639#(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:43:29,738 INFO L272 TraceCheckUtils]: 40: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-28 06:43:29,738 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:29,738 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:29,738 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:29,738 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4547#true} {4639#(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; {4639#(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:43:29,739 INFO L290 TraceCheckUtils]: 45: Hoare triple {4639#(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); {4639#(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:43:29,740 INFO L290 TraceCheckUtils]: 46: Hoare triple {4639#(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 !false; {4639#(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:43:29,740 INFO L272 TraceCheckUtils]: 47: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-28 06:43:29,740 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:29,740 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:29,740 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:29,741 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4547#true} {4639#(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; {4639#(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:43:29,741 INFO L272 TraceCheckUtils]: 52: Hoare triple {4639#(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)); {4547#true} is VALID [2022-04-28 06:43:29,741 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:29,741 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:29,741 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:29,741 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4547#true} {4639#(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))} #88#return; {4639#(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:43:29,742 INFO L290 TraceCheckUtils]: 57: Hoare triple {4639#(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); {4585#(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:43:29,742 INFO L290 TraceCheckUtils]: 58: Hoare triple {4585#(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; {4730#(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:43:29,743 INFO L290 TraceCheckUtils]: 59: Hoare triple {4730#(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 !false; {4730#(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:43:29,743 INFO L272 TraceCheckUtils]: 60: Hoare triple {4730#(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)); {4547#true} is VALID [2022-04-28 06:43:29,743 INFO L290 TraceCheckUtils]: 61: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:29,744 INFO L290 TraceCheckUtils]: 62: Hoare triple {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:29,744 INFO L290 TraceCheckUtils]: 63: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:29,745 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4730#(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))} #86#return; {4749#(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:43:29,745 INFO L272 TraceCheckUtils]: 65: Hoare triple {4749#(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)); {4547#true} is VALID [2022-04-28 06:43:29,745 INFO L290 TraceCheckUtils]: 66: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:29,745 INFO L290 TraceCheckUtils]: 67: Hoare triple {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:29,746 INFO L290 TraceCheckUtils]: 68: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:29,746 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4749#(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))} #88#return; {4765#(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:43:29,747 INFO L290 TraceCheckUtils]: 70: Hoare triple {4765#(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); {4769#(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:43:29,747 INFO L272 TraceCheckUtils]: 71: Hoare triple {4769#(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)); {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:43:29,748 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:29,748 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-28 06:43:29,748 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-28 06:43:29,767 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 62 proven. 30 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-04-28 06:43:29,767 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:43:42,500 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-28 06:43:42,500 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-28 06:43:42,501 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:42,501 INFO L272 TraceCheckUtils]: 71: Hoare triple {4793#(= (+ (* 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)); {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:43:42,502 INFO L290 TraceCheckUtils]: 70: Hoare triple {4797#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4793#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:43:42,502 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4801#(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)))} #88#return; {4797#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:43:42,503 INFO L290 TraceCheckUtils]: 68: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:42,503 INFO L290 TraceCheckUtils]: 67: Hoare triple {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:42,503 INFO L290 TraceCheckUtils]: 66: Hoare triple {4547#true} ~cond := #in~cond; {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:43:42,503 INFO L272 TraceCheckUtils]: 65: Hoare triple {4801#(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)); {4547#true} is VALID [2022-04-28 06:43:42,505 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4547#true} #86#return; {4801#(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:43:42,505 INFO L290 TraceCheckUtils]: 63: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:42,506 INFO L290 TraceCheckUtils]: 62: Hoare triple {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:42,506 INFO L290 TraceCheckUtils]: 61: Hoare triple {4547#true} ~cond := #in~cond; {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:43:42,506 INFO L272 TraceCheckUtils]: 60: Hoare triple {4547#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,516 INFO L290 TraceCheckUtils]: 59: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-28 06:43:42,516 INFO L290 TraceCheckUtils]: 58: Hoare triple {4547#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4547#true} is VALID [2022-04-28 06:43:42,516 INFO L290 TraceCheckUtils]: 57: Hoare triple {4547#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); {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4547#true} {4547#true} #88#return; {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L272 TraceCheckUtils]: 52: Hoare triple {4547#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4547#true} {4547#true} #86#return; {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L272 TraceCheckUtils]: 47: Hoare triple {4547#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L290 TraceCheckUtils]: 46: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#true} assume !(~r~0 >= ~d~0); {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-28 06:43:42,517 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L272 TraceCheckUtils]: 40: Hoare triple {4547#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L272 TraceCheckUtils]: 35: Hoare triple {4547#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L272 TraceCheckUtils]: 30: Hoare triple {4547#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,518 INFO L290 TraceCheckUtils]: 29: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L290 TraceCheckUtils]: 28: Hoare triple {4547#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L272 TraceCheckUtils]: 23: Hoare triple {4547#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L290 TraceCheckUtils]: 21: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L290 TraceCheckUtils]: 20: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L272 TraceCheckUtils]: 18: Hoare triple {4547#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,519 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L272 TraceCheckUtils]: 13: Hoare triple {4547#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L290 TraceCheckUtils]: 12: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L290 TraceCheckUtils]: 11: Hoare triple {4547#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L290 TraceCheckUtils]: 5: Hoare triple {4547#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; {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 06:43:42,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {4547#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); {4547#true} is VALID [2022-04-28 06:43:42,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-28 06:43:42,522 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-28 06:43:42,522 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:43:42,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1474646699] [2022-04-28 06:43:42,522 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:43:42,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [789008011] [2022-04-28 06:43:42,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [789008011] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:43:42,522 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:43:42,522 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 06:43:42,522 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:43:42,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1583997896] [2022-04-28 06:43:42,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1583997896] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:43:42,522 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:43:42,523 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 06:43:42,523 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [147223349] [2022-04-28 06:43:42,523 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:43:42,523 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, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 06:43:42,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:43:42,524 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, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:43:42,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:43:42,572 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 06:43:42,572 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:43:42,573 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 06:43:42,573 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:43:42,574 INFO L87 Difference]: Start difference. First operand 103 states and 118 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, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:43:43,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:43,452 INFO L93 Difference]: Finished difference Result 109 states and 123 transitions. [2022-04-28 06:43:43,452 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:43:43,452 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, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 06:43:43,452 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:43:43,453 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, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:43:43,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-28 06:43:43,460 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, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:43:43,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-28 06:43:43,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 74 transitions. [2022-04-28 06:43:43,523 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:43:43,526 INFO L225 Difference]: With dead ends: 109 [2022-04-28 06:43:43,526 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 06:43:43,526 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:43:43,528 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 354 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 378 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 354 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 06:43:43,528 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 172 Invalid, 378 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 354 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 06:43:43,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 06:43:43,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-28 06:43:43,561 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:43:43,561 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:43:43,561 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:43:43,561 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:43:43,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:43,563 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-28 06:43:43,563 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-28 06:43:43,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:43:43,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:43:43,564 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 81 states. [2022-04-28 06:43:43,564 INFO L87 Difference]: Start difference. First operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 81 states. [2022-04-28 06:43:43,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:43:43,566 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-28 06:43:43,566 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-28 06:43:43,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:43:43,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:43:43,567 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:43:43,567 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:43:43,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:43:43,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 94 transitions. [2022-04-28 06:43:43,569 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 94 transitions. Word has length 75 [2022-04-28 06:43:43,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:43:43,569 INFO L495 AbstractCegarLoop]: Abstraction has 81 states and 94 transitions. [2022-04-28 06:43:43,569 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, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:43:43,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 94 transitions. [2022-04-28 06:43:43,660 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:43:43,660 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-28 06:43:43,661 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 06:43:43,661 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:43:43,661 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:43:43,680 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 06:43:43,861 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:43:43,862 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:43:43,862 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:43:43,862 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 5 times [2022-04-28 06:43:43,862 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:43:43,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1518600454] [2022-04-28 06:43:47,954 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:43:47,954 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:43:47,954 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:43:47,954 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 6 times [2022-04-28 06:43:47,954 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:43:47,954 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1569716629] [2022-04-28 06:43:47,954 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:43:47,954 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:43:47,963 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:43:47,963 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [925360100] [2022-04-28 06:43:47,963 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:43:47,963 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:43:47,963 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:43:47,972 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:43:47,973 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:43:48,014 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 06:43:48,015 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:43:48,016 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 06:43:48,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:43:48,030 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:43:52,295 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:43:52,381 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:43:52,740 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-28 06:43:52,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {5558#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); {5558#true} is VALID [2022-04-28 06:43:52,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-28 06:43:52,740 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-28 06:43:52,740 INFO L290 TraceCheckUtils]: 5: Hoare triple {5558#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; {5558#true} is VALID [2022-04-28 06:43:52,740 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {5558#true} is VALID [2022-04-28 06:43:52,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,740 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,740 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,741 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-28 06:43:52,741 INFO L290 TraceCheckUtils]: 11: Hoare triple {5558#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,741 INFO L272 TraceCheckUtils]: 13: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-28 06:43:52,741 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,742 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,742 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,742 INFO L272 TraceCheckUtils]: 18: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-28 06:43:52,742 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,742 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,742 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,743 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,743 INFO L272 TraceCheckUtils]: 23: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-28 06:43:52,743 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,743 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,743 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,744 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,744 INFO L290 TraceCheckUtils]: 28: Hoare triple {5596#(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; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,744 INFO L290 TraceCheckUtils]: 29: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,744 INFO L272 TraceCheckUtils]: 30: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-28 06:43:52,745 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,745 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,745 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,745 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,745 INFO L272 TraceCheckUtils]: 35: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-28 06:43:52,745 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,745 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,745 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,746 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,746 INFO L272 TraceCheckUtils]: 40: Hoare triple {5596#(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)); {5558#true} is VALID [2022-04-28 06:43:52,746 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,746 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,746 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,747 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,747 INFO L290 TraceCheckUtils]: 45: Hoare triple {5596#(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; {5699#(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:43:52,748 INFO L290 TraceCheckUtils]: 46: Hoare triple {5699#(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 !false; {5699#(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:43:52,748 INFO L272 TraceCheckUtils]: 47: Hoare triple {5699#(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)); {5558#true} is VALID [2022-04-28 06:43:52,748 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,748 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,748 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,749 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5558#true} {5699#(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; {5699#(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:43:52,749 INFO L272 TraceCheckUtils]: 52: Hoare triple {5699#(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)); {5558#true} is VALID [2022-04-28 06:43:52,749 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,749 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,749 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,749 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5558#true} {5699#(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; {5699#(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:43:52,750 INFO L272 TraceCheckUtils]: 57: Hoare triple {5699#(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)); {5558#true} is VALID [2022-04-28 06:43:52,750 INFO L290 TraceCheckUtils]: 58: Hoare triple {5558#true} ~cond := #in~cond; {5739#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:52,750 INFO L290 TraceCheckUtils]: 59: Hoare triple {5739#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:52,750 INFO L290 TraceCheckUtils]: 60: Hoare triple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:43:52,751 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} {5699#(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))} #84#return; {5750#(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:43:52,751 INFO L290 TraceCheckUtils]: 62: Hoare triple {5750#(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); {5750#(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:43:52,752 INFO L290 TraceCheckUtils]: 63: Hoare triple {5750#(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 !false; {5750#(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:43:52,752 INFO L272 TraceCheckUtils]: 64: Hoare triple {5750#(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)); {5558#true} is VALID [2022-04-28 06:43:52,752 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,752 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,752 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,753 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5558#true} {5750#(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; {5750#(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:43:52,753 INFO L272 TraceCheckUtils]: 69: Hoare triple {5750#(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)); {5558#true} is VALID [2022-04-28 06:43:52,753 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:43:52,753 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:43:52,753 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:43:52,753 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5558#true} {5750#(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))} #88#return; {5750#(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:43:52,754 INFO L290 TraceCheckUtils]: 74: Hoare triple {5750#(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); {5790#(and (= main_~A~0 main_~r~0) (< (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2) 2) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2)) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,755 INFO L290 TraceCheckUtils]: 75: Hoare triple {5790#(and (= main_~A~0 main_~r~0) (< (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2) 2) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~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; {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,756 INFO L290 TraceCheckUtils]: 76: Hoare triple {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} assume !false; {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} is VALID [2022-04-28 06:43:52,756 INFO L272 TraceCheckUtils]: 77: Hoare triple {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:43:52,757 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:43:52,757 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-28 06:43:52,757 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-28 06:43:52,757 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-28 06:43:52,757 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:44:20,670 WARN L855 $PredicateComparison]: unable to prove that (or (let ((.cse4 (= (mod c_main_~p~0 2) 0)) (.cse8 (< c_main_~p~0 0)) (.cse9 (div c_main_~p~0 2))) (let ((.cse7 (< c_main_~d~0 0)) (.cse6 (= (mod c_main_~d~0 2) 0)) (.cse3 (* (+ c_main_~q~0 .cse9 1) c_main_~B~0)) (.cse5 (not .cse8)) (.cse0 (* (- 1) (div c_main_~d~0 2))) (.cse1 (* (+ c_main_~q~0 .cse9) c_main_~B~0)) (.cse2 (and (not .cse4) .cse8))) (and (or (and (or (= c_main_~A~0 (+ (- 1) c_main_~r~0 .cse0 .cse1)) .cse2) (or (= c_main_~A~0 (+ (- 1) .cse3 c_main_~r~0 .cse0)) .cse4 .cse5)) .cse6 (not .cse7)) (or (and .cse7 (not .cse6)) (and (or (= (+ .cse3 c_main_~r~0 .cse0) c_main_~A~0) .cse4 .cse5) (or (= c_main_~A~0 (+ c_main_~r~0 .cse0 .cse1)) .cse2)))))) (not (= (* c_main_~p~0 c_main_~B~0) c_main_~d~0))) is different from true [2022-04-28 06:45:22,389 WARN L232 SmtUtils]: Spent 6.56s on a formula simplification that was a NOOP. DAG size: 4 (called from [L 988] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-28 06:45:39,819 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-28 06:45:39,819 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-28 06:45:39,820 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:45:39,820 INFO L272 TraceCheckUtils]: 77: Hoare triple {5821#(= (+ (* 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)); {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:45:39,821 INFO L290 TraceCheckUtils]: 76: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,838 INFO L290 TraceCheckUtils]: 75: Hoare triple {5828#(= 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; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,857 INFO L290 TraceCheckUtils]: 74: Hoare triple {5832#(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); {5828#(= 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:45:39,858 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5558#true} {5832#(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))))))))} #88#return; {5832#(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:45:39,858 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,858 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,858 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,859 INFO L272 TraceCheckUtils]: 69: Hoare triple {5832#(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)); {5558#true} is VALID [2022-04-28 06:45:39,859 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5558#true} {5832#(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; {5832#(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:45:39,859 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,859 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,859 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,859 INFO L272 TraceCheckUtils]: 64: Hoare triple {5832#(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)); {5558#true} is VALID [2022-04-28 06:45:39,860 INFO L290 TraceCheckUtils]: 63: Hoare triple {5832#(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 !false; {5832#(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:45:39,861 INFO L290 TraceCheckUtils]: 62: Hoare triple {5832#(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); {5832#(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:45:39,862 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} {5872#(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)))} #84#return; {5832#(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:45:39,862 INFO L290 TraceCheckUtils]: 60: Hoare triple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:45:39,863 INFO L290 TraceCheckUtils]: 59: Hoare triple {5882#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:45:39,863 INFO L290 TraceCheckUtils]: 58: Hoare triple {5558#true} ~cond := #in~cond; {5882#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:45:39,863 INFO L272 TraceCheckUtils]: 57: Hoare triple {5872#(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)); {5558#true} is VALID [2022-04-28 06:45:39,864 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5558#true} {5872#(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; {5872#(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:45:39,864 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,864 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,864 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,864 INFO L272 TraceCheckUtils]: 52: Hoare triple {5872#(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)); {5558#true} is VALID [2022-04-28 06:45:39,865 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5558#true} {5872#(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; {5872#(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:45:39,865 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,865 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,865 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,865 INFO L272 TraceCheckUtils]: 47: Hoare triple {5872#(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)); {5558#true} is VALID [2022-04-28 06:45:39,866 INFO L290 TraceCheckUtils]: 46: Hoare triple {5872#(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 !false; {5872#(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:45:39,871 INFO L290 TraceCheckUtils]: 45: Hoare triple {5821#(= (+ (* 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; {5872#(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:45:39,872 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #84#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,872 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,872 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,872 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,872 INFO L272 TraceCheckUtils]: 40: Hoare triple {5821#(= (+ (* 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)); {5558#true} is VALID [2022-04-28 06:45:39,873 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,873 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,873 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,873 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,873 INFO L272 TraceCheckUtils]: 35: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 06:45:39,873 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,873 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,874 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,874 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,874 INFO L272 TraceCheckUtils]: 30: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 06:45:39,874 INFO L290 TraceCheckUtils]: 29: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,874 INFO L290 TraceCheckUtils]: 28: Hoare triple {5821#(= (+ (* 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; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,875 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #84#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,875 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,875 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,875 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,875 INFO L272 TraceCheckUtils]: 23: Hoare triple {5821#(= (+ (* 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)); {5558#true} is VALID [2022-04-28 06:45:39,876 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,876 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,876 INFO L272 TraceCheckUtils]: 18: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 06:45:39,876 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,876 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,877 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,877 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,877 INFO L272 TraceCheckUtils]: 13: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 06:45:39,877 INFO L290 TraceCheckUtils]: 12: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,877 INFO L290 TraceCheckUtils]: 11: Hoare triple {5558#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 06:45:39,877 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {5558#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; {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {5558#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); {5558#true} is VALID [2022-04-28 06:45:39,878 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-28 06:45:39,879 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 45 proven. 11 refuted. 0 times theorem prover too weak. 195 trivial. 8 not checked. [2022-04-28 06:45:39,879 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:45:39,879 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1569716629] [2022-04-28 06:45:39,879 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:45:39,879 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [925360100] [2022-04-28 06:45:39,879 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [925360100] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:45:39,879 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:45:39,879 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-28 06:45:39,880 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:45:39,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1518600454] [2022-04-28 06:45:39,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1518600454] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:45:39,880 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:45:39,880 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 06:45:39,880 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [577114286] [2022-04-28 06:45:39,880 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:45:39,880 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, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-28 06:45:39,881 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:45:39,881 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, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:45:39,917 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:45:39,917 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 06:45:39,917 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:45:39,917 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 06:45:39,918 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=162, Unknown=1, NotChecked=26, Total=240 [2022-04-28 06:45:39,918 INFO L87 Difference]: Start difference. First operand 81 states and 94 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, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:45:40,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:45:40,562 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-28 06:45:40,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:45:40,562 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, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-28 06:45:40,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:45:40,562 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, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:45:40,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-28 06:45:40,563 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, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:45:40,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-28 06:45:40,564 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2022-04-28 06:45:40,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:45:40,637 INFO L225 Difference]: With dead ends: 106 [2022-04-28 06:45:40,637 INFO L226 Difference]: Without dead ends: 94 [2022-04-28 06:45:40,638 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 146 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=64, Invalid=211, Unknown=1, NotChecked=30, Total=306 [2022-04-28 06:45:40,638 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 28 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 222 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 250 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 222 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:45:40,638 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 129 Invalid, 250 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 222 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:45:40,639 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-28 06:45:40,689 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 91. [2022-04-28 06:45:40,689 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:45:40,689 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:45:40,690 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:45:40,690 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:45:40,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:45:40,691 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-28 06:45:40,691 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-28 06:45:40,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:45:40,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:45:40,692 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 94 states. [2022-04-28 06:45:40,692 INFO L87 Difference]: Start difference. First operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 94 states. [2022-04-28 06:45:40,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:45:40,694 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-28 06:45:40,694 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-28 06:45:40,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:45:40,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:45:40,694 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:45:40,694 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:45:40,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:45:40,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 107 transitions. [2022-04-28 06:45:40,696 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 107 transitions. Word has length 81 [2022-04-28 06:45:40,696 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:45:40,696 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 107 transitions. [2022-04-28 06:45:40,696 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, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:45:40,696 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 107 transitions. [2022-04-28 06:45:40,796 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:45:40,797 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-28 06:45:40,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 06:45:40,797 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:45:40,797 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:45:40,815 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:45:41,003 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:45:41,003 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:45:41,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:45:41,004 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 7 times [2022-04-28 06:45:41,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:45:41,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1510207316] [2022-04-28 06:45:43,701 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:45:43,702 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:45:43,702 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:45:43,702 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 8 times [2022-04-28 06:45:43,702 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:45:43,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1077852422] [2022-04-28 06:45:43,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:45:43,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:45:43,710 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:45:43,710 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1283086945] [2022-04-28 06:45:43,710 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:45:43,710 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:45:43,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:45:43,711 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:45:43,712 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:45:43,753 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:45:43,753 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:45:43,754 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 06:45:43,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:45:43,765 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:45:44,287 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-28 06:45:44,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {6645#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); {6645#true} is VALID [2022-04-28 06:45:44,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 06:45:44,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-28 06:45:44,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-28 06:45:44,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {6645#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; {6645#true} is VALID [2022-04-28 06:45:44,288 INFO L272 TraceCheckUtils]: 6: Hoare triple {6645#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {6645#true} is VALID [2022-04-28 06:45:44,288 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6671#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:45:44,289 INFO L290 TraceCheckUtils]: 8: Hoare triple {6671#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6675#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:45:44,289 INFO L290 TraceCheckUtils]: 9: Hoare triple {6675#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6675#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:45:44,290 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6675#(not (= |assume_abort_if_not_#in~cond| 0))} {6645#true} #78#return; {6682#(and (<= 0 main_~A~0) (<= main_~A~0 1))} is VALID [2022-04-28 06:45:44,290 INFO L290 TraceCheckUtils]: 11: Hoare triple {6682#(and (<= 0 main_~A~0) (<= main_~A~0 1))} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-28 06:45:44,290 INFO L290 TraceCheckUtils]: 12: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} assume !false; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-28 06:45:44,290 INFO L272 TraceCheckUtils]: 13: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 06:45:44,290 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 06:45:44,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 06:45:44,291 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 06:45:44,291 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6645#true} {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} #80#return; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-28 06:45:44,291 INFO L272 TraceCheckUtils]: 18: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 06:45:44,291 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 06:45:44,291 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 06:45:44,291 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 06:45:44,292 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6645#true} {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} #82#return; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-28 06:45:44,292 INFO L272 TraceCheckUtils]: 23: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 06:45:44,292 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 06:45:44,292 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 06:45:44,292 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 06:45:44,293 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6645#true} {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} #84#return; {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-28 06:45:44,293 INFO L290 TraceCheckUtils]: 28: Hoare triple {6686#(and (<= main_~r~0 1) (<= 1 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-28 06:45:44,294 INFO L290 TraceCheckUtils]: 29: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} assume !false; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-28 06:45:44,294 INFO L272 TraceCheckUtils]: 30: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 06:45:44,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 06:45:44,294 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 06:45:44,294 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 06:45:44,294 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6645#true} {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} #80#return; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-28 06:45:44,294 INFO L272 TraceCheckUtils]: 35: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 06:45:44,294 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 06:45:44,295 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 06:45:44,295 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 06:45:44,295 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6645#true} {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} #82#return; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-28 06:45:44,295 INFO L272 TraceCheckUtils]: 40: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 06:45:44,295 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 06:45:44,295 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 06:45:44,295 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 06:45:44,296 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6645#true} {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} #84#return; {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-28 06:45:44,296 INFO L290 TraceCheckUtils]: 45: Hoare triple {6738#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6646#false} is VALID [2022-04-28 06:45:44,296 INFO L290 TraceCheckUtils]: 46: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-28 06:45:44,296 INFO L272 TraceCheckUtils]: 47: Hoare triple {6646#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6646#false} is VALID [2022-04-28 06:45:44,296 INFO L290 TraceCheckUtils]: 48: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L290 TraceCheckUtils]: 49: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L290 TraceCheckUtils]: 50: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6646#false} {6646#false} #80#return; {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L272 TraceCheckUtils]: 52: Hoare triple {6646#false} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L290 TraceCheckUtils]: 53: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L290 TraceCheckUtils]: 54: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L290 TraceCheckUtils]: 55: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6646#false} {6646#false} #82#return; {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L272 TraceCheckUtils]: 57: Hoare triple {6646#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L290 TraceCheckUtils]: 58: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L290 TraceCheckUtils]: 59: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L290 TraceCheckUtils]: 60: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6646#false} {6646#false} #84#return; {6646#false} is VALID [2022-04-28 06:45:44,297 INFO L290 TraceCheckUtils]: 62: Hoare triple {6646#false} assume !(~r~0 >= ~d~0); {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 63: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L272 TraceCheckUtils]: 64: Hoare triple {6646#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 65: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 66: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 67: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6646#false} {6646#false} #86#return; {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L272 TraceCheckUtils]: 69: Hoare triple {6646#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 70: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 71: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 72: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6646#false} {6646#false} #88#return; {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 74: Hoare triple {6646#false} 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); {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 75: Hoare triple {6646#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L290 TraceCheckUtils]: 76: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-28 06:45:44,298 INFO L272 TraceCheckUtils]: 77: Hoare triple {6646#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6646#false} is VALID [2022-04-28 06:45:44,299 INFO L290 TraceCheckUtils]: 78: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-28 06:45:44,299 INFO L290 TraceCheckUtils]: 79: Hoare triple {6646#false} assume !(0 == ~cond); {6646#false} is VALID [2022-04-28 06:45:44,299 INFO L290 TraceCheckUtils]: 80: Hoare triple {6646#false} assume true; {6646#false} is VALID [2022-04-28 06:45:44,299 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6646#false} {6646#false} #86#return; {6646#false} is VALID [2022-04-28 06:45:44,299 INFO L272 TraceCheckUtils]: 82: Hoare triple {6646#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6646#false} is VALID [2022-04-28 06:45:44,299 INFO L290 TraceCheckUtils]: 83: Hoare triple {6646#false} ~cond := #in~cond; {6646#false} is VALID [2022-04-28 06:45:44,299 INFO L290 TraceCheckUtils]: 84: Hoare triple {6646#false} assume 0 == ~cond; {6646#false} is VALID [2022-04-28 06:45:44,299 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-28 06:45:44,300 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 171 proven. 0 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2022-04-28 06:45:44,300 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:45:44,300 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:45:44,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1077852422] [2022-04-28 06:45:44,300 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:45:44,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1283086945] [2022-04-28 06:45:44,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1283086945] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:45:44,300 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:45:44,300 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:45:44,300 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:45:44,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1510207316] [2022-04-28 06:45:44,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1510207316] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:45:44,301 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:45:44,301 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:45:44,301 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [383004758] [2022-04-28 06:45:44,301 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:45:44,301 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-28 06:45:44,301 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:45:44,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 06:45:44,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:45:44,333 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 06:45:44,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:45:44,333 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 06:45:44,333 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-28 06:45:44,334 INFO L87 Difference]: Start difference. First operand 91 states and 107 transitions. Second operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 06:45:44,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:45:44,519 INFO L93 Difference]: Finished difference Result 91 states and 107 transitions. [2022-04-28 06:45:44,519 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 06:45:44,519 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-28 06:45:44,519 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:45:44,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 06:45:44,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2022-04-28 06:45:44,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 06:45:44,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2022-04-28 06:45:44,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 57 transitions. [2022-04-28 06:45:44,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:45:44,564 INFO L225 Difference]: With dead ends: 91 [2022-04-28 06:45:44,564 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 06:45:44,564 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:45:44,565 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 4 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:45:44,565 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 103 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:45:44,565 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 06:45:44,565 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 06:45:44,565 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:45:44,565 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 06:45:44,566 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 06:45:44,566 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 06:45:44,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:45:44,566 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 06:45:44,566 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 06:45:44,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:45:44,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:45:44,566 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 06:45:44,566 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 06:45:44,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:45:44,566 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 06:45:44,566 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 06:45:44,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:45:44,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:45:44,566 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:45:44,566 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:45:44,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 06:45:44,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 06:45:44,567 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-28 06:45:44,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:45:44,567 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 06:45:44,567 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 06:45:44,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 06:45:44,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:45:44,567 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 06:45:44,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:45:44,569 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 06:45:44,588 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:45:44,788 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,SelfDestructingSolverStorable10 [2022-04-28 06:45:44,790 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 06:45:45,559 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-28 06:45:45,560 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-28 06:45:45,560 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-28 06:45:45,560 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-28 06:45:45,560 INFO L895 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 06:45:45,560 INFO L895 garLoopResultBuilder]: At program point L12-2(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 06:45:45,560 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 06:45:45,560 INFO L895 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: (and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1)) [2022-04-28 06:45:45,560 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 22 61) the Hoare annotation is: true [2022-04-28 06:45:45,560 INFO L895 garLoopResultBuilder]: At program point L52(lines 52 55) the Hoare annotation is: (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)) [2022-04-28 06:45:45,560 INFO L895 garLoopResultBuilder]: At program point L52-2(lines 22 61) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4))) [2022-04-28 06:45:45,560 INFO L895 garLoopResultBuilder]: At program point L46(lines 44 56) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4))) [2022-04-28 06:45:45,560 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 22 61) the Hoare annotation is: true [2022-04-28 06:45:45,560 INFO L895 garLoopResultBuilder]: At program point L44-1(lines 44 56) the Hoare annotation is: (let ((.cse0 (= main_~B~0 1)) (.cse1 (= main_~B~0 main_~d~0)) (.cse2 (= main_~p~0 1))) (or (and (= main_~A~0 main_~r~0) (= main_~q~0 0) .cse0 .cse1 .cse2) (and (= (+ main_~d~0 main_~r~0) main_~A~0) .cse0 (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse1 .cse2))) [2022-04-28 06:45:45,561 INFO L895 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-28 06:45:45,561 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 42) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-28 06:45:45,561 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-28 06:45:45,561 INFO L902 garLoopResultBuilder]: At program point L59(line 59) the Hoare annotation is: true [2022-04-28 06:45:45,561 INFO L902 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-28 06:45:45,561 INFO L895 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (and (<= 0 main_~A~0) (<= main_~A~0 1)) [2022-04-28 06:45:45,561 INFO L895 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4))) [2022-04-28 06:45:45,561 INFO L895 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4))) [2022-04-28 06:45:45,561 INFO L895 garLoopResultBuilder]: At program point L37(lines 34 42) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-28 06:45:45,561 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-28 06:45:45,561 INFO L895 garLoopResultBuilder]: At program point L35-1(line 35) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-28 06:45:45,561 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 06:45:45,561 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 06:45:45,561 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 06:45:45,561 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 06:45:45,561 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 06:45:45,561 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 06:45:45,562 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 06:45:45,562 INFO L895 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 06:45:45,562 INFO L895 garLoopResultBuilder]: At program point L15(lines 15 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 06:45:45,562 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-28 06:45:45,562 INFO L895 garLoopResultBuilder]: At program point L15-2(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 06:45:45,562 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 06:45:45,562 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 06:45:45,564 INFO L356 BasicCegarLoop]: Path program histogram: [8, 2, 2, 2, 2, 2, 2, 2] [2022-04-28 06:45:45,565 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 06:45:45,566 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 06:45:45,572 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 06:45:45,588 INFO L163 areAnnotationChecker]: CFG has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 06:45:45,595 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 06:45:45 BoogieIcfgContainer [2022-04-28 06:45:45,595 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 06:45:45,596 INFO L158 Benchmark]: Toolchain (without parser) took 175342.55ms. Allocated memory was 195.0MB in the beginning and 239.1MB in the end (delta: 44.0MB). Free memory was 144.6MB in the beginning and 106.4MB in the end (delta: 38.2MB). Peak memory consumption was 83.7MB. Max. memory is 8.0GB. [2022-04-28 06:45:45,596 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 195.0MB. Free memory was 161.4MB in the beginning and 161.4MB in the end (delta: 77.1kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 06:45:45,596 INFO L158 Benchmark]: CACSL2BoogieTranslator took 201.11ms. Allocated memory is still 195.0MB. Free memory was 144.4MB in the beginning and 171.2MB in the end (delta: -26.8MB). Peak memory consumption was 12.9MB. Max. memory is 8.0GB. [2022-04-28 06:45:45,596 INFO L158 Benchmark]: Boogie Preprocessor took 21.71ms. Allocated memory is still 195.0MB. Free memory was 171.2MB in the beginning and 169.7MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 06:45:45,596 INFO L158 Benchmark]: RCFGBuilder took 332.54ms. Allocated memory is still 195.0MB. Free memory was 169.7MB in the beginning and 158.1MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 06:45:45,597 INFO L158 Benchmark]: TraceAbstraction took 174783.51ms. Allocated memory was 195.0MB in the beginning and 239.1MB in the end (delta: 44.0MB). Free memory was 157.6MB in the beginning and 107.0MB in the end (delta: 50.7MB). Peak memory consumption was 93.9MB. Max. memory is 8.0GB. [2022-04-28 06:45:45,598 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 195.0MB. Free memory was 161.4MB in the beginning and 161.4MB in the end (delta: 77.1kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 201.11ms. Allocated memory is still 195.0MB. Free memory was 144.4MB in the beginning and 171.2MB in the end (delta: -26.8MB). Peak memory consumption was 12.9MB. Max. memory is 8.0GB. * Boogie Preprocessor took 21.71ms. Allocated memory is still 195.0MB. Free memory was 171.2MB in the beginning and 169.7MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 332.54ms. Allocated memory is still 195.0MB. Free memory was 169.7MB in the beginning and 158.1MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 174783.51ms. Allocated memory was 195.0MB in the beginning and 239.1MB in the end (delta: 44.0MB). Free memory was 157.6MB in the beginning and 107.0MB in the end (delta: 50.7MB). Peak memory consumption was 93.9MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 38 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 174.7s, OverallIterations: 11, TraceHistogramMax: 13, PathProgramHistogramMax: 8, EmptinessCheckTime: 0.0s, AutomataDifference: 6.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.8s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 223 SdHoareTripleChecker+Valid, 1.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 177 mSDsluCounter, 1222 SdHoareTripleChecker+Invalid, 1.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 843 mSDsCounter, 148 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1308 IncrementalHoareTripleChecker+Invalid, 1456 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 148 mSolverCounterUnsat, 379 mSDtfsCounter, 1308 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 852 GetRequests, 755 SyntacticMatches, 10 SemanticMatches, 87 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 107 ImplicationChecksByTransitivity, 2.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=103occurred in iteration=8, InterpolantAutomatonStates: 70, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.4s AutomataMinimizationTime, 11 MinimizatonAttempts, 23 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 35 LocationsWithAnnotation, 389 PreInvPairs, 507 NumberOfFragments, 598 HoareAnnotationTreeSize, 389 FomulaSimplifications, 240 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 35 FomulaSimplificationsInter, 645 FormulaSimplificationTreeSizeReductionInter, 0.6s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: ((((((0 <= A && A == r) && A <= 1) && q == 0) && B == 1) && B == d) && p == 1) || ((((((0 <= A && A == r) && B * 2 == d) && p == 2) && A <= 1) && q == 0) && B == 1) - ProcedureContractResult [Line: 11]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 22]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 14]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 06:45:45,621 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...