/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/prodbin-ll_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 07:29:47,600 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 07:29:47,601 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 07:29:47,627 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 07:29:47,627 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 07:29:47,628 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 07:29:47,629 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 07:29:47,635 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 07:29:47,640 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 07:29:47,645 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 07:29:47,646 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 07:29:47,647 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 07:29:47,647 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 07:29:47,648 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 07:29:47,648 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 07:29:47,649 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 07:29:47,650 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 07:29:47,650 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 07:29:47,652 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 07:29:47,653 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 07:29:47,654 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 07:29:47,657 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 07:29:47,663 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 07:29:47,666 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 07:29:47,668 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 07:29:47,671 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 07:29:47,672 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 07:29:47,672 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 07:29:47,673 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 07:29:47,673 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 07:29:47,674 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 07:29:47,674 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 07:29:47,674 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 07:29:47,675 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 07:29:47,675 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 07:29:47,676 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 07:29:47,676 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 07:29:47,677 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 07:29:47,677 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 07:29:47,677 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 07:29:47,678 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 07:29:47,685 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 07:29:47,685 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 07:29:47,697 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 07:29:47,697 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 07:29:47,698 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 07:29:47,698 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 07:29:47,698 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 07:29:47,699 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 07:29:47,699 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 07:29:47,699 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 07:29:47,699 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 07:29:47,700 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 07:29:47,700 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 07:29:47,700 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 07:29:47,700 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 07:29:47,700 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 07:29:47,700 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 07:29:47,700 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 07:29:47,701 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 07:29:47,701 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 07:29:47,701 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:29:47,701 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 07:29:47,701 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 07:29:47,701 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 07:29:47,701 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 07:29:47,701 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 07:29:47,701 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 07:29:47,702 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 07:29:47,903 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 07:29:47,925 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 07:29:47,927 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 07:29:47,928 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 07:29:47,929 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 07:29:47,930 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound5.c [2022-04-28 07:29:47,982 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ced84bc26/751d84c5325143ab9e7890579d50c588/FLAG17d67f8ec [2022-04-28 07:29:48,333 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 07:29:48,334 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound5.c [2022-04-28 07:29:48,338 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ced84bc26/751d84c5325143ab9e7890579d50c588/FLAG17d67f8ec [2022-04-28 07:29:48,348 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ced84bc26/751d84c5325143ab9e7890579d50c588 [2022-04-28 07:29:48,350 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 07:29:48,351 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 07:29:48,352 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 07:29:48,352 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 07:29:48,354 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 07:29:48,355 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,356 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3751bc52 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48, skipping insertion in model container [2022-04-28 07:29:48,356 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,363 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 07:29:48,374 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 07:29:48,516 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/prodbin-ll_valuebound5.c[537,550] [2022-04-28 07:29:48,527 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:29:48,534 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 07:29:48,544 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/prodbin-ll_valuebound5.c[537,550] [2022-04-28 07:29:48,550 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:29:48,559 INFO L208 MainTranslator]: Completed translation [2022-04-28 07:29:48,559 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48 WrapperNode [2022-04-28 07:29:48,559 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 07:29:48,560 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 07:29:48,560 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 07:29:48,560 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 07:29:48,568 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,568 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,573 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,573 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,578 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,581 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,582 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,583 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 07:29:48,584 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 07:29:48,584 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 07:29:48,584 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 07:29:48,585 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48" (1/1) ... [2022-04-28 07:29:48,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:29:48,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:48,614 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 07:29:48,616 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 07:29:48,640 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 07:29:48,641 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 07:29:48,641 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 07:29:48,641 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 07:29:48,641 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 07:29:48,641 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 07:29:48,641 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 07:29:48,642 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 07:29:48,642 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 07:29:48,642 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 07:29:48,642 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 07:29:48,642 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 07:29:48,642 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 07:29:48,642 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 07:29:48,643 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 07:29:48,643 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 07:29:48,643 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 07:29:48,643 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 07:29:48,643 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 07:29:48,643 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 07:29:48,691 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 07:29:48,692 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 07:29:48,812 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 07:29:48,817 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 07:29:48,817 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 07:29:48,819 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:29:48 BoogieIcfgContainer [2022-04-28 07:29:48,819 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 07:29:48,821 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 07:29:48,821 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 07:29:48,824 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 07:29:48,824 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 07:29:48" (1/3) ... [2022-04-28 07:29:48,824 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@359c89f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:29:48, skipping insertion in model container [2022-04-28 07:29:48,825 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:29:48" (2/3) ... [2022-04-28 07:29:48,825 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@359c89f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:29:48, skipping insertion in model container [2022-04-28 07:29:48,825 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:29:48" (3/3) ... [2022-04-28 07:29:48,826 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound5.c [2022-04-28 07:29:48,837 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 07:29:48,837 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 07:29:48,871 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 07:29:48,876 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@4bdfa781, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@a06f852 [2022-04-28 07:29:48,877 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 07:29:48,883 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:29:48,890 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:29:48,890 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:48,890 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:29:48,891 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:48,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:48,895 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-28 07:29:48,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:48,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1633593614] [2022-04-28 07:29:48,912 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:29:48,912 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-28 07:29:48,915 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:48,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1553802556] [2022-04-28 07:29:48,915 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:48,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:49,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:49,123 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 07:29:49,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:49,153 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(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(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 07:29:49,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 07:29:49,154 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 07:29:49,155 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 07:29:49,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:49,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:29:49,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:29:49,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:29:49,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 07:29:49,174 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 07:29:49,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:49,190 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:29:49,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:29:49,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:29:49,192 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 07:29:49,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 07:29:49,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:49,203 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:29:49,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:29:49,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:29:49,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 07:29:49,210 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 07:29:49,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(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(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 07:29:49,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 07:29:49,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 07:29:49,211 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-28 07:29:49,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-28 07:29:49,212 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-28 07:29:49,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:29:49,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:29:49,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:29:49,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 07:29:49,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-28 07:29:49,214 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-28 07:29:49,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:29:49,215 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:29:49,215 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:29:49,216 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 07:29:49,216 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-28 07:29:49,216 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:29:49,217 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:29:49,217 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:29:49,217 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 07:29:49,218 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-28 07:29:49,218 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-28 07:29:49,219 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-28 07:29:49,219 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 07:29:49,219 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 07:29:49,219 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 07:29:49,221 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:29:49,221 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:49,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1553802556] [2022-04-28 07:29:49,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1553802556] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:49,223 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:49,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:29:49,227 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:49,228 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1633593614] [2022-04-28 07:29:49,229 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1633593614] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:49,229 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:49,229 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:29:49,230 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1830648529] [2022-04-28 07:29:49,230 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:49,236 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 07:29:49,237 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:49,240 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:29:49,278 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:49,279 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 07:29:49,280 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:49,305 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 07:29:49,306 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:29:49,309 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:29:49,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:49,455 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-28 07:29:49,455 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 07:29:49,456 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 07:29:49,456 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:49,457 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:29:49,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 07:29:49,464 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:29:49,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 07:29:49,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 07:29:49,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:49,582 INFO L225 Difference]: With dead ends: 57 [2022-04-28 07:29:49,582 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 07:29:49,585 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:29:49,587 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:49,592 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:29:49,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 07:29:49,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 07:29:49,620 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:49,621 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:29:49,621 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:29:49,622 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:29:49,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:49,625 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 07:29:49,625 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:29:49,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:49,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:49,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 07:29:49,627 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 07:29:49,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:49,630 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 07:29:49,630 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:29:49,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:49,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:49,630 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:49,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:49,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:29:49,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 07:29:49,634 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-28 07:29:49,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:49,634 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 07:29:49,635 INFO L496 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:29:49,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 07:29:49,669 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:49,670 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:29:49,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:29:49,670 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:49,671 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:29:49,671 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 07:29:49,671 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:49,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:49,672 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-28 07:29:49,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:49,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1169140830] [2022-04-28 07:29:49,672 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:29:49,673 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-28 07:29:49,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:49,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [117881810] [2022-04-28 07:29:49,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:49,673 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:49,696 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:29:49,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [541800274] [2022-04-28 07:29:49,696 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:29:49,696 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:49,697 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:49,700 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:29:49,711 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 07:29:49,755 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:29:49,755 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:29:49,756 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 07:29:49,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:49,769 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:29:49,924 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-28 07:29:49,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#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(13, 2);call #Ultimate.allocInit(12, 3); {277#true} is VALID [2022-04-28 07:29:49,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:29:49,925 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-28 07:29:49,925 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-28 07:29:49,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {277#true} is VALID [2022-04-28 07:29:49,926 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {277#true} is VALID [2022-04-28 07:29:49,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 07:29:49,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 07:29:49,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:29:49,926 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-28 07:29:49,926 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-28 07:29:49,927 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {277#true} is VALID [2022-04-28 07:29:49,927 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 07:29:49,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 07:29:49,927 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:29:49,927 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-28 07:29:49,927 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-28 07:29:49,928 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 07:29:49,928 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 07:29:49,928 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:29:49,928 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-28 07:29:49,929 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:29:49,929 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:29:49,930 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:29:49,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:49,931 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-28 07:29:49,931 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-28 07:29:49,932 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:29:49,932 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:29:49,932 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:49,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [117881810] [2022-04-28 07:29:49,932 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:49,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [541800274] [2022-04-28 07:29:49,933 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [541800274] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:49,933 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:49,933 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:29:49,934 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:49,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1169140830] [2022-04-28 07:29:49,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1169140830] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:49,934 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:49,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:29:49,934 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1632554880] [2022-04-28 07:29:49,934 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:49,935 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 07:29:49,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:49,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:29:49,954 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:49,954 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:29:49,954 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:49,955 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:29:49,955 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 07:29:49,955 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:29:50,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:50,124 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-28 07:29:50,124 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:29:50,124 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 07:29:50,125 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:50,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:29:50,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 07:29:50,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:29:50,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 07:29:50,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-28 07:29:50,177 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:50,178 INFO L225 Difference]: With dead ends: 39 [2022-04-28 07:29:50,178 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 07:29:50,179 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 07:29:50,180 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:50,181 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:29:50,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 07:29:50,191 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-28 07:29:50,191 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:50,192 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:29:50,192 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:29:50,192 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:29:50,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:50,195 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 07:29:50,195 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 07:29:50,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:50,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:50,196 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 07:29:50,196 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 07:29:50,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:50,199 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 07:29:50,199 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 07:29:50,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:50,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:50,200 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:50,200 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:50,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:29:50,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 07:29:50,202 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-28 07:29:50,202 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:50,203 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 07:29:50,203 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:29:50,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-28 07:29:50,246 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-28 07:29:50,247 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 07:29:50,248 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 07:29:50,248 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:50,248 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:29:50,273 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 07:29:50,470 WARN L477 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-28 07:29:50,471 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:50,471 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:50,471 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-28 07:29:50,471 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:50,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [35295704] [2022-04-28 07:29:50,472 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:29:50,472 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-28 07:29:50,472 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:50,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1231308776] [2022-04-28 07:29:50,472 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:50,473 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:50,498 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:29:50,499 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1343302558] [2022-04-28 07:29:50,499 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:29:50,499 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:50,499 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:50,500 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:29:50,518 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 07:29:50,577 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:29:50,577 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:29:50,578 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 07:29:50,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:50,595 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:29:50,706 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-28 07:29:50,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#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(13, 2);call #Ultimate.allocInit(12, 3); {585#true} is VALID [2022-04-28 07:29:50,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:29:50,707 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-28 07:29:50,707 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-28 07:29:50,707 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {585#true} is VALID [2022-04-28 07:29:50,707 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {585#true} is VALID [2022-04-28 07:29:50,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 07:29:50,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 07:29:50,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:29:50,708 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-28 07:29:50,708 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-28 07:29:50,708 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {585#true} is VALID [2022-04-28 07:29:50,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 07:29:50,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 07:29:50,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:29:50,709 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-28 07:29:50,709 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-28 07:29:50,709 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:29:50,710 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:50,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:50,711 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-28 07:29:50,711 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 07:29:50,712 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 07:29:50,712 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-28 07:29:50,712 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 07:29:50,712 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 07:29:50,712 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:29:50,713 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 07:29:50,714 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-28 07:29:50,714 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-28 07:29:50,714 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-28 07:29:50,714 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-28 07:29:50,714 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-28 07:29:50,714 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:29:50,715 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:29:50,715 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:50,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1231308776] [2022-04-28 07:29:50,715 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:50,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1343302558] [2022-04-28 07:29:50,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1343302558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:50,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:50,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:29:50,716 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:50,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [35295704] [2022-04-28 07:29:50,716 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [35295704] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:50,716 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:50,716 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:29:50,716 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [350926444] [2022-04-28 07:29:50,716 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:50,717 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 07:29:50,717 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:50,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:50,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:50,742 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 07:29:50,742 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:50,742 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 07:29:50,743 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 07:29:50,743 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:50,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:50,973 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-28 07:29:50,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 07:29:50,973 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 07:29:50,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:50,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:50,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 07:29:50,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:50,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 07:29:50,978 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 07:29:51,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:51,012 INFO L225 Difference]: With dead ends: 43 [2022-04-28 07:29:51,012 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 07:29:51,013 INFO L412 NwaCegarLoop]: 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-28 07:29:51,014 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:51,014 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:29:51,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 07:29:51,036 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-28 07:29:51,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:51,036 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:29:51,039 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:29:51,039 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:29:51,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:51,044 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 07:29:51,044 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 07:29:51,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:51,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:51,045 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 07:29:51,045 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 07:29:51,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:51,048 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 07:29:51,048 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 07:29:51,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:51,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:51,048 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:51,048 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:51,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:29:51,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-28 07:29:51,050 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-28 07:29:51,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:51,051 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-28 07:29:51,051 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:51,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-28 07:29:51,093 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:51,093 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 07:29:51,096 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 07:29:51,096 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:51,097 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:29:51,122 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 07:29:51,319 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 07:29:51,319 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:51,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:51,320 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-28 07:29:51,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:51,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [904547920] [2022-04-28 07:29:51,320 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:29:51,321 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-28 07:29:51,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:51,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [42737076] [2022-04-28 07:29:51,321 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:51,321 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:51,347 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:29:51,347 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [878962855] [2022-04-28 07:29:51,347 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:29:51,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:51,348 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:51,349 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:29:51,375 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 07:29:51,400 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:29:51,400 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:29:51,401 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 07:29:51,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:51,416 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:29:53,796 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 07:29:53,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-28 07:29:53,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:29:53,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 07:29:53,796 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 07:29:53,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-28 07:29:53,797 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {922#true} is VALID [2022-04-28 07:29:53,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:29:53,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:29:53,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:29:53,797 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 07:29:53,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-28 07:29:53,797 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {922#true} is VALID [2022-04-28 07:29:53,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:29:53,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:29:53,798 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:29:53,798 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 07:29:53,798 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 07:29:53,798 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:29:53,798 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:29:53,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:29:53,799 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 07:29:53,807 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:29:53,807 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:29:53,807 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-28 07:29:53,808 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:29:53,808 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:29:53,808 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:29:53,809 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:29:53,809 INFO L290 TraceCheckUtils]: 29: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1015#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:29:53,810 INFO L290 TraceCheckUtils]: 30: Hoare triple {1015#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1019#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:29:53,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {1019#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1023#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:29:53,813 INFO L290 TraceCheckUtils]: 32: Hoare triple {1023#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1023#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:29:55,815 WARN L272 TraceCheckUtils]: 33: Hoare triple {1023#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-28 07:29:55,816 INFO L290 TraceCheckUtils]: 34: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:55,816 INFO L290 TraceCheckUtils]: 35: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 07:29:55,816 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 07:29:55,817 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:29:55,817 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:30:25,266 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 07:30:25,267 INFO L290 TraceCheckUtils]: 35: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 07:30:25,267 INFO L290 TraceCheckUtils]: 34: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:25,268 INFO L272 TraceCheckUtils]: 33: Hoare triple {1050#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:30:25,268 INFO L290 TraceCheckUtils]: 32: Hoare triple {1050#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1050#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:30:25,272 INFO L290 TraceCheckUtils]: 31: Hoare triple {1057#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1050#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:30:25,274 INFO L290 TraceCheckUtils]: 30: Hoare triple {1061#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1057#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:30:25,274 INFO L290 TraceCheckUtils]: 29: Hoare triple {1061#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1061#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:30:25,275 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {1061#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #67#return; {1061#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:30:25,275 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:30:25,275 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:30:25,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:30:25,275 INFO L272 TraceCheckUtils]: 24: Hoare triple {1061#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-28 07:30:25,276 INFO L290 TraceCheckUtils]: 23: Hoare triple {1061#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {1061#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:30:25,504 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1061#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:30:25,504 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 07:30:25,504 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:30:25,504 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:30:25,504 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:30:25,504 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 07:30:25,504 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 07:30:25,505 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:30:25,505 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:30:25,505 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:30:25,505 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {922#true} is VALID [2022-04-28 07:30:25,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-28 07:30:25,505 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 07:30:25,505 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:30:25,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:30:25,505 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:30:25,506 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {922#true} is VALID [2022-04-28 07:30:25,506 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-28 07:30:25,506 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 07:30:25,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 07:30:25,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:30:25,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-28 07:30:25,506 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 07:30:25,507 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:30:25,507 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:30:25,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [42737076] [2022-04-28 07:30:25,507 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:30:25,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [878962855] [2022-04-28 07:30:25,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [878962855] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 07:30:25,508 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:30:25,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [8] total 11 [2022-04-28 07:30:25,508 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:30:25,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [904547920] [2022-04-28 07:30:25,508 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [904547920] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:30:25,508 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:30:25,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 07:30:25,509 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [301846628] [2022-04-28 07:30:25,509 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:30:25,509 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:30:25,509 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:30:25,510 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:30:25,747 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:25,747 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 07:30:25,748 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:25,748 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 07:30:25,748 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-28 07:30:25,748 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:30:27,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:27,475 INFO L93 Difference]: Finished difference Result 47 states and 53 transitions. [2022-04-28 07:30:27,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 07:30:27,475 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:30:27,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:30:27,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:30:27,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-28 07:30:27,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:30:27,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-28 07:30:27,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 46 transitions. [2022-04-28 07:30:27,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:27,521 INFO L225 Difference]: With dead ends: 47 [2022-04-28 07:30:27,521 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 07:30:27,521 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 62 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 7.5s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-28 07:30:27,522 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 10 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 07:30:27,523 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 100 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 07:30:27,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 07:30:27,556 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-28 07:30:27,556 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:30:27,557 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:30:27,557 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:30:27,557 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:30:27,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:27,559 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-28 07:30:27,559 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-28 07:30:27,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:27,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:27,560 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-28 07:30:27,560 INFO L87 Difference]: Start difference. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-28 07:30:27,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:27,562 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-28 07:30:27,562 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-28 07:30:27,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:27,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:27,563 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:30:27,563 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:30:27,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:30:27,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 49 transitions. [2022-04-28 07:30:27,565 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 49 transitions. Word has length 37 [2022-04-28 07:30:27,565 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:30:27,565 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 49 transitions. [2022-04-28 07:30:27,565 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:30:27,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 49 transitions. [2022-04-28 07:30:27,634 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:27,635 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 49 transitions. [2022-04-28 07:30:27,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 07:30:27,635 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:30:27,636 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:30:27,661 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 07:30:27,836 WARN L477 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-28 07:30:27,836 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:30:27,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:30:27,837 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-28 07:30:27,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:27,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [519555510] [2022-04-28 07:30:27,837 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:30:27,837 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-28 07:30:27,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:30:27,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [882959331] [2022-04-28 07:30:27,838 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:30:27,838 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:30:27,852 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:30:27,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1667661364] [2022-04-28 07:30:27,853 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:30:27,853 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:30:27,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:30:27,854 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:30:27,881 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 07:30:27,908 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:30:27,909 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:30:27,909 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 07:30:27,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:30:27,921 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:30:29,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {1428#true} call ULTIMATE.init(); {1428#true} is VALID [2022-04-28 07:30:29,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {1428#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(13, 2);call #Ultimate.allocInit(12, 3); {1428#true} is VALID [2022-04-28 07:30:29,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {1428#true} assume true; {1428#true} is VALID [2022-04-28 07:30:29,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1428#true} {1428#true} #71#return; {1428#true} is VALID [2022-04-28 07:30:29,329 INFO L272 TraceCheckUtils]: 4: Hoare triple {1428#true} call #t~ret6 := main(); {1428#true} is VALID [2022-04-28 07:30:29,329 INFO L290 TraceCheckUtils]: 5: Hoare triple {1428#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1428#true} is VALID [2022-04-28 07:30:29,329 INFO L272 TraceCheckUtils]: 6: Hoare triple {1428#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {1428#true} is VALID [2022-04-28 07:30:29,329 INFO L290 TraceCheckUtils]: 7: Hoare triple {1428#true} ~cond := #in~cond; {1428#true} is VALID [2022-04-28 07:30:29,329 INFO L290 TraceCheckUtils]: 8: Hoare triple {1428#true} assume !(0 == ~cond); {1428#true} is VALID [2022-04-28 07:30:29,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {1428#true} assume true; {1428#true} is VALID [2022-04-28 07:30:29,330 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1428#true} {1428#true} #61#return; {1428#true} is VALID [2022-04-28 07:30:29,330 INFO L290 TraceCheckUtils]: 11: Hoare triple {1428#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1428#true} is VALID [2022-04-28 07:30:29,330 INFO L272 TraceCheckUtils]: 12: Hoare triple {1428#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {1428#true} is VALID [2022-04-28 07:30:29,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {1428#true} ~cond := #in~cond; {1428#true} is VALID [2022-04-28 07:30:29,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {1428#true} assume !(0 == ~cond); {1428#true} is VALID [2022-04-28 07:30:29,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {1428#true} assume true; {1428#true} is VALID [2022-04-28 07:30:29,330 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1428#true} {1428#true} #63#return; {1428#true} is VALID [2022-04-28 07:30:29,330 INFO L272 TraceCheckUtils]: 17: Hoare triple {1428#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1428#true} is VALID [2022-04-28 07:30:29,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {1428#true} ~cond := #in~cond; {1487#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:30:29,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {1487#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1491#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:29,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {1491#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1491#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:29,343 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1491#(not (= |assume_abort_if_not_#in~cond| 0))} {1428#true} #65#return; {1498#(<= 1 main_~b~0)} is VALID [2022-04-28 07:30:29,344 INFO L290 TraceCheckUtils]: 22: Hoare triple {1498#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1502#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:29,344 INFO L290 TraceCheckUtils]: 23: Hoare triple {1502#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1502#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:29,345 INFO L272 TraceCheckUtils]: 24: Hoare triple {1502#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1428#true} is VALID [2022-04-28 07:30:29,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {1428#true} ~cond := #in~cond; {1512#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:29,345 INFO L290 TraceCheckUtils]: 26: Hoare triple {1512#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1516#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:29,346 INFO L290 TraceCheckUtils]: 27: Hoare triple {1516#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1516#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:29,346 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1516#(not (= |__VERIFIER_assert_#in~cond| 0))} {1502#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1502#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:29,347 INFO L290 TraceCheckUtils]: 29: Hoare triple {1502#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1502#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:29,348 INFO L290 TraceCheckUtils]: 30: Hoare triple {1502#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1529#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:29,349 INFO L290 TraceCheckUtils]: 31: Hoare triple {1529#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1533#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:30:29,349 INFO L290 TraceCheckUtils]: 32: Hoare triple {1533#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1533#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:30:29,351 INFO L272 TraceCheckUtils]: 33: Hoare triple {1533#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:30:29,351 INFO L290 TraceCheckUtils]: 34: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:29,351 INFO L290 TraceCheckUtils]: 35: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1429#false} is VALID [2022-04-28 07:30:29,352 INFO L290 TraceCheckUtils]: 36: Hoare triple {1429#false} assume !false; {1429#false} is VALID [2022-04-28 07:30:29,352 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:30:29,352 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:30:59,969 INFO L290 TraceCheckUtils]: 36: Hoare triple {1429#false} assume !false; {1429#false} is VALID [2022-04-28 07:30:59,970 INFO L290 TraceCheckUtils]: 35: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1429#false} is VALID [2022-04-28 07:30:59,970 INFO L290 TraceCheckUtils]: 34: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:59,971 INFO L272 TraceCheckUtils]: 33: Hoare triple {1560#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:30:59,975 INFO L290 TraceCheckUtils]: 32: Hoare triple {1560#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1560#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:30:59,981 INFO L290 TraceCheckUtils]: 31: Hoare triple {1567#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1560#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:30:59,982 INFO L290 TraceCheckUtils]: 30: Hoare triple {1571#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1567#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:30:59,983 INFO L290 TraceCheckUtils]: 29: Hoare triple {1571#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1571#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:30:59,986 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1516#(not (= |__VERIFIER_assert_#in~cond| 0))} {1578#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #67#return; {1571#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:30:59,986 INFO L290 TraceCheckUtils]: 27: Hoare triple {1516#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1516#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:59,987 INFO L290 TraceCheckUtils]: 26: Hoare triple {1588#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1516#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:59,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {1428#true} ~cond := #in~cond; {1588#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:30:59,987 INFO L272 TraceCheckUtils]: 24: Hoare triple {1578#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1428#true} is VALID [2022-04-28 07:30:59,988 INFO L290 TraceCheckUtils]: 23: Hoare triple {1578#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} assume !false; {1578#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:30:59,989 INFO L290 TraceCheckUtils]: 22: Hoare triple {1598#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1578#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:30:59,990 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1491#(not (= |assume_abort_if_not_#in~cond| 0))} {1428#true} #65#return; {1598#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 07:30:59,991 INFO L290 TraceCheckUtils]: 20: Hoare triple {1491#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1491#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:59,991 INFO L290 TraceCheckUtils]: 19: Hoare triple {1611#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1491#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:59,992 INFO L290 TraceCheckUtils]: 18: Hoare triple {1428#true} ~cond := #in~cond; {1611#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:30:59,992 INFO L272 TraceCheckUtils]: 17: Hoare triple {1428#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1428#true} is VALID [2022-04-28 07:30:59,992 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1428#true} {1428#true} #63#return; {1428#true} is VALID [2022-04-28 07:30:59,992 INFO L290 TraceCheckUtils]: 15: Hoare triple {1428#true} assume true; {1428#true} is VALID [2022-04-28 07:30:59,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {1428#true} assume !(0 == ~cond); {1428#true} is VALID [2022-04-28 07:30:59,992 INFO L290 TraceCheckUtils]: 13: Hoare triple {1428#true} ~cond := #in~cond; {1428#true} is VALID [2022-04-28 07:30:59,992 INFO L272 TraceCheckUtils]: 12: Hoare triple {1428#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {1428#true} is VALID [2022-04-28 07:30:59,992 INFO L290 TraceCheckUtils]: 11: Hoare triple {1428#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1428#true} is VALID [2022-04-28 07:30:59,993 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1428#true} {1428#true} #61#return; {1428#true} is VALID [2022-04-28 07:30:59,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {1428#true} assume true; {1428#true} is VALID [2022-04-28 07:30:59,993 INFO L290 TraceCheckUtils]: 8: Hoare triple {1428#true} assume !(0 == ~cond); {1428#true} is VALID [2022-04-28 07:30:59,993 INFO L290 TraceCheckUtils]: 7: Hoare triple {1428#true} ~cond := #in~cond; {1428#true} is VALID [2022-04-28 07:30:59,993 INFO L272 TraceCheckUtils]: 6: Hoare triple {1428#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {1428#true} is VALID [2022-04-28 07:30:59,993 INFO L290 TraceCheckUtils]: 5: Hoare triple {1428#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1428#true} is VALID [2022-04-28 07:30:59,993 INFO L272 TraceCheckUtils]: 4: Hoare triple {1428#true} call #t~ret6 := main(); {1428#true} is VALID [2022-04-28 07:30:59,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1428#true} {1428#true} #71#return; {1428#true} is VALID [2022-04-28 07:30:59,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {1428#true} assume true; {1428#true} is VALID [2022-04-28 07:30:59,994 INFO L290 TraceCheckUtils]: 1: Hoare triple {1428#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(13, 2);call #Ultimate.allocInit(12, 3); {1428#true} is VALID [2022-04-28 07:30:59,994 INFO L272 TraceCheckUtils]: 0: Hoare triple {1428#true} call ULTIMATE.init(); {1428#true} is VALID [2022-04-28 07:30:59,994 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:30:59,994 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:30:59,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [882959331] [2022-04-28 07:30:59,994 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:30:59,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1667661364] [2022-04-28 07:30:59,994 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1667661364] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:30:59,995 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:30:59,995 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-28 07:30:59,995 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:30:59,995 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [519555510] [2022-04-28 07:30:59,995 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [519555510] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:30:59,995 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:30:59,995 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:30:59,995 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1288387021] [2022-04-28 07:30:59,995 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:30:59,996 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:30:59,996 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:30:59,996 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:31:00,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:00,036 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:31:00,036 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:00,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:31:00,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:31:00,037 INFO L87 Difference]: Start difference. First operand 43 states and 49 transitions. Second operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:31:00,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:00,710 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-28 07:31:00,710 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:31:00,710 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:31:00,710 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:31:00,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:31:00,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 07:31:00,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:31:00,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 07:31:00,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2022-04-28 07:31:00,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:00,766 INFO L225 Difference]: With dead ends: 61 [2022-04-28 07:31:00,766 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 07:31:00,766 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2022-04-28 07:31:00,767 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 26 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 198 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 204 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 198 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:31:00,767 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 131 Invalid, 204 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 198 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 07:31:00,768 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 07:31:00,808 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 52. [2022-04-28 07:31:00,808 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:31:00,808 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 52 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:00,808 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 52 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:00,809 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 52 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:00,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:00,811 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2022-04-28 07:31:00,811 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 62 transitions. [2022-04-28 07:31:00,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:00,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:00,811 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 54 states. [2022-04-28 07:31:00,812 INFO L87 Difference]: Start difference. First operand has 52 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 54 states. [2022-04-28 07:31:00,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:00,814 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2022-04-28 07:31:00,814 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 62 transitions. [2022-04-28 07:31:00,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:00,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:00,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:31:00,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:31:00,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 35 states have (on average 1.1714285714285715) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:00,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 59 transitions. [2022-04-28 07:31:00,816 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 59 transitions. Word has length 37 [2022-04-28 07:31:00,817 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:31:00,817 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 59 transitions. [2022-04-28 07:31:00,817 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:31:00,817 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 59 transitions. [2022-04-28 07:31:00,883 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:00,883 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2022-04-28 07:31:00,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 07:31:00,884 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:31:00,884 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:31:00,901 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 07:31:01,087 WARN L477 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-28 07:31:01,087 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:31:01,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:31:01,088 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-28 07:31:01,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:01,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [131081233] [2022-04-28 07:31:01,089 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:31:01,089 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-28 07:31:01,089 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:31:01,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1209689067] [2022-04-28 07:31:01,090 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:31:01,090 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:31:01,105 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:31:01,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [450063] [2022-04-28 07:31:01,105 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:31:01,105 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:31:01,105 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:31:01,106 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:31:01,108 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 07:31:01,158 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:31:01,158 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:31:01,159 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 07:31:01,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:31:01,170 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:31:08,529 INFO L272 TraceCheckUtils]: 0: Hoare triple {2008#true} call ULTIMATE.init(); {2008#true} is VALID [2022-04-28 07:31:08,530 INFO L290 TraceCheckUtils]: 1: Hoare triple {2008#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(13, 2);call #Ultimate.allocInit(12, 3); {2008#true} is VALID [2022-04-28 07:31:08,530 INFO L290 TraceCheckUtils]: 2: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:08,530 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2008#true} {2008#true} #71#return; {2008#true} is VALID [2022-04-28 07:31:08,530 INFO L272 TraceCheckUtils]: 4: Hoare triple {2008#true} call #t~ret6 := main(); {2008#true} is VALID [2022-04-28 07:31:08,530 INFO L290 TraceCheckUtils]: 5: Hoare triple {2008#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2008#true} is VALID [2022-04-28 07:31:08,530 INFO L272 TraceCheckUtils]: 6: Hoare triple {2008#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:08,530 INFO L290 TraceCheckUtils]: 7: Hoare triple {2008#true} ~cond := #in~cond; {2008#true} is VALID [2022-04-28 07:31:08,530 INFO L290 TraceCheckUtils]: 8: Hoare triple {2008#true} assume !(0 == ~cond); {2008#true} is VALID [2022-04-28 07:31:08,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:08,531 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2008#true} {2008#true} #61#return; {2008#true} is VALID [2022-04-28 07:31:08,531 INFO L290 TraceCheckUtils]: 11: Hoare triple {2008#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2008#true} is VALID [2022-04-28 07:31:08,531 INFO L272 TraceCheckUtils]: 12: Hoare triple {2008#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:08,531 INFO L290 TraceCheckUtils]: 13: Hoare triple {2008#true} ~cond := #in~cond; {2008#true} is VALID [2022-04-28 07:31:08,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {2008#true} assume !(0 == ~cond); {2008#true} is VALID [2022-04-28 07:31:08,531 INFO L290 TraceCheckUtils]: 15: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:08,531 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2008#true} {2008#true} #63#return; {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L272 TraceCheckUtils]: 17: Hoare triple {2008#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L290 TraceCheckUtils]: 18: Hoare triple {2008#true} ~cond := #in~cond; {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {2008#true} assume !(0 == ~cond); {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2008#true} {2008#true} #65#return; {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L290 TraceCheckUtils]: 22: Hoare triple {2008#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L290 TraceCheckUtils]: 23: Hoare triple {2008#true} assume !false; {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L272 TraceCheckUtils]: 24: Hoare triple {2008#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L290 TraceCheckUtils]: 25: Hoare triple {2008#true} ~cond := #in~cond; {2008#true} is VALID [2022-04-28 07:31:08,532 INFO L290 TraceCheckUtils]: 26: Hoare triple {2008#true} assume !(0 == ~cond); {2008#true} is VALID [2022-04-28 07:31:08,533 INFO L290 TraceCheckUtils]: 27: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:08,533 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2008#true} {2008#true} #67#return; {2008#true} is VALID [2022-04-28 07:31:08,533 INFO L290 TraceCheckUtils]: 29: Hoare triple {2008#true} assume !!(0 != ~y~0); {2008#true} is VALID [2022-04-28 07:31:08,533 INFO L290 TraceCheckUtils]: 30: Hoare triple {2008#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2008#true} is VALID [2022-04-28 07:31:08,533 INFO L290 TraceCheckUtils]: 31: Hoare triple {2008#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2008#true} is VALID [2022-04-28 07:31:08,533 INFO L290 TraceCheckUtils]: 32: Hoare triple {2008#true} assume !false; {2008#true} is VALID [2022-04-28 07:31:08,533 INFO L272 TraceCheckUtils]: 33: Hoare triple {2008#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:08,534 INFO L290 TraceCheckUtils]: 34: Hoare triple {2008#true} ~cond := #in~cond; {2115#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:08,534 INFO L290 TraceCheckUtils]: 35: Hoare triple {2115#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2119#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:08,534 INFO L290 TraceCheckUtils]: 36: Hoare triple {2119#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2119#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:10,537 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2119#(not (= |__VERIFIER_assert_#in~cond| 0))} {2008#true} #67#return; {2126#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-28 07:31:10,537 INFO L290 TraceCheckUtils]: 38: Hoare triple {2126#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2130#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:31:10,538 INFO L272 TraceCheckUtils]: 39: Hoare triple {2130#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:31:10,538 INFO L290 TraceCheckUtils]: 40: Hoare triple {2134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:10,538 INFO L290 TraceCheckUtils]: 41: Hoare triple {2138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2009#false} is VALID [2022-04-28 07:31:10,539 INFO L290 TraceCheckUtils]: 42: Hoare triple {2009#false} assume !false; {2009#false} is VALID [2022-04-28 07:31:10,539 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:31:10,539 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:31:22,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {2009#false} assume !false; {2009#false} is VALID [2022-04-28 07:31:22,832 INFO L290 TraceCheckUtils]: 41: Hoare triple {2138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2009#false} is VALID [2022-04-28 07:31:22,833 INFO L290 TraceCheckUtils]: 40: Hoare triple {2134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:22,834 INFO L272 TraceCheckUtils]: 39: Hoare triple {2130#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:31:22,834 INFO L290 TraceCheckUtils]: 38: Hoare triple {2157#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2130#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:31:22,835 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2119#(not (= |__VERIFIER_assert_#in~cond| 0))} {2008#true} #67#return; {2157#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:31:22,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {2119#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2119#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:22,836 INFO L290 TraceCheckUtils]: 35: Hoare triple {2170#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2119#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:22,836 INFO L290 TraceCheckUtils]: 34: Hoare triple {2008#true} ~cond := #in~cond; {2170#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:31:22,836 INFO L272 TraceCheckUtils]: 33: Hoare triple {2008#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {2008#true} assume !false; {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L290 TraceCheckUtils]: 31: Hoare triple {2008#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {2008#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L290 TraceCheckUtils]: 29: Hoare triple {2008#true} assume !!(0 != ~y~0); {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2008#true} {2008#true} #67#return; {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L290 TraceCheckUtils]: 27: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L290 TraceCheckUtils]: 26: Hoare triple {2008#true} assume !(0 == ~cond); {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L290 TraceCheckUtils]: 25: Hoare triple {2008#true} ~cond := #in~cond; {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L272 TraceCheckUtils]: 24: Hoare triple {2008#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:22,837 INFO L290 TraceCheckUtils]: 23: Hoare triple {2008#true} assume !false; {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L290 TraceCheckUtils]: 22: Hoare triple {2008#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2008#true} {2008#true} #65#return; {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L290 TraceCheckUtils]: 20: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L290 TraceCheckUtils]: 19: Hoare triple {2008#true} assume !(0 == ~cond); {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L290 TraceCheckUtils]: 18: Hoare triple {2008#true} ~cond := #in~cond; {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L272 TraceCheckUtils]: 17: Hoare triple {2008#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2008#true} {2008#true} #63#return; {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L290 TraceCheckUtils]: 15: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {2008#true} assume !(0 == ~cond); {2008#true} is VALID [2022-04-28 07:31:22,838 INFO L290 TraceCheckUtils]: 13: Hoare triple {2008#true} ~cond := #in~cond; {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L272 TraceCheckUtils]: 12: Hoare triple {2008#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L290 TraceCheckUtils]: 11: Hoare triple {2008#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2008#true} {2008#true} #61#return; {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L290 TraceCheckUtils]: 9: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L290 TraceCheckUtils]: 8: Hoare triple {2008#true} assume !(0 == ~cond); {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L290 TraceCheckUtils]: 7: Hoare triple {2008#true} ~cond := #in~cond; {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L272 TraceCheckUtils]: 6: Hoare triple {2008#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L290 TraceCheckUtils]: 5: Hoare triple {2008#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {2008#true} call #t~ret6 := main(); {2008#true} is VALID [2022-04-28 07:31:22,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2008#true} {2008#true} #71#return; {2008#true} is VALID [2022-04-28 07:31:22,840 INFO L290 TraceCheckUtils]: 2: Hoare triple {2008#true} assume true; {2008#true} is VALID [2022-04-28 07:31:22,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {2008#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(13, 2);call #Ultimate.allocInit(12, 3); {2008#true} is VALID [2022-04-28 07:31:22,840 INFO L272 TraceCheckUtils]: 0: Hoare triple {2008#true} call ULTIMATE.init(); {2008#true} is VALID [2022-04-28 07:31:22,840 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:31:22,840 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:31:22,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1209689067] [2022-04-28 07:31:22,840 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:31:22,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [450063] [2022-04-28 07:31:22,840 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [450063] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:31:22,841 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:31:22,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 07:31:22,841 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:31:22,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [131081233] [2022-04-28 07:31:22,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [131081233] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:31:22,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:31:22,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:31:22,841 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [262718348] [2022-04-28 07:31:22,841 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:31:22,842 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 07:31:22,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:31:22,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:31:24,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:24,871 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:31:24,871 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:24,871 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:31:24,871 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:31:24,872 INFO L87 Difference]: Start difference. First operand 52 states and 59 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:31:26,937 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:31:27,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:27,376 INFO L93 Difference]: Finished difference Result 59 states and 65 transitions. [2022-04-28 07:31:27,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:31:27,382 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 07:31:27,382 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:31:27,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:31:27,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 07:31:27,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:31:27,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 07:31:27,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-28 07:31:29,411 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:29,414 INFO L225 Difference]: With dead ends: 59 [2022-04-28 07:31:29,415 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 07:31:29,415 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:31:29,416 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 12 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:31:29,416 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 140 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 78 Invalid, 1 Unknown, 0 Unchecked, 2.1s Time] [2022-04-28 07:31:29,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 07:31:29,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-28 07:31:29,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:31:29,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:29,451 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:29,451 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:29,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:29,453 INFO L93 Difference]: Finished difference Result 52 states and 57 transitions. [2022-04-28 07:31:29,453 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2022-04-28 07:31:29,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:29,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:29,453 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 07:31:29,454 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 07:31:29,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:29,455 INFO L93 Difference]: Finished difference Result 52 states and 57 transitions. [2022-04-28 07:31:29,455 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2022-04-28 07:31:29,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:29,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:29,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:31:29,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:31:29,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:29,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:31:29,458 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 43 [2022-04-28 07:31:29,458 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:31:29,458 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:31:29,458 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:31:29,458 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:31:37,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:37,595 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:31:37,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:31:37,595 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:31:37,595 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:31:37,611 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 07:31:37,795 WARN L477 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-28 07:31:37,796 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:31:37,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:31:37,796 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-28 07:31:37,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:37,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [486435822] [2022-04-28 07:31:37,797 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:31:37,797 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-28 07:31:37,797 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:31:37,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [266551051] [2022-04-28 07:31:37,797 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:31:37,797 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:31:37,809 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:31:37,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [309576128] [2022-04-28 07:31:37,810 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:31:37,810 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:31:37,810 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:31:37,811 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:31:37,831 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 07:31:37,865 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:31:37,865 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:31:37,866 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 07:31:37,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:31:37,884 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:31:41,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {2601#true} call ULTIMATE.init(); {2601#true} is VALID [2022-04-28 07:31:41,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {2601#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(13, 2);call #Ultimate.allocInit(12, 3); {2601#true} is VALID [2022-04-28 07:31:41,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:31:41,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2601#true} {2601#true} #71#return; {2601#true} is VALID [2022-04-28 07:31:41,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {2601#true} call #t~ret6 := main(); {2601#true} is VALID [2022-04-28 07:31:41,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {2601#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2601#true} is VALID [2022-04-28 07:31:41,608 INFO L272 TraceCheckUtils]: 6: Hoare triple {2601#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 7: Hoare triple {2601#true} ~cond := #in~cond; {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {2601#true} assume !(0 == ~cond); {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2601#true} {2601#true} #61#return; {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {2601#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L272 TraceCheckUtils]: 12: Hoare triple {2601#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {2601#true} ~cond := #in~cond; {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {2601#true} assume !(0 == ~cond); {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2601#true} {2601#true} #63#return; {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L272 TraceCheckUtils]: 17: Hoare triple {2601#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 18: Hoare triple {2601#true} ~cond := #in~cond; {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 19: Hoare triple {2601#true} assume !(0 == ~cond); {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:31:41,609 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2601#true} {2601#true} #65#return; {2601#true} is VALID [2022-04-28 07:31:41,610 INFO L290 TraceCheckUtils]: 22: Hoare triple {2601#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2672#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:31:41,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {2672#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {2672#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:31:41,610 INFO L272 TraceCheckUtils]: 24: Hoare triple {2672#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:31:41,610 INFO L290 TraceCheckUtils]: 25: Hoare triple {2601#true} ~cond := #in~cond; {2601#true} is VALID [2022-04-28 07:31:41,610 INFO L290 TraceCheckUtils]: 26: Hoare triple {2601#true} assume !(0 == ~cond); {2601#true} is VALID [2022-04-28 07:31:41,610 INFO L290 TraceCheckUtils]: 27: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:31:41,611 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2601#true} {2672#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {2672#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:31:41,611 INFO L290 TraceCheckUtils]: 29: Hoare triple {2672#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2694#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:31:41,612 INFO L290 TraceCheckUtils]: 30: Hoare triple {2694#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2698#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:31:41,613 INFO L290 TraceCheckUtils]: 31: Hoare triple {2698#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2702#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:31:41,613 INFO L290 TraceCheckUtils]: 32: Hoare triple {2702#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2702#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:31:41,613 INFO L272 TraceCheckUtils]: 33: Hoare triple {2702#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:31:41,614 INFO L290 TraceCheckUtils]: 34: Hoare triple {2601#true} ~cond := #in~cond; {2712#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:41,614 INFO L290 TraceCheckUtils]: 35: Hoare triple {2712#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2716#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:41,615 INFO L290 TraceCheckUtils]: 36: Hoare triple {2716#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2716#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:41,616 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2716#(not (= |__VERIFIER_assert_#in~cond| 0))} {2702#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2723#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:31:41,616 INFO L290 TraceCheckUtils]: 38: Hoare triple {2723#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2723#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:31:41,618 INFO L290 TraceCheckUtils]: 39: Hoare triple {2723#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2730#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:31:41,622 INFO L290 TraceCheckUtils]: 40: Hoare triple {2730#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2734#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-28 07:31:41,622 INFO L290 TraceCheckUtils]: 41: Hoare triple {2734#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} assume !false; {2734#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-28 07:31:41,636 INFO L272 TraceCheckUtils]: 42: Hoare triple {2734#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2741#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:31:41,637 INFO L290 TraceCheckUtils]: 43: Hoare triple {2741#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:41,637 INFO L290 TraceCheckUtils]: 44: Hoare triple {2745#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2602#false} is VALID [2022-04-28 07:31:41,637 INFO L290 TraceCheckUtils]: 45: Hoare triple {2602#false} assume !false; {2602#false} is VALID [2022-04-28 07:31:41,638 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 07:31:41,638 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:33:05,218 INFO L290 TraceCheckUtils]: 45: Hoare triple {2602#false} assume !false; {2602#false} is VALID [2022-04-28 07:33:05,218 INFO L290 TraceCheckUtils]: 44: Hoare triple {2745#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2602#false} is VALID [2022-04-28 07:33:05,219 INFO L290 TraceCheckUtils]: 43: Hoare triple {2741#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:05,220 INFO L272 TraceCheckUtils]: 42: Hoare triple {2761#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2741#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:33:05,220 INFO L290 TraceCheckUtils]: 41: Hoare triple {2761#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2761#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:33:05,225 INFO L290 TraceCheckUtils]: 40: Hoare triple {2768#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2761#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:33:05,226 INFO L290 TraceCheckUtils]: 39: Hoare triple {2772#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2768#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:33:05,227 INFO L290 TraceCheckUtils]: 38: Hoare triple {2772#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {2772#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:33:05,230 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2716#(not (= |__VERIFIER_assert_#in~cond| 0))} {2779#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #67#return; {2772#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:33:05,231 INFO L290 TraceCheckUtils]: 36: Hoare triple {2716#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2716#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:05,231 INFO L290 TraceCheckUtils]: 35: Hoare triple {2789#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2716#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:05,232 INFO L290 TraceCheckUtils]: 34: Hoare triple {2601#true} ~cond := #in~cond; {2789#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:33:05,232 INFO L272 TraceCheckUtils]: 33: Hoare triple {2779#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:33:05,232 INFO L290 TraceCheckUtils]: 32: Hoare triple {2779#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} assume !false; {2779#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:33:05,305 INFO L290 TraceCheckUtils]: 31: Hoare triple {2799#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (forall ((aux_div_aux_mod_v_main_~y~0_30_22_69 Int) (aux_div_v_main_~y~0_30_22 Int)) (or (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_30_22) 1) 0) (= (+ (* (* aux_div_v_main_~y~0_30_22 main_~x~0) 4) (* 2 (* main_~x~0 (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_30_22) 1)))) (+ (* (* aux_div_aux_mod_v_main_~y~0_30_22_69 main_~x~0) 4) (* main_~x~0 4))) (<= (+ (* aux_div_aux_mod_v_main_~y~0_30_22_69 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_30_22 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_aux_mod_v_main_~y~0_30_22_69 2)) (<= (+ (* aux_div_v_main_~y~0_30_22 2) 1) (div main_~y~0 2)))) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (forall ((aux_div_aux_mod_v_main_~y~0_30_22_69 Int) (aux_div_v_main_~y~0_30_22 Int)) (or (= (+ (* (* aux_div_aux_mod_v_main_~y~0_30_22_69 main_~x~0) 4) (* main_~x~0 4)) (+ (* (* aux_div_v_main_~y~0_30_22 main_~x~0) 4) (* (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_30_22)) main_~x~0) 2))) (<= (+ (* aux_div_v_main_~y~0_30_22 2) 2) (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_aux_mod_v_main_~y~0_30_22_69 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_30_22 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_30_22)) 0) (<= (+ 2 (* aux_div_aux_mod_v_main_~y~0_30_22_69 2)) (div main_~y~0 2)))) (<= 0 (div main_~y~0 2))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2779#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:33:05,307 INFO L290 TraceCheckUtils]: 30: Hoare triple {2601#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2799#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (forall ((aux_div_aux_mod_v_main_~y~0_30_22_69 Int) (aux_div_v_main_~y~0_30_22 Int)) (or (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_30_22) 1) 0) (= (+ (* (* aux_div_v_main_~y~0_30_22 main_~x~0) 4) (* 2 (* main_~x~0 (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_30_22) 1)))) (+ (* (* aux_div_aux_mod_v_main_~y~0_30_22_69 main_~x~0) 4) (* main_~x~0 4))) (<= (+ (* aux_div_aux_mod_v_main_~y~0_30_22_69 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_30_22 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_aux_mod_v_main_~y~0_30_22_69 2)) (<= (+ (* aux_div_v_main_~y~0_30_22 2) 1) (div main_~y~0 2)))) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (forall ((aux_div_aux_mod_v_main_~y~0_30_22_69 Int) (aux_div_v_main_~y~0_30_22 Int)) (or (= (+ (* (* aux_div_aux_mod_v_main_~y~0_30_22_69 main_~x~0) 4) (* main_~x~0 4)) (+ (* (* aux_div_v_main_~y~0_30_22 main_~x~0) 4) (* (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_30_22)) main_~x~0) 2))) (<= (+ (* aux_div_v_main_~y~0_30_22 2) 2) (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_aux_mod_v_main_~y~0_30_22_69 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_30_22 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_30_22)) 0) (<= (+ 2 (* aux_div_aux_mod_v_main_~y~0_30_22_69 2)) (div main_~y~0 2)))) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-28 07:33:05,307 INFO L290 TraceCheckUtils]: 29: Hoare triple {2601#true} assume !!(0 != ~y~0); {2601#true} is VALID [2022-04-28 07:33:05,307 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2601#true} {2601#true} #67#return; {2601#true} is VALID [2022-04-28 07:33:05,307 INFO L290 TraceCheckUtils]: 27: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:33:05,307 INFO L290 TraceCheckUtils]: 26: Hoare triple {2601#true} assume !(0 == ~cond); {2601#true} is VALID [2022-04-28 07:33:05,307 INFO L290 TraceCheckUtils]: 25: Hoare triple {2601#true} ~cond := #in~cond; {2601#true} is VALID [2022-04-28 07:33:05,307 INFO L272 TraceCheckUtils]: 24: Hoare triple {2601#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:33:05,307 INFO L290 TraceCheckUtils]: 23: Hoare triple {2601#true} assume !false; {2601#true} is VALID [2022-04-28 07:33:05,307 INFO L290 TraceCheckUtils]: 22: Hoare triple {2601#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2601#true} {2601#true} #65#return; {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L290 TraceCheckUtils]: 20: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L290 TraceCheckUtils]: 19: Hoare triple {2601#true} assume !(0 == ~cond); {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L290 TraceCheckUtils]: 18: Hoare triple {2601#true} ~cond := #in~cond; {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L272 TraceCheckUtils]: 17: Hoare triple {2601#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2601#true} {2601#true} #63#return; {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L290 TraceCheckUtils]: 15: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L290 TraceCheckUtils]: 14: Hoare triple {2601#true} assume !(0 == ~cond); {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L290 TraceCheckUtils]: 13: Hoare triple {2601#true} ~cond := #in~cond; {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L272 TraceCheckUtils]: 12: Hoare triple {2601#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:33:05,308 INFO L290 TraceCheckUtils]: 11: Hoare triple {2601#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2601#true} {2601#true} #61#return; {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L290 TraceCheckUtils]: 9: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L290 TraceCheckUtils]: 8: Hoare triple {2601#true} assume !(0 == ~cond); {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L290 TraceCheckUtils]: 7: Hoare triple {2601#true} ~cond := #in~cond; {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L272 TraceCheckUtils]: 6: Hoare triple {2601#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L290 TraceCheckUtils]: 5: Hoare triple {2601#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L272 TraceCheckUtils]: 4: Hoare triple {2601#true} call #t~ret6 := main(); {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2601#true} {2601#true} #71#return; {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L290 TraceCheckUtils]: 2: Hoare triple {2601#true} assume true; {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {2601#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(13, 2);call #Ultimate.allocInit(12, 3); {2601#true} is VALID [2022-04-28 07:33:05,309 INFO L272 TraceCheckUtils]: 0: Hoare triple {2601#true} call ULTIMATE.init(); {2601#true} is VALID [2022-04-28 07:33:05,310 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 07:33:05,310 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:33:05,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [266551051] [2022-04-28 07:33:05,310 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:33:05,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [309576128] [2022-04-28 07:33:05,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [309576128] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:33:05,310 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:33:05,311 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 07:33:05,311 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:33:05,311 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [486435822] [2022-04-28 07:33:05,311 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [486435822] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:33:05,311 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:33:05,311 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:33:05,311 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2139457833] [2022-04-28 07:33:05,311 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:33:05,312 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 07:33:05,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:33:05,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:33:05,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:33:05,349 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:33:05,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:33:05,349 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:33:05,349 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:33:05,349 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:33:06,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:33:06,942 INFO L93 Difference]: Finished difference Result 67 states and 75 transitions. [2022-04-28 07:33:06,942 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 07:33:06,942 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 07:33:06,942 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:33:06,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:33:06,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 07:33:06,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:33:06,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 07:33:06,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 07:33:06,999 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:33:07,001 INFO L225 Difference]: With dead ends: 67 [2022-04-28 07:33:07,001 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 07:33:07,001 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-28 07:33:07,002 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 208 mSDsCounter, 0 mSdLazyCounter, 298 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 298 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 07:33:07,002 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 235 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 298 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 07:33:07,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 07:33:07,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 55. [2022-04-28 07:33:07,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:33:07,053 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:33:07,053 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:33:07,053 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:33:07,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:33:07,055 INFO L93 Difference]: Finished difference Result 65 states and 73 transitions. [2022-04-28 07:33:07,055 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 73 transitions. [2022-04-28 07:33:07,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:33:07,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:33:07,056 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-28 07:33:07,056 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-28 07:33:07,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:33:07,058 INFO L93 Difference]: Finished difference Result 65 states and 73 transitions. [2022-04-28 07:33:07,058 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 73 transitions. [2022-04-28 07:33:07,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:33:07,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:33:07,059 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:33:07,059 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:33:07,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:33:07,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 62 transitions. [2022-04-28 07:33:07,061 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 62 transitions. Word has length 46 [2022-04-28 07:33:07,061 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:33:07,061 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 62 transitions. [2022-04-28 07:33:07,061 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:33:07,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 62 transitions. [2022-04-28 07:33:17,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 57 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 07:33:17,200 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2022-04-28 07:33:17,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:33:17,200 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:33:17,200 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:33:17,217 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 07:33:17,401 WARN L477 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-28 07:33:17,401 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:33:17,401 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:33:17,401 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-28 07:33:17,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:33:17,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [506756503] [2022-04-28 07:33:17,402 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:33:17,402 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-28 07:33:17,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:33:17,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [524367421] [2022-04-28 07:33:17,402 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:33:17,402 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:33:17,421 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:33:17,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1710113925] [2022-04-28 07:33:17,422 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:33:17,422 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:33:17,422 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:33:17,429 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:33:17,431 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 07:33:17,476 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:33:17,477 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:33:17,478 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 07:33:17,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:33:17,495 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:33:19,777 INFO L272 TraceCheckUtils]: 0: Hoare triple {3273#true} call ULTIMATE.init(); {3273#true} is VALID [2022-04-28 07:33:19,777 INFO L290 TraceCheckUtils]: 1: Hoare triple {3273#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(13, 2);call #Ultimate.allocInit(12, 3); {3273#true} is VALID [2022-04-28 07:33:19,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {3273#true} assume true; {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3273#true} {3273#true} #71#return; {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {3273#true} call #t~ret6 := main(); {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {3273#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L272 TraceCheckUtils]: 6: Hoare triple {3273#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L290 TraceCheckUtils]: 7: Hoare triple {3273#true} ~cond := #in~cond; {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L290 TraceCheckUtils]: 8: Hoare triple {3273#true} assume !(0 == ~cond); {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {3273#true} assume true; {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3273#true} {3273#true} #61#return; {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L290 TraceCheckUtils]: 11: Hoare triple {3273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3273#true} is VALID [2022-04-28 07:33:19,778 INFO L272 TraceCheckUtils]: 12: Hoare triple {3273#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:33:19,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {3273#true} ~cond := #in~cond; {3317#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:33:19,780 INFO L290 TraceCheckUtils]: 14: Hoare triple {3317#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3321#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:33:19,780 INFO L290 TraceCheckUtils]: 15: Hoare triple {3321#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3321#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:33:19,781 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3321#(not (= |assume_abort_if_not_#in~cond| 0))} {3273#true} #63#return; {3328#(and (<= main_~b~0 5) (<= 0 main_~b~0))} is VALID [2022-04-28 07:33:19,781 INFO L272 TraceCheckUtils]: 17: Hoare triple {3328#(and (<= main_~b~0 5) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:33:19,781 INFO L290 TraceCheckUtils]: 18: Hoare triple {3273#true} ~cond := #in~cond; {3273#true} is VALID [2022-04-28 07:33:19,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {3273#true} assume !(0 == ~cond); {3273#true} is VALID [2022-04-28 07:33:19,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {3273#true} assume true; {3273#true} is VALID [2022-04-28 07:33:19,781 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3273#true} {3328#(and (<= main_~b~0 5) (<= 0 main_~b~0))} #65#return; {3328#(and (<= main_~b~0 5) (<= 0 main_~b~0))} is VALID [2022-04-28 07:33:19,782 INFO L290 TraceCheckUtils]: 22: Hoare triple {3328#(and (<= main_~b~0 5) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3347#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:19,782 INFO L290 TraceCheckUtils]: 23: Hoare triple {3347#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {3347#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:19,782 INFO L272 TraceCheckUtils]: 24: Hoare triple {3347#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:33:19,783 INFO L290 TraceCheckUtils]: 25: Hoare triple {3273#true} ~cond := #in~cond; {3357#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:19,783 INFO L290 TraceCheckUtils]: 26: Hoare triple {3357#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:19,783 INFO L290 TraceCheckUtils]: 27: Hoare triple {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:19,784 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} {3347#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {3368#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:19,784 INFO L290 TraceCheckUtils]: 29: Hoare triple {3368#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3368#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:19,785 INFO L290 TraceCheckUtils]: 30: Hoare triple {3368#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3375#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:19,785 INFO L290 TraceCheckUtils]: 31: Hoare triple {3375#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3379#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:33:19,786 INFO L290 TraceCheckUtils]: 32: Hoare triple {3379#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !false; {3379#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:33:19,786 INFO L272 TraceCheckUtils]: 33: Hoare triple {3379#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:33:19,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {3273#true} ~cond := #in~cond; {3357#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:19,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {3357#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:19,787 INFO L290 TraceCheckUtils]: 36: Hoare triple {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:19,788 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} {3379#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #67#return; {3379#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:33:19,788 INFO L290 TraceCheckUtils]: 38: Hoare triple {3379#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {3401#(and (not (= main_~y~0 0)) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:33:19,789 INFO L290 TraceCheckUtils]: 39: Hoare triple {3401#(and (not (= main_~y~0 0)) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3405#(and (= main_~z~0 main_~x~0) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:33:19,790 INFO L290 TraceCheckUtils]: 40: Hoare triple {3405#(and (= main_~z~0 main_~x~0) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3409#(and (= (* main_~a~0 4) main_~x~0) (<= main_~b~0 5) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:33:19,791 INFO L290 TraceCheckUtils]: 41: Hoare triple {3409#(and (= (* main_~a~0 4) main_~x~0) (<= main_~b~0 5) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {3409#(and (= (* main_~a~0 4) main_~x~0) (<= main_~b~0 5) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:33:19,795 INFO L272 TraceCheckUtils]: 42: Hoare triple {3409#(and (= (* main_~a~0 4) main_~x~0) (<= main_~b~0 5) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3416#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:33:19,795 INFO L290 TraceCheckUtils]: 43: Hoare triple {3416#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3420#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:19,796 INFO L290 TraceCheckUtils]: 44: Hoare triple {3420#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3274#false} is VALID [2022-04-28 07:33:19,796 INFO L290 TraceCheckUtils]: 45: Hoare triple {3274#false} assume !false; {3274#false} is VALID [2022-04-28 07:33:19,796 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 5 proven. 14 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 07:33:19,796 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:34:03,858 INFO L290 TraceCheckUtils]: 45: Hoare triple {3274#false} assume !false; {3274#false} is VALID [2022-04-28 07:34:03,859 INFO L290 TraceCheckUtils]: 44: Hoare triple {3420#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3274#false} is VALID [2022-04-28 07:34:03,859 INFO L290 TraceCheckUtils]: 43: Hoare triple {3416#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3420#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:34:03,860 INFO L272 TraceCheckUtils]: 42: Hoare triple {3436#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3416#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:34:03,860 INFO L290 TraceCheckUtils]: 41: Hoare triple {3436#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3436#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:34:03,889 INFO L290 TraceCheckUtils]: 40: Hoare triple {3443#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3436#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:34:03,892 INFO L290 TraceCheckUtils]: 39: Hoare triple {3447#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3443#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:34:03,892 INFO L290 TraceCheckUtils]: 38: Hoare triple {3447#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {3447#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:34:04,116 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} {3273#true} #67#return; {3447#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:34:04,116 INFO L290 TraceCheckUtils]: 36: Hoare triple {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:34:04,117 INFO L290 TraceCheckUtils]: 35: Hoare triple {3463#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3361#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:34:04,117 INFO L290 TraceCheckUtils]: 34: Hoare triple {3273#true} ~cond := #in~cond; {3463#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:34:04,117 INFO L272 TraceCheckUtils]: 33: Hoare triple {3273#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:34:04,117 INFO L290 TraceCheckUtils]: 32: Hoare triple {3273#true} assume !false; {3273#true} is VALID [2022-04-28 07:34:04,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {3273#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3273#true} is VALID [2022-04-28 07:34:04,117 INFO L290 TraceCheckUtils]: 30: Hoare triple {3273#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3273#true} is VALID [2022-04-28 07:34:04,117 INFO L290 TraceCheckUtils]: 29: Hoare triple {3273#true} assume !!(0 != ~y~0); {3273#true} is VALID [2022-04-28 07:34:04,117 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3273#true} {3273#true} #67#return; {3273#true} is VALID [2022-04-28 07:34:04,117 INFO L290 TraceCheckUtils]: 27: Hoare triple {3273#true} assume true; {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L290 TraceCheckUtils]: 26: Hoare triple {3273#true} assume !(0 == ~cond); {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {3273#true} ~cond := #in~cond; {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L272 TraceCheckUtils]: 24: Hoare triple {3273#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L290 TraceCheckUtils]: 23: Hoare triple {3273#true} assume !false; {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L290 TraceCheckUtils]: 22: Hoare triple {3273#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3273#true} {3273#true} #65#return; {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L290 TraceCheckUtils]: 20: Hoare triple {3273#true} assume true; {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L290 TraceCheckUtils]: 19: Hoare triple {3273#true} assume !(0 == ~cond); {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L290 TraceCheckUtils]: 18: Hoare triple {3273#true} ~cond := #in~cond; {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L272 TraceCheckUtils]: 17: Hoare triple {3273#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3273#true} {3273#true} #63#return; {3273#true} is VALID [2022-04-28 07:34:04,118 INFO L290 TraceCheckUtils]: 15: Hoare triple {3273#true} assume true; {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {3273#true} assume !(0 == ~cond); {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {3273#true} ~cond := #in~cond; {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L272 TraceCheckUtils]: 12: Hoare triple {3273#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {3273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3273#true} {3273#true} #61#return; {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {3273#true} assume true; {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {3273#true} assume !(0 == ~cond); {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L290 TraceCheckUtils]: 7: Hoare triple {3273#true} ~cond := #in~cond; {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L272 TraceCheckUtils]: 6: Hoare triple {3273#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {3273#true} is VALID [2022-04-28 07:34:04,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {3273#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3273#true} is VALID [2022-04-28 07:34:04,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {3273#true} call #t~ret6 := main(); {3273#true} is VALID [2022-04-28 07:34:04,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3273#true} {3273#true} #71#return; {3273#true} is VALID [2022-04-28 07:34:04,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {3273#true} assume true; {3273#true} is VALID [2022-04-28 07:34:04,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {3273#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(13, 2);call #Ultimate.allocInit(12, 3); {3273#true} is VALID [2022-04-28 07:34:04,120 INFO L272 TraceCheckUtils]: 0: Hoare triple {3273#true} call ULTIMATE.init(); {3273#true} is VALID [2022-04-28 07:34:04,120 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:34:04,120 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:34:04,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [524367421] [2022-04-28 07:34:04,120 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:34:04,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1710113925] [2022-04-28 07:34:04,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1710113925] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:34:04,121 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:34:04,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-28 07:34:04,121 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:34:04,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [506756503] [2022-04-28 07:34:04,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [506756503] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:34:04,121 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:34:04,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 07:34:04,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [967247774] [2022-04-28 07:34:04,122 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:34:04,122 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 07:34:04,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:34:04,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:34:04,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:34:04,163 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 07:34:04,163 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:34:04,164 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 07:34:04,164 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=312, Unknown=0, NotChecked=0, Total=380 [2022-04-28 07:34:04,164 INFO L87 Difference]: Start difference. First operand 55 states and 62 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:34:04,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:04,957 INFO L93 Difference]: Finished difference Result 84 states and 94 transitions. [2022-04-28 07:34:04,957 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 07:34:04,958 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 07:34:04,958 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:34:04,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:34:04,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 07:34:04,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:34:04,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 07:34:04,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 64 transitions. [2022-04-28 07:34:05,018 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:34:05,019 INFO L225 Difference]: With dead ends: 84 [2022-04-28 07:34:05,019 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 07:34:05,020 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 70 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=85, Invalid=421, Unknown=0, NotChecked=0, Total=506 [2022-04-28 07:34:05,020 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 28 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 255 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 265 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 255 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:34:05,021 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 136 Invalid, 265 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 255 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 07:34:05,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 07:34:05,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 64. [2022-04-28 07:34:05,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:34:05,091 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:34:05,091 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:34:05,091 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:34:05,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:05,093 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2022-04-28 07:34:05,093 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2022-04-28 07:34:05,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:34:05,094 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:34:05,094 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 65 states. [2022-04-28 07:34:05,094 INFO L87 Difference]: Start difference. First operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 65 states. [2022-04-28 07:34:05,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:05,096 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2022-04-28 07:34:05,096 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2022-04-28 07:34:05,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:34:05,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:34:05,097 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:34:05,097 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:34:05,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:34:05,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 71 transitions. [2022-04-28 07:34:05,099 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 71 transitions. Word has length 46 [2022-04-28 07:34:05,099 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:34:05,099 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 71 transitions. [2022-04-28 07:34:05,099 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:34:05,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 71 transitions. [2022-04-28 07:34:12,196 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 68 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:34:12,197 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 71 transitions. [2022-04-28 07:34:12,197 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:34:12,197 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:34:12,197 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:34:12,213 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-28 07:34:12,399 WARN L477 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-28 07:34:12,399 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:34:12,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:34:12,400 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-28 07:34:12,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:34:12,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [629041730] [2022-04-28 07:34:12,400 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:34:12,400 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-28 07:34:12,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:34:12,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1100382419] [2022-04-28 07:34:12,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:34:12,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:34:12,424 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:34:12,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1328456510] [2022-04-28 07:34:12,425 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:34:12,425 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:34:12,425 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:34:12,426 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:34:12,435 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 07:34:12,461 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:34:12,461 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:34:12,462 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 07:34:12,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:34:12,473 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:34:23,831 INFO L272 TraceCheckUtils]: 0: Hoare triple {4000#true} call ULTIMATE.init(); {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {4000#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(13, 2);call #Ultimate.allocInit(12, 3); {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {4000#true} assume true; {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4000#true} {4000#true} #71#return; {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L272 TraceCheckUtils]: 4: Hoare triple {4000#true} call #t~ret6 := main(); {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L290 TraceCheckUtils]: 5: Hoare triple {4000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L272 TraceCheckUtils]: 6: Hoare triple {4000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L290 TraceCheckUtils]: 7: Hoare triple {4000#true} ~cond := #in~cond; {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L290 TraceCheckUtils]: 8: Hoare triple {4000#true} assume !(0 == ~cond); {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L290 TraceCheckUtils]: 9: Hoare triple {4000#true} assume true; {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4000#true} {4000#true} #61#return; {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L290 TraceCheckUtils]: 11: Hoare triple {4000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4000#true} is VALID [2022-04-28 07:34:23,832 INFO L272 TraceCheckUtils]: 12: Hoare triple {4000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:34:23,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {4000#true} ~cond := #in~cond; {4000#true} is VALID [2022-04-28 07:34:23,833 INFO L290 TraceCheckUtils]: 14: Hoare triple {4000#true} assume !(0 == ~cond); {4000#true} is VALID [2022-04-28 07:34:23,833 INFO L290 TraceCheckUtils]: 15: Hoare triple {4000#true} assume true; {4000#true} is VALID [2022-04-28 07:34:23,833 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4000#true} {4000#true} #63#return; {4000#true} is VALID [2022-04-28 07:34:23,833 INFO L272 TraceCheckUtils]: 17: Hoare triple {4000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:34:23,833 INFO L290 TraceCheckUtils]: 18: Hoare triple {4000#true} ~cond := #in~cond; {4059#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:34:23,833 INFO L290 TraceCheckUtils]: 19: Hoare triple {4059#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4063#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:34:23,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {4063#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4063#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:34:23,834 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4063#(not (= |assume_abort_if_not_#in~cond| 0))} {4000#true} #65#return; {4070#(<= 1 main_~b~0)} is VALID [2022-04-28 07:34:23,834 INFO L290 TraceCheckUtils]: 22: Hoare triple {4070#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4074#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:34:23,835 INFO L290 TraceCheckUtils]: 23: Hoare triple {4074#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {4074#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:34:23,835 INFO L272 TraceCheckUtils]: 24: Hoare triple {4074#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:34:23,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {4000#true} ~cond := #in~cond; {4084#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:34:23,835 INFO L290 TraceCheckUtils]: 26: Hoare triple {4084#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4088#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:34:23,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {4088#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4088#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:34:23,836 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4088#(not (= |__VERIFIER_assert_#in~cond| 0))} {4074#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {4074#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:34:23,836 INFO L290 TraceCheckUtils]: 29: Hoare triple {4074#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4074#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:34:23,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {4074#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4101#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:34:23,838 INFO L290 TraceCheckUtils]: 31: Hoare triple {4101#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4105#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:34:23,838 INFO L290 TraceCheckUtils]: 32: Hoare triple {4105#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {4105#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:34:23,838 INFO L272 TraceCheckUtils]: 33: Hoare triple {4105#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:34:23,838 INFO L290 TraceCheckUtils]: 34: Hoare triple {4000#true} ~cond := #in~cond; {4000#true} is VALID [2022-04-28 07:34:23,838 INFO L290 TraceCheckUtils]: 35: Hoare triple {4000#true} assume !(0 == ~cond); {4000#true} is VALID [2022-04-28 07:34:23,838 INFO L290 TraceCheckUtils]: 36: Hoare triple {4000#true} assume true; {4000#true} is VALID [2022-04-28 07:34:23,839 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4000#true} {4105#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #67#return; {4105#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:34:23,839 INFO L290 TraceCheckUtils]: 38: Hoare triple {4105#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4105#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:34:23,840 INFO L290 TraceCheckUtils]: 39: Hoare triple {4105#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4130#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:34:23,841 INFO L290 TraceCheckUtils]: 40: Hoare triple {4130#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4134#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:34:23,842 INFO L290 TraceCheckUtils]: 41: Hoare triple {4134#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {4134#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:34:23,844 INFO L272 TraceCheckUtils]: 42: Hoare triple {4134#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:34:23,845 INFO L290 TraceCheckUtils]: 43: Hoare triple {4141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:34:23,845 INFO L290 TraceCheckUtils]: 44: Hoare triple {4145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4001#false} is VALID [2022-04-28 07:34:23,845 INFO L290 TraceCheckUtils]: 45: Hoare triple {4001#false} assume !false; {4001#false} is VALID [2022-04-28 07:34:23,845 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 07:34:23,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:35:15,334 INFO L290 TraceCheckUtils]: 45: Hoare triple {4001#false} assume !false; {4001#false} is VALID [2022-04-28 07:35:15,334 INFO L290 TraceCheckUtils]: 44: Hoare triple {4145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4001#false} is VALID [2022-04-28 07:35:15,335 INFO L290 TraceCheckUtils]: 43: Hoare triple {4141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:35:15,336 INFO L272 TraceCheckUtils]: 42: Hoare triple {4161#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:35:15,336 INFO L290 TraceCheckUtils]: 41: Hoare triple {4161#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4161#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:35:15,341 INFO L290 TraceCheckUtils]: 40: Hoare triple {4168#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4161#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:35:15,342 INFO L290 TraceCheckUtils]: 39: Hoare triple {4172#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4168#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:35:15,343 INFO L290 TraceCheckUtils]: 38: Hoare triple {4172#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {4172#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:35:15,344 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4000#true} {4172#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {4172#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:35:15,344 INFO L290 TraceCheckUtils]: 36: Hoare triple {4000#true} assume true; {4000#true} is VALID [2022-04-28 07:35:15,344 INFO L290 TraceCheckUtils]: 35: Hoare triple {4000#true} assume !(0 == ~cond); {4000#true} is VALID [2022-04-28 07:35:15,344 INFO L290 TraceCheckUtils]: 34: Hoare triple {4000#true} ~cond := #in~cond; {4000#true} is VALID [2022-04-28 07:35:15,344 INFO L272 TraceCheckUtils]: 33: Hoare triple {4172#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:35:15,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {4172#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {4172#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:35:15,362 INFO L290 TraceCheckUtils]: 31: Hoare triple {4197#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4172#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:35:15,363 INFO L290 TraceCheckUtils]: 30: Hoare triple {4201#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4197#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-28 07:35:15,364 INFO L290 TraceCheckUtils]: 29: Hoare triple {4205#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0))} assume !!(0 != ~y~0); {4201#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 07:35:15,373 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4088#(not (= |__VERIFIER_assert_#in~cond| 0))} {4209#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} #67#return; {4205#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0))} is VALID [2022-04-28 07:35:15,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {4088#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4088#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:35:15,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {4219#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4088#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:35:15,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {4000#true} ~cond := #in~cond; {4219#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:35:15,374 INFO L272 TraceCheckUtils]: 24: Hoare triple {4209#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:35:15,374 INFO L290 TraceCheckUtils]: 23: Hoare triple {4209#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} assume !false; {4209#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-28 07:35:15,375 INFO L290 TraceCheckUtils]: 22: Hoare triple {4229#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4209#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-28 07:35:15,376 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4063#(not (= |assume_abort_if_not_#in~cond| 0))} {4000#true} #65#return; {4229#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} is VALID [2022-04-28 07:35:15,376 INFO L290 TraceCheckUtils]: 20: Hoare triple {4063#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4063#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:35:15,376 INFO L290 TraceCheckUtils]: 19: Hoare triple {4242#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4063#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {4000#true} ~cond := #in~cond; {4242#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:35:15,377 INFO L272 TraceCheckUtils]: 17: Hoare triple {4000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4000#true} {4000#true} #63#return; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {4000#true} assume true; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {4000#true} assume !(0 == ~cond); {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 13: Hoare triple {4000#true} ~cond := #in~cond; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L272 TraceCheckUtils]: 12: Hoare triple {4000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 11: Hoare triple {4000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4000#true} {4000#true} #61#return; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 9: Hoare triple {4000#true} assume true; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 8: Hoare triple {4000#true} assume !(0 == ~cond); {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {4000#true} ~cond := #in~cond; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L272 TraceCheckUtils]: 6: Hoare triple {4000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 5: Hoare triple {4000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L272 TraceCheckUtils]: 4: Hoare triple {4000#true} call #t~ret6 := main(); {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4000#true} {4000#true} #71#return; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {4000#true} assume true; {4000#true} is VALID [2022-04-28 07:35:15,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {4000#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(13, 2);call #Ultimate.allocInit(12, 3); {4000#true} is VALID [2022-04-28 07:35:15,378 INFO L272 TraceCheckUtils]: 0: Hoare triple {4000#true} call ULTIMATE.init(); {4000#true} is VALID [2022-04-28 07:35:15,378 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 07:35:15,378 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:35:15,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1100382419] [2022-04-28 07:35:15,378 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:35:15,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1328456510] [2022-04-28 07:35:15,378 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1328456510] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:35:15,378 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:35:15,378 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 16] total 24 [2022-04-28 07:35:15,378 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:35:15,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [629041730] [2022-04-28 07:35:15,379 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [629041730] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:35:15,379 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:35:15,379 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 07:35:15,379 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [881598695] [2022-04-28 07:35:15,379 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:35:15,379 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 07:35:15,380 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:35:15,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:35:15,412 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:35:15,412 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 07:35:15,412 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:35:15,412 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 07:35:15,413 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=452, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:35:15,413 INFO L87 Difference]: Start difference. First operand 64 states and 71 transitions. Second operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:35:16,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:35:16,670 INFO L93 Difference]: Finished difference Result 76 states and 84 transitions. [2022-04-28 07:35:16,670 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 07:35:16,670 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 07:35:16,671 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:35:16,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:35:16,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 54 transitions. [2022-04-28 07:35:16,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:35:16,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 54 transitions. [2022-04-28 07:35:16,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 54 transitions. [2022-04-28 07:35:16,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:35:16,729 INFO L225 Difference]: With dead ends: 76 [2022-04-28 07:35:16,729 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 07:35:16,729 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 67 SyntacticMatches, 2 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=118, Invalid=584, Unknown=0, NotChecked=0, Total=702 [2022-04-28 07:35:16,730 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 26 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 315 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 323 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 315 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 07:35:16,730 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 167 Invalid, 323 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 315 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 07:35:16,730 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 07:35:16,802 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 64. [2022-04-28 07:35:16,802 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:35:16,802 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:35:16,803 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:35:16,803 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:35:16,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:35:16,805 INFO L93 Difference]: Finished difference Result 74 states and 82 transitions. [2022-04-28 07:35:16,805 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 82 transitions. [2022-04-28 07:35:16,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:35:16,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:35:16,806 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 74 states. [2022-04-28 07:35:16,806 INFO L87 Difference]: Start difference. First operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 74 states. [2022-04-28 07:35:16,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:35:16,808 INFO L93 Difference]: Finished difference Result 74 states and 82 transitions. [2022-04-28 07:35:16,808 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 82 transitions. [2022-04-28 07:35:16,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:35:16,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:35:16,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:35:16,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:35:16,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 46 states have internal predecessors, (50), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:35:16,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 71 transitions. [2022-04-28 07:35:16,810 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 71 transitions. Word has length 46 [2022-04-28 07:35:16,811 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:35:16,811 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 71 transitions. [2022-04-28 07:35:16,811 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:35:16,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 71 transitions. [2022-04-28 07:35:23,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 68 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:35:23,588 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 71 transitions. [2022-04-28 07:35:23,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 07:35:23,588 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:35:23,588 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:35:23,606 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 07:35:23,791 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 07:35:23,791 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:35:23,792 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:35:23,792 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 5 times [2022-04-28 07:35:23,792 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:35:23,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [374157174] [2022-04-28 07:35:23,792 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:35:23,792 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 6 times [2022-04-28 07:35:23,792 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:35:23,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [659352101] [2022-04-28 07:35:23,792 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:35:23,792 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:35:23,805 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:35:23,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2014658296] [2022-04-28 07:35:23,805 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:35:23,805 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:35:23,805 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:35:23,806 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:35:23,814 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 07:35:23,858 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 07:35:23,858 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:35:23,859 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 07:35:23,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:35:23,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:35:56,991 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:36:02,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {4733#true} call ULTIMATE.init(); {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {4733#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(13, 2);call #Ultimate.allocInit(12, 3); {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4733#true} {4733#true} #71#return; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L272 TraceCheckUtils]: 4: Hoare triple {4733#true} call #t~ret6 := main(); {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {4733#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L272 TraceCheckUtils]: 6: Hoare triple {4733#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 7: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 9: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4733#true} {4733#true} #61#return; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 11: Hoare triple {4733#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L272 TraceCheckUtils]: 12: Hoare triple {4733#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4733#true} {4733#true} #63#return; {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L272 TraceCheckUtils]: 17: Hoare triple {4733#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:02,252 INFO L290 TraceCheckUtils]: 18: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 20: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4733#true} {4733#true} #65#return; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 22: Hoare triple {4733#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 23: Hoare triple {4733#true} assume !false; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L272 TraceCheckUtils]: 24: Hoare triple {4733#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 25: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 26: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 27: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4733#true} {4733#true} #67#return; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 29: Hoare triple {4733#true} assume !!(0 != ~y~0); {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 30: Hoare triple {4733#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 31: Hoare triple {4733#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 32: Hoare triple {4733#true} assume !false; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L272 TraceCheckUtils]: 33: Hoare triple {4733#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 34: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 35: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:02,253 INFO L290 TraceCheckUtils]: 36: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:02,254 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4733#true} {4733#true} #67#return; {4733#true} is VALID [2022-04-28 07:36:02,254 INFO L290 TraceCheckUtils]: 38: Hoare triple {4733#true} assume !!(0 != ~y~0); {4852#(not (= main_~y~0 0))} is VALID [2022-04-28 07:36:02,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {4852#(not (= main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4856#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 07:36:02,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {4856#(< 0 (+ main_~y~0 1))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4856#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 07:36:02,255 INFO L290 TraceCheckUtils]: 41: Hoare triple {4856#(< 0 (+ main_~y~0 1))} assume !false; {4856#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 07:36:02,256 INFO L272 TraceCheckUtils]: 42: Hoare triple {4856#(< 0 (+ main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:02,256 INFO L290 TraceCheckUtils]: 43: Hoare triple {4733#true} ~cond := #in~cond; {4869#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:36:02,256 INFO L290 TraceCheckUtils]: 44: Hoare triple {4869#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4873#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:36:02,256 INFO L290 TraceCheckUtils]: 45: Hoare triple {4873#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4873#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:36:02,257 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4873#(not (= |__VERIFIER_assert_#in~cond| 0))} {4856#(< 0 (+ main_~y~0 1))} #67#return; {4880#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:36:02,258 INFO L290 TraceCheckUtils]: 47: Hoare triple {4880#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {4880#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:36:02,259 INFO L290 TraceCheckUtils]: 48: Hoare triple {4880#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4887#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:36:02,880 INFO L290 TraceCheckUtils]: 49: Hoare triple {4887#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4891#(and (exists ((aux_div_v_main_~y~0_50_22 Int) (aux_mod_v_main_~y~0_50_22 Int)) (and (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_50_22 2) aux_mod_v_main_~y~0_50_22) 2)) (not (= aux_mod_v_main_~y~0_50_22 1)) (<= 0 aux_mod_v_main_~y~0_50_22) (< 0 (+ (* aux_div_v_main_~y~0_50_22 2) aux_mod_v_main_~y~0_50_22 1)) (= (+ main_~z~0 (* (+ (* aux_div_v_main_~y~0_50_22 2) aux_mod_v_main_~y~0_50_22) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (< aux_mod_v_main_~y~0_50_22 2))) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:36:03,646 INFO L290 TraceCheckUtils]: 50: Hoare triple {4891#(and (exists ((aux_div_v_main_~y~0_50_22 Int) (aux_mod_v_main_~y~0_50_22 Int)) (and (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_50_22 2) aux_mod_v_main_~y~0_50_22) 2)) (not (= aux_mod_v_main_~y~0_50_22 1)) (<= 0 aux_mod_v_main_~y~0_50_22) (< 0 (+ (* aux_div_v_main_~y~0_50_22 2) aux_mod_v_main_~y~0_50_22 1)) (= (+ main_~z~0 (* (+ (* aux_div_v_main_~y~0_50_22 2) aux_mod_v_main_~y~0_50_22) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (< aux_mod_v_main_~y~0_50_22 2))) (= (mod main_~x~0 2) 0))} assume !false; {4895#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:36:04,057 INFO L272 TraceCheckUtils]: 51: Hoare triple {4895#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4899#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:36:04,058 INFO L290 TraceCheckUtils]: 52: Hoare triple {4899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:36:04,058 INFO L290 TraceCheckUtils]: 53: Hoare triple {4903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4734#false} is VALID [2022-04-28 07:36:04,058 INFO L290 TraceCheckUtils]: 54: Hoare triple {4734#false} assume !false; {4734#false} is VALID [2022-04-28 07:36:04,058 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 28 proven. 2 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 07:36:04,059 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:36:30,388 INFO L290 TraceCheckUtils]: 54: Hoare triple {4734#false} assume !false; {4734#false} is VALID [2022-04-28 07:36:30,389 INFO L290 TraceCheckUtils]: 53: Hoare triple {4903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4734#false} is VALID [2022-04-28 07:36:30,389 INFO L290 TraceCheckUtils]: 52: Hoare triple {4899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:36:30,390 INFO L272 TraceCheckUtils]: 51: Hoare triple {4919#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4899#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:36:30,390 INFO L290 TraceCheckUtils]: 50: Hoare triple {4919#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4919#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:36:30,394 INFO L290 TraceCheckUtils]: 49: Hoare triple {4926#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4919#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:36:30,395 INFO L290 TraceCheckUtils]: 48: Hoare triple {4930#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4926#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:36:30,396 INFO L290 TraceCheckUtils]: 47: Hoare triple {4930#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {4930#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:36:30,398 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4873#(not (= |__VERIFIER_assert_#in~cond| 0))} {4937#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {4930#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:36:30,399 INFO L290 TraceCheckUtils]: 45: Hoare triple {4873#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4873#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:36:30,399 INFO L290 TraceCheckUtils]: 44: Hoare triple {4947#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4873#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:36:30,399 INFO L290 TraceCheckUtils]: 43: Hoare triple {4733#true} ~cond := #in~cond; {4947#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:36:30,399 INFO L272 TraceCheckUtils]: 42: Hoare triple {4937#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:30,399 INFO L290 TraceCheckUtils]: 41: Hoare triple {4937#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {4937#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:36:30,401 INFO L290 TraceCheckUtils]: 40: Hoare triple {4957#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4937#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 39: Hoare triple {4733#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4957#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 38: Hoare triple {4733#true} assume !!(0 != ~y~0); {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4733#true} {4733#true} #67#return; {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 36: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L272 TraceCheckUtils]: 33: Hoare triple {4733#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 32: Hoare triple {4733#true} assume !false; {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 31: Hoare triple {4733#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 30: Hoare triple {4733#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 29: Hoare triple {4733#true} assume !!(0 != ~y~0); {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4733#true} {4733#true} #67#return; {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 27: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 26: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 25: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L272 TraceCheckUtils]: 24: Hoare triple {4733#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:30,402 INFO L290 TraceCheckUtils]: 23: Hoare triple {4733#true} assume !false; {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L290 TraceCheckUtils]: 22: Hoare triple {4733#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4733#true} {4733#true} #65#return; {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L290 TraceCheckUtils]: 19: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L272 TraceCheckUtils]: 17: Hoare triple {4733#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4733#true} {4733#true} #63#return; {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L290 TraceCheckUtils]: 15: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L290 TraceCheckUtils]: 14: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L290 TraceCheckUtils]: 13: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L272 TraceCheckUtils]: 12: Hoare triple {4733#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:30,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {4733#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4733#true} {4733#true} #61#return; {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L290 TraceCheckUtils]: 9: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L290 TraceCheckUtils]: 8: Hoare triple {4733#true} assume !(0 == ~cond); {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L290 TraceCheckUtils]: 7: Hoare triple {4733#true} ~cond := #in~cond; {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L272 TraceCheckUtils]: 6: Hoare triple {4733#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L290 TraceCheckUtils]: 5: Hoare triple {4733#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L272 TraceCheckUtils]: 4: Hoare triple {4733#true} call #t~ret6 := main(); {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4733#true} {4733#true} #71#return; {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {4733#true} assume true; {4733#true} is VALID [2022-04-28 07:36:30,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {4733#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(13, 2);call #Ultimate.allocInit(12, 3); {4733#true} is VALID [2022-04-28 07:36:30,405 INFO L272 TraceCheckUtils]: 0: Hoare triple {4733#true} call ULTIMATE.init(); {4733#true} is VALID [2022-04-28 07:36:30,405 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 07:36:30,405 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:36:30,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [659352101] [2022-04-28 07:36:30,405 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:36:30,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2014658296] [2022-04-28 07:36:30,405 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2014658296] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:36:30,405 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:36:30,405 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-28 07:36:30,406 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:36:30,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [374157174] [2022-04-28 07:36:30,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [374157174] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:36:30,406 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:36:30,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:36:30,406 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1045742400] [2022-04-28 07:36:30,406 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:36:30,406 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-28 07:36:30,407 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:36:30,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:36:31,255 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:36:31,255 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:36:31,255 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:36:31,256 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:36:31,256 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=239, Unknown=1, NotChecked=0, Total=306 [2022-04-28 07:36:31,256 INFO L87 Difference]: Start difference. First operand 64 states and 71 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:36:41,936 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:36:46,103 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.73s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:36:49,528 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.15s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:36:52,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:36:52,566 INFO L93 Difference]: Finished difference Result 95 states and 105 transitions. [2022-04-28 07:36:52,566 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 07:36:52,566 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-28 07:36:52,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:36:52,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:36:52,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 53 transitions. [2022-04-28 07:36:52,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:36:52,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 53 transitions. [2022-04-28 07:36:52,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 53 transitions. [2022-04-28 07:37:00,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 51 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 07:37:00,443 INFO L225 Difference]: With dead ends: 95 [2022-04-28 07:37:00,444 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 07:37:00,444 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 92 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 13.0s TimeCoverageRelationStatistics Valid=128, Invalid=423, Unknown=1, NotChecked=0, Total=552 [2022-04-28 07:37:00,445 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 18 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 46 IncrementalHoareTripleChecker+Unchecked, 5.5s IncrementalHoareTripleChecker+Time [2022-04-28 07:37:00,445 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 180 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 129 Invalid, 0 Unknown, 46 Unchecked, 5.5s Time] [2022-04-28 07:37:00,445 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 07:37:00,509 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-28 07:37:00,509 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:37:00,509 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.0555555555555556) internal successors, (38), 38 states have internal predecessors, (38), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:37:00,510 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.0555555555555556) internal successors, (38), 38 states have internal predecessors, (38), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:37:00,510 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.0555555555555556) internal successors, (38), 38 states have internal predecessors, (38), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:37:00,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:37:00,512 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2022-04-28 07:37:00,512 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2022-04-28 07:37:00,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:37:00,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:37:00,513 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.0555555555555556) internal successors, (38), 38 states have internal predecessors, (38), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 07:37:00,513 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.0555555555555556) internal successors, (38), 38 states have internal predecessors, (38), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 07:37:00,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:37:00,514 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2022-04-28 07:37:00,514 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2022-04-28 07:37:00,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:37:00,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:37:00,514 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:37:00,514 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:37:00,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.0555555555555556) internal successors, (38), 38 states have internal predecessors, (38), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:37:00,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 56 transitions. [2022-04-28 07:37:00,516 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 56 transitions. Word has length 55 [2022-04-28 07:37:00,516 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:37:00,516 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 56 transitions. [2022-04-28 07:37:00,516 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:37:00,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 56 transitions. [2022-04-28 07:37:05,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 54 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 07:37:05,042 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2022-04-28 07:37:05,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 07:37:05,042 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:37:05,043 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:37:05,067 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 07:37:05,255 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 07:37:05,255 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:37:05,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:37:05,256 INFO L85 PathProgramCache]: Analyzing trace with hash 179886322, now seen corresponding path program 7 times [2022-04-28 07:37:05,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:37:05,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1293526724] [2022-04-28 07:37:05,256 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:37:05,256 INFO L85 PathProgramCache]: Analyzing trace with hash 179886322, now seen corresponding path program 8 times [2022-04-28 07:37:05,257 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:37:05,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [915011815] [2022-04-28 07:37:05,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:37:05,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:37:05,270 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:37:05,270 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [680862105] [2022-04-28 07:37:05,270 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:37:05,270 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:37:05,270 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:37:05,271 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:37:05,272 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 07:37:05,335 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:37:05,335 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:37:05,336 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 07:37:05,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:37:05,365 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:37:08,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {5495#true} call ULTIMATE.init(); {5495#true} is VALID [2022-04-28 07:37:08,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {5495#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(13, 2);call #Ultimate.allocInit(12, 3); {5495#true} is VALID [2022-04-28 07:37:08,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:08,943 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5495#true} {5495#true} #71#return; {5495#true} is VALID [2022-04-28 07:37:08,943 INFO L272 TraceCheckUtils]: 4: Hoare triple {5495#true} call #t~ret6 := main(); {5495#true} is VALID [2022-04-28 07:37:08,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {5495#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5495#true} is VALID [2022-04-28 07:37:08,943 INFO L272 TraceCheckUtils]: 6: Hoare triple {5495#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:08,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {5495#true} ~cond := #in~cond; {5521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:37:08,944 INFO L290 TraceCheckUtils]: 8: Hoare triple {5521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:37:08,944 INFO L290 TraceCheckUtils]: 9: Hoare triple {5525#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:37:08,945 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5525#(not (= |assume_abort_if_not_#in~cond| 0))} {5495#true} #61#return; {5532#(and (<= 0 main_~a~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,945 INFO L290 TraceCheckUtils]: 11: Hoare triple {5532#(and (<= 0 main_~a~0) (<= main_~a~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5532#(and (<= 0 main_~a~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,945 INFO L272 TraceCheckUtils]: 12: Hoare triple {5532#(and (<= 0 main_~a~0) (<= main_~a~0 5))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:08,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {5495#true} ~cond := #in~cond; {5521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:37:08,946 INFO L290 TraceCheckUtils]: 14: Hoare triple {5521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:37:08,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {5525#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:37:08,946 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5525#(not (= |assume_abort_if_not_#in~cond| 0))} {5532#(and (<= 0 main_~a~0) (<= main_~a~0 5))} #63#return; {5551#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,946 INFO L272 TraceCheckUtils]: 17: Hoare triple {5551#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:08,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {5495#true} ~cond := #in~cond; {5495#true} is VALID [2022-04-28 07:37:08,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {5495#true} assume !(0 == ~cond); {5495#true} is VALID [2022-04-28 07:37:08,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:08,947 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5495#true} {5551#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} #65#return; {5551#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,947 INFO L290 TraceCheckUtils]: 22: Hoare triple {5551#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5570#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:37:08,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {5570#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} assume !false; {5570#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:37:08,948 INFO L272 TraceCheckUtils]: 24: Hoare triple {5570#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:08,948 INFO L290 TraceCheckUtils]: 25: Hoare triple {5495#true} ~cond := #in~cond; {5495#true} is VALID [2022-04-28 07:37:08,948 INFO L290 TraceCheckUtils]: 26: Hoare triple {5495#true} assume !(0 == ~cond); {5495#true} is VALID [2022-04-28 07:37:08,948 INFO L290 TraceCheckUtils]: 27: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:08,948 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5495#true} {5570#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} #67#return; {5570#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:37:08,949 INFO L290 TraceCheckUtils]: 29: Hoare triple {5570#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {5592#(and (not (= main_~y~0 0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:37:08,949 INFO L290 TraceCheckUtils]: 30: Hoare triple {5592#(and (not (= main_~y~0 0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5596#(and (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:37:08,950 INFO L290 TraceCheckUtils]: 31: Hoare triple {5596#(and (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5600#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,950 INFO L290 TraceCheckUtils]: 32: Hoare triple {5600#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !false; {5600#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,950 INFO L272 TraceCheckUtils]: 33: Hoare triple {5600#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:08,950 INFO L290 TraceCheckUtils]: 34: Hoare triple {5495#true} ~cond := #in~cond; {5495#true} is VALID [2022-04-28 07:37:08,950 INFO L290 TraceCheckUtils]: 35: Hoare triple {5495#true} assume !(0 == ~cond); {5495#true} is VALID [2022-04-28 07:37:08,950 INFO L290 TraceCheckUtils]: 36: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:08,951 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5495#true} {5600#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} #67#return; {5600#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,951 INFO L290 TraceCheckUtils]: 38: Hoare triple {5600#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !!(0 != ~y~0); {5600#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,952 INFO L290 TraceCheckUtils]: 39: Hoare triple {5600#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5625#(and (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,953 INFO L290 TraceCheckUtils]: 40: Hoare triple {5625#(and (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5629#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,954 INFO L290 TraceCheckUtils]: 41: Hoare triple {5629#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !false; {5629#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,954 INFO L272 TraceCheckUtils]: 42: Hoare triple {5629#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:08,954 INFO L290 TraceCheckUtils]: 43: Hoare triple {5495#true} ~cond := #in~cond; {5639#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:37:08,955 INFO L290 TraceCheckUtils]: 44: Hoare triple {5639#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5643#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:37:08,955 INFO L290 TraceCheckUtils]: 45: Hoare triple {5643#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5643#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:37:08,956 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5643#(not (= |__VERIFIER_assert_#in~cond| 0))} {5629#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} #67#return; {5650#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,956 INFO L290 TraceCheckUtils]: 47: Hoare triple {5650#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !!(0 != ~y~0); {5650#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,959 INFO L290 TraceCheckUtils]: 48: Hoare triple {5650#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5657#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (not (= main_~b~0 0)) (= (+ main_~y~0 1) (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= main_~a~0 5) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:37:08,962 INFO L290 TraceCheckUtils]: 49: Hoare triple {5657#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (not (= main_~b~0 0)) (= (+ main_~y~0 1) (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= main_~a~0 5) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5661#(and (= main_~y~0 (div (+ (- 1) (div (div main_~b~0 2) 2)) 2)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (= (+ (* (* main_~a~0 4) (+ (- 1) (div (div main_~b~0 2) 2))) main_~z~0) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,962 INFO L290 TraceCheckUtils]: 50: Hoare triple {5661#(and (= main_~y~0 (div (+ (- 1) (div (div main_~b~0 2) 2)) 2)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (= (+ (* (* main_~a~0 4) (+ (- 1) (div (div main_~b~0 2) 2))) main_~z~0) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} assume !false; {5661#(and (= main_~y~0 (div (+ (- 1) (div (div main_~b~0 2) 2)) 2)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (= (+ (* (* main_~a~0 4) (+ (- 1) (div (div main_~b~0 2) 2))) main_~z~0) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} is VALID [2022-04-28 07:37:08,966 INFO L272 TraceCheckUtils]: 51: Hoare triple {5661#(and (= main_~y~0 (div (+ (- 1) (div (div main_~b~0 2) 2)) 2)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (= (+ (* (* main_~a~0 4) (+ (- 1) (div (div main_~b~0 2) 2))) main_~z~0) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5668#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:37:08,966 INFO L290 TraceCheckUtils]: 52: Hoare triple {5668#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5672#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:37:08,966 INFO L290 TraceCheckUtils]: 53: Hoare triple {5672#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5496#false} is VALID [2022-04-28 07:37:08,966 INFO L290 TraceCheckUtils]: 54: Hoare triple {5496#false} assume !false; {5496#false} is VALID [2022-04-28 07:37:08,967 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:37:08,967 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:37:41,759 INFO L290 TraceCheckUtils]: 54: Hoare triple {5496#false} assume !false; {5496#false} is VALID [2022-04-28 07:37:41,760 INFO L290 TraceCheckUtils]: 53: Hoare triple {5672#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5496#false} is VALID [2022-04-28 07:37:41,760 INFO L290 TraceCheckUtils]: 52: Hoare triple {5668#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5672#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:37:41,761 INFO L272 TraceCheckUtils]: 51: Hoare triple {5688#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5668#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:37:41,761 INFO L290 TraceCheckUtils]: 50: Hoare triple {5688#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5688#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:37:41,766 INFO L290 TraceCheckUtils]: 49: Hoare triple {5695#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5688#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:37:41,769 INFO L290 TraceCheckUtils]: 48: Hoare triple {5699#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5695#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:37:41,769 INFO L290 TraceCheckUtils]: 47: Hoare triple {5699#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {5699#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:37:42,064 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5643#(not (= |__VERIFIER_assert_#in~cond| 0))} {5495#true} #67#return; {5699#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:37:42,065 INFO L290 TraceCheckUtils]: 45: Hoare triple {5643#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5643#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:37:42,065 INFO L290 TraceCheckUtils]: 44: Hoare triple {5715#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5643#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 43: Hoare triple {5495#true} ~cond := #in~cond; {5715#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:37:42,066 INFO L272 TraceCheckUtils]: 42: Hoare triple {5495#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 41: Hoare triple {5495#true} assume !false; {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 40: Hoare triple {5495#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 39: Hoare triple {5495#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 38: Hoare triple {5495#true} assume !!(0 != ~y~0); {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5495#true} {5495#true} #67#return; {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 36: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 35: Hoare triple {5495#true} assume !(0 == ~cond); {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 34: Hoare triple {5495#true} ~cond := #in~cond; {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L272 TraceCheckUtils]: 33: Hoare triple {5495#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 32: Hoare triple {5495#true} assume !false; {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 31: Hoare triple {5495#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 30: Hoare triple {5495#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 29: Hoare triple {5495#true} assume !!(0 != ~y~0); {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5495#true} {5495#true} #67#return; {5495#true} is VALID [2022-04-28 07:37:42,066 INFO L290 TraceCheckUtils]: 27: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 26: Hoare triple {5495#true} assume !(0 == ~cond); {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 25: Hoare triple {5495#true} ~cond := #in~cond; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L272 TraceCheckUtils]: 24: Hoare triple {5495#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 23: Hoare triple {5495#true} assume !false; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 22: Hoare triple {5495#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5495#true} {5495#true} #65#return; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 20: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 19: Hoare triple {5495#true} assume !(0 == ~cond); {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 18: Hoare triple {5495#true} ~cond := #in~cond; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L272 TraceCheckUtils]: 17: Hoare triple {5495#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5495#true} {5495#true} #63#return; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 15: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 14: Hoare triple {5495#true} assume !(0 == ~cond); {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {5495#true} ~cond := #in~cond; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L272 TraceCheckUtils]: 12: Hoare triple {5495#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {5495#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5495#true} {5495#true} #61#return; {5495#true} is VALID [2022-04-28 07:37:42,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L290 TraceCheckUtils]: 8: Hoare triple {5495#true} assume !(0 == ~cond); {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L290 TraceCheckUtils]: 7: Hoare triple {5495#true} ~cond := #in~cond; {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L272 TraceCheckUtils]: 6: Hoare triple {5495#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L290 TraceCheckUtils]: 5: Hoare triple {5495#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L272 TraceCheckUtils]: 4: Hoare triple {5495#true} call #t~ret6 := main(); {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5495#true} {5495#true} #71#return; {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {5495#true} assume true; {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {5495#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(13, 2);call #Ultimate.allocInit(12, 3); {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L272 TraceCheckUtils]: 0: Hoare triple {5495#true} call ULTIMATE.init(); {5495#true} is VALID [2022-04-28 07:37:42,068 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 07:37:42,068 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:37:42,069 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [915011815] [2022-04-28 07:37:42,069 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:37:42,069 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [680862105] [2022-04-28 07:37:42,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [680862105] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:37:42,069 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:37:42,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 9] total 23 [2022-04-28 07:37:42,069 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:37:42,069 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1293526724] [2022-04-28 07:37:42,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1293526724] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:37:42,069 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:37:42,070 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 07:37:42,070 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [364509198] [2022-04-28 07:37:42,070 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:37:42,070 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) Word has length 55 [2022-04-28 07:37:42,070 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:37:42,071 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:37:42,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:37:42,127 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 07:37:42,127 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:37:42,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 07:37:42,128 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=424, Unknown=0, NotChecked=0, Total=506 [2022-04-28 07:37:42,128 INFO L87 Difference]: Start difference. First operand 53 states and 56 transitions. Second operand has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:37:43,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:37:43,070 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-28 07:37:43,070 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 07:37:43,070 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) Word has length 55 [2022-04-28 07:37:43,071 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:37:43,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:37:43,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 57 transitions. [2022-04-28 07:37:43,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:37:43,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 57 transitions. [2022-04-28 07:37:43,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 57 transitions. [2022-04-28 07:37:43,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:37:43,129 INFO L225 Difference]: With dead ends: 62 [2022-04-28 07:37:43,129 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 07:37:43,130 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 86 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 157 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=99, Invalid=551, Unknown=0, NotChecked=0, Total=650 [2022-04-28 07:37:43,130 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 24 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 288 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 165 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 288 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 07:37:43,130 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 165 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 288 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 07:37:43,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 07:37:43,130 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 07:37:43,130 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:37:43,130 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:37:43,130 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:37:43,131 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:37:43,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:37:43,131 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 07:37:43,131 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 07:37:43,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:37:43,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:37:43,131 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 07:37:43,131 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 07:37:43,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:37:43,131 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 07:37:43,131 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 07:37:43,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:37:43,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:37:43,131 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:37:43,131 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:37:43,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:37:43,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 07:37:43,131 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 55 [2022-04-28 07:37:43,131 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:37:43,131 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 07:37:43,132 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 07:37:43,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 07:37:43,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:37:43,132 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 07:37:43,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:37:43,134 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 07:37:43,151 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 07:37:43,334 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 07:37:43,336 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 07:38:11,939 WARN L232 SmtUtils]: Spent 27.93s on a formula simplification. DAG size of input: 107 DAG size of output: 25 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:38:37,127 WARN L232 SmtUtils]: Spent 25.18s on a formula simplification. DAG size of input: 150 DAG size of output: 22 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:39:04,954 WARN L232 SmtUtils]: Spent 20.66s on a formula simplification. DAG size of input: 96 DAG size of output: 26 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:39:04,978 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 6) no Hoare annotation was computed. [2022-04-28 07:39:04,978 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 6) no Hoare annotation was computed. [2022-04-28 07:39:04,978 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 6) no Hoare annotation was computed. [2022-04-28 07:39:04,978 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 9 11) the Hoare annotation is: true [2022-04-28 07:39:04,978 INFO L895 garLoopResultBuilder]: At program point L10(line 10) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 07:39:04,978 INFO L895 garLoopResultBuilder]: At program point L10-2(lines 9 11) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 9 11) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= 0 main_~a~0) (<= main_~a~0 5)) [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5)) [2022-04-28 07:39:04,979 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-28 07:39:04,979 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 20 49) the Hoare annotation is: true [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: (and (<= 0 main_~a~0) (<= main_~a~0 5)) [2022-04-28 07:39:04,979 INFO L902 garLoopResultBuilder]: At program point L46(line 46) the Hoare annotation is: true [2022-04-28 07:39:04,979 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 20 49) the Hoare annotation is: true [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0)) (.cse1 (<= main_~b~0 5))) (or (and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) .cse0) .cse1 (<= 1 main_~b~0) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0)) (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) .cse1 (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 1 main_~y~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0)))) [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point L34-3(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (and (= main_~z~0 .cse0) (<= 1 main_~b~0) (or (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= .cse0 (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0)) main_~z~0))))) [2022-04-28 07:39:04,979 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 20 49) the Hoare annotation is: true [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 1 main_~b~0) (<= main_~a~0 5)) [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point L39(lines 39 42) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) (<= main_~b~0 5) (= (mod (+ (* (- 1) main_~z~0) .cse0) main_~y~0) 0) (<= 1 main_~b~0) (< 0 (+ main_~y~0 1)))) [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point L39-2(lines 39 42) the Hoare annotation is: (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (<= 1 main_~b~0) (< 0 (+ main_~y~0 1))) [2022-04-28 07:39:04,979 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0)) (.cse1 (<= main_~b~0 5))) (or (and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) .cse0) .cse1 (<= 1 main_~b~0) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0)) (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) .cse1 (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 1 main_~y~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0)))) [2022-04-28 07:39:04,980 INFO L895 garLoopResultBuilder]: At program point L35-1(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) (<= main_~b~0 5) (or (= main_~z~0 .cse0) (= (mod (+ (* (- 1) main_~z~0) .cse0) main_~y~0) 0)) (<= 1 main_~b~0) (< 0 (+ main_~y~0 1)))) [2022-04-28 07:39:04,980 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 07:39:04,980 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 07:39:04,980 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 07:39:04,980 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 07:39:04,980 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 07:39:04,980 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 07:39:04,980 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 07:39:04,980 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 12 18) the Hoare annotation is: true [2022-04-28 07:39:04,980 INFO L895 garLoopResultBuilder]: At program point L14(lines 14 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 07:39:04,980 INFO L895 garLoopResultBuilder]: At program point L13(lines 13 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 07:39:04,980 INFO L895 garLoopResultBuilder]: At program point L13-2(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 07:39:04,980 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 07:39:04,981 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 07:39:04,983 INFO L356 BasicCegarLoop]: Path program histogram: [8, 4, 2, 2, 2, 2, 2] [2022-04-28 07:39:04,984 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 07:39:04,986 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 07:39:04,988 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 07:39:07,314 INFO L163 areAnnotationChecker]: CFG has 40 edges. 39 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 07:39:07,323 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 07:39:07 BoogieIcfgContainer [2022-04-28 07:39:07,323 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 07:39:07,324 INFO L158 Benchmark]: Toolchain (without parser) took 558972.74ms. Allocated memory was 170.9MB in the beginning and 205.5MB in the end (delta: 34.6MB). Free memory was 119.8MB in the beginning and 169.6MB in the end (delta: -49.8MB). Peak memory consumption was 97.9MB. Max. memory is 8.0GB. [2022-04-28 07:39:07,324 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 170.9MB. Free memory is still 136.0MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 07:39:07,324 INFO L158 Benchmark]: CACSL2BoogieTranslator took 207.58ms. Allocated memory was 170.9MB in the beginning and 205.5MB in the end (delta: 34.6MB). Free memory was 119.6MB in the beginning and 182.4MB in the end (delta: -62.8MB). Peak memory consumption was 11.1MB. Max. memory is 8.0GB. [2022-04-28 07:39:07,324 INFO L158 Benchmark]: Boogie Preprocessor took 23.27ms. Allocated memory is still 205.5MB. Free memory was 182.4MB in the beginning and 180.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 07:39:07,325 INFO L158 Benchmark]: RCFGBuilder took 235.15ms. Allocated memory is still 205.5MB. Free memory was 180.7MB in the beginning and 168.8MB in the end (delta: 12.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 07:39:07,325 INFO L158 Benchmark]: TraceAbstraction took 558501.98ms. Allocated memory is still 205.5MB. Free memory was 168.3MB in the beginning and 169.6MB in the end (delta: -1.4MB). Peak memory consumption was 110.8MB. Max. memory is 8.0GB. [2022-04-28 07:39:07,326 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.12ms. Allocated memory is still 170.9MB. Free memory is still 136.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 207.58ms. Allocated memory was 170.9MB in the beginning and 205.5MB in the end (delta: 34.6MB). Free memory was 119.6MB in the beginning and 182.4MB in the end (delta: -62.8MB). Peak memory consumption was 11.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 23.27ms. Allocated memory is still 205.5MB. Free memory was 182.4MB in the beginning and 180.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 235.15ms. Allocated memory is still 205.5MB. Free memory was 180.7MB in the beginning and 168.8MB in the end (delta: 12.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 558501.98ms. Allocated memory is still 205.5MB. Free memory was 168.3MB in the beginning and 169.6MB in the end (delta: -1.4MB). Peak memory consumption was 110.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: 15]: 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, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 556.1s, OverallIterations: 11, TraceHistogramMax: 4, PathProgramHistogramMax: 8, EmptinessCheckTime: 0.0s, AutomataDifference: 41.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 81.6s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 220 SdHoareTripleChecker+Valid, 10.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 200 mSDsluCounter, 1464 SdHoareTripleChecker+Invalid, 10.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 46 IncrementalHoareTripleChecker+Unchecked, 1192 mSDsCounter, 57 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1727 IncrementalHoareTripleChecker+Invalid, 1831 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 57 mSolverCounterUnsat, 272 mSDtfsCounter, 1727 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 823 GetRequests, 645 SyntacticMatches, 15 SemanticMatches, 163 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 688 ImplicationChecksByTransitivity, 25.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=64occurred in iteration=8, InterpolantAutomatonStates: 117, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.5s AutomataMinimizationTime, 11 MinimizatonAttempts, 33 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 32 LocationsWithAnnotation, 150 PreInvPairs, 245 NumberOfFragments, 369 HoareAnnotationTreeSize, 150 FomulaSimplifications, 707 FormulaSimplificationTreeSizeReduction, 0.6s HoareSimplificationTime, 32 FomulaSimplificationsInter, 22242 FormulaSimplificationTreeSizeReductionInter, 81.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: ((((z + 2 * (-1 * x / -2 * y) == b * a && b <= 5) && 1 <= b) && 0 < y + 1) && x % 2 == 0) || ((((((z + y * x == b * a && b <= 5) && b == y) && 0 <= a) && 1 <= y) && a <= 5) && a == x) - ProcedureContractResult [Line: 9]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 20]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 12]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 07:39:07,424 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...