/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_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 06:50:02,502 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 06:50:02,505 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 06:50:02,570 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 06:50:02,570 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 06:50:02,571 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 06:50:02,572 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 06:50:02,572 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 06:50:02,573 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 06:50:02,574 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 06:50:02,574 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 06:50:02,591 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 06:50:02,592 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 06:50:02,592 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 06:50:02,593 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 06:50:02,593 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 06:50:02,594 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 06:50:02,594 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 06:50:02,595 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 06:50:02,596 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 06:50:02,597 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 06:50:02,598 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 06:50:02,598 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 06:50:02,599 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 06:50:02,600 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 06:50:02,602 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 06:50:02,602 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 06:50:02,602 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 06:50:02,603 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 06:50:02,603 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 06:50:02,604 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 06:50:02,604 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 06:50:02,605 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 06:50:02,605 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 06:50:02,606 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 06:50:02,607 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 06:50:02,607 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 06:50:02,607 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 06:50:02,608 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 06:50:02,608 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 06:50:02,608 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 06:50:02,609 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 06:50:02,610 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 06:50:02,617 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 06:50:02,617 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 06:50:02,618 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 06:50:02,618 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 06:50:02,618 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 06:50:02,619 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 06:50:02,619 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 06:50:02,619 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 06:50:02,619 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 06:50:02,619 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 06:50:02,620 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 06:50:02,620 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 06:50:02,620 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 06:50:02,620 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 06:50:02,620 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 06:50:02,620 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 06:50:02,621 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 06:50:02,621 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 06:50:02,621 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:50:02,621 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 06:50:02,621 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 06:50:02,621 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 06:50:02,622 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 06:50:02,622 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 06:50:02,622 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 06:50:02,622 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-08 06:50:02,826 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 06:50:02,849 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 06:50:02,851 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 06:50:02,852 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 06:50:02,852 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 06:50:02,853 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound2.c [2022-04-08 06:50:02,900 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ff0781b20/99158095cfcd4b8eaffbc9abaf165c14/FLAG0e9dc0bf0 [2022-04-08 06:50:03,212 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 06:50:03,212 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound2.c [2022-04-08 06:50:03,223 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ff0781b20/99158095cfcd4b8eaffbc9abaf165c14/FLAG0e9dc0bf0 [2022-04-08 06:50:03,635 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ff0781b20/99158095cfcd4b8eaffbc9abaf165c14 [2022-04-08 06:50:03,637 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 06:50:03,639 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 06:50:03,641 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 06:50:03,641 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 06:50:03,644 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 06:50:03,645 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,646 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3b8d6c52 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03, skipping insertion in model container [2022-04-08 06:50:03,647 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,652 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 06:50:03,666 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 06:50:03,792 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_valuebound2.c[526,539] [2022-04-08 06:50:03,812 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:50:03,817 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 06:50:03,833 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_valuebound2.c[526,539] [2022-04-08 06:50:03,838 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:50:03,850 INFO L208 MainTranslator]: Completed translation [2022-04-08 06:50:03,851 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03 WrapperNode [2022-04-08 06:50:03,851 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 06:50:03,852 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 06:50:03,852 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 06:50:03,852 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 06:50:03,861 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,861 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,883 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,884 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,889 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,893 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,893 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,895 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 06:50:03,896 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 06:50:03,896 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 06:50:03,896 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 06:50:03,908 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03" (1/1) ... [2022-04-08 06:50:03,915 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:50:03,926 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:03,938 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-08 06:50:03,939 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-08 06:50:03,964 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 06:50:03,964 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 06:50:03,964 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 06:50:03,964 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 06:50:03,964 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 06:50:03,964 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 06:50:03,964 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 06:50:03,964 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 06:50:03,965 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 06:50:03,965 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 06:50:03,965 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 06:50:03,965 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 06:50:03,965 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 06:50:03,965 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 06:50:03,965 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 06:50:03,965 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 06:50:03,965 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 06:50:03,966 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 06:50:03,966 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 06:50:03,966 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 06:50:04,020 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 06:50:04,023 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 06:50:04,199 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 06:50:04,205 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 06:50:04,206 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 06:50:04,207 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:50:04 BoogieIcfgContainer [2022-04-08 06:50:04,207 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 06:50:04,209 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 06:50:04,209 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 06:50:04,212 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 06:50:04,213 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 06:50:03" (1/3) ... [2022-04-08 06:50:04,213 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@325c2492 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:50:04, skipping insertion in model container [2022-04-08 06:50:04,214 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:03" (2/3) ... [2022-04-08 06:50:04,214 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@325c2492 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:50:04, skipping insertion in model container [2022-04-08 06:50:04,214 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:50:04" (3/3) ... [2022-04-08 06:50:04,215 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound2.c [2022-04-08 06:50:04,219 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 06:50:04,219 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 06:50:04,278 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 06:50:04,296 INFO L340 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 [2022-04-08 06:50:04,296 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 06:50:04,319 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-08 06:50:04,324 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 06:50:04,324 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:04,325 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:50:04,325 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:04,331 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:04,332 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-08 06:50:04,337 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:04,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1717444644] [2022-04-08 06:50:04,347 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:04,348 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 2 times [2022-04-08 06:50:04,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:04,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1311313595] [2022-04-08 06:50:04,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:04,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:04,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:04,498 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:50:04,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:04,518 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-08 06:50:04,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 06:50:04,519 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 06:50:04,519 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:50:04,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:04,528 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 06:50:04,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 06:50:04,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 06:50:04,529 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 06:50:04,530 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-08 06:50:04,531 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-08 06:50:04,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 06:50:04,532 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 06:50:04,532 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-08 06:50:04,532 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-08 06:50:04,532 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {38#true} is VALID [2022-04-08 06:50:04,533 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 06:50:04,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 06:50:04,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 06:50:04,534 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 06:50:04,534 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-08 06:50:04,534 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 06:50:04,534 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-08 06:50:04,535 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-08 06:50:04,536 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-08 06:50:04,536 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 06:50:04,536 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-08 06:50:04,537 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:04,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1311313595] [2022-04-08 06:50:04,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1311313595] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:04,538 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:04,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:50:04,541 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:04,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1717444644] [2022-04-08 06:50:04,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1717444644] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:04,542 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:04,542 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:50:04,542 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1863866978] [2022-04-08 06:50:04,542 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:04,546 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-08 06:50:04,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:04,549 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-08 06:50:04,576 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-08 06:50:04,576 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 06:50:04,577 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:04,594 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 06:50:04,595 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 06:50:04,597 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-08 06:50:04,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:04,750 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-08 06:50:04,750 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 06:50:04,751 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-08 06:50:04,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:04,752 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-08 06:50:04,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 06:50:04,764 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-08 06:50:04,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 06:50:04,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-08 06:50:04,872 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-08 06:50:04,879 INFO L225 Difference]: With dead ends: 61 [2022-04-08 06:50:04,879 INFO L226 Difference]: Without dead ends: 30 [2022-04-08 06:50:04,882 INFO L912 BasicCegarLoop]: 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-08 06:50:04,885 INFO L913 BasicCegarLoop]: 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-08 06:50:04,886 INFO L914 BasicCegarLoop]: 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-08 06:50:04,897 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-08 06:50:04,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-08 06:50:04,916 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:04,917 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-08 06:50:04,918 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-08 06:50:04,918 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-08 06:50:04,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:04,923 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 06:50:04,923 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 06:50:04,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:04,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:04,924 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-08 06:50:04,925 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-08 06:50:04,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:04,930 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 06:50:04,932 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 06:50:04,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:04,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:04,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:04,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:04,937 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-08 06:50:04,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-08 06:50:04,941 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-08 06:50:04,941 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:04,941 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-08 06:50:04,942 INFO L479 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-08 06:50:04,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 38 transitions. [2022-04-08 06:50:04,983 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-08 06:50:04,984 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 06:50:04,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 06:50:04,984 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:04,984 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:50:04,984 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 06:50:04,985 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:04,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:04,985 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-08 06:50:04,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:04,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1811465672] [2022-04-08 06:50:04,992 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:04,992 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 2 times [2022-04-08 06:50:04,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:04,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [957949321] [2022-04-08 06:50:04,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:04,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:05,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:05,099 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:50:05,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:05,114 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-08 06:50:05,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 06:50:05,115 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 06:50:05,115 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:50:05,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:05,122 INFO L290 TraceCheckUtils]: 0: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 06:50:05,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 06:50:05,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 06:50:05,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 06:50:05,124 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-08 06:50:05,124 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-08 06:50:05,124 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 06:50:05,124 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 06:50:05,124 INFO L272 TraceCheckUtils]: 4: Hoare triple {292#true} call #t~ret5 := main(); {292#true} is VALID [2022-04-08 06:50:05,124 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-08 06:50:05,124 INFO L272 TraceCheckUtils]: 6: Hoare triple {292#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {292#true} is VALID [2022-04-08 06:50:05,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 06:50:05,125 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 06:50:05,125 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 06:50:05,125 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 06:50:05,125 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-08 06:50:05,126 INFO L290 TraceCheckUtils]: 12: Hoare triple {301#(= main_~q~0 0)} assume !false; {301#(= main_~q~0 0)} is VALID [2022-04-08 06:50:05,126 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-08 06:50:05,127 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-08 06:50:05,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {303#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {293#false} is VALID [2022-04-08 06:50:05,128 INFO L290 TraceCheckUtils]: 16: Hoare triple {293#false} assume !false; {293#false} is VALID [2022-04-08 06:50:05,128 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-08 06:50:05,129 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:05,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [957949321] [2022-04-08 06:50:05,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [957949321] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:05,131 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:05,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:50:05,132 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:05,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1811465672] [2022-04-08 06:50:05,133 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1811465672] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:05,133 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:05,133 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:50:05,133 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1950449291] [2022-04-08 06:50:05,133 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:05,134 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-08 06:50:05,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:05,134 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-08 06:50:05,148 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-08 06:50:05,148 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:50:05,148 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:05,149 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:50:05,149 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:50:05,149 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-08 06:50:05,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:05,539 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-08 06:50:05,539 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:50:05,540 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-08 06:50:05,540 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:05,540 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-08 06:50:05,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 06:50:05,541 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-08 06:50:05,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 06:50:05,543 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 06:50:05,594 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-08 06:50:05,596 INFO L225 Difference]: With dead ends: 43 [2022-04-08 06:50:05,596 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 06:50:05,596 INFO L912 BasicCegarLoop]: 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-08 06:50:05,597 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 37 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:50:05,597 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 45 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:50:05,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 06:50:05,602 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-08 06:50:05,602 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:05,603 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-08 06:50:05,603 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-08 06:50:05,603 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-08 06:50:05,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:05,605 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 06:50:05,605 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 06:50:05,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:05,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:05,606 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-08 06:50:05,606 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-08 06:50:05,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:05,608 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 06:50:05,608 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 06:50:05,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:05,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:05,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:05,609 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:05,609 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-08 06:50:05,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-08 06:50:05,611 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-08 06:50:05,611 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:05,611 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-08 06:50:05,611 INFO L479 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-08 06:50:05,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 41 transitions. [2022-04-08 06:50:05,646 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-08 06:50:05,646 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-08 06:50:05,646 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 06:50:05,646 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:05,647 INFO L499 BasicCegarLoop]: 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-08 06:50:05,647 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 06:50:05,647 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:05,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:05,647 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-08 06:50:05,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:05,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1737427468] [2022-04-08 06:50:05,648 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:05,648 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 2 times [2022-04-08 06:50:05,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:05,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1968126377] [2022-04-08 06:50:05,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:05,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:05,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:05,691 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:50:05,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:05,707 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-08 06:50:05,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:05,707 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 06:50:05,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:50:05,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:05,716 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 06:50:05,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 06:50:05,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:05,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 06:50:05,717 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 06:50:05,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:05,722 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 06:50:05,722 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 06:50:05,722 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:05,724 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-08 06:50:05,725 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-08 06:50:05,725 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-08 06:50:05,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:05,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 06:50:05,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} call #t~ret5 := main(); {551#true} is VALID [2022-04-08 06:50:05,725 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-08 06:50:05,725 INFO L272 TraceCheckUtils]: 6: Hoare triple {551#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {551#true} is VALID [2022-04-08 06:50:05,726 INFO L290 TraceCheckUtils]: 7: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 06:50:05,726 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 06:50:05,726 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:05,726 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 06:50:05,726 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-08 06:50:05,726 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-08 06:50:05,727 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-08 06:50:05,727 INFO L290 TraceCheckUtils]: 14: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 06:50:05,727 INFO L290 TraceCheckUtils]: 15: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 06:50:05,727 INFO L290 TraceCheckUtils]: 16: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:05,727 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-08 06:50:05,728 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-08 06:50:05,728 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-08 06:50:05,729 INFO L290 TraceCheckUtils]: 20: Hoare triple {566#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {552#false} is VALID [2022-04-08 06:50:05,729 INFO L290 TraceCheckUtils]: 21: Hoare triple {552#false} assume !false; {552#false} is VALID [2022-04-08 06:50:05,729 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-08 06:50:05,729 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:05,729 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1968126377] [2022-04-08 06:50:05,729 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1968126377] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:05,729 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:05,730 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:50:05,730 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:05,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1737427468] [2022-04-08 06:50:05,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1737427468] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:05,730 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:05,730 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:50:05,730 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1143684334] [2022-04-08 06:50:05,730 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:05,730 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-08 06:50:05,731 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:05,731 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-08 06:50:05,744 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-08 06:50:05,744 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:50:05,744 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:05,745 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:50:05,745 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:50:05,745 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-08 06:50:06,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:06,100 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-08 06:50:06,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:50:06,100 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-08 06:50:06,101 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:06,101 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-08 06:50:06,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 06:50:06,102 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-08 06:50:06,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 06:50:06,103 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 06:50:06,148 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-08 06:50:06,150 INFO L225 Difference]: With dead ends: 47 [2022-04-08 06:50:06,150 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 06:50:06,150 INFO L912 BasicCegarLoop]: 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-08 06:50:06,151 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 32 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:50:06,151 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:50:06,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 06:50:06,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-08 06:50:06,155 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:06,156 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-08 06:50:06,156 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-08 06:50:06,156 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-08 06:50:06,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:06,158 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 06:50:06,158 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 06:50:06,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:06,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:06,159 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-08 06:50:06,159 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-08 06:50:06,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:06,169 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 06:50:06,169 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 06:50:06,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:06,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:06,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:06,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:06,170 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-08 06:50:06,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-08 06:50:06,171 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-08 06:50:06,171 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:06,172 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-08 06:50:06,172 INFO L479 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-08 06:50:06,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 44 transitions. [2022-04-08 06:50:06,230 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-08 06:50:06,230 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 06:50:06,231 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 06:50:06,231 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:06,231 INFO L499 BasicCegarLoop]: 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-08 06:50:06,231 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 06:50:06,231 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:06,231 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:06,231 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-08 06:50:06,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:06,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1386506534] [2022-04-08 06:50:06,232 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:06,232 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 2 times [2022-04-08 06:50:06,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:06,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [322235258] [2022-04-08 06:50:06,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:06,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:06,254 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:06,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1467013017] [2022-04-08 06:50:06,257 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:50:06,257 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:06,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:06,260 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-08 06:50:06,261 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-08 06:50:06,295 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:50:06,296 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:06,297 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 06:50:06,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:06,310 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:50:06,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {838#true} call ULTIMATE.init(); {838#true} is VALID [2022-04-08 06:50:06,513 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-08 06:50:06,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 06:50:06,513 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {838#true} {838#true} #94#return; {838#true} is VALID [2022-04-08 06:50:06,513 INFO L272 TraceCheckUtils]: 4: Hoare triple {838#true} call #t~ret5 := main(); {838#true} is VALID [2022-04-08 06:50:06,513 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-08 06:50:06,513 INFO L272 TraceCheckUtils]: 6: Hoare triple {838#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {838#true} is VALID [2022-04-08 06:50:06,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 06:50:06,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 06:50:06,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 06:50:06,514 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#true} {838#true} #78#return; {838#true} is VALID [2022-04-08 06:50:06,514 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-08 06:50:06,515 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-08 06:50:06,515 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-08 06:50:06,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 06:50:06,515 INFO L290 TraceCheckUtils]: 15: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 06:50:06,515 INFO L290 TraceCheckUtils]: 16: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 06:50:06,516 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-08 06:50:06,516 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-08 06:50:06,516 INFO L290 TraceCheckUtils]: 19: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 06:50:06,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 06:50:06,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 06:50:06,517 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-08 06:50:06,518 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-08 06:50:06,518 INFO L290 TraceCheckUtils]: 24: Hoare triple {913#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {917#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:06,518 INFO L290 TraceCheckUtils]: 25: Hoare triple {917#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {839#false} is VALID [2022-04-08 06:50:06,518 INFO L290 TraceCheckUtils]: 26: Hoare triple {839#false} assume !false; {839#false} is VALID [2022-04-08 06:50:06,519 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-08 06:50:06,519 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:50:06,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:06,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [322235258] [2022-04-08 06:50:06,519 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:50:06,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1467013017] [2022-04-08 06:50:06,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1467013017] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:06,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:06,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:06,520 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:06,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1386506534] [2022-04-08 06:50:06,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1386506534] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:06,520 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:06,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:06,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1088403130] [2022-04-08 06:50:06,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:06,521 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-08 06:50:06,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:06,521 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-08 06:50:06,537 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-08 06:50:06,537 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:50:06,537 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:06,538 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:50:06,538 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:50:06,538 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-08 06:50:06,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:06,722 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-08 06:50:06,722 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:50:06,722 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-08 06:50:06,722 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:06,722 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-08 06:50:06,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 06:50:06,724 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-08 06:50:06,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 06:50:06,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-08 06:50:06,766 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-08 06:50:06,767 INFO L225 Difference]: With dead ends: 66 [2022-04-08 06:50:06,767 INFO L226 Difference]: Without dead ends: 52 [2022-04-08 06:50:06,768 INFO L912 BasicCegarLoop]: 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-08 06:50:06,768 INFO L913 BasicCegarLoop]: 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-08 06:50:06,768 INFO L914 BasicCegarLoop]: 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-08 06:50:06,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-08 06:50:06,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-08 06:50:06,782 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:06,782 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-08 06:50:06,783 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-08 06:50:06,783 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-08 06:50:06,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:06,785 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 06:50:06,785 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 06:50:06,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:06,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:06,785 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-08 06:50:06,786 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-08 06:50:06,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:06,787 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 06:50:06,787 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 06:50:06,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:06,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:06,788 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:06,788 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:06,788 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-08 06:50:06,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-08 06:50:06,789 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-08 06:50:06,790 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:06,790 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-08 06:50:06,790 INFO L479 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-08 06:50:06,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 63 transitions. [2022-04-08 06:50:06,858 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-08 06:50:06,858 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 06:50:06,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 06:50:06,858 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:06,859 INFO L499 BasicCegarLoop]: 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-08 06:50:06,877 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 06:50:07,075 WARN L460 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-08 06:50:07,075 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:07,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:07,076 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-08 06:50:07,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:07,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [527563338] [2022-04-08 06:50:07,076 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:07,076 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 2 times [2022-04-08 06:50:07,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:07,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2130917150] [2022-04-08 06:50:07,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:07,077 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:07,087 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:07,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [411360013] [2022-04-08 06:50:07,087 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:50:07,088 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:07,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:07,090 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-08 06:50:07,091 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-08 06:50:07,121 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:50:07,121 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:07,122 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 06:50:07,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:07,128 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:50:07,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {1265#true} call ULTIMATE.init(); {1265#true} is VALID [2022-04-08 06:50:07,251 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-08 06:50:07,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:07,251 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1265#true} {1265#true} #94#return; {1265#true} is VALID [2022-04-08 06:50:07,251 INFO L272 TraceCheckUtils]: 4: Hoare triple {1265#true} call #t~ret5 := main(); {1265#true} is VALID [2022-04-08 06:50:07,252 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-08 06:50:07,252 INFO L272 TraceCheckUtils]: 6: Hoare triple {1265#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {1265#true} is VALID [2022-04-08 06:50:07,252 INFO L290 TraceCheckUtils]: 7: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 06:50:07,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 06:50:07,252 INFO L290 TraceCheckUtils]: 9: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:07,252 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1265#true} {1265#true} #78#return; {1265#true} is VALID [2022-04-08 06:50:07,253 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-08 06:50:07,254 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-08 06:50:07,254 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-08 06:50:07,254 INFO L290 TraceCheckUtils]: 14: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 06:50:07,254 INFO L290 TraceCheckUtils]: 15: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 06:50:07,254 INFO L290 TraceCheckUtils]: 16: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:07,256 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-08 06:50:07,257 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-08 06:50:07,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 06:50:07,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 06:50:07,257 INFO L290 TraceCheckUtils]: 21: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:07,263 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-08 06:50:07,264 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-08 06:50:07,264 INFO L290 TraceCheckUtils]: 24: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 06:50:07,264 INFO L290 TraceCheckUtils]: 25: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 06:50:07,264 INFO L290 TraceCheckUtils]: 26: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:07,264 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-08 06:50:07,265 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-08 06:50:07,265 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-08 06:50:07,266 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-08 06:50:07,266 INFO L290 TraceCheckUtils]: 31: Hoare triple {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:07,266 INFO L290 TraceCheckUtils]: 32: Hoare triple {1365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1266#false} is VALID [2022-04-08 06:50:07,266 INFO L290 TraceCheckUtils]: 33: Hoare triple {1266#false} assume !false; {1266#false} is VALID [2022-04-08 06:50:07,267 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-08 06:50:07,267 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:50:07,267 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:07,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2130917150] [2022-04-08 06:50:07,267 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:50:07,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [411360013] [2022-04-08 06:50:07,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [411360013] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:07,267 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:07,267 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:07,267 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:07,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [527563338] [2022-04-08 06:50:07,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [527563338] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:07,268 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:07,268 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:07,268 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1868977141] [2022-04-08 06:50:07,268 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:07,268 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-08 06:50:07,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:07,268 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-08 06:50:07,283 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-08 06:50:07,284 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:50:07,284 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:07,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:50:07,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:50:07,284 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-08 06:50:07,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:07,451 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 06:50:07,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:50:07,451 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-08 06:50:07,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:07,452 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-08 06:50:07,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 06:50:07,453 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-08 06:50:07,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 06:50:07,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 06:50:07,494 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-08 06:50:07,496 INFO L225 Difference]: With dead ends: 65 [2022-04-08 06:50:07,496 INFO L226 Difference]: Without dead ends: 58 [2022-04-08 06:50:07,496 INFO L912 BasicCegarLoop]: 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-08 06:50:07,498 INFO L913 BasicCegarLoop]: 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-08 06:50:07,498 INFO L914 BasicCegarLoop]: 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-08 06:50:07,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-08 06:50:07,519 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-08 06:50:07,519 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:07,519 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-08 06:50:07,520 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-08 06:50:07,520 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-08 06:50:07,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:07,522 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 06:50:07,522 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 06:50:07,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:07,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:07,522 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-08 06:50:07,523 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-08 06:50:07,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:07,529 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 06:50:07,529 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 06:50:07,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:07,529 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:07,530 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:07,530 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:07,530 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-08 06:50:07,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-08 06:50:07,532 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-08 06:50:07,532 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:07,532 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-08 06:50:07,532 INFO L479 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-08 06:50:07,532 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 69 transitions. [2022-04-08 06:50:07,581 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-08 06:50:07,582 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-08 06:50:07,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 06:50:07,583 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:07,583 INFO L499 BasicCegarLoop]: 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-08 06:50:07,603 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-08 06:50:07,801 WARN L460 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-08 06:50:07,802 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:07,802 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:07,802 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-08 06:50:07,802 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:07,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1635770635] [2022-04-08 06:50:11,937 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:50:11,937 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:50:11,937 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:50:11,937 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 2 times [2022-04-08 06:50:11,937 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:11,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [186795763] [2022-04-08 06:50:11,938 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:11,938 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:11,967 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:11,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [612317012] [2022-04-08 06:50:11,967 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:50:11,967 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:11,968 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:11,974 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-08 06:50:11,974 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-08 06:50:12,019 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:50:12,019 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:12,020 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 06:50:12,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:12,028 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:50:12,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 06:50:12,225 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-08 06:50:12,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 06:50:12,226 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-08 06:50:12,226 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-08 06:50:12,226 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {1733#true} is VALID [2022-04-08 06:50:12,226 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,226 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,226 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,226 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 06:50:12,226 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-08 06:50:12,227 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-08 06:50:12,227 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-08 06:50:12,227 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,227 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,227 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,228 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-08 06:50:12,228 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-08 06:50:12,228 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,228 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,228 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,229 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-08 06:50:12,229 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-08 06:50:12,229 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,229 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,229 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,230 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-08 06:50:12,232 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-08 06:50:12,232 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-08 06:50:12,232 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-08 06:50:12,232 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,232 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,232 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,233 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-08 06:50:12,234 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-08 06:50:12,234 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,234 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,234 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,234 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-08 06:50:12,235 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-08 06:50:12,235 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:12,235 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 06:50:12,235 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 06:50:12,236 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-08 06:50:12,236 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:50:12,396 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 06:50:12,397 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 06:50:12,400 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:12,400 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-08 06:50:12,401 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-08 06:50:12,401 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,401 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,401 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,401 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-08 06:50:12,402 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-08 06:50:12,402 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,402 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,402 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,402 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-08 06:50:12,403 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-08 06:50:12,405 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-08 06:50:12,405 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-08 06:50:12,405 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,405 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,405 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,406 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-08 06:50:12,406 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-08 06:50:12,406 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,406 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,406 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,406 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-08 06:50:12,407 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-08 06:50:12,407 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,407 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-08 06:50:12,408 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-08 06:50:12,408 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-08 06:50:12,408 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 06:50:12,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:12,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:12,408 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {1733#true} is VALID [2022-04-08 06:50:12,408 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-08 06:50:12,408 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-08 06:50:12,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 06:50:12,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:12,409 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-08 06:50:12,409 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 06:50:12,409 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-08 06:50:12,409 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:12,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [186795763] [2022-04-08 06:50:12,409 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:50:12,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [612317012] [2022-04-08 06:50:12,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [612317012] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 06:50:12,409 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:50:12,409 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-08 06:50:12,410 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:12,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1635770635] [2022-04-08 06:50:12,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1635770635] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:12,410 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:12,410 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:12,410 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1989962536] [2022-04-08 06:50:12,410 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:12,410 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-08 06:50:12,410 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:12,411 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-08 06:50:12,435 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-08 06:50:12,435 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:50:12,435 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:12,435 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:50:12,435 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 06:50:12,435 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-08 06:50:14,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:14,636 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-08 06:50:14,636 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:50:14,636 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-08 06:50:14,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:14,636 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-08 06:50:14,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 06:50:14,637 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-08 06:50:14,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 06:50:14,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 06:50:14,683 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-08 06:50:14,684 INFO L225 Difference]: With dead ends: 69 [2022-04-08 06:50:14,684 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 06:50:14,685 INFO L912 BasicCegarLoop]: 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-08 06:50:14,685 INFO L913 BasicCegarLoop]: 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-08 06:50:14,685 INFO L914 BasicCegarLoop]: 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-08 06:50:14,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 06:50:14,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-08 06:50:14,708 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:14,708 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-08 06:50:14,708 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-08 06:50:14,709 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-08 06:50:14,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:14,713 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 06:50:14,713 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 06:50:14,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:14,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:14,715 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-08 06:50:14,715 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-08 06:50:14,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:14,717 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 06:50:14,717 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 06:50:14,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:14,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:14,718 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:14,718 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:14,718 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-08 06:50:14,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-08 06:50:14,720 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-08 06:50:14,720 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:14,720 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-08 06:50:14,720 INFO L479 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-08 06:50:14,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-08 06:50:14,800 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-08 06:50:14,800 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 06:50:14,801 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 06:50:14,801 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:14,801 INFO L499 BasicCegarLoop]: 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-08 06:50:14,828 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-08 06:50:15,015 WARN L460 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-08 06:50:15,016 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:15,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:15,016 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-08 06:50:15,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:15,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [997965890] [2022-04-08 06:50:19,136 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:50:19,136 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:50:19,137 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:50:19,137 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 2 times [2022-04-08 06:50:19,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:19,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [280222663] [2022-04-08 06:50:19,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:19,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:19,146 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:19,147 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [135474866] [2022-04-08 06:50:19,147 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:50:19,147 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:19,147 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:19,151 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-08 06:50:19,152 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-08 06:50:19,191 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:50:19,191 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:19,192 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 06:50:19,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:19,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:50:19,651 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-08 06:50:19,652 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-08 06:50:19,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,652 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-08 06:50:19,652 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-08 06:50:19,652 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-08 06:50:19,652 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {2405#true} is VALID [2022-04-08 06:50:19,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:19,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:19,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,652 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-08 06:50:19,653 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-08 06:50:19,653 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-08 06:50:19,653 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-08 06:50:19,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:19,653 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:19,653 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,654 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-08 06:50:19,654 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-08 06:50:19,654 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:19,654 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:19,654 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,656 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-08 06:50:19,656 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-08 06:50:19,656 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:19,656 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:19,656 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,657 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-08 06:50:19,658 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-08 06:50:19,658 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-08 06:50:19,659 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-08 06:50:19,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:19,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:19,659 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,659 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-08 06:50:19,659 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-08 06:50:19,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:19,660 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:19,660 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,660 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-08 06:50:19,660 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-08 06:50:19,660 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:19,660 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:19,660 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,661 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-08 06:50:19,661 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-08 06:50:19,662 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-08 06:50:19,662 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-08 06:50:19,662 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:19,662 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:19,662 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,663 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-08 06:50:19,663 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-08 06:50:19,663 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:19,663 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:19,663 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:19,663 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-08 06:50:19,664 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-08 06:50:19,664 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-08 06:50:19,665 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-08 06:50:19,665 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-08 06:50:19,665 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:19,666 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-08 06:50:19,666 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-08 06:50:19,666 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-08 06:50:19,666 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:50:28,701 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-08 06:50:28,701 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-08 06:50:28,702 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:28,702 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-08 06:50:28,702 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-08 06:50:28,719 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-08 06:50:28,740 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-08 06:50:28,741 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-08 06:50:28,741 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,741 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:28,741 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:28,741 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-08 06:50:28,742 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-08 06:50:28,742 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,742 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:28,742 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:28,742 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-08 06:50:28,743 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-08 06:50:28,744 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-08 06:50:28,744 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-08 06:50:28,744 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,744 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:28,745 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:28,745 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-08 06:50:28,745 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-08 06:50:28,745 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,745 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:28,745 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:28,746 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-08 06:50:28,746 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-08 06:50:28,746 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,746 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:28,746 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:28,746 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-08 06:50:28,747 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-08 06:50:28,753 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-08 06:50:28,754 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-08 06:50:28,754 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:28,754 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:28,754 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-08 06:50:28,755 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-08 06:50:28,755 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,755 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:28,755 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:28,755 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-08 06:50:28,758 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-08 06:50:28,759 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:28,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:28,759 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-08 06:50:28,759 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-08 06:50:28,759 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-08 06:50:28,760 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-08 06:50:28,760 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:50:28,760 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:50:28,760 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {2405#true} is VALID [2022-04-08 06:50:28,760 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-08 06:50:28,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-08 06:50:28,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-08 06:50:28,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:50:28,760 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-08 06:50:28,760 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-08 06:50:28,761 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-08 06:50:28,761 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:28,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [280222663] [2022-04-08 06:50:28,761 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:50:28,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [135474866] [2022-04-08 06:50:28,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [135474866] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:50:28,761 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:50:28,761 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-08 06:50:28,761 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:28,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [997965890] [2022-04-08 06:50:28,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [997965890] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:28,761 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:28,761 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 06:50:28,762 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [358523716] [2022-04-08 06:50:28,762 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:28,762 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-08 06:50:28,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:28,762 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-08 06:50:28,793 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-08 06:50:28,793 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 06:50:28,794 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:28,794 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 06:50:28,794 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:50:28,794 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-08 06:50:29,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:29,310 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-08 06:50:29,310 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:50:29,310 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-08 06:50:29,310 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:29,310 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-08 06:50:29,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-08 06:50:29,312 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-08 06:50:29,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-08 06:50:29,313 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 107 transitions. [2022-04-08 06:50:29,393 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-08 06:50:29,395 INFO L225 Difference]: With dead ends: 130 [2022-04-08 06:50:29,395 INFO L226 Difference]: Without dead ends: 101 [2022-04-08 06:50:29,395 INFO L912 BasicCegarLoop]: 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-08 06:50:29,396 INFO L913 BasicCegarLoop]: 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-08 06:50:29,396 INFO L914 BasicCegarLoop]: 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-08 06:50:29,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-08 06:50:29,433 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 99. [2022-04-08 06:50:29,433 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:29,434 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-08 06:50:29,434 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-08 06:50:29,434 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-08 06:50:29,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:29,437 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 06:50:29,437 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 06:50:29,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:29,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:29,437 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-08 06:50:29,437 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-08 06:50:29,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:29,440 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 06:50:29,440 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 06:50:29,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:29,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:29,440 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:29,440 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:29,440 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-08 06:50:29,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 117 transitions. [2022-04-08 06:50:29,443 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 117 transitions. Word has length 64 [2022-04-08 06:50:29,443 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:29,443 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 117 transitions. [2022-04-08 06:50:29,443 INFO L479 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-08 06:50:29,443 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 117 transitions. [2022-04-08 06:50:29,557 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-08 06:50:29,557 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2022-04-08 06:50:29,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 06:50:29,557 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:29,558 INFO L499 BasicCegarLoop]: 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-08 06:50:29,575 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-08 06:50:29,771 WARN L460 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-08 06:50:29,771 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:29,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:29,772 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 3 times [2022-04-08 06:50:29,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:29,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1203850116] [2022-04-08 06:50:31,313 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:50:31,313 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:50:31,313 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:50:31,313 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 4 times [2022-04-08 06:50:31,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:31,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1749461993] [2022-04-08 06:50:31,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:31,313 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:31,322 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:31,322 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1306358965] [2022-04-08 06:50:31,322 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:50:31,322 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:31,322 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:31,323 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-08 06:50:31,324 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-08 06:50:31,359 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:50:31,360 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:31,360 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 06:50:31,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:31,371 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:50:31,639 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-08 06:50:31,639 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-08 06:50:31,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-08 06:50:31,640 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-08 06:50:31,640 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-08 06:50:31,640 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {3460#true} is VALID [2022-04-08 06:50:31,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,640 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-08 06:50:31,640 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-08 06:50:31,641 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-08 06:50:31,641 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-08 06:50:31,641 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,641 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,641 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-08 06:50:31,641 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-08 06:50:31,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,642 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,660 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-08 06:50:31,660 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-08 06:50:31,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,660 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,660 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,663 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-08 06:50:31,664 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-08 06:50:31,664 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-08 06:50:31,664 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-08 06:50:31,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,665 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,665 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,665 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-08 06:50:31,665 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-08 06:50:31,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,665 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,665 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,666 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-08 06:50:31,666 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-08 06:50:31,667 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,667 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,667 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,667 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-08 06:50:31,667 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-08 06:50:31,668 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-08 06:50:31,668 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-08 06:50:31,668 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,668 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,668 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,668 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-08 06:50:31,668 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-08 06:50:31,669 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,669 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,669 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,669 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-08 06:50:31,670 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-08 06:50:31,670 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-08 06:50:31,670 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-08 06:50:31,670 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-08 06:50:31,670 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:31,670 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:31,670 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:31,671 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-08 06:50:31,671 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-08 06:50:31,672 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:31,672 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-08 06:50:31,672 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-08 06:50:31,672 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-08 06:50:31,672 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:50:37,455 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-08 06:50:37,456 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-08 06:50:37,457 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:37,457 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-08 06:50:37,458 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-08 06:50:37,458 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,458 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,458 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,458 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-08 06:50:37,459 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-08 06:50:37,459 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-08 06:50:37,471 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-08 06:50:37,472 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-08 06:50:37,472 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,472 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,472 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,472 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-08 06:50:37,472 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-08 06:50:37,472 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,473 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,473 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,473 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-08 06:50:37,474 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-08 06:50:37,474 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-08 06:50:37,475 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-08 06:50:37,475 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,475 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,475 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,475 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-08 06:50:37,476 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-08 06:50:37,476 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,476 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,476 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,476 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-08 06:50:37,476 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-08 06:50:37,476 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,476 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,477 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,477 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-08 06:50:37,477 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-08 06:50:37,482 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-08 06:50:37,483 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-08 06:50:37,483 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,483 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,483 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-08 06:50:37,484 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-08 06:50:37,484 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,484 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,484 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,485 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-08 06:50:37,485 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-08 06:50:37,485 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,485 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,485 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-08 06:50:37,486 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-08 06:50:37,486 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-08 06:50:37,486 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-08 06:50:37,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:50:37,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:50:37,486 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {3460#true} is VALID [2022-04-08 06:50:37,486 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-08 06:50:37,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-08 06:50:37,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-08 06:50:37,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:50:37,486 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-08 06:50:37,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-08 06:50:37,487 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-08 06:50:37,487 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:37,487 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1749461993] [2022-04-08 06:50:37,487 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:50:37,487 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1306358965] [2022-04-08 06:50:37,487 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1306358965] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:50:37,487 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:50:37,487 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 06:50:37,487 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:37,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1203850116] [2022-04-08 06:50:37,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1203850116] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:37,488 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:37,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:50:37,488 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [74080602] [2022-04-08 06:50:37,488 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:37,488 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-08 06:50:37,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:37,488 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-08 06:50:37,518 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-08 06:50:37,518 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:50:37,518 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:37,518 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:50:37,519 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 06:50:37,519 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-08 06:50:37,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:37,817 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2022-04-08 06:50:37,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 06:50:37,817 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-08 06:50:37,817 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:37,818 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-08 06:50:37,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 06:50:37,819 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-08 06:50:37,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 06:50:37,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 93 transitions. [2022-04-08 06:50:37,884 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-08 06:50:37,888 INFO L225 Difference]: With dead ends: 126 [2022-04-08 06:50:37,888 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 06:50:37,888 INFO L912 BasicCegarLoop]: 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-08 06:50:37,888 INFO L913 BasicCegarLoop]: 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-08 06:50:37,889 INFO L914 BasicCegarLoop]: 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-08 06:50:37,889 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 06:50:37,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-08 06:50:37,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:37,928 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-08 06:50:37,928 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-08 06:50:37,928 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-08 06:50:37,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:37,930 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 06:50:37,930 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 06:50:37,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:37,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:37,931 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-08 06:50:37,931 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-08 06:50:37,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:37,933 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 06:50:37,933 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 06:50:37,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:37,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:37,934 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:37,934 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:37,934 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-08 06:50:37,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 118 transitions. [2022-04-08 06:50:37,937 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 118 transitions. Word has length 69 [2022-04-08 06:50:37,937 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:37,937 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 118 transitions. [2022-04-08 06:50:37,937 INFO L479 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-08 06:50:37,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 118 transitions. [2022-04-08 06:50:38,049 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-08 06:50:38,050 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 06:50:38,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 06:50:38,050 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:38,050 INFO L499 BasicCegarLoop]: 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-08 06:50:38,067 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-08 06:50:38,259 WARN L460 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-08 06:50:38,259 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:38,260 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:38,260 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-08 06:50:38,260 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:38,260 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1366986582] [2022-04-08 06:50:42,090 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:50:42,090 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:50:42,090 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:50:42,090 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 2 times [2022-04-08 06:50:42,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:42,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1368746170] [2022-04-08 06:50:42,090 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:42,091 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:42,098 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:42,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [598765940] [2022-04-08 06:50:42,099 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:50:42,099 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:42,099 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:42,102 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-08 06:50:42,103 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-08 06:50:42,154 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:50:42,154 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:42,155 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 06:50:42,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:42,168 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:50:42,706 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-08 06:50:42,706 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-08 06:50:42,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:42,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-08 06:50:42,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-08 06:50:42,706 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-08 06:50:42,706 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {4547#true} is VALID [2022-04-08 06:50:42,706 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:42,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:42,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:42,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-08 06:50:42,709 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-08 06:50:42,710 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-08 06:50:42,710 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-08 06:50:42,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:42,711 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:42,711 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:42,716 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-08 06:50:42,717 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-08 06:50:42,717 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:42,717 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-08 06:50:42,717 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-08 06:50:42,718 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-08 06:50:42,718 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-08 06:50:42,718 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:42,718 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:42,718 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:42,719 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-08 06:50:42,719 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-08 06:50:42,720 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-08 06:50:42,720 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-08 06:50:42,720 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:42,720 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:42,720 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:42,720 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-08 06:50:42,720 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-08 06:50:42,721 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:42,721 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:42,721 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:42,721 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-08 06:50:42,721 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-08 06:50:42,721 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:42,721 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:42,721 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:42,722 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-08 06:50:42,722 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-08 06:50:42,723 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-08 06:50:42,723 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-08 06:50:42,723 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:42,723 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:42,723 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:42,724 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-08 06:50:42,724 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-08 06:50:42,724 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:42,724 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:42,724 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:42,724 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-08 06:50:42,725 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-08 06:50:42,725 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-08 06:50:42,726 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-08 06:50:42,726 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-08 06:50:42,726 INFO L290 TraceCheckUtils]: 61: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:42,726 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-08 06:50:42,727 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-08 06:50:42,728 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-08 06:50:42,728 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-08 06:50:42,728 INFO L290 TraceCheckUtils]: 66: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:42,729 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-08 06:50:42,729 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-08 06:50:42,730 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-08 06:50:42,730 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-08 06:50:42,731 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-08 06:50:42,731 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:42,731 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-08 06:50:42,732 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-08 06:50:42,732 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-08 06:50:42,732 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:50:54,621 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-08 06:50:54,622 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-08 06:50:54,622 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:54,623 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-08 06:50:54,623 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-08 06:50:54,624 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-08 06:50:54,624 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-08 06:50:54,624 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-08 06:50:54,624 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-08 06:50:54,625 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-08 06:50:54,626 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-08 06:50:54,626 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-08 06:50:54,627 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-08 06:50:54,627 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-08 06:50:54,627 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-08 06:50:54,627 INFO L290 TraceCheckUtils]: 59: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 06:50:54,627 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-08 06:50:54,627 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-08 06:50:54,627 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4547#true} {4547#true} #88#return; {4547#true} is VALID [2022-04-08 06:50:54,627 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,627 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:54,627 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:54,627 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-08 06:50:54,627 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4547#true} {4547#true} #86#return; {4547#true} is VALID [2022-04-08 06:50:54,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:54,628 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-08 06:50:54,628 INFO L290 TraceCheckUtils]: 46: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#true} assume !(~r~0 >= ~d~0); {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:54,628 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-08 06:50:54,628 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:54,628 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-08 06:50:54,628 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,628 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:54,629 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-08 06:50:54,629 INFO L290 TraceCheckUtils]: 29: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 06:50:54,629 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-08 06:50:54,629 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:54,629 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-08 06:50:54,629 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 21: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:54,629 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-08 06:50:54,629 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:54,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:54,629 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-08 06:50:54,630 INFO L290 TraceCheckUtils]: 12: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 06:50:54,630 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-08 06:50:54,630 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-08 06:50:54,630 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,630 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:50:54,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:50:54,630 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {4547#true} is VALID [2022-04-08 06:50:54,630 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-08 06:50:54,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-08 06:50:54,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-08 06:50:54,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:50:54,630 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-08 06:50:54,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-08 06:50:54,630 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-08 06:50:54,631 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:54,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1368746170] [2022-04-08 06:50:54,631 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:50:54,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [598765940] [2022-04-08 06:50:54,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [598765940] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:50:54,631 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:50:54,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 06:50:54,631 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:54,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1366986582] [2022-04-08 06:50:54,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1366986582] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:54,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:54,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 06:50:54,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [7390188] [2022-04-08 06:50:54,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:54,632 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-08 06:50:54,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:54,632 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-08 06:50:54,675 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-08 06:50:54,675 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 06:50:54,675 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:54,675 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 06:50:54,676 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 06:50:54,676 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-08 06:50:55,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:55,561 INFO L93 Difference]: Finished difference Result 109 states and 123 transitions. [2022-04-08 06:50:55,561 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:50:55,562 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-08 06:50:55,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:55,562 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-08 06:50:55,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-08 06:50:55,569 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-08 06:50:55,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-08 06:50:55,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 74 transitions. [2022-04-08 06:50:55,636 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-08 06:50:55,637 INFO L225 Difference]: With dead ends: 109 [2022-04-08 06:50:55,637 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 06:50:55,637 INFO L912 BasicCegarLoop]: 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-08 06:50:55,638 INFO L913 BasicCegarLoop]: 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-08 06:50:55,638 INFO L914 BasicCegarLoop]: 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-08 06:50:55,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 06:50:55,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-08 06:50:55,664 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:55,665 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-08 06:50:55,665 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-08 06:50:55,665 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-08 06:50:55,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:55,666 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-08 06:50:55,667 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 06:50:55,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:55,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:55,667 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-08 06:50:55,667 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-08 06:50:55,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:55,669 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-08 06:50:55,669 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 06:50:55,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:55,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:55,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:55,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:55,670 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-08 06:50:55,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 94 transitions. [2022-04-08 06:50:55,671 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 94 transitions. Word has length 75 [2022-04-08 06:50:55,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:55,671 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 94 transitions. [2022-04-08 06:50:55,671 INFO L479 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-08 06:50:55,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 94 transitions. [2022-04-08 06:50:55,751 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-08 06:50:55,751 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 06:50:55,752 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 06:50:55,752 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:55,752 INFO L499 BasicCegarLoop]: 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-08 06:50:55,768 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-08 06:50:55,953 WARN L460 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-08 06:50:55,955 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:55,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:55,955 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 5 times [2022-04-08 06:50:55,955 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:55,955 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [351046083] [2022-04-08 06:50:58,545 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:50:58,545 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:50:58,545 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:50:58,545 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 6 times [2022-04-08 06:50:58,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:58,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1197132498] [2022-04-08 06:50:58,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:58,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:58,555 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:58,555 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1774005483] [2022-04-08 06:50:58,555 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:50:58,555 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:58,559 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:58,560 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-08 06:50:58,561 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-08 06:50:58,609 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 06:50:58,610 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:58,611 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 06:50:58,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:58,624 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:51:02,953 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 06:51:03,053 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 06:51:03,413 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-08 06:51:03,413 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-08 06:51:03,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,413 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-08 06:51:03,413 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-08 06:51:03,413 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-08 06:51:03,413 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {5558#true} is VALID [2022-04-08 06:51:03,414 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,414 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,414 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,414 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-08 06:51:03,416 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-08 06:51:03,417 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-08 06:51:03,417 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-08 06:51:03,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,417 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,418 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-08 06:51:03,418 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-08 06:51:03,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,418 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,418 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,418 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-08 06:51:03,418 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-08 06:51:03,418 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,419 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,419 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,419 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-08 06:51:03,420 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-08 06:51:03,420 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-08 06:51:03,420 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-08 06:51:03,420 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,420 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,420 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,421 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-08 06:51:03,421 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-08 06:51:03,421 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,421 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,421 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,421 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-08 06:51:03,421 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-08 06:51:03,421 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,421 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,421 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,422 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-08 06:51:03,423 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-08 06:51:03,423 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-08 06:51:03,423 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-08 06:51:03,423 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,423 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,423 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,424 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-08 06:51:03,424 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-08 06:51:03,424 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,424 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,424 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,425 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-08 06:51:03,425 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-08 06:51:03,425 INFO L290 TraceCheckUtils]: 58: Hoare triple {5558#true} ~cond := #in~cond; {5739#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:03,425 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-08 06:51:03,426 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-08 06:51:03,426 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-08 06:51:03,437 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-08 06:51:03,438 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-08 06:51:03,438 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-08 06:51:03,438 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,438 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,438 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,439 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-08 06:51:03,439 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-08 06:51:03,439 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:03,439 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:03,439 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:03,440 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-08 06:51:03,441 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-08 06:51:03,441 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-08 06:51:03,442 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-08 06:51:03,442 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-08 06:51:03,443 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:03,443 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-08 06:51:03,443 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-08 06:51:03,443 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-08 06:51:03,443 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:51:45,100 WARN L232 SmtUtils]: Spent 21.66s on a formula simplification that was a NOOP. DAG size: 50 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 06:52:29,779 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-08 06:52:29,779 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-08 06:52:29,780 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:52:29,780 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-08 06:52:29,781 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-08 06:52:29,800 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-08 06:52:29,819 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-08 06:52:29,820 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-08 06:52:29,820 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,820 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,820 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,820 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-08 06:52:29,820 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-08 06:52:29,821 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,821 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,821 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,821 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-08 06:52:29,822 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-08 06:52:29,822 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-08 06:52:29,823 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-08 06:52:29,824 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-08 06:52:29,824 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-08 06:52:29,824 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-08 06:52:29,824 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-08 06:52:29,825 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-08 06:52:29,825 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,825 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,825 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,825 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-08 06:52:29,826 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-08 06:52:29,826 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,826 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,826 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,826 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-08 06:52:29,827 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-08 06:52:29,831 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-08 06:52:29,832 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-08 06:52:29,832 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,832 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,832 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-08 06:52:29,832 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-08 06:52:29,833 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,833 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,833 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-08 06:52:29,833 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-08 06:52:29,834 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,834 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-08 06:52:29,834 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-08 06:52:29,834 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-08 06:52:29,835 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-08 06:52:29,835 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,835 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-08 06:52:29,836 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-08 06:52:29,836 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,836 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,836 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,836 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-08 06:52:29,836 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-08 06:52:29,836 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,836 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,836 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,836 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-08 06:52:29,840 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-08 06:52:29,840 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-08 06:52:29,840 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-08 06:52:29,840 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,840 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:52:29,840 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:52:29,840 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {5558#true} is VALID [2022-04-08 06:52:29,840 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-08 06:52:29,841 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-08 06:52:29,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-08 06:52:29,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:52:29,841 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-08 06:52:29,841 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-08 06:52:29,841 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-08 06:52:29,841 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:52:29,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1197132498] [2022-04-08 06:52:29,842 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:52:29,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1774005483] [2022-04-08 06:52:29,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1774005483] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:52:29,842 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:52:29,842 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-08 06:52:29,842 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:52:29,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [351046083] [2022-04-08 06:52:29,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [351046083] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:52:29,842 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:52:29,842 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:52:29,842 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1248764549] [2022-04-08 06:52:29,842 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:52:29,843 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-08 06:52:29,843 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:52:29,843 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-08 06:52:29,887 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-08 06:52:29,887 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:52:29,887 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:52:29,887 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:52:29,887 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-08 06:52:29,887 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-08 06:52:30,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:52:30,474 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-08 06:52:30,474 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:52:30,474 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-08 06:52:30,474 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:52:30,474 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-08 06:52:30,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-08 06:52:30,475 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-08 06:52:30,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-08 06:52:30,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2022-04-08 06:52:30,552 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-08 06:52:30,554 INFO L225 Difference]: With dead ends: 106 [2022-04-08 06:52:30,554 INFO L226 Difference]: Without dead ends: 94 [2022-04-08 06:52:30,554 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 146 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 21.9s TimeCoverageRelationStatistics Valid=70, Invalid=236, Unknown=0, NotChecked=0, Total=306 [2022-04-08 06:52:30,554 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 28 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 222 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:52:30,554 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 129 Invalid, 250 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 222 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:52:30,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-08 06:52:30,611 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 91. [2022-04-08 06:52:30,611 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:52:30,612 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-08 06:52:30,612 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-08 06:52:30,613 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-08 06:52:30,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:52:30,614 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-08 06:52:30,614 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-08 06:52:30,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:52:30,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:52:30,615 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-08 06:52:30,615 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-08 06:52:30,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:52:30,616 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-08 06:52:30,616 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-08 06:52:30,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:52:30,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:52:30,617 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:52:30,617 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:52:30,617 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-08 06:52:30,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 107 transitions. [2022-04-08 06:52:30,618 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 107 transitions. Word has length 81 [2022-04-08 06:52:30,618 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:52:30,618 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 107 transitions. [2022-04-08 06:52:30,619 INFO L479 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-08 06:52:30,619 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 107 transitions. [2022-04-08 06:52:30,729 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-08 06:52:30,729 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-08 06:52:30,729 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 06:52:30,729 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:52:30,730 INFO L499 BasicCegarLoop]: 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-08 06:52:30,745 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 06:52:30,930 WARN L460 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-08 06:52:30,932 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:52:30,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:52:30,933 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 7 times [2022-04-08 06:52:30,933 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:52:30,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1801908959] [2022-04-08 06:52:34,220 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:52:34,221 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:52:34,221 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:52:34,221 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 8 times [2022-04-08 06:52:34,221 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:52:34,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2013686882] [2022-04-08 06:52:34,221 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:52:34,221 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:52:34,229 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:52:34,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1979219988] [2022-04-08 06:52:34,229 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:52:34,229 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:52:34,229 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:52:34,230 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-08 06:52:34,231 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-08 06:52:34,284 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:52:34,284 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:52:34,285 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 06:52:34,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:52:34,294 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:52:34,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-08 06:52:34,618 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-08 06:52:34,618 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,618 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-08 06:52:34,618 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-08 06:52:34,618 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-08 06:52:34,618 INFO L272 TraceCheckUtils]: 6: Hoare triple {6645#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:34,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,618 INFO L290 TraceCheckUtils]: 9: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,618 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6645#true} {6645#true} #78#return; {6645#true} is VALID [2022-04-08 06:52:34,618 INFO L290 TraceCheckUtils]: 11: Hoare triple {6645#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:52:34,619 INFO L290 TraceCheckUtils]: 12: Hoare triple {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:52:34,619 INFO L272 TraceCheckUtils]: 13: Hoare triple {6683#(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)); {6645#true} is VALID [2022-04-08 06:52:34,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,619 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,619 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6645#true} {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:52:34,619 INFO L272 TraceCheckUtils]: 18: Hoare triple {6683#(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)); {6645#true} is VALID [2022-04-08 06:52:34,620 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,620 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,620 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6645#true} {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:52:34,620 INFO L272 TraceCheckUtils]: 23: Hoare triple {6683#(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)); {6645#true} is VALID [2022-04-08 06:52:34,620 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,620 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,620 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,621 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6645#true} {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:52:34,621 INFO L290 TraceCheckUtils]: 28: Hoare triple {6683#(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; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:52:34,621 INFO L290 TraceCheckUtils]: 29: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:52:34,621 INFO L272 TraceCheckUtils]: 30: Hoare triple {6735#(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)); {6645#true} is VALID [2022-04-08 06:52:34,622 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,622 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,622 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,622 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:52:34,622 INFO L272 TraceCheckUtils]: 35: Hoare triple {6735#(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)); {6645#true} is VALID [2022-04-08 06:52:34,622 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,622 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,622 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,623 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:52:34,623 INFO L272 TraceCheckUtils]: 40: Hoare triple {6735#(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)); {6645#true} is VALID [2022-04-08 06:52:34,623 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,623 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,623 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,623 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #84#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:52:34,624 INFO L290 TraceCheckUtils]: 45: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:52:34,624 INFO L290 TraceCheckUtils]: 46: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:52:34,624 INFO L272 TraceCheckUtils]: 47: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:34,624 INFO L290 TraceCheckUtils]: 48: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,624 INFO L290 TraceCheckUtils]: 49: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,624 INFO L290 TraceCheckUtils]: 50: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,625 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:52:34,625 INFO L272 TraceCheckUtils]: 52: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:34,625 INFO L290 TraceCheckUtils]: 53: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,625 INFO L290 TraceCheckUtils]: 54: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,625 INFO L290 TraceCheckUtils]: 55: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,625 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:52:34,625 INFO L272 TraceCheckUtils]: 57: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:34,625 INFO L290 TraceCheckUtils]: 58: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,625 INFO L290 TraceCheckUtils]: 59: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,625 INFO L290 TraceCheckUtils]: 60: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,626 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:52:34,626 INFO L290 TraceCheckUtils]: 62: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:52:34,626 INFO L290 TraceCheckUtils]: 63: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:52:34,627 INFO L272 TraceCheckUtils]: 64: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:34,627 INFO L290 TraceCheckUtils]: 65: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,627 INFO L290 TraceCheckUtils]: 66: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,627 INFO L290 TraceCheckUtils]: 67: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,627 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #86#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:52:34,627 INFO L272 TraceCheckUtils]: 69: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:34,627 INFO L290 TraceCheckUtils]: 70: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,627 INFO L290 TraceCheckUtils]: 71: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,627 INFO L290 TraceCheckUtils]: 72: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,628 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #88#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:52:34,628 INFO L290 TraceCheckUtils]: 74: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:52:34,629 INFO L290 TraceCheckUtils]: 75: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:52:34,629 INFO L290 TraceCheckUtils]: 76: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:52:34,629 INFO L272 TraceCheckUtils]: 77: Hoare triple {6735#(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)); {6645#true} is VALID [2022-04-08 06:52:34,629 INFO L290 TraceCheckUtils]: 78: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:34,629 INFO L290 TraceCheckUtils]: 79: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:34,629 INFO L290 TraceCheckUtils]: 80: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:34,630 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #86#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:52:34,630 INFO L272 TraceCheckUtils]: 82: Hoare triple {6735#(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)); {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:52:34,630 INFO L290 TraceCheckUtils]: 83: Hoare triple {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:52:34,631 INFO L290 TraceCheckUtils]: 84: Hoare triple {6903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6646#false} is VALID [2022-04-08 06:52:34,631 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 06:52:34,631 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 06:52:34,632 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:52:40,296 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 06:52:40,297 INFO L290 TraceCheckUtils]: 84: Hoare triple {6903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6646#false} is VALID [2022-04-08 06:52:40,297 INFO L290 TraceCheckUtils]: 83: Hoare triple {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:52:40,297 INFO L272 TraceCheckUtils]: 82: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:52:40,298 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #86#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,298 INFO L290 TraceCheckUtils]: 80: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,298 INFO L290 TraceCheckUtils]: 79: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,298 INFO L290 TraceCheckUtils]: 78: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,298 INFO L272 TraceCheckUtils]: 77: Hoare triple {6919#(= (* 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)); {6645#true} is VALID [2022-04-08 06:52:40,299 INFO L290 TraceCheckUtils]: 76: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,299 INFO L290 TraceCheckUtils]: 75: Hoare triple {6919#(= (* 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; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,316 INFO L290 TraceCheckUtils]: 74: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~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); {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,317 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:52:40,317 INFO L290 TraceCheckUtils]: 72: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,317 INFO L290 TraceCheckUtils]: 71: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,317 INFO L290 TraceCheckUtils]: 70: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,317 INFO L272 TraceCheckUtils]: 69: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,317 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #86#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:52:40,318 INFO L290 TraceCheckUtils]: 67: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,318 INFO L290 TraceCheckUtils]: 66: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,318 INFO L290 TraceCheckUtils]: 65: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,318 INFO L272 TraceCheckUtils]: 64: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,319 INFO L290 TraceCheckUtils]: 63: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:52:40,319 INFO L290 TraceCheckUtils]: 62: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !(~r~0 >= ~d~0); {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:52:40,320 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:52:40,320 INFO L290 TraceCheckUtils]: 60: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,320 INFO L290 TraceCheckUtils]: 59: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,320 INFO L290 TraceCheckUtils]: 58: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,320 INFO L272 TraceCheckUtils]: 57: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,321 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:52:40,321 INFO L290 TraceCheckUtils]: 55: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,321 INFO L290 TraceCheckUtils]: 54: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,321 INFO L290 TraceCheckUtils]: 53: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,321 INFO L272 TraceCheckUtils]: 52: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,321 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:52:40,321 INFO L290 TraceCheckUtils]: 50: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,321 INFO L290 TraceCheckUtils]: 49: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,321 INFO L290 TraceCheckUtils]: 48: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,322 INFO L272 TraceCheckUtils]: 47: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,322 INFO L290 TraceCheckUtils]: 46: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:52:40,327 INFO L290 TraceCheckUtils]: 45: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:52:40,328 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,328 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,328 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,328 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,328 INFO L272 TraceCheckUtils]: 40: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,328 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,328 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,328 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,329 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,329 INFO L272 TraceCheckUtils]: 35: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,329 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,329 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,329 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,329 INFO L272 TraceCheckUtils]: 30: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,330 INFO L290 TraceCheckUtils]: 29: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,332 INFO L290 TraceCheckUtils]: 28: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,332 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,332 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,332 INFO L272 TraceCheckUtils]: 23: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,333 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,333 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,333 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,333 INFO L272 TraceCheckUtils]: 18: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,333 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,333 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,334 INFO L272 TraceCheckUtils]: 13: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,334 INFO L290 TraceCheckUtils]: 12: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,334 INFO L290 TraceCheckUtils]: 11: Hoare triple {6645#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:52:40,334 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6645#true} {6645#true} #78#return; {6645#true} is VALID [2022-04-08 06:52:40,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:52:40,334 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:52:40,335 INFO L272 TraceCheckUtils]: 6: Hoare triple {6645#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {6645#true} is VALID [2022-04-08 06:52:40,335 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-08 06:52:40,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-08 06:52:40,335 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-08 06:52:40,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:52:40,335 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-08 06:52:40,335 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-08 06:52:40,335 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 13 refuted. 0 times theorem prover too weak. 269 trivial. 0 not checked. [2022-04-08 06:52:40,335 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:52:40,335 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2013686882] [2022-04-08 06:52:40,335 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:52:40,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1979219988] [2022-04-08 06:52:40,336 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1979219988] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:52:40,336 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:52:40,336 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 9 [2022-04-08 06:52:40,336 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:52:40,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1801908959] [2022-04-08 06:52:40,336 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1801908959] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:52:40,336 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:52:40,336 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 06:52:40,336 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [466649162] [2022-04-08 06:52:40,336 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:52:40,337 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 86 [2022-04-08 06:52:40,337 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:52:40,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 06:52:40,382 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-08 06:52:40,382 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 06:52:40,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:52:40,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 06:52:40,382 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-08 06:52:40,383 INFO L87 Difference]: Start difference. First operand 91 states and 107 transitions. Second operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 06:52:40,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:52:40,890 INFO L93 Difference]: Finished difference Result 170 states and 221 transitions. [2022-04-08 06:52:40,891 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:52:40,891 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 86 [2022-04-08 06:52:40,891 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:52:40,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 06:52:40,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-08 06:52:40,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 06:52:40,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-08 06:52:40,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 111 transitions. [2022-04-08 06:52:40,987 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:52:40,990 INFO L225 Difference]: With dead ends: 170 [2022-04-08 06:52:40,990 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 06:52:40,990 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 161 SyntacticMatches, 3 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:52:40,990 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 10 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:52:40,991 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 233 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 182 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:52:40,991 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 06:52:41,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-08 06:52:41,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:52:41,063 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:52:41,064 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:52:41,064 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:52:41,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:52:41,066 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-08 06:52:41,066 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 161 transitions. [2022-04-08 06:52:41,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:52:41,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:52:41,067 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 132 states. [2022-04-08 06:52:41,067 INFO L87 Difference]: Start difference. First operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 132 states. [2022-04-08 06:52:41,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:52:41,069 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-08 06:52:41,069 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 161 transitions. [2022-04-08 06:52:41,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:52:41,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:52:41,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:52:41,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:52:41,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:52:41,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 158 transitions. [2022-04-08 06:52:41,073 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 158 transitions. Word has length 86 [2022-04-08 06:52:41,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:52:41,073 INFO L478 AbstractCegarLoop]: Abstraction has 130 states and 158 transitions. [2022-04-08 06:52:41,073 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-08 06:52:41,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 158 transitions. [2022-04-08 06:52:41,246 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:52:41,246 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 158 transitions. [2022-04-08 06:52:41,247 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 06:52:41,247 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:52:41,247 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:52:41,263 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-08 06:52:41,463 WARN L460 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-08 06:52:41,463 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:52:41,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:52:41,464 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 9 times [2022-04-08 06:52:41,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:52:41,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1137655707] [2022-04-08 06:52:44,029 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:52:44,029 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:52:44,029 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:52:44,029 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 10 times [2022-04-08 06:52:44,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:52:44,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2036373983] [2022-04-08 06:52:44,030 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:52:44,030 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:52:44,045 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:52:44,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1855547488] [2022-04-08 06:52:44,045 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:52:44,045 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:52:44,046 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:52:44,046 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:52:44,077 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 06:52:44,105 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:52:44,105 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:52:44,106 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 06:52:44,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:52:44,121 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:52:47,105 INFO L272 TraceCheckUtils]: 0: Hoare triple {8035#true} call ULTIMATE.init(); {8035#true} is VALID [2022-04-08 06:52:47,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {8035#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); {8035#true} is VALID [2022-04-08 06:52:47,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8035#true} {8035#true} #94#return; {8035#true} is VALID [2022-04-08 06:52:47,105 INFO L272 TraceCheckUtils]: 4: Hoare triple {8035#true} call #t~ret5 := main(); {8035#true} is VALID [2022-04-08 06:52:47,105 INFO L290 TraceCheckUtils]: 5: Hoare triple {8035#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; {8035#true} is VALID [2022-04-08 06:52:47,105 INFO L272 TraceCheckUtils]: 6: Hoare triple {8035#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {8035#true} ~cond := #in~cond; {8061#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:52:47,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {8061#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8065#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:52:47,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {8065#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8065#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:52:47,107 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8065#(not (= |assume_abort_if_not_#in~cond| 0))} {8035#true} #78#return; {8072#(and (<= 0 main_~A~0) (<= main_~A~0 2))} is VALID [2022-04-08 06:52:47,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {8072#(and (<= 0 main_~A~0) (<= main_~A~0 2))} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,107 INFO L290 TraceCheckUtils]: 12: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} assume !false; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,107 INFO L272 TraceCheckUtils]: 13: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,107 INFO L290 TraceCheckUtils]: 16: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,108 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8035#true} {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} #80#return; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,108 INFO L272 TraceCheckUtils]: 18: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,112 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8035#true} {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} #82#return; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,112 INFO L272 TraceCheckUtils]: 23: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,112 INFO L290 TraceCheckUtils]: 24: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,112 INFO L290 TraceCheckUtils]: 26: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,113 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8035#true} {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} #84#return; {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,113 INFO L290 TraceCheckUtils]: 28: Hoare triple {8076#(and (= main_~d~0 1) (<= main_~r~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,113 INFO L290 TraceCheckUtils]: 29: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} assume !false; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,113 INFO L272 TraceCheckUtils]: 30: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,113 INFO L290 TraceCheckUtils]: 31: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,113 INFO L290 TraceCheckUtils]: 32: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,113 INFO L290 TraceCheckUtils]: 33: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,114 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8035#true} {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} #80#return; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,114 INFO L272 TraceCheckUtils]: 35: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,114 INFO L290 TraceCheckUtils]: 36: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,114 INFO L290 TraceCheckUtils]: 37: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,114 INFO L290 TraceCheckUtils]: 38: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,114 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8035#true} {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} #82#return; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,115 INFO L272 TraceCheckUtils]: 40: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,115 INFO L290 TraceCheckUtils]: 41: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,115 INFO L290 TraceCheckUtils]: 42: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,115 INFO L290 TraceCheckUtils]: 43: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,115 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8035#true} {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} #84#return; {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,116 INFO L290 TraceCheckUtils]: 45: Hoare triple {8128#(and (= main_~d~0 2) (<= main_~r~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,116 INFO L290 TraceCheckUtils]: 46: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} assume !false; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,116 INFO L272 TraceCheckUtils]: 47: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,116 INFO L290 TraceCheckUtils]: 48: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,116 INFO L290 TraceCheckUtils]: 49: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,116 INFO L290 TraceCheckUtils]: 50: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,116 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #80#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,117 INFO L272 TraceCheckUtils]: 52: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,117 INFO L290 TraceCheckUtils]: 53: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,117 INFO L290 TraceCheckUtils]: 54: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,117 INFO L290 TraceCheckUtils]: 55: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,117 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #82#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,117 INFO L272 TraceCheckUtils]: 57: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,117 INFO L290 TraceCheckUtils]: 58: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,117 INFO L290 TraceCheckUtils]: 59: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,117 INFO L290 TraceCheckUtils]: 60: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,118 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #84#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,118 INFO L290 TraceCheckUtils]: 62: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} assume !(~r~0 >= ~d~0); {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,118 INFO L290 TraceCheckUtils]: 63: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} assume !false; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,118 INFO L272 TraceCheckUtils]: 64: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,118 INFO L290 TraceCheckUtils]: 65: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,119 INFO L290 TraceCheckUtils]: 66: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,119 INFO L290 TraceCheckUtils]: 67: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,119 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #86#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,119 INFO L272 TraceCheckUtils]: 69: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,119 INFO L290 TraceCheckUtils]: 70: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,119 INFO L290 TraceCheckUtils]: 71: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,119 INFO L290 TraceCheckUtils]: 72: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,127 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8035#true} {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} #88#return; {8180#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,127 INFO L290 TraceCheckUtils]: 74: Hoare triple {8180#(and (= main_~d~0 4) (<= main_~r~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); {8268#(and (<= 2 main_~d~0) (<= main_~r~0 2))} is VALID [2022-04-08 06:52:47,128 INFO L290 TraceCheckUtils]: 75: Hoare triple {8268#(and (<= 2 main_~d~0) (<= main_~r~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-08 06:52:47,128 INFO L290 TraceCheckUtils]: 76: Hoare triple {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} assume !false; {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-08 06:52:47,128 INFO L272 TraceCheckUtils]: 77: Hoare triple {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,129 INFO L290 TraceCheckUtils]: 78: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,129 INFO L290 TraceCheckUtils]: 79: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,129 INFO L290 TraceCheckUtils]: 80: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,129 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8035#true} {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} #86#return; {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-08 06:52:47,129 INFO L272 TraceCheckUtils]: 82: Hoare triple {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-08 06:52:47,129 INFO L290 TraceCheckUtils]: 83: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:52:47,129 INFO L290 TraceCheckUtils]: 84: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:52:47,129 INFO L290 TraceCheckUtils]: 85: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:52:47,130 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8035#true} {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} #88#return; {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-08 06:52:47,131 INFO L290 TraceCheckUtils]: 87: Hoare triple {8272#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~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); {8309#(and (< 0 main_~d~0) (< 0 (div (+ 2 (* (- 1) main_~r~0)) 2)))} is VALID [2022-04-08 06:52:47,131 INFO L290 TraceCheckUtils]: 88: Hoare triple {8309#(and (< 0 main_~d~0) (< 0 (div (+ 2 (* (- 1) main_~r~0)) 2)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8036#false} is VALID [2022-04-08 06:52:47,131 INFO L290 TraceCheckUtils]: 89: Hoare triple {8036#false} assume !false; {8036#false} is VALID [2022-04-08 06:52:47,131 INFO L272 TraceCheckUtils]: 90: Hoare triple {8036#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8036#false} is VALID [2022-04-08 06:52:47,131 INFO L290 TraceCheckUtils]: 91: Hoare triple {8036#false} ~cond := #in~cond; {8036#false} is VALID [2022-04-08 06:52:47,131 INFO L290 TraceCheckUtils]: 92: Hoare triple {8036#false} assume 0 == ~cond; {8036#false} is VALID [2022-04-08 06:52:47,131 INFO L290 TraceCheckUtils]: 93: Hoare triple {8036#false} assume !false; {8036#false} is VALID [2022-04-08 06:52:47,132 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 30 proven. 20 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 06:52:47,132 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:52:48,616 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:52:48,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2036373983] [2022-04-08 06:52:48,616 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:52:48,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1855547488] [2022-04-08 06:52:48,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1855547488] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 06:52:48,616 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:52:48,616 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 06:52:48,616 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:52:48,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1137655707] [2022-04-08 06:52:48,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1137655707] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:52:48,616 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:52:48,616 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:52:48,616 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1576535221] [2022-04-08 06:52:48,616 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:52:48,617 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-08 06:52:48,617 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:52:48,617 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 06:52:48,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:52:48,657 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:52:48,657 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:52:48,657 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:52:48,657 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-08 06:52:48,658 INFO L87 Difference]: Start difference. First operand 130 states and 158 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 06:52:49,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:52:49,452 INFO L93 Difference]: Finished difference Result 164 states and 189 transitions. [2022-04-08 06:52:49,453 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 06:52:49,453 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-08 06:52:49,453 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:52:49,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 06:52:49,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-08 06:52:49,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 06:52:49,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-08 06:52:49,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 105 transitions. [2022-04-08 06:52:49,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:52:49,560 INFO L225 Difference]: With dead ends: 164 [2022-04-08 06:52:49,560 INFO L226 Difference]: Without dead ends: 100 [2022-04-08 06:52:49,561 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=84, Invalid=336, Unknown=0, NotChecked=0, Total=420 [2022-04-08 06:52:49,561 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 35 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 197 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 197 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:52:49,562 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 217 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 197 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:52:49,562 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-08 06:52:49,667 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 95. [2022-04-08 06:52:49,667 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:52:49,668 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:52:49,668 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:52:49,668 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:52:49,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:52:49,670 INFO L93 Difference]: Finished difference Result 100 states and 108 transitions. [2022-04-08 06:52:49,670 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 108 transitions. [2022-04-08 06:52:49,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:52:49,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:52:49,670 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 100 states. [2022-04-08 06:52:49,670 INFO L87 Difference]: Start difference. First operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 100 states. [2022-04-08 06:52:49,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:52:49,678 INFO L93 Difference]: Finished difference Result 100 states and 108 transitions. [2022-04-08 06:52:49,678 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 108 transitions. [2022-04-08 06:52:49,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:52:49,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:52:49,678 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:52:49,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:52:49,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 60 states have internal predecessors, (61), 21 states have call successors, (21), 15 states have call predecessors, (21), 13 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:52:49,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 101 transitions. [2022-04-08 06:52:49,682 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 101 transitions. Word has length 94 [2022-04-08 06:52:49,682 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:52:49,683 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 101 transitions. [2022-04-08 06:52:49,683 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 06:52:49,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 101 transitions. [2022-04-08 06:52:49,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:52:49,803 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 101 transitions. [2022-04-08 06:52:49,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 06:52:49,804 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:52:49,804 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:52:49,820 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-08 06:52:50,020 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:52:50,021 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:52:50,021 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:52:50,021 INFO L85 PathProgramCache]: Analyzing trace with hash -282067362, now seen corresponding path program 1 times [2022-04-08 06:52:50,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:52:50,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1122531617] [2022-04-08 06:52:52,652 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:52:52,652 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:52:52,653 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:52:52,653 INFO L85 PathProgramCache]: Analyzing trace with hash -282067362, now seen corresponding path program 2 times [2022-04-08 06:52:52,653 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:52:52,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [187497536] [2022-04-08 06:52:52,653 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:52:52,653 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:52:52,663 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:52:52,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [103021131] [2022-04-08 06:52:52,664 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:52:52,664 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:52:52,664 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:52:52,664 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:52:52,665 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 06:52:52,721 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:52:52,721 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:52:52,722 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 06:52:52,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:52:52,738 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:52:55,704 INFO L272 TraceCheckUtils]: 0: Hoare triple {9124#true} call ULTIMATE.init(); {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {9124#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); {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9124#true} {9124#true} #94#return; {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {9124#true} call #t~ret5 := main(); {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {9124#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; {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L272 TraceCheckUtils]: 6: Hoare triple {9124#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L290 TraceCheckUtils]: 7: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,704 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9124#true} {9124#true} #78#return; {9124#true} is VALID [2022-04-08 06:52:55,705 INFO L290 TraceCheckUtils]: 11: Hoare triple {9124#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 06:52:55,705 INFO L290 TraceCheckUtils]: 12: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} assume !false; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 06:52:55,705 INFO L272 TraceCheckUtils]: 13: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,705 INFO L290 TraceCheckUtils]: 14: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,705 INFO L290 TraceCheckUtils]: 15: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,705 INFO L290 TraceCheckUtils]: 16: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,706 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9124#true} {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} #80#return; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 06:52:55,706 INFO L272 TraceCheckUtils]: 18: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,706 INFO L290 TraceCheckUtils]: 19: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,706 INFO L290 TraceCheckUtils]: 20: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,706 INFO L290 TraceCheckUtils]: 21: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,707 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9124#true} {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} #82#return; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 06:52:55,707 INFO L272 TraceCheckUtils]: 23: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,707 INFO L290 TraceCheckUtils]: 24: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,707 INFO L290 TraceCheckUtils]: 25: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,707 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9124#true} {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} #84#return; {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-08 06:52:55,708 INFO L290 TraceCheckUtils]: 28: Hoare triple {9162#(and (<= 1 main_~p~0) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (= main_~B~0 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 06:52:55,708 INFO L290 TraceCheckUtils]: 29: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} assume !false; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 06:52:55,708 INFO L272 TraceCheckUtils]: 30: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,708 INFO L290 TraceCheckUtils]: 32: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,708 INFO L290 TraceCheckUtils]: 33: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,709 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9124#true} {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} #80#return; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 06:52:55,709 INFO L272 TraceCheckUtils]: 35: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,709 INFO L290 TraceCheckUtils]: 36: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,709 INFO L290 TraceCheckUtils]: 37: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,709 INFO L290 TraceCheckUtils]: 38: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,710 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9124#true} {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} #82#return; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 06:52:55,710 INFO L272 TraceCheckUtils]: 40: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,710 INFO L290 TraceCheckUtils]: 41: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,710 INFO L290 TraceCheckUtils]: 42: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,710 INFO L290 TraceCheckUtils]: 43: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,710 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9124#true} {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} #84#return; {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} is VALID [2022-04-08 06:52:55,711 INFO L290 TraceCheckUtils]: 45: Hoare triple {9214#(and (= (* main_~B~0 2) main_~d~0) (<= 1 (div main_~p~0 2)) (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,711 INFO L290 TraceCheckUtils]: 46: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} assume !false; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,711 INFO L272 TraceCheckUtils]: 47: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,711 INFO L290 TraceCheckUtils]: 48: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,711 INFO L290 TraceCheckUtils]: 49: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,712 INFO L290 TraceCheckUtils]: 50: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,712 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #80#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,712 INFO L272 TraceCheckUtils]: 52: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,712 INFO L290 TraceCheckUtils]: 53: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,712 INFO L290 TraceCheckUtils]: 54: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,712 INFO L290 TraceCheckUtils]: 55: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,713 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #82#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,713 INFO L272 TraceCheckUtils]: 57: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,713 INFO L290 TraceCheckUtils]: 58: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,713 INFO L290 TraceCheckUtils]: 59: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,713 INFO L290 TraceCheckUtils]: 60: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,713 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #84#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,717 INFO L290 TraceCheckUtils]: 62: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} assume !(~r~0 >= ~d~0); {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,717 INFO L290 TraceCheckUtils]: 63: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} assume !false; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,717 INFO L272 TraceCheckUtils]: 64: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,717 INFO L290 TraceCheckUtils]: 65: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,717 INFO L290 TraceCheckUtils]: 66: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,717 INFO L290 TraceCheckUtils]: 67: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,718 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #86#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,718 INFO L272 TraceCheckUtils]: 69: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,718 INFO L290 TraceCheckUtils]: 70: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,718 INFO L290 TraceCheckUtils]: 71: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,718 INFO L290 TraceCheckUtils]: 72: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,719 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9124#true} {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} #88#return; {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,719 INFO L290 TraceCheckUtils]: 74: Hoare triple {9266#(and (<= 1 (div (div main_~p~0 2) 2)) (<= 0 main_~q~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (<= main_~A~0 main_~r~0) (<= (* main_~B~0 2) main_~r~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); {9354#(and (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-08 06:52:55,720 INFO L290 TraceCheckUtils]: 75: Hoare triple {9354#(and (<= 0 main_~q~0) (= main_~B~0 1) (<= main_~A~0 main_~r~0) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)) (<= (* main_~B~0 2) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-08 06:52:55,721 INFO L290 TraceCheckUtils]: 76: Hoare triple {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} assume !false; {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-08 06:52:55,721 INFO L272 TraceCheckUtils]: 77: Hoare triple {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,721 INFO L290 TraceCheckUtils]: 78: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,721 INFO L290 TraceCheckUtils]: 79: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,721 INFO L290 TraceCheckUtils]: 80: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,721 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9124#true} {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} #86#return; {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-08 06:52:55,721 INFO L272 TraceCheckUtils]: 82: Hoare triple {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,721 INFO L290 TraceCheckUtils]: 83: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,721 INFO L290 TraceCheckUtils]: 84: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,722 INFO L290 TraceCheckUtils]: 85: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,722 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {9124#true} {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} #88#return; {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-08 06:52:55,723 INFO L290 TraceCheckUtils]: 87: Hoare triple {9358#(and (<= main_~p~0 main_~q~0) (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ main_~d~0 main_~r~0)) (< 0 (div main_~p~0 2)) (= main_~d~0 (div (* main_~B~0 4) 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); {9395#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} is VALID [2022-04-08 06:52:55,724 INFO L290 TraceCheckUtils]: 88: Hoare triple {9395#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} assume !(~r~0 >= ~d~0); {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} is VALID [2022-04-08 06:52:55,724 INFO L290 TraceCheckUtils]: 89: Hoare triple {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} assume !false; {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} is VALID [2022-04-08 06:52:55,724 INFO L272 TraceCheckUtils]: 90: Hoare triple {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,724 INFO L290 TraceCheckUtils]: 91: Hoare triple {9124#true} ~cond := #in~cond; {9409#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:52:55,725 INFO L290 TraceCheckUtils]: 92: Hoare triple {9409#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9413#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:52:55,725 INFO L290 TraceCheckUtils]: 93: Hoare triple {9413#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9413#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:52:55,726 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {9413#(not (= |__VERIFIER_assert_#in~cond| 0))} {9399#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (< main_~p~0 (+ (div main_~q~0 2) 1)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)))} #86#return; {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} is VALID [2022-04-08 06:52:55,726 INFO L272 TraceCheckUtils]: 95: Hoare triple {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9124#true} is VALID [2022-04-08 06:52:55,726 INFO L290 TraceCheckUtils]: 96: Hoare triple {9124#true} ~cond := #in~cond; {9124#true} is VALID [2022-04-08 06:52:55,726 INFO L290 TraceCheckUtils]: 97: Hoare triple {9124#true} assume !(0 == ~cond); {9124#true} is VALID [2022-04-08 06:52:55,726 INFO L290 TraceCheckUtils]: 98: Hoare triple {9124#true} assume true; {9124#true} is VALID [2022-04-08 06:52:55,726 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {9124#true} {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} #88#return; {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} is VALID [2022-04-08 06:52:55,727 INFO L290 TraceCheckUtils]: 100: Hoare triple {9420#(and (< main_~p~0 (+ (div main_~q~0 2) 1)) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 1))} assume !(1 != ~p~0); {9439#(and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= main_~d~0 1))} is VALID [2022-04-08 06:52:55,727 INFO L272 TraceCheckUtils]: 101: Hoare triple {9439#(and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= main_~A~0 (+ main_~r~0 (* main_~d~0 2))) (< 0 (div main_~q~0 2)) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {9443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:52:55,728 INFO L290 TraceCheckUtils]: 102: Hoare triple {9443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:52:55,728 INFO L290 TraceCheckUtils]: 103: Hoare triple {9447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9125#false} is VALID [2022-04-08 06:52:55,728 INFO L290 TraceCheckUtils]: 104: Hoare triple {9125#false} assume !false; {9125#false} is VALID [2022-04-08 06:52:55,728 INFO L134 CoverageAnalysis]: Checked inductivity of 478 backedges. 68 proven. 32 refuted. 0 times theorem prover too weak. 378 trivial. 0 not checked. [2022-04-08 06:52:55,728 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:53:37,128 WARN L232 SmtUtils]: Spent 5.14s on a formula simplification that was a NOOP. DAG size: 35 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 06:55:23,192 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:55:23,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [187497536] [2022-04-08 06:55:23,193 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:55:23,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [103021131] [2022-04-08 06:55:23,193 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [103021131] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 06:55:23,193 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:55:23,193 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2022-04-08 06:55:23,193 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:55:23,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1122531617] [2022-04-08 06:55:23,193 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1122531617] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:55:23,193 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:55:23,193 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 06:55:23,193 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [774660256] [2022-04-08 06:55:23,193 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:55:23,194 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-08 06:55:23,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:55:23,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:55:23,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:55:23,257 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 06:55:23,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:55:23,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 06:55:23,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=403, Unknown=1, NotChecked=0, Total=506 [2022-04-08 06:55:23,258 INFO L87 Difference]: Start difference. First operand 95 states and 101 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:55:24,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:55:24,604 INFO L93 Difference]: Finished difference Result 114 states and 119 transitions. [2022-04-08 06:55:24,604 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 06:55:24,604 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-08 06:55:24,604 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:55:24,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:55:24,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 77 transitions. [2022-04-08 06:55:24,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:55:24,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 77 transitions. [2022-04-08 06:55:24,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 77 transitions. [2022-04-08 06:55:24,692 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-08 06:55:24,693 INFO L225 Difference]: With dead ends: 114 [2022-04-08 06:55:24,693 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 06:55:24,693 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 11.4s TimeCoverageRelationStatistics Valid=128, Invalid=521, Unknown=1, NotChecked=0, Total=650 [2022-04-08 06:55:24,693 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 9 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 426 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 434 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 426 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 06:55:24,694 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 205 Invalid, 434 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 426 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 06:55:24,694 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 06:55:24,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 06:55:24,694 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:55:24,694 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-08 06:55:24,694 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-08 06:55:24,694 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-08 06:55:24,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:55:24,694 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 06:55:24,694 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 06:55:24,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:55:24,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:55:24,694 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-08 06:55:24,695 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-08 06:55:24,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:55:24,695 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 06:55:24,695 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 06:55:24,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:55:24,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:55:24,695 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:55:24,695 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:55:24,695 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-08 06:55:24,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 06:55:24,695 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 105 [2022-04-08 06:55:24,695 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:55:24,695 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 06:55:24,695 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:55:24,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 06:55:24,695 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-08 06:55:24,695 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 06:55:24,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:55:24,697 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 06:55:24,740 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 06:55:24,903 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 06:55:24,905 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 06:55:27,746 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-08 06:55:27,747 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-08 06:55:27,747 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-08 06:55:27,747 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-08 06:55:27,747 INFO L878 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 06:55:27,747 INFO L878 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-08 06:55:27,747 INFO L878 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-08 06:55:27,747 INFO L878 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-08 06:55:27,747 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 22 61) the Hoare annotation is: true [2022-04-08 06:55:27,747 INFO L878 garLoopResultBuilder]: At program point L52(lines 52 55) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse5 (* main_~B~0 2)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= main_~d~0 2) (<= main_~r~0 2) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2)) .cse1 .cse2 (< 0 (div main_~p~0 2)) (<= .cse5 main_~r~0)) (let ((.cse6 (* (- 1) main_~r~0))) (and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 .cse6) main_~B~0) 2)) (< 0 (div main_~q~0 2)) (<= 0 main_~r~0) .cse2 (<= main_~A~0 (+ .cse5 main_~r~0)) (< 0 (div (+ 2 .cse6) 2)) .cse3 .cse4)))) [2022-04-08 06:55:27,747 INFO L878 garLoopResultBuilder]: At program point L52-2(lines 22 61) the Hoare annotation is: (let ((.cse8 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2))) (let ((.cse4 (= main_~A~0 main_~r~0)) (.cse1 (* main_~B~0 2)) (.cse5 (= main_~q~0 0)) (.cse0 (<= 0 .cse8)) (.cse3 (= main_~B~0 1)) (.cse6 (= main_~B~0 main_~d~0)) (.cse7 (= main_~p~0 1))) (or (let ((.cse2 (+ main_~d~0 main_~r~0))) (and (<= main_~p~0 main_~q~0) .cse0 (<= .cse1 .cse2) (<= .cse2 2) (= main_~d~0 2) .cse3 (<= main_~A~0 .cse2) (< 0 (div main_~p~0 2)))) (and .cse4 .cse5 .cse3 .cse6 .cse7) (and .cse4 (<= main_~r~0 2) .cse5 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= .cse1 main_~r~0)) (and .cse4 (= .cse1 main_~d~0) (= main_~p~0 2) .cse5 .cse3) (and .cse3 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse6 .cse7) (and .cse0 (<= 0 main_~A~0) (<= 0 main_~r~0) (<= main_~A~0 2) (< .cse8 2) (not (<= main_~d~0 main_~r~0)) .cse3 .cse6 .cse7)))) [2022-04-08 06:55:27,748 INFO L878 garLoopResultBuilder]: At program point L46(lines 44 56) the Hoare annotation is: (let ((.cse3 (= main_~A~0 main_~r~0)) (.cse0 (* main_~B~0 2)) (.cse4 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse5 (= main_~B~0 main_~d~0)) (.cse6 (= main_~p~0 1))) (or (let ((.cse1 (+ main_~d~0 main_~r~0))) (and (<= main_~p~0 main_~q~0) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (<= .cse0 .cse1) (<= .cse1 2) (= main_~d~0 2) .cse2 (<= main_~A~0 .cse1) (< 0 (div main_~p~0 2)))) (and .cse3 .cse4 .cse2 .cse5 .cse6) (and .cse3 (<= main_~r~0 2) .cse4 .cse2 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= .cse0 main_~r~0)) (and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 0 main_~A~0) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) .cse2 (<= main_~A~0 (+ .cse0 main_~r~0)) .cse5 .cse6) (and .cse3 (= .cse0 main_~d~0) (= main_~p~0 2) .cse4 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse5 .cse6))) [2022-04-08 06:55:27,748 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 22 61) the Hoare annotation is: true [2022-04-08 06:55:27,748 INFO L878 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_~q~0) main_~r~0) main_~A~0) (<= 0 main_~A~0) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) .cse0 (<= main_~A~0 (+ (* main_~B~0 2) main_~r~0)) .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-08 06:55:27,748 INFO L878 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 06:55:27,748 INFO L878 garLoopResultBuilder]: At program point L34-2(lines 34 42) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 06:55:27,748 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-08 06:55:27,748 INFO L885 garLoopResultBuilder]: At program point L59(line 59) the Hoare annotation is: true [2022-04-08 06:55:27,748 INFO L885 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-08 06:55:27,748 INFO L878 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (and (<= 0 main_~A~0) (<= main_~A~0 2)) [2022-04-08 06:55:27,748 INFO L878 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (let ((.cse8 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2))) (let ((.cse4 (= main_~A~0 main_~r~0)) (.cse1 (* main_~B~0 2)) (.cse5 (= main_~q~0 0)) (.cse0 (<= 0 .cse8)) (.cse3 (= main_~B~0 1)) (.cse6 (= main_~B~0 main_~d~0)) (.cse7 (= main_~p~0 1))) (or (let ((.cse2 (+ main_~d~0 main_~r~0))) (and (<= main_~p~0 main_~q~0) .cse0 (<= .cse1 .cse2) (<= .cse2 2) (= main_~d~0 2) .cse3 (<= main_~A~0 .cse2) (< 0 (div main_~p~0 2)))) (and .cse4 .cse5 .cse3 .cse6 .cse7) (and .cse4 (<= main_~r~0 2) .cse5 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= .cse1 main_~r~0)) (and .cse4 (= .cse1 main_~d~0) (= main_~p~0 2) .cse5 .cse3) (and .cse3 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse6 .cse7) (and .cse0 (<= 0 main_~A~0) (<= 0 main_~r~0) (<= main_~A~0 2) (< .cse8 2) (not (<= main_~d~0 main_~r~0)) .cse3 .cse6 .cse7)))) [2022-04-08 06:55:27,748 INFO L878 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: (let ((.cse3 (= main_~A~0 main_~r~0)) (.cse0 (* main_~B~0 2)) (.cse4 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse5 (= main_~B~0 main_~d~0)) (.cse6 (= main_~p~0 1))) (or (let ((.cse1 (+ main_~d~0 main_~r~0))) (and (<= main_~p~0 main_~q~0) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (<= .cse0 .cse1) (<= .cse1 2) (= main_~d~0 2) .cse2 (<= main_~A~0 .cse1) (< 0 (div main_~p~0 2)))) (and .cse3 .cse4 .cse2 .cse5 .cse6) (and .cse3 (<= main_~r~0 2) .cse4 .cse2 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= .cse0 main_~r~0)) (and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 0 main_~A~0) (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) .cse2 (<= main_~A~0 (+ .cse0 main_~r~0)) .cse5 .cse6) (and .cse3 (= .cse0 main_~d~0) (= main_~p~0 2) .cse4 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse5 .cse6))) [2022-04-08 06:55:27,748 INFO L878 garLoopResultBuilder]: At program point L37(lines 34 42) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 06:55:27,748 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 06:55:27,748 INFO L878 garLoopResultBuilder]: At program point L35-1(line 35) the Hoare annotation is: (let ((.cse4 (<= 0 main_~A~0)) (.cse0 (= main_~A~0 main_~r~0)) (.cse1 (<= main_~r~0 2)) (.cse2 (= main_~q~0 0)) (.cse3 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0)) (and .cse4 .cse0 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse3) (and .cse4 .cse0 .cse1 .cse2 .cse3 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-08 06:55:27,749 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 06:55:27,749 INFO L878 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-08 06:55:27,749 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 06:55:27,749 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 06:55:27,749 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 06:55:27,749 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 06:55:27,749 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 06:55:27,749 INFO L878 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 06:55:27,749 INFO L878 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-08 06:55:27,749 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-08 06:55:27,749 INFO L878 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-08 06:55:27,749 INFO L878 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-08 06:55:27,749 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 06:55:27,751 INFO L719 BasicCegarLoop]: Path program histogram: [10, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-08 06:55:27,752 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 06:55:27,762 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 06:55:27,767 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 06:55:27,824 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-08 06:55:27,832 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 06:55:27 BoogieIcfgContainer [2022-04-08 06:55:27,832 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 06:55:27,833 INFO L158 Benchmark]: Toolchain (without parser) took 324194.35ms. Allocated memory was 172.0MB in the beginning and 206.6MB in the end (delta: 34.6MB). Free memory was 120.5MB in the beginning and 127.4MB in the end (delta: -6.9MB). Peak memory consumption was 97.6MB. Max. memory is 8.0GB. [2022-04-08 06:55:27,833 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 172.0MB. Free memory is still 136.5MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 06:55:27,833 INFO L158 Benchmark]: CACSL2BoogieTranslator took 210.05ms. Allocated memory was 172.0MB in the beginning and 206.6MB in the end (delta: 34.6MB). Free memory was 120.2MB in the beginning and 183.2MB in the end (delta: -63.0MB). Peak memory consumption was 11.3MB. Max. memory is 8.0GB. [2022-04-08 06:55:27,834 INFO L158 Benchmark]: Boogie Preprocessor took 43.55ms. Allocated memory is still 206.6MB. Free memory was 183.2MB in the beginning and 181.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-08 06:55:27,834 INFO L158 Benchmark]: RCFGBuilder took 311.64ms. Allocated memory is still 206.6MB. Free memory was 181.5MB in the beginning and 169.6MB in the end (delta: 11.9MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 06:55:27,834 INFO L158 Benchmark]: TraceAbstraction took 323623.63ms. Allocated memory is still 206.6MB. Free memory was 168.9MB in the beginning and 127.4MB in the end (delta: 41.6MB). Peak memory consumption was 111.1MB. Max. memory is 8.0GB. [2022-04-08 06:55:27,835 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.10ms. Allocated memory is still 172.0MB. Free memory is still 136.5MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 210.05ms. Allocated memory was 172.0MB in the beginning and 206.6MB in the end (delta: 34.6MB). Free memory was 120.2MB in the beginning and 183.2MB in the end (delta: -63.0MB). Peak memory consumption was 11.3MB. Max. memory is 8.0GB. * Boogie Preprocessor took 43.55ms. Allocated memory is still 206.6MB. Free memory was 183.2MB in the beginning and 181.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 311.64ms. Allocated memory is still 206.6MB. Free memory was 181.5MB in the beginning and 169.6MB in the end (delta: 11.9MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 323623.63ms. Allocated memory is still 206.6MB. Free memory was 168.9MB in the beginning and 127.4MB in the end (delta: 41.6MB). Peak memory consumption was 111.1MB. 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: 323.5s, OverallIterations: 13, TraceHistogramMax: 16, PathProgramHistogramMax: 10, EmptinessCheckTime: 0.0s, AutomataDifference: 9.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 2.8s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 278 SdHoareTripleChecker+Valid, 2.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 227 mSDsluCounter, 1774 SdHoareTripleChecker+Invalid, 2.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1272 mSDsCounter, 217 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2067 IncrementalHoareTripleChecker+Invalid, 2284 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 217 mSolverCounterUnsat, 502 mSDtfsCounter, 2067 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1195 GetRequests, 1051 SyntacticMatches, 14 SemanticMatches, 130 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 225 ImplicationChecksByTransitivity, 34.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=130occurred in iteration=11, InterpolantAutomatonStates: 94, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.6s AutomataMinimizationTime, 13 MinimizatonAttempts, 30 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 35 LocationsWithAnnotation, 575 PreInvPairs, 763 NumberOfFragments, 1306 HoareAnnotationTreeSize, 575 FomulaSimplifications, 671 FormulaSimplificationTreeSizeReduction, 0.6s HoareSimplificationTime, 35 FomulaSimplificationsInter, 1907 FormulaSimplificationTreeSizeReductionInter, 2.2s 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: (((((((A == r && r <= 2) && q == 0) && B == 1) && d == B * 4) && p == 4) && B * 2 <= r) || ((((((0 <= A && A == r) && p == 2) && d == 2) && r <= 2) && q == 0) && B == 1)) || ((((((0 <= A && A == r) && r <= 2) && q == 0) && B == 1) && B == d) && p == 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-08 06:55:27,891 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...