/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/egcd3-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 08:53:56,592 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 08:53:56,593 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 08:53:56,626 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 08:53:56,626 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 08:53:56,627 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 08:53:56,629 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 08:53:56,631 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 08:53:56,632 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 08:53:56,636 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 08:53:56,636 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 08:53:56,637 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 08:53:56,638 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 08:53:56,639 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 08:53:56,640 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 08:53:56,642 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 08:53:56,642 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 08:53:56,643 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 08:53:56,644 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 08:53:56,648 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 08:53:56,650 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 08:53:56,650 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 08:53:56,651 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 08:53:56,651 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 08:53:56,652 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 08:53:56,657 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 08:53:56,657 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 08:53:56,657 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 08:53:56,658 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 08:53:56,658 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 08:53:56,659 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 08:53:56,659 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 08:53:56,660 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 08:53:56,661 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 08:53:56,661 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 08:53:56,662 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 08:53:56,662 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 08:53:56,662 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 08:53:56,662 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 08:53:56,662 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 08:53:56,663 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 08:53:56,664 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 08:53:56,664 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 08:53:56,673 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 08:53:56,673 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 08:53:56,674 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 08:53:56,674 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 08:53:56,674 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 08:53:56,674 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 08:53:56,674 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 08:53:56,674 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 08:53:56,674 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 08:53:56,675 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 08:53:56,675 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 08:53:56,675 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 08:53:56,675 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 08:53:56,675 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 08:53:56,675 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 08:53:56,676 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 08:53:56,676 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 08:53:56,676 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 08:53:56,676 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:53:56,676 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 08:53:56,676 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 08:53:56,676 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 08:53:56,676 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 08:53:56,676 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 08:53:56,676 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 08:53:56,676 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-15 08:53:56,857 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 08:53:56,878 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 08:53:56,881 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 08:53:56,882 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 08:53:56,883 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 08:53:56,884 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c [2022-04-15 08:53:56,941 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/09b9f60ba/02a01e8ec9d64be8ab77f75aaab9dd2c/FLAG4abfd6780 [2022-04-15 08:53:57,300 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 08:53:57,301 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c [2022-04-15 08:53:57,307 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/09b9f60ba/02a01e8ec9d64be8ab77f75aaab9dd2c/FLAG4abfd6780 [2022-04-15 08:53:57,316 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/09b9f60ba/02a01e8ec9d64be8ab77f75aaab9dd2c [2022-04-15 08:53:57,317 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 08:53:57,318 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 08:53:57,319 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 08:53:57,319 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 08:53:57,321 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 08:53:57,322 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,323 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6f026e2b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57, skipping insertion in model container [2022-04-15 08:53:57,323 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,327 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 08:53:57,337 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 08:53:57,451 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/egcd3-ll_valuebound1.c[490,503] [2022-04-15 08:53:57,467 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:53:57,473 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 08:53:57,481 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/egcd3-ll_valuebound1.c[490,503] [2022-04-15 08:53:57,488 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:53:57,496 INFO L208 MainTranslator]: Completed translation [2022-04-15 08:53:57,497 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57 WrapperNode [2022-04-15 08:53:57,497 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 08:53:57,497 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 08:53:57,498 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 08:53:57,498 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 08:53:57,505 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,505 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,509 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,509 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,514 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,517 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,518 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,520 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 08:53:57,520 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 08:53:57,520 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 08:53:57,520 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 08:53:57,521 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57" (1/1) ... [2022-04-15 08:53:57,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:53:57,535 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:53:57,543 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-15 08:53:57,545 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-15 08:53:57,573 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 08:53:57,573 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 08:53:57,573 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 08:53:57,573 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 08:53:57,573 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 08:53:57,573 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 08:53:57,574 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 08:53:57,575 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 08:53:57,575 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 08:53:57,622 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 08:53:57,623 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 08:53:57,749 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 08:53:57,754 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 08:53:57,754 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-15 08:53:57,755 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:53:57 BoogieIcfgContainer [2022-04-15 08:53:57,755 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 08:53:57,756 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 08:53:57,756 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 08:53:57,759 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 08:53:57,759 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 08:53:57" (1/3) ... [2022-04-15 08:53:57,759 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48610e9a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:53:57, skipping insertion in model container [2022-04-15 08:53:57,759 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:53:57" (2/3) ... [2022-04-15 08:53:57,760 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48610e9a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:53:57, skipping insertion in model container [2022-04-15 08:53:57,760 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:53:57" (3/3) ... [2022-04-15 08:53:57,761 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound1.c [2022-04-15 08:53:57,764 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 08:53:57,764 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 08:53:57,794 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 08:53:57,798 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-15 08:53:57,798 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 08:53:57,812 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 08:53:57,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 08:53:57,817 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:53:57,818 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:53:57,818 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:53:57,825 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:53:57,826 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-15 08:53:57,831 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:53:57,831 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1775436191] [2022-04-15 08:53:57,839 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:53:57,839 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-15 08:53:57,842 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:53:57,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [96445684] [2022-04-15 08:53:57,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:53:57,843 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:53:57,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:53:58,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 08:53:58,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:53:58,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(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(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-15 08:53:58,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 08:53:58,047 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 08:53:58,048 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 08:53:58,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:53:58,072 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:53:58,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:53:58,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:53:58,073 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 08:53:58,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 08:53:58,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:53:58,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:53:58,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:53:58,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:53:58,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 08:53:58,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 08:53:58,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:53:58,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:53:58,094 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:53:58,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:53:58,094 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 08:53:58,094 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 08:53:58,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:53:58,110 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:53:58,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:53:58,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:53:58,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 08:53:58,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 08:53:58,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(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(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-15 08:53:58,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 08:53:58,114 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 08:53:58,114 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-15 08:53:58,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-15 08:53:58,115 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 08:53:58,115 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:53:58,116 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:53:58,117 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:53:58,117 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 08:53:58,117 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-15 08:53:58,118 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 08:53:58,118 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:53:58,118 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:53:58,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:53:58,119 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 08:53:58,119 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 08:53:58,119 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:53:58,120 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:53:58,121 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:53:58,121 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 08:53:58,121 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 08:53:58,122 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 08:53:58,123 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 08:53:58,123 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 08:53:58,123 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 08:53:58,123 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-15 08:53:58,124 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-15 08:53:58,127 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-15 08:53:58,127 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-15 08:53:58,127 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-15 08:53:58,128 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-15 08:53:58,128 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:53:58,129 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:53:58,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [96445684] [2022-04-15 08:53:58,130 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [96445684] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:53:58,130 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:53:58,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:53:58,133 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:53:58,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1775436191] [2022-04-15 08:53:58,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1775436191] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:53:58,135 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:53:58,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:53:58,135 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [924912324] [2022-04-15 08:53:58,135 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:53:58,141 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 08:53:58,142 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:53:58,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:53:58,183 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-15 08:53:58,184 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 08:53:58,185 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:53:58,210 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 08:53:58,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 08:53:58,216 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:53:58,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:53:58,417 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-15 08:53:58,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 08:53:58,418 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 08:53:58,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:53:58,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:53:58,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 08:53:58,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:53:58,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 08:53:58,443 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-15 08:53:58,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:53:58,562 INFO L225 Difference]: With dead ends: 73 [2022-04-15 08:53:58,562 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 08:53:58,566 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 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-15 08:53:58,569 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:53:58,571 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:53:58,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 08:53:58,599 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-15 08:53:58,599 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:53:58,600 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:53:58,601 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:53:58,601 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:53:58,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:53:58,606 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 08:53:58,606 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 08:53:58,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:53:58,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:53:58,608 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-15 08:53:58,609 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-15 08:53:58,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:53:58,613 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 08:53:58,613 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 08:53:58,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:53:58,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:53:58,613 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:53:58,613 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:53:58,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:53:58,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-15 08:53:58,617 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-15 08:53:58,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:53:58,617 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-15 08:53:58,617 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:53:58,617 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-15 08:53:58,658 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-15 08:53:58,658 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 08:53:58,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 08:53:58,660 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:53:58,660 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:53:58,660 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 08:53:58,661 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:53:58,662 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:53:58,662 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-15 08:53:58,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:53:58,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [315317081] [2022-04-15 08:53:58,662 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:53:58,662 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-15 08:53:58,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:53:58,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [561941412] [2022-04-15 08:53:58,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:53:58,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:53:58,702 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:53:58,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1873904783] [2022-04-15 08:53:58,702 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:53:58,703 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:53:58,703 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:53:58,705 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-15 08:53:58,706 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-15 08:53:58,749 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 08:53:58,749 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:53:58,761 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 08:53:58,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:53:58,776 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:53:59,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-15 08:53:59,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {353#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(11, 2);call #Ultimate.allocInit(12, 3); {353#true} is VALID [2022-04-15 08:53:59,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:53:59,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-15 08:53:59,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-15 08:53:59,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {353#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {353#true} is VALID [2022-04-15 08:53:59,012 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 08:53:59,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:53:59,013 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:53:59,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:53:59,013 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-15 08:53:59,013 INFO L290 TraceCheckUtils]: 11: Hoare triple {353#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {353#true} is VALID [2022-04-15 08:53:59,013 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 08:53:59,013 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:53:59,014 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:53:59,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:53:59,014 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-15 08:53:59,014 INFO L272 TraceCheckUtils]: 17: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 08:53:59,014 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:53:59,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:53:59,014 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:53:59,015 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-15 08:53:59,015 INFO L272 TraceCheckUtils]: 22: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 08:53:59,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 08:53:59,015 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 08:53:59,015 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 08:53:59,015 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-15 08:53:59,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {353#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:53:59,017 INFO L290 TraceCheckUtils]: 28: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:53:59,017 INFO L290 TraceCheckUtils]: 29: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 != ~b~0); {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:53:59,018 INFO L272 TraceCheckUtils]: 30: Hoare triple {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:53:59,019 INFO L290 TraceCheckUtils]: 31: Hoare triple {450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:53:59,019 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-15 08:53:59,019 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-15 08:53:59,020 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:53:59,020 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:53:59,020 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:53:59,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [561941412] [2022-04-15 08:53:59,020 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:53:59,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1873904783] [2022-04-15 08:53:59,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1873904783] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:53:59,020 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:53:59,021 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:53:59,021 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:53:59,021 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [315317081] [2022-04-15 08:53:59,021 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [315317081] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:53:59,022 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:53:59,022 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:53:59,022 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [184268825] [2022-04-15 08:53:59,022 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:53:59,022 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-15 08:53:59,023 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:53:59,023 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:53:59,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:53:59,042 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 08:53:59,042 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:53:59,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 08:53:59,042 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:53:59,043 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:53:59,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:53:59,316 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-15 08:53:59,317 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:53:59,317 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-15 08:53:59,317 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:53:59,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:53:59,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 08:53:59,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:53:59,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 08:53:59,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-15 08:53:59,373 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-15 08:53:59,374 INFO L225 Difference]: With dead ends: 54 [2022-04-15 08:53:59,374 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 08:53:59,375 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:53:59,376 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:53:59,376 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:53:59,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 08:53:59,385 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-15 08:53:59,385 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:53:59,386 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:53:59,386 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:53:59,386 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:53:59,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:53:59,389 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 08:53:59,389 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 08:53:59,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:53:59,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:53:59,390 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-15 08:53:59,390 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-15 08:53:59,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:53:59,392 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 08:53:59,392 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 08:53:59,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:53:59,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:53:59,393 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:53:59,393 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:53:59,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:53:59,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-15 08:53:59,395 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-15 08:53:59,395 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:53:59,396 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-15 08:53:59,396 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:53:59,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-15 08:53:59,452 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:53:59,452 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-15 08:53:59,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 08:53:59,453 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:53:59,453 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:53:59,470 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-15 08:53:59,669 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:53:59,669 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:53:59,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:53:59,670 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-15 08:53:59,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:53:59,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [729488829] [2022-04-15 08:53:59,670 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:53:59,670 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-15 08:53:59,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:53:59,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2119343342] [2022-04-15 08:53:59,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:53:59,671 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:53:59,696 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:53:59,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1169726539] [2022-04-15 08:53:59,696 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:53:59,697 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:53:59,697 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:53:59,698 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-15 08:53:59,699 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-15 08:53:59,743 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:53:59,743 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:53:59,744 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 08:53:59,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:53:59,755 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:53:59,928 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 08:53:59,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-15 08:53:59,928 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:53:59,928 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 08:53:59,928 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 08:53:59,929 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-15 08:53:59,929 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:53:59,929 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:53:59,929 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:53:59,929 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:53:59,929 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 08:53:59,929 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-15 08:53:59,929 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:53:59,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:53:59,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:53:59,930 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:53:59,930 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 08:53:59,930 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:53:59,931 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:53:59,932 INFO L290 TraceCheckUtils]: 19: Hoare triple {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:53:59,932 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:53:59,935 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 08:53:59,935 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:53:59,935 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:53:59,935 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:53:59,935 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:53:59,936 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 08:53:59,936 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 08:53:59,936 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 08:53:59,937 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:53:59,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:53:59,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:53:59,940 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 08:53:59,940 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 08:53:59,946 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 08:53:59,946 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-15 08:53:59,946 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 08:53:59,946 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 08:53:59,946 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 08:53:59,947 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 08:53:59,947 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:00,180 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 08:54:00,181 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 08:54:00,181 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 08:54:00,181 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-15 08:54:00,181 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 08:54:00,182 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 08:54:00,182 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 08:54:00,182 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:54:00,183 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:54:00,183 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 08:54:00,183 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 08:54:00,184 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 08:54:00,184 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 08:54:00,184 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:00,184 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:00,184 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:00,184 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:00,185 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 08:54:00,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:00,185 INFO L290 TraceCheckUtils]: 19: Hoare triple {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:00,186 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 08:54:00,186 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:00,186 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 08:54:00,186 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:00,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:00,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:00,186 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:00,186 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-15 08:54:00,186 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 08:54:00,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:00,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 08:54:00,187 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 08:54:00,187 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 08:54:00,187 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-15 08:54:00,187 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 08:54:00,187 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 08:54:00,187 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 08:54:00,187 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-15 08:54:00,187 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 08:54:00,187 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 08:54:00,188 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:00,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2119343342] [2022-04-15 08:54:00,188 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:00,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1169726539] [2022-04-15 08:54:00,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1169726539] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:00,188 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:00,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 08:54:00,188 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:00,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [729488829] [2022-04-15 08:54:00,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [729488829] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:00,188 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:00,189 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:54:00,189 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [933254805] [2022-04-15 08:54:00,189 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:00,189 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-15 08:54:00,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:00,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:00,208 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:00,208 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:54:00,208 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:00,209 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:54:00,209 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:54:00,209 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:00,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:00,762 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-15 08:54:00,762 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:54:00,762 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-15 08:54:00,762 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:00,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:00,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 08:54:00,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:00,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 08:54:00,767 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-15 08:54:00,877 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:00,879 INFO L225 Difference]: With dead ends: 103 [2022-04-15 08:54:00,879 INFO L226 Difference]: Without dead ends: 96 [2022-04-15 08:54:00,880 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:54:00,881 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:00,881 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:54:00,881 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-15 08:54:00,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-15 08:54:00,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:00,946 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:54:00,946 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:54:00,947 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:54:00,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:00,950 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 08:54:00,951 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 08:54:00,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:00,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:00,952 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-15 08:54:00,952 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-15 08:54:00,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:00,956 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 08:54:00,956 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 08:54:00,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:00,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:00,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:00,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:00,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:54:00,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-15 08:54:00,959 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-15 08:54:00,959 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:00,959 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-15 08:54:00,959 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:54:00,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-15 08:54:01,045 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-15 08:54:01,046 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-15 08:54:01,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 08:54:01,046 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:01,047 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 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-15 08:54:01,064 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-15 08:54:01,263 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 08:54:01,264 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:01,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:01,264 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-15 08:54:01,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:01,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [100685979] [2022-04-15 08:54:01,265 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:01,265 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-15 08:54:01,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:01,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [834276380] [2022-04-15 08:54:01,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:01,265 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:01,278 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:01,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1673120191] [2022-04-15 08:54:01,279 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:01,279 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:01,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:01,280 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-15 08:54:01,280 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-15 08:54:01,320 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:01,321 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:01,321 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 08:54:01,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:01,335 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:01,584 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 08:54:01,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-15 08:54:01,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:01,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 08:54:01,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 08:54:01,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-15 08:54:01,584 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:01,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:01,585 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:01,585 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:01,585 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 08:54:01,585 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-15 08:54:01,585 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:01,586 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:01,586 INFO L290 TraceCheckUtils]: 14: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:01,586 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:01,587 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:01,587 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:01,587 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:01,588 INFO L290 TraceCheckUtils]: 19: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:01,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:01,589 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:01,589 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:01,589 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:01,589 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:01,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:01,589 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:01,590 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-15 08:54:01,590 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !false; {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-15 08:54:01,591 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-15 08:54:01,591 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !false; {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-15 08:54:01,591 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !(~c~0 >= ~b~0); {1567#false} is VALID [2022-04-15 08:54:01,591 INFO L290 TraceCheckUtils]: 32: Hoare triple {1567#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L290 TraceCheckUtils]: 34: Hoare triple {1567#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L290 TraceCheckUtils]: 36: Hoare triple {1567#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L272 TraceCheckUtils]: 38: Hoare triple {1567#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:01,592 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 08:54:01,593 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:01,909 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:01,909 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 08:54:01,909 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-15 08:54:01,909 INFO L272 TraceCheckUtils]: 38: Hoare triple {1567#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1567#false} is VALID [2022-04-15 08:54:01,910 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:01,910 INFO L290 TraceCheckUtils]: 36: Hoare triple {1567#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1567#false} is VALID [2022-04-15 08:54:01,910 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:01,910 INFO L290 TraceCheckUtils]: 34: Hoare triple {1567#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1567#false} is VALID [2022-04-15 08:54:01,910 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 08:54:01,910 INFO L290 TraceCheckUtils]: 32: Hoare triple {1567#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1567#false} is VALID [2022-04-15 08:54:01,910 INFO L290 TraceCheckUtils]: 31: Hoare triple {1730#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {1567#false} is VALID [2022-04-15 08:54:01,910 INFO L290 TraceCheckUtils]: 30: Hoare triple {1730#(<= main_~b~0 main_~c~0)} assume !false; {1730#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:01,911 INFO L290 TraceCheckUtils]: 29: Hoare triple {1737#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1730#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:01,911 INFO L290 TraceCheckUtils]: 28: Hoare triple {1737#(<= main_~b~0 main_~a~0)} assume !false; {1737#(<= main_~b~0 main_~a~0)} is VALID [2022-04-15 08:54:01,911 INFO L290 TraceCheckUtils]: 27: Hoare triple {1744#(<= main_~y~0 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1737#(<= main_~b~0 main_~a~0)} is VALID [2022-04-15 08:54:01,912 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1744#(<= main_~y~0 main_~x~0)} #100#return; {1744#(<= main_~y~0 main_~x~0)} is VALID [2022-04-15 08:54:01,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:01,912 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:01,912 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:01,912 INFO L272 TraceCheckUtils]: 22: Hoare triple {1744#(<= main_~y~0 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:01,913 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1763#(<= main_~y~0 1)} #98#return; {1744#(<= main_~y~0 main_~x~0)} is VALID [2022-04-15 08:54:01,913 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:01,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:01,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 08:54:01,914 INFO L272 TraceCheckUtils]: 17: Hoare triple {1763#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:01,914 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1763#(<= main_~y~0 1)} is VALID [2022-04-15 08:54:01,914 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:01,915 INFO L290 TraceCheckUtils]: 14: Hoare triple {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:01,915 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 08:54:01,915 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:01,915 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-15 08:54:01,915 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 08:54:01,915 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:01,915 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 08:54:01,915 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 08:54:01,915 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 08:54:01,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-15 08:54:01,916 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 08:54:01,916 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 08:54:01,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 08:54:01,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-15 08:54:01,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 08:54:01,916 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 08:54:01,916 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:01,916 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [834276380] [2022-04-15 08:54:01,916 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:01,916 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1673120191] [2022-04-15 08:54:01,917 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1673120191] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:01,917 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:01,917 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-15 08:54:01,917 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:01,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [100685979] [2022-04-15 08:54:01,917 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [100685979] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:01,917 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:01,917 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:54:01,917 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [399840899] [2022-04-15 08:54:01,917 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:01,918 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-15 08:54:01,918 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:01,918 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:54:01,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:01,941 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:54:01,942 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:01,943 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:54:01,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-15 08:54:01,943 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:54:02,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:02,424 INFO L93 Difference]: Finished difference Result 98 states and 133 transitions. [2022-04-15 08:54:02,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 08:54:02,424 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-15 08:54:02,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:02,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:54:02,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-15 08:54:02,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:54:02,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-15 08:54:02,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 102 transitions. [2022-04-15 08:54:02,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:02,510 INFO L225 Difference]: With dead ends: 98 [2022-04-15 08:54:02,510 INFO L226 Difference]: Without dead ends: 60 [2022-04-15 08:54:02,511 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 72 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:54:02,512 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 71 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 148 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:02,512 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [76 Valid, 158 Invalid, 148 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:54:02,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-15 08:54:02,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 52. [2022-04-15 08:54:02,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:02,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:54:02,588 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:54:02,589 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:54:02,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:02,591 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-15 08:54:02,591 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-15 08:54:02,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:02,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:02,591 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 60 states. [2022-04-15 08:54:02,592 INFO L87 Difference]: Start difference. First operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 60 states. [2022-04-15 08:54:02,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:02,593 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-15 08:54:02,593 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-15 08:54:02,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:02,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:02,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:02,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:02,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:54:02,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-15 08:54:02,595 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 42 [2022-04-15 08:54:02,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:02,596 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-15 08:54:02,596 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 08:54:02,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-15 08:54:02,657 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-15 08:54:02,657 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-15 08:54:02,657 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 08:54:02,657 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:02,657 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 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-15 08:54:02,675 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-15 08:54:02,858 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:02,858 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:02,858 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:02,858 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-15 08:54:02,858 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:02,859 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2081045241] [2022-04-15 08:54:02,859 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:02,859 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-15 08:54:02,859 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:02,859 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1110194124] [2022-04-15 08:54:02,859 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:02,859 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:02,877 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:02,877 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1063076690] [2022-04-15 08:54:02,877 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:02,878 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:02,878 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:02,878 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-15 08:54:02,879 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-15 08:54:02,916 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:02,917 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:02,917 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 08:54:02,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:02,926 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:03,142 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-15 08:54:03,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {2256#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(11, 2);call #Ultimate.allocInit(12, 3); {2256#true} is VALID [2022-04-15 08:54:03,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-15 08:54:03,144 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-15 08:54:03,144 INFO L290 TraceCheckUtils]: 5: Hoare triple {2256#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2256#true} is VALID [2022-04-15 08:54:03,145 INFO L272 TraceCheckUtils]: 6: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,147 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,147 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,147 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,147 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-15 08:54:03,147 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2256#true} is VALID [2022-04-15 08:54:03,148 INFO L272 TraceCheckUtils]: 12: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,148 INFO L290 TraceCheckUtils]: 13: Hoare triple {2256#true} ~cond := #in~cond; {2300#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:03,148 INFO L290 TraceCheckUtils]: 14: Hoare triple {2300#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2304#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:03,148 INFO L290 TraceCheckUtils]: 15: Hoare triple {2304#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2304#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:03,153 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2304#(not (= |assume_abort_if_not_#in~cond| 0))} {2256#true} #96#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:03,153 INFO L272 TraceCheckUtils]: 17: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,153 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,153 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,153 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,154 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2256#true} {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:03,154 INFO L272 TraceCheckUtils]: 22: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,154 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,154 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,154 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,154 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2256#true} {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #100#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:03,155 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2345#(<= 0 main_~b~0)} is VALID [2022-04-15 08:54:03,155 INFO L290 TraceCheckUtils]: 28: Hoare triple {2345#(<= 0 main_~b~0)} assume !false; {2345#(<= 0 main_~b~0)} is VALID [2022-04-15 08:54:03,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {2345#(<= 0 main_~b~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:03,156 INFO L290 TraceCheckUtils]: 30: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:03,156 INFO L290 TraceCheckUtils]: 31: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:03,156 INFO L290 TraceCheckUtils]: 32: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:03,156 INFO L272 TraceCheckUtils]: 33: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,156 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,156 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,157 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,157 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2256#true} {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:03,157 INFO L272 TraceCheckUtils]: 38: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,157 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,157 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,158 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2256#true} {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:03,158 INFO L272 TraceCheckUtils]: 43: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:03,159 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2399#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:03,159 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-15 08:54:03,159 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-15 08:54:03,161 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 08:54:03,161 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:03,340 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-15 08:54:03,340 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-15 08:54:03,340 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2399#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:03,341 INFO L272 TraceCheckUtils]: 43: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:03,341 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2256#true} {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #104#return; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:54:03,342 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,342 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,342 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,342 INFO L272 TraceCheckUtils]: 38: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,343 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2256#true} {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #102#return; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:54:03,343 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,343 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,343 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,343 INFO L272 TraceCheckUtils]: 33: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,344 INFO L290 TraceCheckUtils]: 32: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:54:03,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:54:03,345 INFO L290 TraceCheckUtils]: 30: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:54:03,345 INFO L290 TraceCheckUtils]: 29: Hoare triple {2256#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 08:54:03,345 INFO L290 TraceCheckUtils]: 28: Hoare triple {2256#true} assume !false; {2256#true} is VALID [2022-04-15 08:54:03,345 INFO L290 TraceCheckUtils]: 27: Hoare triple {2256#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2256#true} is VALID [2022-04-15 08:54:03,345 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2256#true} {2256#true} #100#return; {2256#true} is VALID [2022-04-15 08:54:03,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,345 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,345 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,345 INFO L272 TraceCheckUtils]: 22: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,345 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2256#true} {2256#true} #98#return; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L272 TraceCheckUtils]: 17: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2256#true} {2256#true} #96#return; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 15: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 14: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 13: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L272 TraceCheckUtils]: 12: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L272 TraceCheckUtils]: 6: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 08:54:03,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {2256#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2256#true} is VALID [2022-04-15 08:54:03,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-15 08:54:03,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-15 08:54:03,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 08:54:03,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {2256#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(11, 2);call #Ultimate.allocInit(12, 3); {2256#true} is VALID [2022-04-15 08:54:03,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-15 08:54:03,347 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 08:54:03,347 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:03,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1110194124] [2022-04-15 08:54:03,347 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:03,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1063076690] [2022-04-15 08:54:03,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1063076690] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 08:54:03,347 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:54:03,348 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-15 08:54:03,348 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:03,348 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2081045241] [2022-04-15 08:54:03,348 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2081045241] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:03,348 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:03,348 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:54:03,348 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1567906450] [2022-04-15 08:54:03,348 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:03,348 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-15 08:54:03,349 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:03,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:54:03,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:03,369 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:54:03,369 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:03,369 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:54:03,369 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-15 08:54:03,369 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:54:03,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:03,646 INFO L93 Difference]: Finished difference Result 75 states and 99 transitions. [2022-04-15 08:54:03,646 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:54:03,646 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-15 08:54:03,646 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:03,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:54:03,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:54:03,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:54:03,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:54:03,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 08:54:03,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:03,697 INFO L225 Difference]: With dead ends: 75 [2022-04-15 08:54:03,697 INFO L226 Difference]: Without dead ends: 73 [2022-04-15 08:54:03,697 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 08:54:03,706 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:03,707 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 147 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:54:03,707 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-15 08:54:03,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 70. [2022-04-15 08:54:03,816 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:03,816 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:54:03,816 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:54:03,816 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:54:03,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:03,819 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-15 08:54:03,819 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-15 08:54:03,819 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:03,819 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:03,820 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 73 states. [2022-04-15 08:54:03,820 INFO L87 Difference]: Start difference. First operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 73 states. [2022-04-15 08:54:03,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:03,822 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-15 08:54:03,822 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-15 08:54:03,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:03,823 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:03,823 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:03,823 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:03,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:54:03,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 94 transitions. [2022-04-15 08:54:03,825 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 94 transitions. Word has length 47 [2022-04-15 08:54:03,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:03,826 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 94 transitions. [2022-04-15 08:54:03,826 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:54:03,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 94 transitions. [2022-04-15 08:54:03,926 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-15 08:54:03,926 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 94 transitions. [2022-04-15 08:54:03,927 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 08:54:03,927 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:03,927 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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, 1, 1, 1, 1, 1, 1] [2022-04-15 08:54:03,943 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-15 08:54:04,133 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:04,134 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:04,134 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:04,134 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-15 08:54:04,134 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:04,134 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1548487741] [2022-04-15 08:54:04,147 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:04,148 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-15 08:54:04,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:04,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1674198133] [2022-04-15 08:54:04,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:04,148 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:04,172 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:04,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2051985062] [2022-04-15 08:54:04,173 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:04,173 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:04,173 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:04,181 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-15 08:54:04,182 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-15 08:54:04,232 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:04,232 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:04,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 08:54:04,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:04,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:04,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-15 08:54:04,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {2985#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(11, 2);call #Ultimate.allocInit(12, 3); {2985#true} is VALID [2022-04-15 08:54:04,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:04,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-15 08:54:04,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-15 08:54:04,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {2985#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2985#true} is VALID [2022-04-15 08:54:04,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:04,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {2985#true} ~cond := #in~cond; {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:04,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:04,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:04,827 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} {2985#true} #94#return; {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 08:54:04,827 INFO L290 TraceCheckUtils]: 11: Hoare triple {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 08:54:04,827 INFO L272 TraceCheckUtils]: 12: Hoare triple {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:04,827 INFO L290 TraceCheckUtils]: 13: Hoare triple {2985#true} ~cond := #in~cond; {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:04,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:04,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:04,828 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:04,829 INFO L272 TraceCheckUtils]: 17: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:04,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:04,829 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:04,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:04,829 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2985#true} {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #98#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:04,829 INFO L272 TraceCheckUtils]: 22: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:04,829 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:04,829 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:04,829 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:04,830 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2985#true} {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #100#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:04,830 INFO L290 TraceCheckUtils]: 27: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:04,830 INFO L290 TraceCheckUtils]: 28: Hoare triple {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} assume !false; {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:04,831 INFO L290 TraceCheckUtils]: 29: Hoare triple {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:04,831 INFO L290 TraceCheckUtils]: 30: Hoare triple {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} assume !false; {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:04,832 INFO L290 TraceCheckUtils]: 31: Hoare triple {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:04,833 INFO L290 TraceCheckUtils]: 32: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:04,833 INFO L272 TraceCheckUtils]: 33: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:04,833 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:04,833 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:04,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:04,837 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:04,837 INFO L272 TraceCheckUtils]: 38: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:04,837 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:04,837 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:04,838 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:04,838 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:04,838 INFO L272 TraceCheckUtils]: 43: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:04,838 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:04,838 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:04,838 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:04,839 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:04,839 INFO L272 TraceCheckUtils]: 48: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:04,840 INFO L290 TraceCheckUtils]: 49: Hoare triple {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:04,840 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-15 08:54:04,840 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-15 08:54:04,840 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:54:04,840 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:05,074 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-15 08:54:05,075 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-15 08:54:05,075 INFO L290 TraceCheckUtils]: 49: Hoare triple {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:05,076 INFO L272 TraceCheckUtils]: 48: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:05,079 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:54:05,079 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:05,079 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:05,079 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:05,079 INFO L272 TraceCheckUtils]: 43: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:05,080 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:54:05,080 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:05,080 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:05,080 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:05,080 INFO L272 TraceCheckUtils]: 38: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:05,081 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:54:05,081 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:05,081 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:05,081 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:05,081 INFO L272 TraceCheckUtils]: 33: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:05,081 INFO L290 TraceCheckUtils]: 32: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:54:05,081 INFO L290 TraceCheckUtils]: 31: Hoare triple {2985#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 08:54:05,081 INFO L290 TraceCheckUtils]: 30: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 29: Hoare triple {2985#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 28: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 27: Hoare triple {2985#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2985#true} {2985#true} #100#return; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L272 TraceCheckUtils]: 22: Hoare triple {2985#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2985#true} {2985#true} #98#return; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L272 TraceCheckUtils]: 17: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2985#true} {2985#true} #96#return; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:05,082 INFO L290 TraceCheckUtils]: 14: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L290 TraceCheckUtils]: 13: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L272 TraceCheckUtils]: 12: Hoare triple {2985#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L290 TraceCheckUtils]: 11: Hoare triple {2985#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2985#true} {2985#true} #94#return; {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {2985#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {2985#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(11, 2);call #Ultimate.allocInit(12, 3); {2985#true} is VALID [2022-04-15 08:54:05,083 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-15 08:54:05,084 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 08:54:05,084 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:05,084 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1674198133] [2022-04-15 08:54:05,084 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:05,084 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2051985062] [2022-04-15 08:54:05,084 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2051985062] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 08:54:05,084 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:54:05,084 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [11] total 12 [2022-04-15 08:54:05,084 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:05,084 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1548487741] [2022-04-15 08:54:05,084 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1548487741] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:05,084 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:05,084 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:54:05,084 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [557299565] [2022-04-15 08:54:05,085 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:05,085 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-15 08:54:05,085 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:05,085 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:54:05,108 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:05,109 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:54:05,109 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:05,109 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:54:05,109 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2022-04-15 08:54:05,109 INFO L87 Difference]: Start difference. First operand 70 states and 94 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:54:05,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:05,423 INFO L93 Difference]: Finished difference Result 77 states and 100 transitions. [2022-04-15 08:54:05,423 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:54:05,423 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-15 08:54:05,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:05,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:54:05,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 08:54:05,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:54:05,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 08:54:05,439 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-15 08:54:05,483 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-15 08:54:05,485 INFO L225 Difference]: With dead ends: 77 [2022-04-15 08:54:05,485 INFO L226 Difference]: Without dead ends: 75 [2022-04-15 08:54:05,486 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=129, Unknown=0, NotChecked=0, Total=156 [2022-04-15 08:54:05,488 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 9 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:05,488 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 133 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:54:05,489 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-15 08:54:05,608 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2022-04-15 08:54:05,608 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:05,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:54:05,609 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:54:05,609 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:54:05,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:05,611 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-15 08:54:05,611 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-15 08:54:05,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:05,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:05,612 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 75 states. [2022-04-15 08:54:05,612 INFO L87 Difference]: Start difference. First operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 75 states. [2022-04-15 08:54:05,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:05,614 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-15 08:54:05,614 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-15 08:54:05,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:05,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:05,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:05,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:05,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 08:54:05,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 97 transitions. [2022-04-15 08:54:05,616 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 97 transitions. Word has length 52 [2022-04-15 08:54:05,616 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:05,616 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 97 transitions. [2022-04-15 08:54:05,616 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:54:05,616 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 97 transitions. [2022-04-15 08:54:05,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:05,722 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 97 transitions. [2022-04-15 08:54:05,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-15 08:54:05,722 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:05,723 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-15 08:54:05,742 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-15 08:54:05,923 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:05,923 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:05,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:05,924 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-15 08:54:05,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:05,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1286046724] [2022-04-15 08:54:05,924 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:05,924 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-15 08:54:05,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:05,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1402182016] [2022-04-15 08:54:05,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:05,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:05,939 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:05,939 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [911149716] [2022-04-15 08:54:05,939 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:05,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:05,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:05,940 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-15 08:54:05,941 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-15 08:54:05,975 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:05,975 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:05,977 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-15 08:54:05,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:05,988 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:07,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-15 08:54:07,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {3762#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(11, 2);call #Ultimate.allocInit(12, 3); {3762#true} is VALID [2022-04-15 08:54:07,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:07,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-15 08:54:07,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-15 08:54:07,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {3762#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3762#true} is VALID [2022-04-15 08:54:07,597 INFO L272 TraceCheckUtils]: 6: Hoare triple {3762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:07,598 INFO L290 TraceCheckUtils]: 7: Hoare triple {3762#true} ~cond := #in~cond; {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:07,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:07,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:07,599 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3762#true} #94#return; {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 08:54:07,599 INFO L290 TraceCheckUtils]: 11: Hoare triple {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 08:54:07,599 INFO L272 TraceCheckUtils]: 12: Hoare triple {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:07,600 INFO L290 TraceCheckUtils]: 13: Hoare triple {3762#true} ~cond := #in~cond; {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:07,600 INFO L290 TraceCheckUtils]: 14: Hoare triple {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:07,600 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:07,601 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:07,601 INFO L272 TraceCheckUtils]: 17: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:07,601 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:07,601 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:07,601 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:07,601 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3762#true} {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #98#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:07,601 INFO L272 TraceCheckUtils]: 22: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:07,601 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:07,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:07,602 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:07,602 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3762#true} {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #100#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:07,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,603 INFO L290 TraceCheckUtils]: 28: Hoare triple {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,603 INFO L290 TraceCheckUtils]: 29: Hoare triple {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,605 INFO L290 TraceCheckUtils]: 32: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,605 INFO L272 TraceCheckUtils]: 33: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:07,605 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:07,605 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:07,605 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:07,606 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #102#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,606 INFO L272 TraceCheckUtils]: 38: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:07,606 INFO L290 TraceCheckUtils]: 39: Hoare triple {3762#true} ~cond := #in~cond; {3891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:07,606 INFO L290 TraceCheckUtils]: 40: Hoare triple {3891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:54:07,606 INFO L290 TraceCheckUtils]: 41: Hoare triple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:54:07,607 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #104#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,607 INFO L272 TraceCheckUtils]: 43: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:07,607 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:07,607 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:07,607 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:07,608 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #106#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,608 INFO L272 TraceCheckUtils]: 48: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:07,608 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:07,608 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:07,608 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:07,609 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #108#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,609 INFO L290 TraceCheckUtils]: 53: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {3935#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,610 INFO L290 TraceCheckUtils]: 54: Hoare triple {3935#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,610 INFO L290 TraceCheckUtils]: 55: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} assume !false; {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,611 INFO L290 TraceCheckUtils]: 56: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 08:54:07,611 INFO L290 TraceCheckUtils]: 57: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-15 08:54:07,614 INFO L290 TraceCheckUtils]: 58: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} assume !false; {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-15 08:54:07,615 INFO L290 TraceCheckUtils]: 59: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} assume !(0 != ~b~0); {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-15 08:54:07,616 INFO L272 TraceCheckUtils]: 60: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:07,616 INFO L290 TraceCheckUtils]: 61: Hoare triple {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:07,617 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-15 08:54:07,617 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-15 08:54:07,617 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 08:54:07,617 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:20,567 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-15 08:54:20,568 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-15 08:54:20,568 INFO L290 TraceCheckUtils]: 61: Hoare triple {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:54:20,569 INFO L272 TraceCheckUtils]: 60: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:54:20,569 INFO L290 TraceCheckUtils]: 59: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:54:20,570 INFO L290 TraceCheckUtils]: 58: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:54:20,709 INFO L290 TraceCheckUtils]: 57: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:54:20,710 INFO L290 TraceCheckUtils]: 56: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:20,710 INFO L290 TraceCheckUtils]: 55: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:20,734 INFO L290 TraceCheckUtils]: 54: Hoare triple {3999#(= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:20,734 INFO L290 TraceCheckUtils]: 53: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {3999#(= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:54:20,735 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3762#true} {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:54:20,735 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:20,735 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:20,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:20,735 INFO L272 TraceCheckUtils]: 48: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:20,736 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3762#true} {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:54:20,736 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:20,736 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:20,736 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:20,736 INFO L272 TraceCheckUtils]: 43: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:20,737 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:54:20,738 INFO L290 TraceCheckUtils]: 41: Hoare triple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:54:20,738 INFO L290 TraceCheckUtils]: 40: Hoare triple {4047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:54:20,738 INFO L290 TraceCheckUtils]: 39: Hoare triple {3762#true} ~cond := #in~cond; {4047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:54:20,738 INFO L272 TraceCheckUtils]: 38: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:20,739 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3762#true} {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:54:20,739 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:20,739 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:20,739 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:20,739 INFO L272 TraceCheckUtils]: 33: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:20,740 INFO L290 TraceCheckUtils]: 32: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:54:20,741 INFO L290 TraceCheckUtils]: 31: Hoare triple {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 08:54:20,741 INFO L290 TraceCheckUtils]: 30: Hoare triple {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !false; {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-15 08:54:20,742 INFO L290 TraceCheckUtils]: 29: Hoare triple {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-15 08:54:20,743 INFO L290 TraceCheckUtils]: 28: Hoare triple {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} assume !false; {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} is VALID [2022-04-15 08:54:20,743 INFO L290 TraceCheckUtils]: 27: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} is VALID [2022-04-15 08:54:20,744 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3762#true} {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} #100#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-15 08:54:20,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:20,744 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:20,744 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:20,744 INFO L272 TraceCheckUtils]: 22: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:20,744 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3762#true} {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} #98#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-15 08:54:20,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:20,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:20,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:20,745 INFO L272 TraceCheckUtils]: 17: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:20,745 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3762#true} {4120#(<= main_~x~0 1)} #96#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-15 08:54:20,745 INFO L290 TraceCheckUtils]: 15: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:20,745 INFO L290 TraceCheckUtils]: 14: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 08:54:20,745 INFO L290 TraceCheckUtils]: 13: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 08:54:20,745 INFO L272 TraceCheckUtils]: 12: Hoare triple {4120#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:20,746 INFO L290 TraceCheckUtils]: 11: Hoare triple {4120#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4120#(<= main_~x~0 1)} is VALID [2022-04-15 08:54:20,746 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3762#true} #94#return; {4120#(<= main_~x~0 1)} is VALID [2022-04-15 08:54:20,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:20,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {4148#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:20,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {3762#true} ~cond := #in~cond; {4148#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 08:54:20,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {3762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 08:54:20,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {3762#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3762#true} is VALID [2022-04-15 08:54:20,747 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-15 08:54:20,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-15 08:54:20,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 08:54:20,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {3762#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(11, 2);call #Ultimate.allocInit(12, 3); {3762#true} is VALID [2022-04-15 08:54:20,748 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-15 08:54:20,748 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 20 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-15 08:54:20,748 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:20,748 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1402182016] [2022-04-15 08:54:20,748 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:20,748 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [911149716] [2022-04-15 08:54:20,748 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [911149716] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:20,748 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:20,748 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 27 [2022-04-15 08:54:20,748 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:20,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1286046724] [2022-04-15 08:54:20,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1286046724] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:20,749 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:20,749 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 08:54:20,749 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [299908691] [2022-04-15 08:54:20,749 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:20,749 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 64 [2022-04-15 08:54:20,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:20,749 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:54:20,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:20,789 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 08:54:20,790 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:20,790 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 08:54:20,790 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=595, Unknown=0, NotChecked=0, Total=702 [2022-04-15 08:54:20,790 INFO L87 Difference]: Start difference. First operand 74 states and 97 transitions. Second operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:54:23,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:23,145 INFO L93 Difference]: Finished difference Result 124 states and 169 transitions. [2022-04-15 08:54:23,146 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 08:54:23,146 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 64 [2022-04-15 08:54:23,146 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:23,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:54:23,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-15 08:54:23,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:54:23,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-15 08:54:23,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 129 transitions. [2022-04-15 08:54:23,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:23,291 INFO L225 Difference]: With dead ends: 124 [2022-04-15 08:54:23,291 INFO L226 Difference]: Without dead ends: 121 [2022-04-15 08:54:23,292 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 101 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 222 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=176, Invalid=946, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 08:54:23,292 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 79 mSDsluCounter, 250 mSDsCounter, 0 mSdLazyCounter, 640 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 92 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 697 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 640 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:23,292 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [92 Valid, 296 Invalid, 697 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 640 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 08:54:23,293 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-15 08:54:23,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 111. [2022-04-15 08:54:23,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:23,564 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 08:54:23,564 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 08:54:23,564 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 08:54:23,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:23,568 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-15 08:54:23,568 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-15 08:54:23,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:23,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:23,569 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 121 states. [2022-04-15 08:54:23,569 INFO L87 Difference]: Start difference. First operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 121 states. [2022-04-15 08:54:23,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:23,572 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-15 08:54:23,572 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-15 08:54:23,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:23,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:23,572 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:23,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:23,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 08:54:23,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 150 transitions. [2022-04-15 08:54:23,576 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 150 transitions. Word has length 64 [2022-04-15 08:54:23,576 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:23,576 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 150 transitions. [2022-04-15 08:54:23,576 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:54:23,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 150 transitions. [2022-04-15 08:54:23,779 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:23,779 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 150 transitions. [2022-04-15 08:54:23,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 08:54:23,780 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:23,780 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:54:23,798 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-15 08:54:23,980 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:23,981 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:23,981 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:23,981 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 3 times [2022-04-15 08:54:23,981 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:23,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2060106717] [2022-04-15 08:54:23,981 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:23,982 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 4 times [2022-04-15 08:54:23,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:23,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2139342049] [2022-04-15 08:54:23,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:23,982 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:23,995 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:23,995 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2049046718] [2022-04-15 08:54:23,995 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:54:23,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:23,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:23,996 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-15 08:54:23,997 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-15 08:54:24,040 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:54:24,040 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:24,040 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 08:54:24,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:24,051 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:24,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {4898#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(11, 2);call #Ultimate.allocInit(12, 3); {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {4898#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,264 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 11: Hoare triple {4898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L272 TraceCheckUtils]: 12: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L272 TraceCheckUtils]: 17: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4898#true} is VALID [2022-04-15 08:54:24,265 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-15 08:54:24,266 INFO L290 TraceCheckUtils]: 29: Hoare triple {4898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4898#true} is VALID [2022-04-15 08:54:24,266 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-15 08:54:24,266 INFO L290 TraceCheckUtils]: 31: Hoare triple {4898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:54:24,266 INFO L290 TraceCheckUtils]: 32: Hoare triple {4996#(<= main_~v~0 main_~b~0)} assume !false; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:54:24,266 INFO L272 TraceCheckUtils]: 33: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,266 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,266 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,266 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,267 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #102#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:54:24,267 INFO L272 TraceCheckUtils]: 38: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,267 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,267 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,267 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,268 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #104#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:54:24,268 INFO L272 TraceCheckUtils]: 43: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,268 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,268 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,268 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,269 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #106#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:54:24,269 INFO L272 TraceCheckUtils]: 48: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,269 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,269 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,269 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,269 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #108#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 08:54:24,270 INFO L290 TraceCheckUtils]: 53: Hoare triple {4996#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {5063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:54:24,270 INFO L290 TraceCheckUtils]: 54: Hoare triple {5063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 08:54:24,271 INFO L290 TraceCheckUtils]: 55: Hoare triple {5067#(< main_~c~0 main_~b~0)} assume !false; {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 08:54:24,271 INFO L290 TraceCheckUtils]: 56: Hoare triple {5067#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 08:54:24,271 INFO L290 TraceCheckUtils]: 57: Hoare triple {5067#(< main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5077#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:54:24,271 INFO L290 TraceCheckUtils]: 58: Hoare triple {5077#(< main_~b~0 main_~a~0)} assume !false; {5077#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 08:54:24,272 INFO L290 TraceCheckUtils]: 59: Hoare triple {5077#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5084#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:24,272 INFO L290 TraceCheckUtils]: 60: Hoare triple {5084#(< main_~b~0 main_~c~0)} assume !false; {5084#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:24,272 INFO L290 TraceCheckUtils]: 61: Hoare triple {5084#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4899#false} is VALID [2022-04-15 08:54:24,273 INFO L290 TraceCheckUtils]: 62: Hoare triple {4899#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4899#false} is VALID [2022-04-15 08:54:24,273 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-15 08:54:24,273 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-15 08:54:24,273 INFO L272 TraceCheckUtils]: 65: Hoare triple {4899#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {4899#false} is VALID [2022-04-15 08:54:24,273 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-15 08:54:24,273 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-15 08:54:24,273 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-15 08:54:24,273 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 19 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 08:54:24,273 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:24,519 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-15 08:54:24,519 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-15 08:54:24,519 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-15 08:54:24,519 INFO L272 TraceCheckUtils]: 65: Hoare triple {4899#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {4899#false} is VALID [2022-04-15 08:54:24,519 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-15 08:54:24,519 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-15 08:54:24,519 INFO L290 TraceCheckUtils]: 62: Hoare triple {4899#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4899#false} is VALID [2022-04-15 08:54:24,519 INFO L290 TraceCheckUtils]: 61: Hoare triple {5133#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4899#false} is VALID [2022-04-15 08:54:24,519 INFO L290 TraceCheckUtils]: 60: Hoare triple {5133#(<= main_~b~0 main_~c~0)} assume !false; {5133#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:24,520 INFO L290 TraceCheckUtils]: 59: Hoare triple {5140#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5133#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:24,520 INFO L290 TraceCheckUtils]: 58: Hoare triple {5140#(<= main_~b~0 main_~a~0)} assume !false; {5140#(<= main_~b~0 main_~a~0)} is VALID [2022-04-15 08:54:24,520 INFO L290 TraceCheckUtils]: 57: Hoare triple {5147#(<= main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5140#(<= main_~b~0 main_~a~0)} is VALID [2022-04-15 08:54:24,521 INFO L290 TraceCheckUtils]: 56: Hoare triple {5147#(<= main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-15 08:54:24,521 INFO L290 TraceCheckUtils]: 55: Hoare triple {5147#(<= main_~c~0 main_~b~0)} assume !false; {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-15 08:54:24,521 INFO L290 TraceCheckUtils]: 54: Hoare triple {5157#(<= main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-15 08:54:24,522 INFO L290 TraceCheckUtils]: 53: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} assume !(~c~0 >= 2 * ~v~0); {5157#(<= main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-15 08:54:24,522 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #108#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 08:54:24,522 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,523 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,523 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,523 INFO L272 TraceCheckUtils]: 48: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,525 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #106#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 08:54:24,525 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,525 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,525 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,525 INFO L272 TraceCheckUtils]: 43: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,526 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #104#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 08:54:24,526 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,526 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,526 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,526 INFO L272 TraceCheckUtils]: 38: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,527 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #102#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 08:54:24,527 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,527 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,527 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,527 INFO L272 TraceCheckUtils]: 33: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,527 INFO L290 TraceCheckUtils]: 32: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} assume !false; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 31: Hoare triple {4898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 29: Hoare triple {4898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L272 TraceCheckUtils]: 17: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-15 08:54:24,528 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L272 TraceCheckUtils]: 12: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L290 TraceCheckUtils]: 11: Hoare triple {4898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L272 TraceCheckUtils]: 6: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L290 TraceCheckUtils]: 5: Hoare triple {4898#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {4898#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(11, 2);call #Ultimate.allocInit(12, 3); {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-15 08:54:24,529 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 19 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 08:54:24,530 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:24,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2139342049] [2022-04-15 08:54:24,530 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:24,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2049046718] [2022-04-15 08:54:24,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2049046718] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:24,530 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:24,530 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 08:54:24,530 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:24,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2060106717] [2022-04-15 08:54:24,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2060106717] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:24,530 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:24,530 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 08:54:24,530 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1934427654] [2022-04-15 08:54:24,530 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:24,531 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-15 08:54:24,531 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:24,531 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:54:24,570 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-15 08:54:24,570 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 08:54:24,570 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:24,570 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 08:54:24,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-15 08:54:24,570 INFO L87 Difference]: Start difference. First operand 111 states and 150 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:54:25,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:25,682 INFO L93 Difference]: Finished difference Result 227 states and 315 transitions. [2022-04-15 08:54:25,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 08:54:25,683 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-15 08:54:25,683 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:25,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:54:25,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-15 08:54:25,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:54:25,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-15 08:54:25,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 150 transitions. [2022-04-15 08:54:25,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:25,812 INFO L225 Difference]: With dead ends: 227 [2022-04-15 08:54:25,812 INFO L226 Difference]: Without dead ends: 162 [2022-04-15 08:54:25,813 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 131 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=111, Invalid=309, Unknown=0, NotChecked=0, Total=420 [2022-04-15 08:54:25,813 INFO L913 BasicCegarLoop]: 67 mSDtfsCounter, 31 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:25,813 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 232 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 191 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 08:54:25,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-15 08:54:26,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 144. [2022-04-15 08:54:26,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:26,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 08:54:26,249 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 08:54:26,249 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 08:54:26,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:26,254 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-15 08:54:26,254 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-15 08:54:26,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:26,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:26,255 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) Second operand 162 states. [2022-04-15 08:54:26,256 INFO L87 Difference]: Start difference. First operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) Second operand 162 states. [2022-04-15 08:54:26,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:26,260 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-15 08:54:26,260 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-15 08:54:26,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:26,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:26,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:26,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:26,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 08:54:26,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 205 transitions. [2022-04-15 08:54:26,265 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 205 transitions. Word has length 69 [2022-04-15 08:54:26,265 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:26,265 INFO L478 AbstractCegarLoop]: Abstraction has 144 states and 205 transitions. [2022-04-15 08:54:26,265 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 08:54:26,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 205 transitions. [2022-04-15 08:54:26,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:26,565 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 205 transitions. [2022-04-15 08:54:26,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-15 08:54:26,566 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:26,566 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 3, 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, 1, 1, 1, 1, 1, 1] [2022-04-15 08:54:26,582 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-15 08:54:26,777 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:26,777 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:26,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:26,778 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 1 times [2022-04-15 08:54:26,778 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:26,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1765883910] [2022-04-15 08:54:26,778 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:26,778 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 2 times [2022-04-15 08:54:26,778 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:26,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1132935194] [2022-04-15 08:54:26,778 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:26,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:26,789 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:26,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1994719977] [2022-04-15 08:54:26,789 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:26,790 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:26,790 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:26,790 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-15 08:54:26,791 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-15 08:54:26,829 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:26,829 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:26,830 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 08:54:26,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:26,842 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:27,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-15 08:54:27,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {6411#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(11, 2);call #Ultimate.allocInit(12, 3); {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {6411#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L272 TraceCheckUtils]: 6: Hoare triple {6411#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {6411#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L272 TraceCheckUtils]: 12: Hoare triple {6411#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {6411#true} ~cond := #in~cond; {6455#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:27,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {6455#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:27,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:27,212 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} {6411#true} #96#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:27,212 INFO L272 TraceCheckUtils]: 17: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,212 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,212 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6411#true} {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:27,213 INFO L272 TraceCheckUtils]: 22: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,213 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,213 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,213 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,213 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6411#true} {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #100#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 08:54:27,213 INFO L290 TraceCheckUtils]: 27: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6500#(<= main_~b~0 1)} is VALID [2022-04-15 08:54:27,214 INFO L290 TraceCheckUtils]: 28: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-15 08:54:27,214 INFO L290 TraceCheckUtils]: 29: Hoare triple {6500#(<= main_~b~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6500#(<= main_~b~0 1)} is VALID [2022-04-15 08:54:27,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-15 08:54:27,215 INFO L290 TraceCheckUtils]: 31: Hoare triple {6500#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 08:54:27,215 INFO L290 TraceCheckUtils]: 32: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} assume !false; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 08:54:27,215 INFO L272 TraceCheckUtils]: 33: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,215 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,215 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,215 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,216 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #102#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 08:54:27,216 INFO L272 TraceCheckUtils]: 38: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,216 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,216 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,216 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,216 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #104#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 08:54:27,216 INFO L272 TraceCheckUtils]: 43: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,216 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,216 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,216 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,217 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #106#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 08:54:27,217 INFO L272 TraceCheckUtils]: 48: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,217 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,217 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,217 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,217 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #108#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 08:54:27,218 INFO L290 TraceCheckUtils]: 53: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} assume !(~c~0 >= 2 * ~v~0); {6580#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:54:27,218 INFO L290 TraceCheckUtils]: 54: Hoare triple {6580#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 08:54:27,219 INFO L290 TraceCheckUtils]: 55: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !false; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 08:54:27,219 INFO L290 TraceCheckUtils]: 56: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 08:54:27,219 INFO L290 TraceCheckUtils]: 57: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:27,220 INFO L290 TraceCheckUtils]: 58: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:27,220 INFO L290 TraceCheckUtils]: 59: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6412#false} is VALID [2022-04-15 08:54:27,220 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 08:54:27,220 INFO L290 TraceCheckUtils]: 61: Hoare triple {6412#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6412#false} is VALID [2022-04-15 08:54:27,220 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 08:54:27,220 INFO L272 TraceCheckUtils]: 63: Hoare triple {6412#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6412#false} is VALID [2022-04-15 08:54:27,220 INFO L290 TraceCheckUtils]: 64: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-15 08:54:27,220 INFO L290 TraceCheckUtils]: 65: Hoare triple {6412#false} assume !(0 == ~cond); {6412#false} is VALID [2022-04-15 08:54:27,220 INFO L290 TraceCheckUtils]: 66: Hoare triple {6412#false} assume true; {6412#false} is VALID [2022-04-15 08:54:27,220 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6412#false} {6412#false} #102#return; {6412#false} is VALID [2022-04-15 08:54:27,220 INFO L272 TraceCheckUtils]: 68: Hoare triple {6412#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6412#false} is VALID [2022-04-15 08:54:27,221 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-15 08:54:27,221 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-15 08:54:27,221 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 08:54:27,221 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-15 08:54:27,221 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:27,930 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 08:54:27,930 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-15 08:54:27,930 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-15 08:54:27,930 INFO L272 TraceCheckUtils]: 68: Hoare triple {6412#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6412#false} is VALID [2022-04-15 08:54:27,930 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6411#true} {6412#false} #102#return; {6412#false} is VALID [2022-04-15 08:54:27,930 INFO L290 TraceCheckUtils]: 66: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,930 INFO L290 TraceCheckUtils]: 65: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,930 INFO L290 TraceCheckUtils]: 64: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,930 INFO L272 TraceCheckUtils]: 63: Hoare triple {6412#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,930 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 08:54:27,931 INFO L290 TraceCheckUtils]: 61: Hoare triple {6412#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6412#false} is VALID [2022-04-15 08:54:27,931 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 08:54:27,931 INFO L290 TraceCheckUtils]: 59: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6412#false} is VALID [2022-04-15 08:54:27,931 INFO L290 TraceCheckUtils]: 58: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:27,932 INFO L290 TraceCheckUtils]: 57: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 08:54:27,932 INFO L290 TraceCheckUtils]: 56: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 08:54:27,932 INFO L290 TraceCheckUtils]: 55: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !false; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 08:54:27,933 INFO L290 TraceCheckUtils]: 54: Hoare triple {6688#(and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 08:54:27,934 INFO L290 TraceCheckUtils]: 53: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} assume !(~c~0 >= 2 * ~v~0); {6688#(and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 08:54:27,934 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #108#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 08:54:27,934 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,934 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,934 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,934 INFO L272 TraceCheckUtils]: 48: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,935 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #106#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 08:54:27,935 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,935 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,935 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,935 INFO L272 TraceCheckUtils]: 43: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,936 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #104#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 08:54:27,936 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,936 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,936 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,936 INFO L272 TraceCheckUtils]: 38: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,936 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #102#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 08:54:27,936 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,936 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,936 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,937 INFO L272 TraceCheckUtils]: 33: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,937 INFO L290 TraceCheckUtils]: 32: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} assume !false; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 08:54:27,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 08:54:27,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} assume !false; {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-15 08:54:27,939 INFO L290 TraceCheckUtils]: 29: Hoare triple {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-15 08:54:27,939 INFO L290 TraceCheckUtils]: 28: Hoare triple {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} assume !false; {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} is VALID [2022-04-15 08:54:27,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {6773#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} is VALID [2022-04-15 08:54:27,940 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6411#true} {6773#(<= main_~y~0 1)} #100#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-15 08:54:27,940 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,940 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,940 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,940 INFO L272 TraceCheckUtils]: 22: Hoare triple {6773#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,940 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6411#true} {6773#(<= main_~y~0 1)} #98#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-15 08:54:27,941 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,941 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,941 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,941 INFO L272 TraceCheckUtils]: 17: Hoare triple {6773#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,941 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} {6411#true} #96#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-15 08:54:27,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:27,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {6816#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:27,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {6411#true} ~cond := #in~cond; {6816#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 08:54:27,942 INFO L272 TraceCheckUtils]: 12: Hoare triple {6411#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,942 INFO L290 TraceCheckUtils]: 11: Hoare triple {6411#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6411#true} is VALID [2022-04-15 08:54:27,942 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-15 08:54:27,942 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 08:54:27,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 08:54:27,942 INFO L272 TraceCheckUtils]: 6: Hoare triple {6411#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 08:54:27,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {6411#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6411#true} is VALID [2022-04-15 08:54:27,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-15 08:54:27,943 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-15 08:54:27,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 08:54:27,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {6411#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(11, 2);call #Ultimate.allocInit(12, 3); {6411#true} is VALID [2022-04-15 08:54:27,943 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-15 08:54:27,943 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 24 proven. 6 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2022-04-15 08:54:27,943 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:27,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1132935194] [2022-04-15 08:54:27,943 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:27,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1994719977] [2022-04-15 08:54:27,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1994719977] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:27,943 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:27,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-15 08:54:27,944 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:27,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1765883910] [2022-04-15 08:54:27,944 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1765883910] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:27,944 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:27,944 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 08:54:27,944 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1989295713] [2022-04-15 08:54:27,944 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:27,944 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 72 [2022-04-15 08:54:27,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:27,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:54:27,986 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:27,986 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 08:54:27,986 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:27,986 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 08:54:27,986 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:54:27,987 INFO L87 Difference]: Start difference. First operand 144 states and 205 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:54:28,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:28,896 INFO L93 Difference]: Finished difference Result 202 states and 283 transitions. [2022-04-15 08:54:28,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 08:54:28,896 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 72 [2022-04-15 08:54:28,897 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:28,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:54:28,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-15 08:54:28,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:54:28,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-15 08:54:28,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 106 transitions. [2022-04-15 08:54:28,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:28,975 INFO L225 Difference]: With dead ends: 202 [2022-04-15 08:54:28,975 INFO L226 Difference]: Without dead ends: 113 [2022-04-15 08:54:28,976 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=109, Invalid=397, Unknown=0, NotChecked=0, Total=506 [2022-04-15 08:54:28,976 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 38 mSDsluCounter, 215 mSDsCounter, 0 mSdLazyCounter, 189 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 214 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 189 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:28,976 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 257 Invalid, 214 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 189 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 08:54:28,977 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-15 08:54:29,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 111. [2022-04-15 08:54:29,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:29,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:54:29,296 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:54:29,296 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:54:29,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:29,299 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-15 08:54:29,299 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-15 08:54:29,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:29,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:29,299 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-15 08:54:29,300 INFO L87 Difference]: Start difference. First operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-15 08:54:29,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:29,302 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-15 08:54:29,302 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-15 08:54:29,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:29,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:29,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:29,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:29,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:54:29,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 151 transitions. [2022-04-15 08:54:29,306 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 151 transitions. Word has length 72 [2022-04-15 08:54:29,306 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:29,306 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 151 transitions. [2022-04-15 08:54:29,306 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:54:29,306 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 151 transitions. [2022-04-15 08:54:29,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:29,525 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 151 transitions. [2022-04-15 08:54:29,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 08:54:29,525 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:54:29,526 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:54:29,541 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-15 08:54:29,738 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,SelfDestructingSolverStorable8 [2022-04-15 08:54:29,739 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:54:29,739 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:54:29,739 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-15 08:54:29,739 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:29,739 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [804192179] [2022-04-15 08:54:29,740 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:54:29,740 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-15 08:54:29,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:54:29,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1901822963] [2022-04-15 08:54:29,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:54:29,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:54:29,752 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:54:29,752 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2016866279] [2022-04-15 08:54:29,752 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:54:29,752 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:54:29,752 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:54:29,758 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-15 08:54:29,758 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-15 08:54:29,800 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:54:29,800 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:54:29,801 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-15 08:54:29,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:54:29,815 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:54:34,423 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-15 08:54:34,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {7724#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(11, 2);call #Ultimate.allocInit(12, 3); {7724#true} is VALID [2022-04-15 08:54:34,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-15 08:54:34,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-15 08:54:34,423 INFO L290 TraceCheckUtils]: 5: Hoare triple {7724#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7724#true} is VALID [2022-04-15 08:54:34,423 INFO L272 TraceCheckUtils]: 6: Hoare triple {7724#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {7724#true} ~cond := #in~cond; {7750#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:54:34,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {7750#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:34,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:34,425 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} {7724#true} #94#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 08:54:34,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 08:54:34,425 INFO L272 TraceCheckUtils]: 12: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,425 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,425 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,425 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,425 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 08:54:34,426 INFO L272 TraceCheckUtils]: 17: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,426 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,426 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,426 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #98#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 08:54:34,426 INFO L272 TraceCheckUtils]: 22: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,426 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,426 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,426 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,430 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #100#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 08:54:34,430 INFO L290 TraceCheckUtils]: 27: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7813#(<= main_~a~0 1)} is VALID [2022-04-15 08:54:34,430 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-15 08:54:34,430 INFO L290 TraceCheckUtils]: 29: Hoare triple {7813#(<= main_~a~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7820#(<= main_~c~0 1)} is VALID [2022-04-15 08:54:34,431 INFO L290 TraceCheckUtils]: 30: Hoare triple {7820#(<= main_~c~0 1)} assume !false; {7820#(<= main_~c~0 1)} is VALID [2022-04-15 08:54:34,431 INFO L290 TraceCheckUtils]: 31: Hoare triple {7820#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,431 INFO L290 TraceCheckUtils]: 32: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} assume !false; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,431 INFO L272 TraceCheckUtils]: 33: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,431 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,431 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,431 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,432 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #102#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,432 INFO L272 TraceCheckUtils]: 38: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,432 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,432 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,432 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,440 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #104#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,440 INFO L272 TraceCheckUtils]: 43: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,440 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,440 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,440 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,441 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #106#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,441 INFO L272 TraceCheckUtils]: 48: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,441 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,441 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,441 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,441 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #108#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,442 INFO L290 TraceCheckUtils]: 53: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,443 INFO L290 TraceCheckUtils]: 54: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} assume !false; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,443 INFO L272 TraceCheckUtils]: 55: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,443 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,443 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,443 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,443 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #102#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,443 INFO L272 TraceCheckUtils]: 60: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,443 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,443 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,444 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,444 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #104#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,444 INFO L272 TraceCheckUtils]: 65: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,444 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,444 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,444 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,445 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #106#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,445 INFO L272 TraceCheckUtils]: 70: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:34,445 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:34,445 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:34,445 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:34,445 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #108#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,446 INFO L290 TraceCheckUtils]: 75: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} assume !(~c~0 >= 2 * ~v~0); {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 08:54:34,446 INFO L290 TraceCheckUtils]: 76: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} is VALID [2022-04-15 08:54:34,447 INFO L290 TraceCheckUtils]: 77: Hoare triple {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} assume !false; {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} is VALID [2022-04-15 08:54:34,447 INFO L290 TraceCheckUtils]: 78: Hoare triple {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} assume !(~c~0 >= ~b~0); {7725#false} is VALID [2022-04-15 08:54:34,447 INFO L290 TraceCheckUtils]: 79: Hoare triple {7725#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7725#false} is VALID [2022-04-15 08:54:34,447 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-15 08:54:34,447 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-15 08:54:34,447 INFO L272 TraceCheckUtils]: 82: Hoare triple {7725#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7725#false} is VALID [2022-04-15 08:54:34,447 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-15 08:54:34,448 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-15 08:54:34,448 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-15 08:54:34,448 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 18 proven. 17 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-15 08:54:34,448 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:54:35,077 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-15 08:54:35,078 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-15 08:54:35,078 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-15 08:54:35,078 INFO L272 TraceCheckUtils]: 82: Hoare triple {7725#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7725#false} is VALID [2022-04-15 08:54:35,078 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-15 08:54:35,078 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-15 08:54:35,078 INFO L290 TraceCheckUtils]: 79: Hoare triple {7725#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7725#false} is VALID [2022-04-15 08:54:35,078 INFO L290 TraceCheckUtils]: 78: Hoare triple {8013#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {7725#false} is VALID [2022-04-15 08:54:35,078 INFO L290 TraceCheckUtils]: 77: Hoare triple {8013#(<= main_~b~0 main_~c~0)} assume !false; {8013#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:35,079 INFO L290 TraceCheckUtils]: 76: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8013#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 08:54:35,079 INFO L290 TraceCheckUtils]: 75: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 08:54:35,080 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #108#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 08:54:35,080 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,080 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,080 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,080 INFO L272 TraceCheckUtils]: 70: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,080 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #106#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 08:54:35,081 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,081 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,081 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,081 INFO L272 TraceCheckUtils]: 65: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,081 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #104#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 08:54:35,081 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,081 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,081 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,081 INFO L272 TraceCheckUtils]: 60: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,082 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #102#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 08:54:35,082 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,082 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,082 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,082 INFO L272 TraceCheckUtils]: 55: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,083 INFO L290 TraceCheckUtils]: 54: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} assume !false; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 08:54:35,083 INFO L290 TraceCheckUtils]: 53: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 08:54:35,084 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:54:35,084 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,084 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,084 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,084 INFO L272 TraceCheckUtils]: 48: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,090 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:54:35,090 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,090 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,090 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,090 INFO L272 TraceCheckUtils]: 43: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,091 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:54:35,091 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,091 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,091 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,091 INFO L272 TraceCheckUtils]: 38: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,092 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:54:35,092 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,092 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,092 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,092 INFO L272 TraceCheckUtils]: 33: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,107 INFO L290 TraceCheckUtils]: 32: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:54:35,108 INFO L290 TraceCheckUtils]: 31: Hoare triple {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 08:54:35,108 INFO L290 TraceCheckUtils]: 30: Hoare triple {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} assume !false; {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} is VALID [2022-04-15 08:54:35,109 INFO L290 TraceCheckUtils]: 29: Hoare triple {7813#(<= main_~a~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} is VALID [2022-04-15 08:54:35,109 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-15 08:54:35,109 INFO L290 TraceCheckUtils]: 27: Hoare triple {8170#(<= main_~x~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7813#(<= main_~a~0 1)} is VALID [2022-04-15 08:54:35,110 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #100#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 08:54:35,110 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,110 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,110 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,110 INFO L272 TraceCheckUtils]: 22: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,110 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #98#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 08:54:35,110 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,110 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,111 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,111 INFO L272 TraceCheckUtils]: 17: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,112 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #96#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 08:54:35,112 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,112 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 08:54:35,112 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 08:54:35,112 INFO L272 TraceCheckUtils]: 12: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,113 INFO L290 TraceCheckUtils]: 11: Hoare triple {8170#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 08:54:35,113 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} {7724#true} #94#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 08:54:35,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:35,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {8231#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:54:35,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {7724#true} ~cond := #in~cond; {8231#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 08:54:35,114 INFO L272 TraceCheckUtils]: 6: Hoare triple {7724#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 08:54:35,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {7724#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7724#true} is VALID [2022-04-15 08:54:35,114 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-15 08:54:35,114 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-15 08:54:35,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 08:54:35,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {7724#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(11, 2);call #Ultimate.allocInit(12, 3); {7724#true} is VALID [2022-04-15 08:54:35,115 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-15 08:54:35,115 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 18 proven. 17 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-15 08:54:35,115 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:54:35,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1901822963] [2022-04-15 08:54:35,115 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:54:35,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2016866279] [2022-04-15 08:54:35,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2016866279] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:54:35,115 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:54:35,115 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-15 08:54:35,116 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:54:35,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [804192179] [2022-04-15 08:54:35,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [804192179] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:54:35,116 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:54:35,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 08:54:35,116 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1946486959] [2022-04-15 08:54:35,116 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:54:35,116 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-15 08:54:35,116 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:54:35,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:54:35,160 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:35,160 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 08:54:35,160 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:54:35,161 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 08:54:35,161 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:54:35,161 INFO L87 Difference]: Start difference. First operand 111 states and 151 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:54:35,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:35,811 INFO L93 Difference]: Finished difference Result 127 states and 163 transitions. [2022-04-15 08:54:35,811 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:54:35,811 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-15 08:54:35,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:54:35,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:54:35,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-15 08:54:35,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:54:35,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-15 08:54:35,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2022-04-15 08:54:35,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:54:35,872 INFO L225 Difference]: With dead ends: 127 [2022-04-15 08:54:35,872 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 08:54:35,872 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 156 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=337, Unknown=0, NotChecked=0, Total=420 [2022-04-15 08:54:35,873 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 168 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 199 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 168 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 08:54:35,873 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 174 Invalid, 199 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 168 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 08:54:35,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 08:54:35,873 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 08:54:35,873 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:54:35,874 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-15 08:54:35,874 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-15 08:54:35,874 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-15 08:54:35,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:35,874 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 08:54:35,874 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 08:54:35,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:35,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:35,874 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-15 08:54:35,874 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-15 08:54:35,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:54:35,874 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 08:54:35,874 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 08:54:35,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:35,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:54:35,874 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:54:35,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:54:35,874 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-15 08:54:35,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 08:54:35,875 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-15 08:54:35,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:54:35,875 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 08:54:35,875 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 08:54:35,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 08:54:35,875 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-15 08:54:35,875 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 08:54:35,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:54:35,877 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 08:54:35,895 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 08:54:36,083 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 08:54:36,085 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 08:54:37,803 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-15 08:54:37,803 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-15 08:54:37,803 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-15 08:54:37,803 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-15 08:54:37,803 INFO L878 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 08:54:37,803 INFO L878 garLoopResultBuilder]: At program point L8-2(lines 7 9) 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-15 08:54:37,803 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 7 9) 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-15 08:54:37,803 INFO L878 garLoopResultBuilder]: At program point L35-2(lines 35 73) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1))) (or (and (= (+ main_~s~0 main_~r~0) 0) (< main_~c~0 1) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 1) (= main_~p~0 0) .cse0 (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= 0 main_~b~0)) (and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) .cse0 (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)))) [2022-04-15 08:54:37,803 INFO L878 garLoopResultBuilder]: At program point L35-3(lines 35 73) the Hoare annotation is: (or (and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1)) (and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= main_~y~0 1))) [2022-04-15 08:54:37,803 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 76) the Hoare annotation is: true [2022-04-15 08:54:37,803 INFO L878 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 08:54:37,804 INFO L878 garLoopResultBuilder]: At program point L36(lines 36 37) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1))) (or (and (= (+ main_~s~0 main_~r~0) 0) (< main_~c~0 1) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 1) (= main_~p~0 0) .cse0 (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= 0 main_~b~0)) (and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) .cse0 (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)))) [2022-04-15 08:54:37,804 INFO L878 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-15 08:54:37,804 INFO L878 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-15 08:54:37,804 INFO L878 garLoopResultBuilder]: At program point L53(lines 49 59) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 08:54:37,804 INFO L878 garLoopResultBuilder]: At program point L49-2(lines 49 59) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 08:54:37,804 INFO L878 garLoopResultBuilder]: At program point L49-3(lines 49 59) the Hoare annotation is: (and (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (<= main_~v~0 main_~c~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-15 08:54:37,804 INFO L885 garLoopResultBuilder]: At program point L74(line 74) the Hoare annotation is: true [2022-04-15 08:54:37,807 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-15 08:54:37,808 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 08:54:37,808 INFO L878 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 08:54:37,808 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 76) the Hoare annotation is: true [2022-04-15 08:54:37,808 INFO L878 garLoopResultBuilder]: At program point L42-2(lines 42 62) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= main_~x~0 1)) (.cse3 (<= 1 main_~a~0)) (.cse4 (= main_~b~0 main_~y~0)) (.cse5 (= main_~q~0 0)) (.cse6 (= main_~a~0 main_~x~0)) (.cse7 (<= main_~y~0 1)) (.cse8 (= main_~p~0 1))) (or (and (<= 0 main_~y~0) .cse0 (<= 1 main_~c~0) (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~c~0 1) .cse7 .cse8) (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 (<= main_~v~0 main_~b~0) .cse1 .cse2 .cse3 (<= 0 main_~c~0) .cse4 (= main_~k~0 1) .cse5 (< main_~c~0 main_~b~0) .cse6 .cse7 .cse8))) [2022-04-15 08:54:37,808 INFO L878 garLoopResultBuilder]: At program point L42-3(lines 42 62) the Hoare annotation is: (and (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~p~0 1)) [2022-04-15 08:54:37,808 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 76) the Hoare annotation is: true [2022-04-15 08:54:37,808 INFO L878 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-15 08:54:37,808 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-15 08:54:37,808 INFO L878 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-15 08:54:37,808 INFO L878 garLoopResultBuilder]: At program point L51(line 51) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 08:54:37,808 INFO L878 garLoopResultBuilder]: At program point L43(lines 43 44) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= main_~x~0 1)) (.cse3 (<= 1 main_~a~0)) (.cse4 (= main_~b~0 main_~y~0)) (.cse5 (= main_~q~0 0)) (.cse6 (= main_~a~0 main_~x~0)) (.cse7 (<= main_~y~0 1)) (.cse8 (= main_~p~0 1))) (or (and (<= 0 main_~y~0) .cse0 (<= 1 main_~c~0) (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~c~0 1) .cse7 .cse8) (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 (<= main_~v~0 main_~b~0) .cse1 .cse2 .cse3 (<= 0 main_~c~0) .cse4 (= main_~k~0 1) .cse5 (< main_~c~0 main_~b~0) .cse6 .cse7 .cse8))) [2022-04-15 08:54:37,808 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 08:54:37,808 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-15 08:54:37,808 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 08:54:37,808 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 08:54:37,808 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 08:54:37,808 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 08:54:37,809 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 08:54:37,809 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-15 08:54:37,809 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 08:54:37,809 INFO L878 garLoopResultBuilder]: At program point L11(lines 11 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 08:54:37,809 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 08:54:37,809 INFO L878 garLoopResultBuilder]: At program point L11-2(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 08:54:37,809 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 08:54:37,811 INFO L719 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-15 08:54:37,811 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 08:54:37,813 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 08:54:37,814 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 08:54:37,868 INFO L163 areAnnotationChecker]: CFG has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 08:54:37,877 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 08:54:37 BoogieIcfgContainer [2022-04-15 08:54:37,877 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 08:54:37,878 INFO L158 Benchmark]: Toolchain (without parser) took 40559.93ms. Allocated memory was 183.5MB in the beginning and 291.5MB in the end (delta: 108.0MB). Free memory was 131.0MB in the beginning and 182.7MB in the end (delta: -51.7MB). Peak memory consumption was 144.3MB. Max. memory is 8.0GB. [2022-04-15 08:54:37,878 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 183.5MB. Free memory was 147.8MB in the beginning and 147.7MB in the end (delta: 74.4kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 08:54:37,879 INFO L158 Benchmark]: CACSL2BoogieTranslator took 177.84ms. Allocated memory was 183.5MB in the beginning and 242.2MB in the end (delta: 58.7MB). Free memory was 130.8MB in the beginning and 218.4MB in the end (delta: -87.6MB). Peak memory consumption was 9.3MB. Max. memory is 8.0GB. [2022-04-15 08:54:37,879 INFO L158 Benchmark]: Boogie Preprocessor took 22.24ms. Allocated memory is still 242.2MB. Free memory was 218.4MB in the beginning and 216.8MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 08:54:37,879 INFO L158 Benchmark]: RCFGBuilder took 235.15ms. Allocated memory is still 242.2MB. Free memory was 216.8MB in the beginning and 203.2MB in the end (delta: 13.6MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-15 08:54:37,879 INFO L158 Benchmark]: TraceAbstraction took 40121.05ms. Allocated memory was 242.2MB in the beginning and 291.5MB in the end (delta: 49.3MB). Free memory was 202.6MB in the beginning and 182.7MB in the end (delta: 20.0MB). Peak memory consumption was 156.8MB. Max. memory is 8.0GB. [2022-04-15 08:54:37,880 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.09ms. Allocated memory is still 183.5MB. Free memory was 147.8MB in the beginning and 147.7MB in the end (delta: 74.4kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 177.84ms. Allocated memory was 183.5MB in the beginning and 242.2MB in the end (delta: 58.7MB). Free memory was 130.8MB in the beginning and 218.4MB in the end (delta: -87.6MB). Peak memory consumption was 9.3MB. Max. memory is 8.0GB. * Boogie Preprocessor took 22.24ms. Allocated memory is still 242.2MB. Free memory was 218.4MB in the beginning and 216.8MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 235.15ms. Allocated memory is still 242.2MB. Free memory was 216.8MB in the beginning and 203.2MB in the end (delta: 13.6MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 40121.05ms. Allocated memory was 242.2MB in the beginning and 291.5MB in the end (delta: 49.3MB). Free memory was 202.6MB in the beginning and 182.7MB in the end (delta: 20.0MB). Peak memory consumption was 156.8MB. 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: 13]: 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, 43 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 40.0s, OverallIterations: 10, TraceHistogramMax: 9, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 8.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.7s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 405 SdHoareTripleChecker+Valid, 1.9s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 359 mSDsluCounter, 1830 SdHoareTripleChecker+Invalid, 1.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1387 mSDsCounter, 243 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1632 IncrementalHoareTripleChecker+Invalid, 1875 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 243 mSolverCounterUnsat, 443 mSDtfsCounter, 1632 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1027 GetRequests, 877 SyntacticMatches, 6 SemanticMatches, 144 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 399 ImplicationChecksByTransitivity, 1.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=144occurred in iteration=8, InterpolantAutomatonStates: 87, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.5s AutomataMinimizationTime, 10 MinimizatonAttempts, 68 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 40 LocationsWithAnnotation, 658 PreInvPairs, 740 NumberOfFragments, 1206 HoareAnnotationTreeSize, 658 FomulaSimplifications, 84 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 40 FomulaSimplificationsInter, 2774 FormulaSimplificationTreeSizeReductionInter, 1.4s 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: 49]: Loop Invariant Derived loop invariant: ((((((((((((v == d * b && 0 <= y) && r == 0) && a == c + b * k) && k == 0) && s == 1) && b <= c / 2) && 1 <= a) && b == y) && q == 0) && a == x) && c <= 1) && p == 1) || ((((((((((((((0 <= y && r == 0) && v <= b) && a == c + b * k) && k == 0) && s == 1) && 1 <= a) && b == y) && b <= v) && d == 1) && q == 0) && a == x) && c <= 1) && y <= 1) && p == 1) - InvariantResult [Line: 35]: Loop Invariant Derived loop invariant: (((((((((((s + r == 0 && c < 1) && q + p == 1) && b < 1) && p == 0) && x <= 1) && r == 1) && a == y) && a <= x) && 0 <= c) && (-1 + -1 * a) / -2 < a + 1) && 0 <= b) || (((((((((0 <= y && r == 0) && s == 1) && x <= 1) && 1 <= a) && b == y) && q == 0) && a == x) && y <= 1) && p == 1) - InvariantResult [Line: 42]: Loop Invariant Derived loop invariant: ((((((((((((0 <= y && r == 0) && 1 <= c) && k == 0) && s == 1) && x <= 1) && 1 <= a) && b == y) && q == 0) && a == x) && c <= 1) && y <= 1) && p == 1) || (((((((((((((v == d * b && r == 0) && v <= b) && s == 1) && x <= 1) && 1 <= a) && 0 <= c) && b == y) && k == 1) && q == 0) && c < b) && a == x) && y <= 1) && p == 1) - ProcedureContractResult [Line: 7]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 18]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 10]: 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-15 08:54:37,903 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...