/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 05:57:32,557 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 05:57:32,558 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 05:57:32,620 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 05:57:32,620 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 05:57:32,621 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 05:57:32,624 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 05:57:32,629 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 05:57:32,630 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 05:57:32,631 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 05:57:32,631 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 05:57:32,632 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 05:57:32,632 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 05:57:32,633 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 05:57:32,633 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 05:57:32,634 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 05:57:32,634 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 05:57:32,635 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 05:57:32,636 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 05:57:32,637 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 05:57:32,638 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 05:57:32,646 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 05:57:32,647 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 05:57:32,649 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 05:57:32,652 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 05:57:32,655 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 05:57:32,655 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 05:57:32,655 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 05:57:32,656 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 05:57:32,656 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 05:57:32,656 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 05:57:32,657 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 05:57:32,657 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 05:57:32,657 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 05:57:32,658 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 05:57:32,658 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 05:57:32,659 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 05:57:32,659 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 05:57:32,659 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 05:57:32,659 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 05:57:32,660 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 05:57:32,666 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 05:57:32,667 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 05:57:32,676 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 05:57:32,676 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 05:57:32,678 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 05:57:32,678 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 05:57:32,678 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 05:57:32,678 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 05:57:32,678 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 05:57:32,678 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 05:57:32,678 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 05:57:32,679 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 05:57:32,679 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 05:57:32,679 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 05:57:32,679 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 05:57:32,679 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 05:57:32,680 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 05:57:32,680 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 05:57:32,680 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 05:57:32,680 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 05:57:32,680 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:57:32,680 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 05:57:32,680 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 05:57:32,680 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 05:57:32,680 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 05:57:32,680 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 05:57:32,681 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 05:57:32,681 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 05:57:32,820 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 05:57:32,833 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 05:57:32,835 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 05:57:32,835 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 05:57:32,836 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 05:57:32,837 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c [2022-04-08 05:57:32,878 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/32edc3620/124b2d25aeeb4dd8af4260c71e2b2e98/FLAGec9fe361d [2022-04-08 05:57:33,179 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 05:57:33,179 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c [2022-04-08 05:57:33,184 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/32edc3620/124b2d25aeeb4dd8af4260c71e2b2e98/FLAGec9fe361d [2022-04-08 05:57:33,604 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/32edc3620/124b2d25aeeb4dd8af4260c71e2b2e98 [2022-04-08 05:57:33,605 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 05:57:33,606 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 05:57:33,607 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 05:57:33,607 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 05:57:33,610 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 05:57:33,610 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,611 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3a234450 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33, skipping insertion in model container [2022-04-08 05:57:33,611 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,615 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 05:57:33,624 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 05:57:33,756 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c[490,503] [2022-04-08 05:57:33,783 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:57:33,788 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 05:57:33,802 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c[490,503] [2022-04-08 05:57:33,816 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:57:33,828 INFO L208 MainTranslator]: Completed translation [2022-04-08 05:57:33,829 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33 WrapperNode [2022-04-08 05:57:33,829 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 05:57:33,830 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 05:57:33,830 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 05:57:33,830 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 05:57:33,837 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,837 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,842 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,843 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,847 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,850 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,851 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,853 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 05:57:33,854 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 05:57:33,854 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 05:57:33,854 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 05:57:33,858 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33" (1/1) ... [2022-04-08 05:57:33,870 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:57:33,877 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:57:33,886 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 05:57:33,895 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 05:57:33,917 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 05:57:33,917 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 05:57:33,917 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 05:57:33,917 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 05:57:33,917 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 05:57:33,917 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 05:57:33,918 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 05:57:33,918 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 05:57:33,918 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 05:57:33,918 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 05:57:33,919 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 05:57:33,919 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 05:57:33,920 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 05:57:33,920 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 05:57:33,920 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 05:57:33,920 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 05:57:33,920 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 05:57:33,920 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 05:57:33,920 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 05:57:33,920 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 05:57:33,967 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 05:57:33,968 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 05:57:34,142 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 05:57:34,148 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 05:57:34,148 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-08 05:57:34,149 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:57:34 BoogieIcfgContainer [2022-04-08 05:57:34,149 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 05:57:34,150 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 05:57:34,150 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 05:57:34,153 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 05:57:34,153 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 05:57:33" (1/3) ... [2022-04-08 05:57:34,153 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@cc86fa6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:57:34, skipping insertion in model container [2022-04-08 05:57:34,153 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:57:33" (2/3) ... [2022-04-08 05:57:34,154 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@cc86fa6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:57:34, skipping insertion in model container [2022-04-08 05:57:34,154 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:57:34" (3/3) ... [2022-04-08 05:57:34,155 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound1.c [2022-04-08 05:57:34,158 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 05:57:34,158 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 05:57:34,189 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 05:57:34,194 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 05:57:34,195 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 05:57:34,208 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 05:57:34,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 05:57:34,213 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:57:34,213 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:57:34,213 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:57:34,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:57:34,217 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-08 05:57:34,222 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:34,222 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1476398660] [2022-04-08 05:57:34,229 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:57:34,229 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-08 05:57:34,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:57:34,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1130559151] [2022-04-08 05:57:34,231 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:57:34,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:57:34,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:34,367 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:57:34,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:34,383 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-08 05:57:34,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 05:57:34,384 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-08 05:57:34,384 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:57:34,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:34,403 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:57:34,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:57:34,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:57:34,404 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-08 05:57:34,405 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 05:57:34,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:34,422 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:57:34,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:57:34,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:57:34,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-08 05:57:34,423 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 05:57:34,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:34,431 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:57:34,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:57:34,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:57:34,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-08 05:57:34,432 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 05:57:34,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:34,439 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:57:34,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:57:34,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:57:34,440 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-08 05:57:34,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 05:57:34,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-08 05:57:34,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 05:57:34,444 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-08 05:57:34,445 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-08 05:57:34,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-08 05:57:34,445 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 05:57:34,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:57:34,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:57:34,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:57:34,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-08 05:57:34,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-08 05:57:34,446 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 05:57:34,447 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:57:34,447 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:57:34,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:57:34,448 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-08 05:57:34,448 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 05:57:34,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:57:34,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:57:34,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:57:34,449 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-08 05:57:34,450 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 05:57:34,450 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:57:34,451 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:57:34,451 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:57:34,451 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-08 05:57:34,452 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-08 05:57:34,453 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-08 05:57:34,456 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-08 05:57:34,457 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-08 05:57:34,457 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-08 05:57:34,457 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-08 05:57:34,457 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 05:57:34,458 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:57:34,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1130559151] [2022-04-08 05:57:34,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1130559151] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:57:34,459 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:57:34,459 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:57:34,463 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:57:34,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1476398660] [2022-04-08 05:57:34,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1476398660] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:57:34,463 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:57:34,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:57:34,464 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [510190101] [2022-04-08 05:57:34,464 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:57:34,470 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 05:57:34,471 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:57:34,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:34,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:34,514 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 05:57:34,514 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:34,532 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 05:57:34,533 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:57:34,540 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:34,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:34,730 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-08 05:57:34,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 05:57:34,731 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 05:57:34,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:57:34,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:34,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-08 05:57:34,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:34,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-08 05:57:34,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-08 05:57:34,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:34,852 INFO L225 Difference]: With dead ends: 73 [2022-04-08 05:57:34,852 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 05:57:34,855 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:57:34,858 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:57:34,859 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:57:34,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 05:57:34,879 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-08 05:57:34,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:57:34,880 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:57:34,881 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:57:34,881 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:57:34,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:34,884 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-08 05:57:34,884 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-08 05:57:34,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:34,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:34,885 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-08 05:57:34,885 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-08 05:57:34,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:34,888 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-08 05:57:34,888 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-08 05:57:34,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:34,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:34,888 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:57:34,888 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:57:34,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:57:34,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-08 05:57:34,892 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-08 05:57:34,892 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:57:34,892 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-08 05:57:34,892 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:34,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-08 05:57:34,928 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:34,928 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-08 05:57:34,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 05:57:34,929 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:57:34,929 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:57:34,929 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 05:57:34,930 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:57:34,930 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:57:34,930 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-08 05:57:34,930 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:34,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [844654414] [2022-04-08 05:57:34,931 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:57:34,931 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-08 05:57:34,931 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:57:34,931 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1796815588] [2022-04-08 05:57:34,931 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:57:34,931 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:57:34,971 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:57:34,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1304265672] [2022-04-08 05:57:34,972 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:57:34,972 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:34,972 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:57:35,007 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:57:35,032 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 05:57:35,081 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 05:57:35,081 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:57:35,083 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 05:57:35,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:35,111 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:57:35,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-08 05:57:35,345 INFO L290 TraceCheckUtils]: 1: Hoare triple {353#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {353#true} is VALID [2022-04-08 05:57:35,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 05:57:35,345 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-08 05:57:35,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-08 05:57:35,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {353#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {353#true} is VALID [2022-04-08 05:57:35,346 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {353#true} is VALID [2022-04-08 05:57:35,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-08 05:57:35,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-08 05:57:35,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 05:57:35,346 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-08 05:57:35,346 INFO L290 TraceCheckUtils]: 11: Hoare triple {353#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {353#true} is VALID [2022-04-08 05:57:35,346 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {353#true} is VALID [2022-04-08 05:57:35,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-08 05:57:35,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-08 05:57:35,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 05:57:35,347 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-08 05:57:35,347 INFO L272 TraceCheckUtils]: 17: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-08 05:57:35,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-08 05:57:35,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-08 05:57:35,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 05:57:35,347 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-08 05:57:35,347 INFO L272 TraceCheckUtils]: 22: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-08 05:57:35,348 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-08 05:57:35,348 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-08 05:57:35,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 05:57:35,348 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-08 05:57:35,348 INFO L290 TraceCheckUtils]: 27: Hoare triple {353#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:57:35,349 INFO L290 TraceCheckUtils]: 28: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:57:35,349 INFO L290 TraceCheckUtils]: 29: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 != ~b~0); {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:57:35,350 INFO L272 TraceCheckUtils]: 30: Hoare triple {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:57:35,351 INFO L290 TraceCheckUtils]: 31: Hoare triple {450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:57:35,351 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-08 05:57:35,351 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-08 05:57:35,351 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 05:57:35,352 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:57:35,352 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:57:35,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1796815588] [2022-04-08 05:57:35,352 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:57:35,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1304265672] [2022-04-08 05:57:35,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1304265672] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:57:35,352 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:57:35,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:57:35,353 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:57:35,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [844654414] [2022-04-08 05:57:35,353 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [844654414] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:57:35,353 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:57:35,353 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:57:35,353 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1171529935] [2022-04-08 05:57:35,353 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:57:35,354 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-08 05:57:35,354 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:57:35,354 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:57:35,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:35,372 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:57:35,372 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:35,372 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:57:35,372 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:57:35,372 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:57:35,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:35,654 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-08 05:57:35,654 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:57:35,654 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-08 05:57:35,655 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:57:35,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:57:35,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 05:57:35,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:57:35,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 05:57:35,658 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-08 05:57:35,711 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:35,713 INFO L225 Difference]: With dead ends: 54 [2022-04-08 05:57:35,713 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 05:57:35,713 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:57:35,714 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:57:35,714 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:57:35,715 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 05:57:35,724 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-08 05:57:35,724 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:57:35,725 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:57:35,725 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:57:35,726 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:57:35,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:35,728 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-08 05:57:35,728 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-08 05:57:35,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:35,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:35,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-08 05:57:35,729 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-08 05:57:35,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:35,732 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-08 05:57:35,732 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-08 05:57:35,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:35,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:35,732 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:57:35,732 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:57:35,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:57:35,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-08 05:57:35,735 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-08 05:57:35,735 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:57:35,735 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-08 05:57:35,735 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:57:35,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-08 05:57:35,791 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-08 05:57:35,791 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-08 05:57:35,791 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 05:57:35,792 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:57:35,792 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:57:35,826 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 05:57:36,007 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:36,008 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:57:36,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:57:36,008 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-08 05:57:36,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:36,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1154817031] [2022-04-08 05:57:36,009 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:57:36,009 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-08 05:57:36,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:57:36,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [441489265] [2022-04-08 05:57:36,009 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:57:36,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:57:36,043 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:57:36,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [580564145] [2022-04-08 05:57:36,044 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:57:36,044 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:36,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:57:36,045 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:57:36,046 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 05:57:36,083 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:57:36,083 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:57:36,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:57:36,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:36,098 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:57:36,274 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-08 05:57:36,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-08 05:57:36,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 05:57:36,275 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-08 05:57:36,275 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-08 05:57:36,275 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-08 05:57:36,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-08 05:57:36,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 05:57:36,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 05:57:36,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 05:57:36,276 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-08 05:57:36,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-08 05:57:36,276 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-08 05:57:36,276 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 05:57:36,277 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 05:57:36,279 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 05:57:36,279 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-08 05:57:36,279 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-08 05:57:36,280 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:57:36,281 INFO L290 TraceCheckUtils]: 19: Hoare triple {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:36,281 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:36,285 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-08 05:57:36,286 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-08 05:57:36,286 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 05:57:36,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 05:57:36,286 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 05:57:36,287 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-08 05:57:36,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-08 05:57:36,287 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-08 05:57:36,288 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-08 05:57:36,289 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-08 05:57:36,290 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-08 05:57:36,291 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-08 05:57:36,291 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-08 05:57:36,292 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-08 05:57:36,293 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-08 05:57:36,293 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-08 05:57:36,293 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-08 05:57:36,293 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-08 05:57:36,293 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 05:57:36,293 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:57:36,556 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-08 05:57:36,557 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-08 05:57:36,557 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-08 05:57:36,557 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-08 05:57:36,557 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-08 05:57:36,557 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-08 05:57:36,558 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-08 05:57:36,559 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-08 05:57:36,559 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-08 05:57:36,560 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-08 05:57:36,560 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-08 05:57:36,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-08 05:57:36,561 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-08 05:57:36,561 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 05:57:36,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 05:57:36,562 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 05:57:36,562 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-08 05:57:36,562 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-08 05:57:36,563 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:36,563 INFO L290 TraceCheckUtils]: 19: Hoare triple {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:36,563 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:57:36,563 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-08 05:57:36,564 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-08 05:57:36,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 05:57:36,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 05:57:36,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 05:57:36,564 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-08 05:57:36,564 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-08 05:57:36,564 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-08 05:57:36,564 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 05:57:36,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 05:57:36,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 05:57:36,565 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-08 05:57:36,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-08 05:57:36,565 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-08 05:57:36,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-08 05:57:36,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 05:57:36,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-08 05:57:36,566 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-08 05:57:36,567 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 05:57:36,567 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:57:36,567 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [441489265] [2022-04-08 05:57:36,567 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:57:36,567 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [580564145] [2022-04-08 05:57:36,567 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [580564145] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:57:36,568 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:57:36,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 05:57:36,568 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:57:36,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1154817031] [2022-04-08 05:57:36,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1154817031] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:57:36,568 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:57:36,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:57:36,568 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2124517349] [2022-04-08 05:57:36,568 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:57:36,569 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-08 05:57:36,570 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:57:36,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:36,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:36,591 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:57:36,591 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:36,591 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:57:36,591 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:57:36,591 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:37,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:37,157 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-08 05:57:37,157 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:57:37,157 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-08 05:57:37,158 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:57:37,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:37,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-08 05:57:37,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:37,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-08 05:57:37,162 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-08 05:57:37,238 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:37,240 INFO L225 Difference]: With dead ends: 103 [2022-04-08 05:57:37,240 INFO L226 Difference]: Without dead ends: 96 [2022-04-08 05:57:37,240 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:57:37,241 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:57:37,242 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:57:37,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-08 05:57:37,309 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-08 05:57:37,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:57:37,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:57:37,310 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:57:37,310 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:57:37,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:37,315 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-08 05:57:37,315 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-08 05:57:37,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:37,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:37,317 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-08 05:57:37,317 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-08 05:57:37,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:37,320 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-08 05:57:37,320 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-08 05:57:37,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:37,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:37,321 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:57:37,321 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:57:37,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:57:37,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-08 05:57:37,324 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-08 05:57:37,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:57:37,324 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-08 05:57:37,324 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:57:37,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-08 05:57:37,435 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:37,436 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-08 05:57:37,436 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 05:57:37,436 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:57:37,436 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:57:37,468 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-08 05:57:37,636 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 05:57:37,637 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:57:37,637 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:57:37,637 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-08 05:57:37,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:37,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1469042533] [2022-04-08 05:57:37,638 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:57:37,638 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-08 05:57:37,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:57:37,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1089645417] [2022-04-08 05:57:37,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:57:37,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:57:37,652 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:57:37,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1851139477] [2022-04-08 05:57:37,653 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:57:37,653 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:37,653 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:57:37,667 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:57:37,708 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 05:57:37,742 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:57:37,742 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:57:37,743 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 05:57:37,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:37,759 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:57:38,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-08 05:57:38,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-08 05:57:38,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 05:57:38,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-08 05:57:38,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-08 05:57:38,006 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-08 05:57:38,006 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-08 05:57:38,006 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-08 05:57:38,006 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-08 05:57:38,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 05:57:38,006 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-08 05:57:38,006 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-08 05:57:38,006 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-08 05:57:38,007 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:57:38,007 INFO L290 TraceCheckUtils]: 14: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:38,008 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:38,008 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:38,008 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-08 05:57:38,009 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:57:38,009 INFO L290 TraceCheckUtils]: 19: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:38,009 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:38,010 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:38,010 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-08 05:57:38,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-08 05:57:38,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-08 05:57:38,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 05:57:38,013 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:38,013 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 05:57:38,014 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !false; {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 05:57:38,014 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 05:57:38,015 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !false; {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 05:57:38,015 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !(~c~0 >= ~b~0); {1567#false} is VALID [2022-04-08 05:57:38,015 INFO L290 TraceCheckUtils]: 32: Hoare triple {1567#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1567#false} is VALID [2022-04-08 05:57:38,015 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 05:57:38,015 INFO L290 TraceCheckUtils]: 34: Hoare triple {1567#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1567#false} is VALID [2022-04-08 05:57:38,015 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 05:57:38,015 INFO L290 TraceCheckUtils]: 36: Hoare triple {1567#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1567#false} is VALID [2022-04-08 05:57:38,016 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 05:57:38,016 INFO L272 TraceCheckUtils]: 38: Hoare triple {1567#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1567#false} is VALID [2022-04-08 05:57:38,016 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-08 05:57:38,016 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-08 05:57:38,016 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 05:57:38,016 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 05:57:38,016 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:57:38,333 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 05:57:38,333 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-08 05:57:38,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-08 05:57:38,333 INFO L272 TraceCheckUtils]: 38: Hoare triple {1567#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1567#false} is VALID [2022-04-08 05:57:38,333 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 05:57:38,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {1567#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1567#false} is VALID [2022-04-08 05:57:38,333 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 05:57:38,333 INFO L290 TraceCheckUtils]: 34: Hoare triple {1567#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1567#false} is VALID [2022-04-08 05:57:38,333 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 05:57:38,334 INFO L290 TraceCheckUtils]: 32: Hoare triple {1567#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1567#false} is VALID [2022-04-08 05:57:38,334 INFO L290 TraceCheckUtils]: 31: Hoare triple {1730#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {1567#false} is VALID [2022-04-08 05:57:38,334 INFO L290 TraceCheckUtils]: 30: Hoare triple {1730#(<= main_~b~0 main_~c~0)} assume !false; {1730#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:57:38,334 INFO L290 TraceCheckUtils]: 29: Hoare triple {1737#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1730#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:57:38,335 INFO L290 TraceCheckUtils]: 28: Hoare triple {1737#(<= main_~b~0 main_~a~0)} assume !false; {1737#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:57:38,335 INFO L290 TraceCheckUtils]: 27: Hoare triple {1744#(<= main_~y~0 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1737#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:57:38,336 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1744#(<= main_~y~0 main_~x~0)} #100#return; {1744#(<= main_~y~0 main_~x~0)} is VALID [2022-04-08 05:57:38,336 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 05:57:38,336 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-08 05:57:38,336 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-08 05:57:38,336 INFO L272 TraceCheckUtils]: 22: Hoare triple {1744#(<= main_~y~0 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-08 05:57:38,336 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1763#(<= main_~y~0 1)} #98#return; {1744#(<= main_~y~0 main_~x~0)} is VALID [2022-04-08 05:57:38,337 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:38,337 INFO L290 TraceCheckUtils]: 19: Hoare triple {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:38,337 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:57:38,337 INFO L272 TraceCheckUtils]: 17: Hoare triple {1763#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-08 05:57:38,338 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1763#(<= main_~y~0 1)} is VALID [2022-04-08 05:57:38,338 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:38,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:38,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:57:38,339 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-08 05:57:38,339 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-08 05:57:38,339 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-08 05:57:38,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 05:57:38,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-08 05:57:38,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-08 05:57:38,339 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-08 05:57:38,339 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-08 05:57:38,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-08 05:57:38,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-08 05:57:38,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 05:57:38,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-08 05:57:38,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-08 05:57:38,340 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 05:57:38,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:57:38,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1089645417] [2022-04-08 05:57:38,340 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:57:38,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1851139477] [2022-04-08 05:57:38,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1851139477] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:57:38,341 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:57:38,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-08 05:57:38,341 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:57:38,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1469042533] [2022-04-08 05:57:38,341 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1469042533] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:57:38,341 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:57:38,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:57:38,341 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1723898815] [2022-04-08 05:57:38,341 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:57:38,342 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-08 05:57:38,342 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:57:38,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 05:57:38,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:38,360 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:57:38,360 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:38,361 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:57:38,361 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 05:57:38,361 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 05:57:38,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:38,823 INFO L93 Difference]: Finished difference Result 98 states and 133 transitions. [2022-04-08 05:57:38,823 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:57:38,823 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-08 05:57:38,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:57:38,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 05:57:38,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-08 05:57:38,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 05:57:38,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-08 05:57:38,827 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 102 transitions. [2022-04-08 05:57:38,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:38,893 INFO L225 Difference]: With dead ends: 98 [2022-04-08 05:57:38,893 INFO L226 Difference]: Without dead ends: 60 [2022-04-08 05:57:38,894 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 72 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:57:38,895 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 71 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 148 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:57:38,895 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [76 Valid, 158 Invalid, 148 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:57:38,895 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-08 05:57:38,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 52. [2022-04-08 05:57:38,953 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:57:38,953 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:57:38,954 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:57:38,954 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:57:38,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:38,956 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-08 05:57:38,956 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-08 05:57:38,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:38,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:38,957 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 60 states. [2022-04-08 05:57:38,957 INFO L87 Difference]: Start difference. First operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 60 states. [2022-04-08 05:57:38,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:38,959 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-08 05:57:38,959 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-08 05:57:38,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:38,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:38,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:57:38,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:57:38,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:57:38,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-08 05:57:38,961 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 42 [2022-04-08 05:57:38,961 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:57:38,961 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-08 05:57:38,961 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 05:57:38,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-08 05:57:39,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:39,022 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-08 05:57:39,022 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 05:57:39,022 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:57:39,022 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:57:39,039 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 05:57:39,236 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:39,237 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:57:39,237 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:57:39,237 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-08 05:57:39,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:39,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [587081149] [2022-04-08 05:57:39,238 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:57:39,238 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-08 05:57:39,243 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:57:39,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1755851144] [2022-04-08 05:57:39,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:57:39,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:57:39,278 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:57:39,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [179376198] [2022-04-08 05:57:39,278 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:57:39,278 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:39,278 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:57:39,280 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:57:39,281 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 05:57:39,315 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:57:39,315 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:57:39,316 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 05:57:39,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:39,328 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:57:39,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {2256#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L290 TraceCheckUtils]: 5: Hoare triple {2256#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L272 TraceCheckUtils]: 6: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2256#true} is VALID [2022-04-08 05:57:39,547 INFO L272 TraceCheckUtils]: 12: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,550 INFO L290 TraceCheckUtils]: 13: Hoare triple {2256#true} ~cond := #in~cond; {2300#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:57:39,550 INFO L290 TraceCheckUtils]: 14: Hoare triple {2300#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2304#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:39,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {2304#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2304#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:39,554 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2304#(not (= |assume_abort_if_not_#in~cond| 0))} {2256#true} #96#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:39,554 INFO L272 TraceCheckUtils]: 17: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,555 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,555 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,555 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2256#true} {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:39,555 INFO L272 TraceCheckUtils]: 22: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,555 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,555 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,555 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,556 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2256#true} {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #100#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:39,556 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2345#(<= 0 main_~b~0)} is VALID [2022-04-08 05:57:39,556 INFO L290 TraceCheckUtils]: 28: Hoare triple {2345#(<= 0 main_~b~0)} assume !false; {2345#(<= 0 main_~b~0)} is VALID [2022-04-08 05:57:39,557 INFO L290 TraceCheckUtils]: 29: Hoare triple {2345#(<= 0 main_~b~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:39,557 INFO L290 TraceCheckUtils]: 30: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:39,557 INFO L290 TraceCheckUtils]: 31: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:39,558 INFO L290 TraceCheckUtils]: 32: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:39,558 INFO L272 TraceCheckUtils]: 33: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,558 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,558 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,558 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,559 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2256#true} {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:39,559 INFO L272 TraceCheckUtils]: 38: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,559 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,559 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,559 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,560 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2256#true} {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:39,560 INFO L272 TraceCheckUtils]: 43: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:57:39,560 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2399#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:57:39,561 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-08 05:57:39,561 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-08 05:57:39,561 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 05:57:39,561 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:57:39,729 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-08 05:57:39,730 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-08 05:57:39,730 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2399#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:57:39,731 INFO L272 TraceCheckUtils]: 43: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:57:39,731 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2256#true} {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #104#return; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:57:39,731 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,731 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,731 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,732 INFO L272 TraceCheckUtils]: 38: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,733 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2256#true} {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #102#return; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:57:39,733 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,733 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,733 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,733 INFO L272 TraceCheckUtils]: 33: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:57:39,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:57:39,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:57:39,735 INFO L290 TraceCheckUtils]: 29: Hoare triple {2256#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:57:39,735 INFO L290 TraceCheckUtils]: 28: Hoare triple {2256#true} assume !false; {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L290 TraceCheckUtils]: 27: Hoare triple {2256#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2256#true} {2256#true} #100#return; {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L272 TraceCheckUtils]: 22: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2256#true} {2256#true} #98#return; {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,735 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L272 TraceCheckUtils]: 17: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2256#true} {2256#true} #96#return; {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L290 TraceCheckUtils]: 14: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L290 TraceCheckUtils]: 13: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L272 TraceCheckUtils]: 12: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L272 TraceCheckUtils]: 6: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L290 TraceCheckUtils]: 5: Hoare triple {2256#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-08 05:57:39,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-08 05:57:39,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 05:57:39,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {2256#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2256#true} is VALID [2022-04-08 05:57:39,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-08 05:57:39,737 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 05:57:39,737 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:57:39,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1755851144] [2022-04-08 05:57:39,737 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:57:39,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [179376198] [2022-04-08 05:57:39,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [179376198] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:57:39,737 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:57:39,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-08 05:57:39,738 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:57:39,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [587081149] [2022-04-08 05:57:39,738 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [587081149] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:57:39,738 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:57:39,738 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:57:39,738 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [809494218] [2022-04-08 05:57:39,738 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:57:39,738 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-08 05:57:39,738 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:57:39,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:57:39,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:39,759 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:57:39,759 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:39,759 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:57:39,759 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-08 05:57:39,759 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:57:39,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:39,988 INFO L93 Difference]: Finished difference Result 75 states and 99 transitions. [2022-04-08 05:57:39,988 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:57:39,988 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-08 05:57:39,989 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:57:39,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:57:39,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:57:39,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:57:39,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:57:39,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 05:57:40,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:40,042 INFO L225 Difference]: With dead ends: 75 [2022-04-08 05:57:40,042 INFO L226 Difference]: Without dead ends: 73 [2022-04-08 05:57:40,042 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-08 05:57:40,043 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:57:40,043 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 147 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:57:40,044 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-08 05:57:40,141 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 70. [2022-04-08 05:57:40,142 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:57:40,142 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 05:57:40,142 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 05:57:40,142 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 05:57:40,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:40,145 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-08 05:57:40,145 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-08 05:57:40,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:40,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:40,145 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 73 states. [2022-04-08 05:57:40,145 INFO L87 Difference]: Start difference. First operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 73 states. [2022-04-08 05:57:40,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:40,147 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-08 05:57:40,147 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-08 05:57:40,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:40,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:40,148 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:57:40,148 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:57:40,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 05:57:40,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 94 transitions. [2022-04-08 05:57:40,150 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 94 transitions. Word has length 47 [2022-04-08 05:57:40,150 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:57:40,150 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 94 transitions. [2022-04-08 05:57:40,150 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:57:40,150 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 94 transitions. [2022-04-08 05:57:40,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:40,247 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 94 transitions. [2022-04-08 05:57:40,248 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-08 05:57:40,248 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:57:40,248 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:57:40,280 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 05:57:40,448 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:40,449 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:57:40,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:57:40,449 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-08 05:57:40,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:40,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1787126090] [2022-04-08 05:57:40,450 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:57:40,450 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-08 05:57:40,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:57:40,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2124434280] [2022-04-08 05:57:40,450 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:57:40,450 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:57:40,462 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:57:40,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [587170913] [2022-04-08 05:57:40,463 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:57:40,463 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:40,463 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:57:40,480 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:57:40,511 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 05:57:40,537 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:57:40,537 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:57:40,538 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 05:57:40,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:40,552 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:57:41,119 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-08 05:57:41,119 INFO L290 TraceCheckUtils]: 1: Hoare triple {2985#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2985#true} is VALID [2022-04-08 05:57:41,119 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-08 05:57:41,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-08 05:57:41,120 INFO L290 TraceCheckUtils]: 5: Hoare triple {2985#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2985#true} is VALID [2022-04-08 05:57:41,120 INFO L272 TraceCheckUtils]: 6: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {2985#true} ~cond := #in~cond; {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:57:41,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:41,121 INFO L290 TraceCheckUtils]: 9: Hoare triple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:41,121 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} {2985#true} #94#return; {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:57:41,122 INFO L290 TraceCheckUtils]: 11: Hoare triple {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:57:41,122 INFO L272 TraceCheckUtils]: 12: Hoare triple {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,122 INFO L290 TraceCheckUtils]: 13: Hoare triple {2985#true} ~cond := #in~cond; {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:57:41,122 INFO L290 TraceCheckUtils]: 14: Hoare triple {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:41,123 INFO L290 TraceCheckUtils]: 15: Hoare triple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:41,123 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:41,123 INFO L272 TraceCheckUtils]: 17: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,123 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,124 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2985#true} {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #98#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:41,124 INFO L272 TraceCheckUtils]: 22: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,124 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,124 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,125 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2985#true} {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #100#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:41,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:41,126 INFO L290 TraceCheckUtils]: 28: Hoare triple {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} assume !false; {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:41,126 INFO L290 TraceCheckUtils]: 29: Hoare triple {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} is VALID [2022-04-08 05:57:41,126 INFO L290 TraceCheckUtils]: 30: Hoare triple {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} assume !false; {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} is VALID [2022-04-08 05:57:41,127 INFO L290 TraceCheckUtils]: 31: Hoare triple {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:41,127 INFO L290 TraceCheckUtils]: 32: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:41,127 INFO L272 TraceCheckUtils]: 33: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,127 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,127 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,128 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,131 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:41,131 INFO L272 TraceCheckUtils]: 38: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,131 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,131 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,131 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,138 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:41,139 INFO L272 TraceCheckUtils]: 43: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,139 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,139 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,139 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,139 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 05:57:41,140 INFO L272 TraceCheckUtils]: 48: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:57:41,140 INFO L290 TraceCheckUtils]: 49: Hoare triple {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:57:41,141 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-08 05:57:41,141 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-08 05:57:41,141 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 05:57:41,141 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:57:41,367 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-08 05:57:41,368 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-08 05:57:41,368 INFO L290 TraceCheckUtils]: 49: Hoare triple {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:57:41,369 INFO L272 TraceCheckUtils]: 48: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:57:41,369 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-08 05:57:41,369 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,369 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,370 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,370 INFO L272 TraceCheckUtils]: 43: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,370 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-08 05:57:41,370 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,370 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,370 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,371 INFO L272 TraceCheckUtils]: 38: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,371 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-08 05:57:41,371 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,371 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,371 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,371 INFO L272 TraceCheckUtils]: 33: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,372 INFO L290 TraceCheckUtils]: 32: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-08 05:57:41,372 INFO L290 TraceCheckUtils]: 31: Hoare triple {2985#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-08 05:57:41,372 INFO L290 TraceCheckUtils]: 30: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-08 05:57:41,372 INFO L290 TraceCheckUtils]: 29: Hoare triple {2985#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2985#true} is VALID [2022-04-08 05:57:41,372 INFO L290 TraceCheckUtils]: 28: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-08 05:57:41,372 INFO L290 TraceCheckUtils]: 27: Hoare triple {2985#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2985#true} {2985#true} #100#return; {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L272 TraceCheckUtils]: 22: Hoare triple {2985#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2985#true} {2985#true} #98#return; {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L272 TraceCheckUtils]: 17: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2985#true} {2985#true} #96#return; {2985#true} is VALID [2022-04-08 05:57:41,373 INFO L290 TraceCheckUtils]: 15: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L290 TraceCheckUtils]: 14: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L290 TraceCheckUtils]: 13: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L272 TraceCheckUtils]: 12: Hoare triple {2985#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L290 TraceCheckUtils]: 11: Hoare triple {2985#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2985#true} {2985#true} #94#return; {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L272 TraceCheckUtils]: 6: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {2985#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2985#true} is VALID [2022-04-08 05:57:41,374 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-08 05:57:41,375 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-08 05:57:41,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 05:57:41,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {2985#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2985#true} is VALID [2022-04-08 05:57:41,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-08 05:57:41,375 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-08 05:57:41,375 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:57:41,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2124434280] [2022-04-08 05:57:41,375 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:57:41,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [587170913] [2022-04-08 05:57:41,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [587170913] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:57:41,376 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:57:41,376 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [11] total 12 [2022-04-08 05:57:41,376 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:57:41,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1787126090] [2022-04-08 05:57:41,376 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1787126090] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:57:41,376 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:57:41,376 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:57:41,376 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1460232115] [2022-04-08 05:57:41,376 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:57:41,377 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-08 05:57:41,377 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:57:41,377 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 05:57:41,398 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-08 05:57:41,398 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:57:41,398 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:41,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:57:41,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:57:41,399 INFO L87 Difference]: Start difference. First operand 70 states and 94 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 05:57:41,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:41,646 INFO L93 Difference]: Finished difference Result 77 states and 100 transitions. [2022-04-08 05:57:41,646 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:57:41,646 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-08 05:57:41,646 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:57:41,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 05:57:41,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 05:57:41,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 05:57:41,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 05:57:41,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 05:57:41,674 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:41,675 INFO L225 Difference]: With dead ends: 77 [2022-04-08 05:57:41,675 INFO L226 Difference]: Without dead ends: 75 [2022-04-08 05:57:41,675 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=129, Unknown=0, NotChecked=0, Total=156 [2022-04-08 05:57:41,676 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 9 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:57:41,676 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 133 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:57:41,677 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-08 05:57:41,840 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2022-04-08 05:57:41,840 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:57:41,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 05:57:41,840 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 05:57:41,841 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 05:57:41,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:41,843 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-08 05:57:41,843 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-08 05:57:41,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:41,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:41,843 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 75 states. [2022-04-08 05:57:41,843 INFO L87 Difference]: Start difference. First operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 75 states. [2022-04-08 05:57:41,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:41,845 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-08 05:57:41,845 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-08 05:57:41,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:41,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:41,845 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:57:41,846 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:57:41,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 05:57:41,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 97 transitions. [2022-04-08 05:57:41,848 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 97 transitions. Word has length 52 [2022-04-08 05:57:41,848 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:57:41,849 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 97 transitions. [2022-04-08 05:57:41,849 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 05:57:41,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 97 transitions. [2022-04-08 05:57:41,962 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:41,962 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 97 transitions. [2022-04-08 05:57:41,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 05:57:41,962 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:57:41,962 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:57:41,979 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 05:57:42,163 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:42,163 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:57:42,163 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:57:42,163 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-08 05:57:42,163 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:42,163 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [960028972] [2022-04-08 05:57:42,164 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:57:42,164 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-08 05:57:42,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:57:42,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [757294889] [2022-04-08 05:57:42,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:57:42,164 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:57:42,190 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:57:42,190 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1400492555] [2022-04-08 05:57:42,190 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:57:42,190 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:42,190 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:57:42,200 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:57:42,217 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 05:57:42,244 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:57:42,245 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:57:42,245 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-08 05:57:42,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:42,260 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:57:43,826 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-08 05:57:43,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {3762#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3762#true} is VALID [2022-04-08 05:57:43,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:43,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-08 05:57:43,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-08 05:57:43,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {3762#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3762#true} is VALID [2022-04-08 05:57:43,826 INFO L272 TraceCheckUtils]: 6: Hoare triple {3762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:43,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {3762#true} ~cond := #in~cond; {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:57:43,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:43,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:43,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3762#true} #94#return; {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:57:43,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:57:43,829 INFO L272 TraceCheckUtils]: 12: Hoare triple {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:43,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {3762#true} ~cond := #in~cond; {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:57:43,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:43,829 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:43,830 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:43,830 INFO L272 TraceCheckUtils]: 17: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:43,830 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:43,830 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:43,830 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:43,831 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3762#true} {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #98#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:43,831 INFO L272 TraceCheckUtils]: 22: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:43,831 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:43,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:43,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:43,832 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3762#true} {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #100#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 05:57:43,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,832 INFO L290 TraceCheckUtils]: 28: Hoare triple {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,833 INFO L290 TraceCheckUtils]: 29: Hoare triple {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,833 INFO L290 TraceCheckUtils]: 30: Hoare triple {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,835 INFO L272 TraceCheckUtils]: 33: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:43,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:43,835 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:43,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:43,836 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #102#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,836 INFO L272 TraceCheckUtils]: 38: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:43,836 INFO L290 TraceCheckUtils]: 39: Hoare triple {3762#true} ~cond := #in~cond; {3891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:57:43,836 INFO L290 TraceCheckUtils]: 40: Hoare triple {3891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:57:43,837 INFO L290 TraceCheckUtils]: 41: Hoare triple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:57:43,838 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #104#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,838 INFO L272 TraceCheckUtils]: 43: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:43,838 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:43,838 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:43,838 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:43,839 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #106#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,839 INFO L272 TraceCheckUtils]: 48: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:43,839 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:43,839 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:43,839 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:43,840 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #108#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,841 INFO L290 TraceCheckUtils]: 53: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {3935#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,841 INFO L290 TraceCheckUtils]: 54: Hoare triple {3935#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,842 INFO L290 TraceCheckUtils]: 55: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} assume !false; {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,842 INFO L290 TraceCheckUtils]: 56: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-08 05:57:43,843 INFO L290 TraceCheckUtils]: 57: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-08 05:57:43,843 INFO L290 TraceCheckUtils]: 58: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} assume !false; {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-08 05:57:43,843 INFO L290 TraceCheckUtils]: 59: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} assume !(0 != ~b~0); {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-08 05:57:43,844 INFO L272 TraceCheckUtils]: 60: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:57:43,845 INFO L290 TraceCheckUtils]: 61: Hoare triple {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:57:43,845 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-08 05:57:43,845 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-08 05:57:43,846 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-08 05:57:43,846 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:57:56,642 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-08 05:57:56,643 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-08 05:57:56,643 INFO L290 TraceCheckUtils]: 61: Hoare triple {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:57:56,644 INFO L272 TraceCheckUtils]: 60: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:57:56,644 INFO L290 TraceCheckUtils]: 59: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:57:56,645 INFO L290 TraceCheckUtils]: 58: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:57:56,802 INFO L290 TraceCheckUtils]: 57: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:57:56,803 INFO L290 TraceCheckUtils]: 56: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:57:56,804 INFO L290 TraceCheckUtils]: 55: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:57:56,911 INFO L290 TraceCheckUtils]: 54: Hoare triple {3999#(= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:57:56,911 INFO L290 TraceCheckUtils]: 53: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {3999#(= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:57:56,912 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3762#true} {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-08 05:57:56,912 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:56,912 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:56,912 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:56,912 INFO L272 TraceCheckUtils]: 48: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:56,913 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3762#true} {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-08 05:57:56,913 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:56,913 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:56,913 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:56,913 INFO L272 TraceCheckUtils]: 43: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:56,914 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-08 05:57:56,915 INFO L290 TraceCheckUtils]: 41: Hoare triple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:57:56,915 INFO L290 TraceCheckUtils]: 40: Hoare triple {4047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:57:56,915 INFO L290 TraceCheckUtils]: 39: Hoare triple {3762#true} ~cond := #in~cond; {4047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:57:56,915 INFO L272 TraceCheckUtils]: 38: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:56,916 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3762#true} {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-08 05:57:56,916 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:56,916 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:56,916 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:56,916 INFO L272 TraceCheckUtils]: 33: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:56,917 INFO L290 TraceCheckUtils]: 32: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-08 05:57:56,918 INFO L290 TraceCheckUtils]: 31: Hoare triple {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-08 05:57:56,918 INFO L290 TraceCheckUtils]: 30: Hoare triple {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !false; {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 05:57:56,919 INFO L290 TraceCheckUtils]: 29: Hoare triple {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 05:57:56,920 INFO L290 TraceCheckUtils]: 28: Hoare triple {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} assume !false; {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} is VALID [2022-04-08 05:57:56,920 INFO L290 TraceCheckUtils]: 27: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} is VALID [2022-04-08 05:57:56,921 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3762#true} {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} #100#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-08 05:57:56,921 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:56,921 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:56,921 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:56,921 INFO L272 TraceCheckUtils]: 22: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:56,921 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3762#true} {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} #98#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-08 05:57:56,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:56,922 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:56,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:56,922 INFO L272 TraceCheckUtils]: 17: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:56,923 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3762#true} {4120#(<= main_~x~0 1)} #96#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-08 05:57:56,923 INFO L290 TraceCheckUtils]: 15: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:56,923 INFO L290 TraceCheckUtils]: 14: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 05:57:56,923 INFO L290 TraceCheckUtils]: 13: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 05:57:56,923 INFO L272 TraceCheckUtils]: 12: Hoare triple {4120#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:56,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {4120#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4120#(<= main_~x~0 1)} is VALID [2022-04-08 05:57:56,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3762#true} #94#return; {4120#(<= main_~x~0 1)} is VALID [2022-04-08 05:57:56,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:56,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {4148#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:57:56,925 INFO L290 TraceCheckUtils]: 7: Hoare triple {3762#true} ~cond := #in~cond; {4148#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:57:56,925 INFO L272 TraceCheckUtils]: 6: Hoare triple {3762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-08 05:57:56,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {3762#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3762#true} is VALID [2022-04-08 05:57:56,925 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-08 05:57:56,925 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-08 05:57:56,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 05:57:56,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {3762#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3762#true} is VALID [2022-04-08 05:57:56,925 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-08 05:57:56,926 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 20 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-08 05:57:56,926 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:57:56,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [757294889] [2022-04-08 05:57:56,926 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:57:56,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1400492555] [2022-04-08 05:57:56,926 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1400492555] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:57:56,926 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:57:56,926 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 27 [2022-04-08 05:57:56,926 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:57:56,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [960028972] [2022-04-08 05:57:56,926 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [960028972] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:57:56,926 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:57:56,926 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 05:57:56,927 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [282320600] [2022-04-08 05:57:56,927 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:57:56,927 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 64 [2022-04-08 05:57:56,927 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:57:56,927 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:57:56,971 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:56,971 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 05:57:56,971 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:56,971 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 05:57:56,971 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=595, Unknown=0, NotChecked=0, Total=702 [2022-04-08 05:57:56,972 INFO L87 Difference]: Start difference. First operand 74 states and 97 transitions. Second operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:57:59,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:59,326 INFO L93 Difference]: Finished difference Result 124 states and 169 transitions. [2022-04-08 05:57:59,326 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 05:57:59,326 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 64 [2022-04-08 05:57:59,326 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:57:59,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:57:59,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-08 05:57:59,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:57:59,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-08 05:57:59,330 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 129 transitions. [2022-04-08 05:57:59,499 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:59,501 INFO L225 Difference]: With dead ends: 124 [2022-04-08 05:57:59,501 INFO L226 Difference]: Without dead ends: 121 [2022-04-08 05:57:59,502 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 101 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 222 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=176, Invalid=946, Unknown=0, NotChecked=0, Total=1122 [2022-04-08 05:57:59,502 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 79 mSDsluCounter, 250 mSDsCounter, 0 mSdLazyCounter, 640 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 92 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 697 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 640 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 05:57:59,502 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [92 Valid, 296 Invalid, 697 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 640 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 05:57:59,503 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-08 05:57:59,790 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 111. [2022-04-08 05:57:59,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:57:59,791 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 05:57:59,791 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 05:57:59,792 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 05:57:59,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:59,795 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-08 05:57:59,795 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-08 05:57:59,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:59,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:59,797 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 121 states. [2022-04-08 05:57:59,797 INFO L87 Difference]: Start difference. First operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 121 states. [2022-04-08 05:57:59,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:59,801 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-08 05:57:59,801 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-08 05:57:59,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:59,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:59,801 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:57:59,801 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:57:59,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 05:57:59,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 150 transitions. [2022-04-08 05:57:59,805 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 150 transitions. Word has length 64 [2022-04-08 05:57:59,805 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:57:59,805 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 150 transitions. [2022-04-08 05:57:59,805 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:57:59,805 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 150 transitions. [2022-04-08 05:57:59,983 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:59,983 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 150 transitions. [2022-04-08 05:57:59,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 05:57:59,984 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:57:59,984 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:58:00,000 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-08 05:58:00,195 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:58:00,196 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:58:00,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:58:00,196 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 3 times [2022-04-08 05:58:00,196 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:58:00,196 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1447090269] [2022-04-08 05:58:00,197 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:58:00,197 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 4 times [2022-04-08 05:58:00,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:58:00,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [181515891] [2022-04-08 05:58:00,198 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:58:00,198 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:58:00,218 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:58:00,218 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1158325164] [2022-04-08 05:58:00,218 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:58:00,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:58:00,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:58:00,219 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:58:00,220 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 05:58:00,260 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:58:00,260 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:58:00,261 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 05:58:00,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:58:00,272 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:58:00,458 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {4898#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L290 TraceCheckUtils]: 5: Hoare triple {4898#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L272 TraceCheckUtils]: 6: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-08 05:58:00,458 INFO L290 TraceCheckUtils]: 11: Hoare triple {4898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L272 TraceCheckUtils]: 12: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L272 TraceCheckUtils]: 17: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4898#true} is VALID [2022-04-08 05:58:00,459 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-08 05:58:00,460 INFO L290 TraceCheckUtils]: 29: Hoare triple {4898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4898#true} is VALID [2022-04-08 05:58:00,460 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-08 05:58:00,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {4898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-08 05:58:00,460 INFO L290 TraceCheckUtils]: 32: Hoare triple {4996#(<= main_~v~0 main_~b~0)} assume !false; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-08 05:58:00,460 INFO L272 TraceCheckUtils]: 33: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,460 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,460 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,460 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,461 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #102#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-08 05:58:00,461 INFO L272 TraceCheckUtils]: 38: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,461 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,461 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,461 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,462 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #104#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-08 05:58:00,462 INFO L272 TraceCheckUtils]: 43: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,462 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,462 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,462 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,462 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #106#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-08 05:58:00,462 INFO L272 TraceCheckUtils]: 48: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,463 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,463 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,463 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,463 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #108#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-08 05:58:00,463 INFO L290 TraceCheckUtils]: 53: Hoare triple {4996#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {5063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-08 05:58:00,464 INFO L290 TraceCheckUtils]: 54: Hoare triple {5063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-08 05:58:00,464 INFO L290 TraceCheckUtils]: 55: Hoare triple {5067#(< main_~c~0 main_~b~0)} assume !false; {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-08 05:58:00,464 INFO L290 TraceCheckUtils]: 56: Hoare triple {5067#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-08 05:58:00,465 INFO L290 TraceCheckUtils]: 57: Hoare triple {5067#(< main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5077#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 05:58:00,465 INFO L290 TraceCheckUtils]: 58: Hoare triple {5077#(< main_~b~0 main_~a~0)} assume !false; {5077#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 05:58:00,465 INFO L290 TraceCheckUtils]: 59: Hoare triple {5077#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5084#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 05:58:00,466 INFO L290 TraceCheckUtils]: 60: Hoare triple {5084#(< main_~b~0 main_~c~0)} assume !false; {5084#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 05:58:00,466 INFO L290 TraceCheckUtils]: 61: Hoare triple {5084#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4899#false} is VALID [2022-04-08 05:58:00,466 INFO L290 TraceCheckUtils]: 62: Hoare triple {4899#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4899#false} is VALID [2022-04-08 05:58:00,466 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-08 05:58:00,466 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-08 05:58:00,466 INFO L272 TraceCheckUtils]: 65: Hoare triple {4899#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {4899#false} is VALID [2022-04-08 05:58:00,466 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-08 05:58:00,466 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-08 05:58:00,467 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-08 05:58:00,467 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 19 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-08 05:58:00,467 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:58:00,704 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-08 05:58:00,704 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-08 05:58:00,704 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-08 05:58:00,704 INFO L272 TraceCheckUtils]: 65: Hoare triple {4899#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {4899#false} is VALID [2022-04-08 05:58:00,704 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-08 05:58:00,704 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-08 05:58:00,704 INFO L290 TraceCheckUtils]: 62: Hoare triple {4899#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4899#false} is VALID [2022-04-08 05:58:00,705 INFO L290 TraceCheckUtils]: 61: Hoare triple {5133#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4899#false} is VALID [2022-04-08 05:58:00,705 INFO L290 TraceCheckUtils]: 60: Hoare triple {5133#(<= main_~b~0 main_~c~0)} assume !false; {5133#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:58:00,705 INFO L290 TraceCheckUtils]: 59: Hoare triple {5140#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5133#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:58:00,705 INFO L290 TraceCheckUtils]: 58: Hoare triple {5140#(<= main_~b~0 main_~a~0)} assume !false; {5140#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:58:00,706 INFO L290 TraceCheckUtils]: 57: Hoare triple {5147#(<= main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5140#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:58:00,706 INFO L290 TraceCheckUtils]: 56: Hoare triple {5147#(<= main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-08 05:58:00,706 INFO L290 TraceCheckUtils]: 55: Hoare triple {5147#(<= main_~c~0 main_~b~0)} assume !false; {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-08 05:58:00,706 INFO L290 TraceCheckUtils]: 54: Hoare triple {5157#(<= main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-08 05:58:00,707 INFO L290 TraceCheckUtils]: 53: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} assume !(~c~0 >= 2 * ~v~0); {5157#(<= main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-08 05:58:00,707 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #108#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-08 05:58:00,707 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,707 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,707 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,707 INFO L272 TraceCheckUtils]: 48: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,708 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #106#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-08 05:58:00,708 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,708 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,708 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,708 INFO L272 TraceCheckUtils]: 43: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,708 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #104#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-08 05:58:00,708 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,708 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,709 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,709 INFO L272 TraceCheckUtils]: 38: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,709 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #102#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-08 05:58:00,709 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,709 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,709 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,709 INFO L272 TraceCheckUtils]: 33: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,709 INFO L290 TraceCheckUtils]: 32: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} assume !false; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 31: Hoare triple {4898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 29: Hoare triple {4898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L272 TraceCheckUtils]: 17: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,710 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L272 TraceCheckUtils]: 12: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 11: Hoare triple {4898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L272 TraceCheckUtils]: 6: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {4898#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {4898#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4898#true} is VALID [2022-04-08 05:58:00,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-08 05:58:00,712 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 19 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-08 05:58:00,712 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:58:00,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [181515891] [2022-04-08 05:58:00,712 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:58:00,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1158325164] [2022-04-08 05:58:00,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1158325164] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:58:00,712 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:58:00,712 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 05:58:00,712 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:58:00,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1447090269] [2022-04-08 05:58:00,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1447090269] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:58:00,712 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:58:00,712 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 05:58:00,712 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1025808816] [2022-04-08 05:58:00,713 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:58:00,713 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-08 05:58:00,713 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:58:00,713 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 05:58:00,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:58:00,735 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 05:58:00,735 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:58:00,736 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 05:58:00,736 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:58:00,736 INFO L87 Difference]: Start difference. First operand 111 states and 150 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 05:58:01,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:58:01,630 INFO L93 Difference]: Finished difference Result 227 states and 315 transitions. [2022-04-08 05:58:01,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 05:58:01,630 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-08 05:58:01,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:58:01,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 05:58:01,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-08 05:58:01,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 05:58:01,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-08 05:58:01,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 150 transitions. [2022-04-08 05:58:01,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:58:01,773 INFO L225 Difference]: With dead ends: 227 [2022-04-08 05:58:01,773 INFO L226 Difference]: Without dead ends: 162 [2022-04-08 05:58:01,776 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 131 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=111, Invalid=309, Unknown=0, NotChecked=0, Total=420 [2022-04-08 05:58:01,776 INFO L913 BasicCegarLoop]: 67 mSDtfsCounter, 31 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:58:01,777 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 232 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 191 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:58:01,777 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-08 05:58:02,126 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 144. [2022-04-08 05:58:02,127 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:58:02,127 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-08 05:58:02,128 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-08 05:58:02,128 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-08 05:58:02,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:58:02,132 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-08 05:58:02,132 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-08 05:58:02,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:58:02,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:58:02,133 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) Second operand 162 states. [2022-04-08 05:58:02,134 INFO L87 Difference]: Start difference. First operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) Second operand 162 states. [2022-04-08 05:58:02,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:58:02,138 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-08 05:58:02,138 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-08 05:58:02,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:58:02,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:58:02,138 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:58:02,138 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:58:02,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-08 05:58:02,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 205 transitions. [2022-04-08 05:58:02,142 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 205 transitions. Word has length 69 [2022-04-08 05:58:02,143 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:58:02,143 INFO L478 AbstractCegarLoop]: Abstraction has 144 states and 205 transitions. [2022-04-08 05:58:02,143 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 05:58:02,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 205 transitions. [2022-04-08 05:58:02,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:58:02,462 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 205 transitions. [2022-04-08 05:58:02,462 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-08 05:58:02,463 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:58:02,463 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:58:02,478 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 05:58:02,663 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:58:02,663 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:58:02,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:58:02,664 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 1 times [2022-04-08 05:58:02,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:58:02,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [888841799] [2022-04-08 05:58:02,664 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:58:02,664 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 2 times [2022-04-08 05:58:02,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:58:02,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1564848703] [2022-04-08 05:58:02,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:58:02,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:58:02,679 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:58:02,679 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [190973256] [2022-04-08 05:58:02,679 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:58:02,679 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:58:02,679 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:58:02,688 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:58:02,688 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 05:58:02,730 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:58:02,730 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:58:02,731 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 05:58:02,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:58:02,742 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:58:03,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-08 05:58:03,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {6411#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6411#true} is VALID [2022-04-08 05:58:03,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-08 05:58:03,113 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-08 05:58:03,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {6411#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6411#true} is VALID [2022-04-08 05:58:03,114 INFO L272 TraceCheckUtils]: 6: Hoare triple {6411#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,114 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-08 05:58:03,114 INFO L290 TraceCheckUtils]: 11: Hoare triple {6411#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6411#true} is VALID [2022-04-08 05:58:03,114 INFO L272 TraceCheckUtils]: 12: Hoare triple {6411#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,114 INFO L290 TraceCheckUtils]: 13: Hoare triple {6411#true} ~cond := #in~cond; {6455#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:58:03,115 INFO L290 TraceCheckUtils]: 14: Hoare triple {6455#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:58:03,115 INFO L290 TraceCheckUtils]: 15: Hoare triple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:58:03,115 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} {6411#true} #96#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:58:03,115 INFO L272 TraceCheckUtils]: 17: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,115 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,115 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,116 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,116 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6411#true} {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:58:03,116 INFO L272 TraceCheckUtils]: 22: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,116 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,116 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6411#true} {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #100#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:58:03,117 INFO L290 TraceCheckUtils]: 27: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6500#(<= main_~b~0 1)} is VALID [2022-04-08 05:58:03,117 INFO L290 TraceCheckUtils]: 28: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-08 05:58:03,117 INFO L290 TraceCheckUtils]: 29: Hoare triple {6500#(<= main_~b~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6500#(<= main_~b~0 1)} is VALID [2022-04-08 05:58:03,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-08 05:58:03,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {6500#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-08 05:58:03,118 INFO L290 TraceCheckUtils]: 32: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} assume !false; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-08 05:58:03,118 INFO L272 TraceCheckUtils]: 33: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,118 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,118 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,119 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #102#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-08 05:58:03,119 INFO L272 TraceCheckUtils]: 38: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,119 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,119 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,119 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,120 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #104#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-08 05:58:03,120 INFO L272 TraceCheckUtils]: 43: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,120 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,120 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,120 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,121 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #106#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-08 05:58:03,121 INFO L272 TraceCheckUtils]: 48: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,121 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,121 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,121 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,121 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #108#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-08 05:58:03,122 INFO L290 TraceCheckUtils]: 53: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} assume !(~c~0 >= 2 * ~v~0); {6580#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-08 05:58:03,122 INFO L290 TraceCheckUtils]: 54: Hoare triple {6580#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:58:03,123 INFO L290 TraceCheckUtils]: 55: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !false; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:58:03,123 INFO L290 TraceCheckUtils]: 56: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:58:03,123 INFO L290 TraceCheckUtils]: 57: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:58:03,124 INFO L290 TraceCheckUtils]: 58: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:58:03,124 INFO L290 TraceCheckUtils]: 59: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6412#false} is VALID [2022-04-08 05:58:03,124 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 05:58:03,124 INFO L290 TraceCheckUtils]: 61: Hoare triple {6412#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6412#false} is VALID [2022-04-08 05:58:03,124 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 05:58:03,124 INFO L272 TraceCheckUtils]: 63: Hoare triple {6412#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6412#false} is VALID [2022-04-08 05:58:03,124 INFO L290 TraceCheckUtils]: 64: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-08 05:58:03,124 INFO L290 TraceCheckUtils]: 65: Hoare triple {6412#false} assume !(0 == ~cond); {6412#false} is VALID [2022-04-08 05:58:03,125 INFO L290 TraceCheckUtils]: 66: Hoare triple {6412#false} assume true; {6412#false} is VALID [2022-04-08 05:58:03,125 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6412#false} {6412#false} #102#return; {6412#false} is VALID [2022-04-08 05:58:03,125 INFO L272 TraceCheckUtils]: 68: Hoare triple {6412#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6412#false} is VALID [2022-04-08 05:58:03,125 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-08 05:58:03,125 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-08 05:58:03,125 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 05:58:03,125 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-08 05:58:03,125 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:58:03,849 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 05:58:03,850 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-08 05:58:03,850 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-08 05:58:03,850 INFO L272 TraceCheckUtils]: 68: Hoare triple {6412#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6412#false} is VALID [2022-04-08 05:58:03,850 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6411#true} {6412#false} #102#return; {6412#false} is VALID [2022-04-08 05:58:03,850 INFO L290 TraceCheckUtils]: 66: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,850 INFO L290 TraceCheckUtils]: 65: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,850 INFO L290 TraceCheckUtils]: 64: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,850 INFO L272 TraceCheckUtils]: 63: Hoare triple {6412#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,850 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 05:58:03,850 INFO L290 TraceCheckUtils]: 61: Hoare triple {6412#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6412#false} is VALID [2022-04-08 05:58:03,850 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 05:58:03,850 INFO L290 TraceCheckUtils]: 59: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6412#false} is VALID [2022-04-08 05:58:03,851 INFO L290 TraceCheckUtils]: 58: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:58:03,851 INFO L290 TraceCheckUtils]: 57: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:58:03,852 INFO L290 TraceCheckUtils]: 56: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:58:03,852 INFO L290 TraceCheckUtils]: 55: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !false; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:58:03,852 INFO L290 TraceCheckUtils]: 54: Hoare triple {6688#(and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:58:03,853 INFO L290 TraceCheckUtils]: 53: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} assume !(~c~0 >= 2 * ~v~0); {6688#(and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0))} is VALID [2022-04-08 05:58:03,853 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #108#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-08 05:58:03,853 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,854 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,854 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,854 INFO L272 TraceCheckUtils]: 48: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,854 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #106#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-08 05:58:03,854 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,854 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,854 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,854 INFO L272 TraceCheckUtils]: 43: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,855 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #104#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-08 05:58:03,855 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,855 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,855 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,855 INFO L272 TraceCheckUtils]: 38: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,856 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #102#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-08 05:58:03,856 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,856 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,856 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,856 INFO L272 TraceCheckUtils]: 33: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,856 INFO L290 TraceCheckUtils]: 32: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} assume !false; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-08 05:58:03,857 INFO L290 TraceCheckUtils]: 31: Hoare triple {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-08 05:58:03,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} assume !false; {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-08 05:58:03,858 INFO L290 TraceCheckUtils]: 29: Hoare triple {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-08 05:58:03,858 INFO L290 TraceCheckUtils]: 28: Hoare triple {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} assume !false; {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} is VALID [2022-04-08 05:58:03,859 INFO L290 TraceCheckUtils]: 27: Hoare triple {6773#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} is VALID [2022-04-08 05:58:03,859 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6411#true} {6773#(<= main_~y~0 1)} #100#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-08 05:58:03,859 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,859 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,859 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,860 INFO L272 TraceCheckUtils]: 22: Hoare triple {6773#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,860 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6411#true} {6773#(<= main_~y~0 1)} #98#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-08 05:58:03,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,860 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,860 INFO L272 TraceCheckUtils]: 17: Hoare triple {6773#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,861 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} {6411#true} #96#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-08 05:58:03,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:58:03,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {6816#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:58:03,861 INFO L290 TraceCheckUtils]: 13: Hoare triple {6411#true} ~cond := #in~cond; {6816#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:58:03,861 INFO L272 TraceCheckUtils]: 12: Hoare triple {6411#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {6411#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L272 TraceCheckUtils]: 6: Hoare triple {6411#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L290 TraceCheckUtils]: 5: Hoare triple {6411#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {6411#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-08 05:58:03,862 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 24 proven. 6 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2022-04-08 05:58:03,862 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:58:03,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1564848703] [2022-04-08 05:58:03,863 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:58:03,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [190973256] [2022-04-08 05:58:03,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [190973256] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:58:03,863 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:58:03,863 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-08 05:58:03,863 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:58:03,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [888841799] [2022-04-08 05:58:03,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [888841799] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:58:03,863 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:58:03,863 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:58:03,863 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [319833177] [2022-04-08 05:58:03,863 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:58:03,864 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 72 [2022-04-08 05:58:03,864 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:58:03,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:58:03,901 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-08 05:58:03,901 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:58:03,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:58:03,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:58:03,902 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:58:03,902 INFO L87 Difference]: Start difference. First operand 144 states and 205 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:58:04,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:58:04,584 INFO L93 Difference]: Finished difference Result 202 states and 283 transitions. [2022-04-08 05:58:04,584 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:58:04,584 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 72 [2022-04-08 05:58:04,584 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:58:04,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:58:04,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-08 05:58:04,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:58:04,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-08 05:58:04,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 106 transitions. [2022-04-08 05:58:04,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:58:04,643 INFO L225 Difference]: With dead ends: 202 [2022-04-08 05:58:04,643 INFO L226 Difference]: Without dead ends: 113 [2022-04-08 05:58:04,644 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=109, Invalid=397, Unknown=0, NotChecked=0, Total=506 [2022-04-08 05:58:04,644 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 38 mSDsluCounter, 215 mSDsCounter, 0 mSdLazyCounter, 189 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 214 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 189 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:58:04,644 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 257 Invalid, 214 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 189 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 05:58:04,645 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-08 05:58:04,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 111. [2022-04-08 05:58:04,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:58:04,851 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 05:58:04,851 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 05:58:04,851 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 05:58:04,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:58:04,854 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-08 05:58:04,854 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-08 05:58:04,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:58:04,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:58:04,855 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-08 05:58:04,855 INFO L87 Difference]: Start difference. First operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-08 05:58:04,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:58:04,857 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-08 05:58:04,857 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-08 05:58:04,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:58:04,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:58:04,858 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:58:04,858 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:58:04,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 05:58:04,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 151 transitions. [2022-04-08 05:58:04,860 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 151 transitions. Word has length 72 [2022-04-08 05:58:04,860 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:58:04,860 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 151 transitions. [2022-04-08 05:58:04,860 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:58:04,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 151 transitions. [2022-04-08 05:58:05,100 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:58:05,101 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 151 transitions. [2022-04-08 05:58:05,101 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 05:58:05,101 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:58:05,101 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:58:05,122 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-08 05:58:05,302 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 05:58:05,302 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:58:05,302 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:58:05,302 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-08 05:58:05,302 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:58:05,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [804697676] [2022-04-08 05:58:05,303 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:58:05,303 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-08 05:58:05,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:58:05,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1128087802] [2022-04-08 05:58:05,303 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:58:05,303 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:58:05,314 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:58:05,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1267115692] [2022-04-08 05:58:05,316 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:58:05,316 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:58:05,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:58:05,317 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:58:05,318 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 05:58:05,361 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:58:05,361 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:58:05,362 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 05:58:05,374 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:58:05,375 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:58:08,831 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-08 05:58:08,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {7724#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {7724#true} is VALID [2022-04-08 05:58:08,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-08 05:58:08,831 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-08 05:58:08,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {7724#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7724#true} is VALID [2022-04-08 05:58:08,831 INFO L272 TraceCheckUtils]: 6: Hoare triple {7724#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,832 INFO L290 TraceCheckUtils]: 7: Hoare triple {7724#true} ~cond := #in~cond; {7750#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:58:08,832 INFO L290 TraceCheckUtils]: 8: Hoare triple {7750#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:58:08,832 INFO L290 TraceCheckUtils]: 9: Hoare triple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:58:08,833 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} {7724#true} #94#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:58:08,833 INFO L290 TraceCheckUtils]: 11: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:58:08,833 INFO L272 TraceCheckUtils]: 12: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,833 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,833 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,834 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:58:08,834 INFO L272 TraceCheckUtils]: 17: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,835 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #98#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:58:08,835 INFO L272 TraceCheckUtils]: 22: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,835 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,835 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #100#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:58:08,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7813#(<= main_~a~0 1)} is VALID [2022-04-08 05:58:08,836 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-08 05:58:08,836 INFO L290 TraceCheckUtils]: 29: Hoare triple {7813#(<= main_~a~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7820#(<= main_~c~0 1)} is VALID [2022-04-08 05:58:08,836 INFO L290 TraceCheckUtils]: 30: Hoare triple {7820#(<= main_~c~0 1)} assume !false; {7820#(<= main_~c~0 1)} is VALID [2022-04-08 05:58:08,837 INFO L290 TraceCheckUtils]: 31: Hoare triple {7820#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} assume !false; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,837 INFO L272 TraceCheckUtils]: 33: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,837 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,837 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,837 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,838 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #102#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,838 INFO L272 TraceCheckUtils]: 38: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,838 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,838 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,838 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,839 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #104#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,839 INFO L272 TraceCheckUtils]: 43: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,839 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,839 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,839 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,844 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #106#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,844 INFO L272 TraceCheckUtils]: 48: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,844 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,844 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,844 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,844 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #108#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,845 INFO L290 TraceCheckUtils]: 53: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,846 INFO L290 TraceCheckUtils]: 54: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} assume !false; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,846 INFO L272 TraceCheckUtils]: 55: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,846 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,846 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,846 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,847 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #102#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,847 INFO L272 TraceCheckUtils]: 60: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,847 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,847 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,847 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,847 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #104#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,847 INFO L272 TraceCheckUtils]: 65: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,847 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,847 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,848 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,848 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #106#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,848 INFO L272 TraceCheckUtils]: 70: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:08,848 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:08,848 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:08,848 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:08,849 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #108#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,849 INFO L290 TraceCheckUtils]: 75: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} assume !(~c~0 >= 2 * ~v~0); {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-08 05:58:08,850 INFO L290 TraceCheckUtils]: 76: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} is VALID [2022-04-08 05:58:08,850 INFO L290 TraceCheckUtils]: 77: Hoare triple {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} assume !false; {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} is VALID [2022-04-08 05:58:08,851 INFO L290 TraceCheckUtils]: 78: Hoare triple {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} assume !(~c~0 >= ~b~0); {7725#false} is VALID [2022-04-08 05:58:08,851 INFO L290 TraceCheckUtils]: 79: Hoare triple {7725#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7725#false} is VALID [2022-04-08 05:58:08,851 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-08 05:58:08,851 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-08 05:58:08,851 INFO L272 TraceCheckUtils]: 82: Hoare triple {7725#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7725#false} is VALID [2022-04-08 05:58:08,851 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-08 05:58:08,851 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-08 05:58:08,851 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-08 05:58:08,851 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 18 proven. 17 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-08 05:58:08,851 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:58:09,538 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-08 05:58:09,538 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-08 05:58:09,539 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-08 05:58:09,539 INFO L272 TraceCheckUtils]: 82: Hoare triple {7725#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7725#false} is VALID [2022-04-08 05:58:09,539 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-08 05:58:09,539 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-08 05:58:09,539 INFO L290 TraceCheckUtils]: 79: Hoare triple {7725#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7725#false} is VALID [2022-04-08 05:58:09,539 INFO L290 TraceCheckUtils]: 78: Hoare triple {8013#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {7725#false} is VALID [2022-04-08 05:58:09,539 INFO L290 TraceCheckUtils]: 77: Hoare triple {8013#(<= main_~b~0 main_~c~0)} assume !false; {8013#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:58:09,540 INFO L290 TraceCheckUtils]: 76: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8013#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:58:09,540 INFO L290 TraceCheckUtils]: 75: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-08 05:58:09,541 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #108#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-08 05:58:09,541 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,541 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,541 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,541 INFO L272 TraceCheckUtils]: 70: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,542 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #106#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-08 05:58:09,542 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,542 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,542 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,542 INFO L272 TraceCheckUtils]: 65: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,543 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #104#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-08 05:58:09,543 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,543 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,543 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,543 INFO L272 TraceCheckUtils]: 60: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,544 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #102#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-08 05:58:09,544 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,544 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,544 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,544 INFO L272 TraceCheckUtils]: 55: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,544 INFO L290 TraceCheckUtils]: 54: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} assume !false; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-08 05:58:09,545 INFO L290 TraceCheckUtils]: 53: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-08 05:58:09,545 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-08 05:58:09,545 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,545 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,545 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,546 INFO L272 TraceCheckUtils]: 48: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,546 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-08 05:58:09,546 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,546 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,546 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,546 INFO L272 TraceCheckUtils]: 43: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,547 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-08 05:58:09,547 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,547 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,547 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,547 INFO L272 TraceCheckUtils]: 38: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,548 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-08 05:58:09,548 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,548 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,549 INFO L272 TraceCheckUtils]: 33: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,549 INFO L290 TraceCheckUtils]: 32: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-08 05:58:09,550 INFO L290 TraceCheckUtils]: 31: Hoare triple {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-08 05:58:09,551 INFO L290 TraceCheckUtils]: 30: Hoare triple {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} assume !false; {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} is VALID [2022-04-08 05:58:09,551 INFO L290 TraceCheckUtils]: 29: Hoare triple {7813#(<= main_~a~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} is VALID [2022-04-08 05:58:09,552 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-08 05:58:09,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {8170#(<= main_~x~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7813#(<= main_~a~0 1)} is VALID [2022-04-08 05:58:09,553 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #100#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-08 05:58:09,553 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,553 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,553 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,553 INFO L272 TraceCheckUtils]: 22: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,553 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #98#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-08 05:58:09,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,553 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,553 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,554 INFO L272 TraceCheckUtils]: 17: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,556 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #96#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-08 05:58:09,556 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,556 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 05:58:09,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 05:58:09,556 INFO L272 TraceCheckUtils]: 12: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,556 INFO L290 TraceCheckUtils]: 11: Hoare triple {8170#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8170#(<= main_~x~0 1)} is VALID [2022-04-08 05:58:09,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} {7724#true} #94#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-08 05:58:09,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:58:09,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {8231#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:58:09,558 INFO L290 TraceCheckUtils]: 7: Hoare triple {7724#true} ~cond := #in~cond; {8231#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:58:09,558 INFO L272 TraceCheckUtils]: 6: Hoare triple {7724#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-08 05:58:09,558 INFO L290 TraceCheckUtils]: 5: Hoare triple {7724#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7724#true} is VALID [2022-04-08 05:58:09,558 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-08 05:58:09,558 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-08 05:58:09,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 05:58:09,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {7724#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {7724#true} is VALID [2022-04-08 05:58:09,558 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-08 05:58:09,558 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 18 proven. 17 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-08 05:58:09,559 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:58:09,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1128087802] [2022-04-08 05:58:09,559 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:58:09,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1267115692] [2022-04-08 05:58:09,559 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1267115692] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:58:09,559 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:58:09,559 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 05:58:09,559 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:58:09,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [804697676] [2022-04-08 05:58:09,559 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [804697676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:58:09,559 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:58:09,559 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:58:09,559 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1565479433] [2022-04-08 05:58:09,559 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:58:09,561 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-08 05:58:09,561 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:58:09,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 05:58:09,619 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-08 05:58:09,619 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:58:09,619 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:58:09,620 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:58:09,620 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:58:09,621 INFO L87 Difference]: Start difference. First operand 111 states and 151 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 05:58:10,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:58:10,404 INFO L93 Difference]: Finished difference Result 127 states and 163 transitions. [2022-04-08 05:58:10,404 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:58:10,404 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-08 05:58:10,404 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:58:10,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 05:58:10,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-08 05:58:10,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 05:58:10,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-08 05:58:10,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2022-04-08 05:58:10,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:58:10,448 INFO L225 Difference]: With dead ends: 127 [2022-04-08 05:58:10,448 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 05:58:10,449 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 156 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=83, Invalid=337, Unknown=0, NotChecked=0, Total=420 [2022-04-08 05:58:10,449 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 168 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 199 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 168 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:58:10,450 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 174 Invalid, 199 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 168 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 05:58:10,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 05:58:10,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 05:58:10,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:58:10,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:58:10,451 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:58:10,451 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:58:10,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:58:10,451 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 05:58:10,451 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 05:58:10,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:58:10,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:58:10,451 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 05:58:10,451 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 05:58:10,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:58:10,451 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 05:58:10,451 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 05:58:10,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:58:10,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:58:10,451 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:58:10,451 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:58:10,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:58:10,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 05:58:10,452 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-08 05:58:10,452 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:58:10,452 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 05:58:10,452 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-08 05:58:10,452 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 05:58:10,452 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:58:10,452 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 05:58:10,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:58:10,454 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 05:58:10,470 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 05:58:10,669 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 05:58:10,670 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 05:58:12,565 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-08 05:58:12,565 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-08 05:58:12,565 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-08 05:58:12,565 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-08 05:58:12,565 INFO L878 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L8-2(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L35-2(lines 35 73) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1))) (or (and (= (+ main_~s~0 main_~r~0) 0) (< main_~c~0 1) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 1) (= main_~p~0 0) .cse0 (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= 0 main_~b~0)) (and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) .cse0 (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)))) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L35-3(lines 35 73) the Hoare annotation is: (or (and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1)) (and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= main_~y~0 1))) [2022-04-08 05:58:12,566 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 76) the Hoare annotation is: true [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L36(lines 36 37) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1))) (or (and (= (+ main_~s~0 main_~r~0) 0) (< main_~c~0 1) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 1) (= main_~p~0 0) .cse0 (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= 0 main_~b~0)) (and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) .cse0 (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)))) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L53(lines 49 59) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L49-2(lines 49 59) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L49-3(lines 49 59) the Hoare annotation is: (and (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (<= main_~v~0 main_~c~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-08 05:58:12,566 INFO L885 garLoopResultBuilder]: At program point L74(line 74) the Hoare annotation is: true [2022-04-08 05:58:12,566 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-08 05:58:12,567 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-08 05:58:12,567 INFO L878 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-08 05:58:12,567 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 76) the Hoare annotation is: true [2022-04-08 05:58:12,567 INFO L878 garLoopResultBuilder]: At program point L42-2(lines 42 62) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= main_~x~0 1)) (.cse3 (<= 1 main_~a~0)) (.cse4 (= main_~b~0 main_~y~0)) (.cse5 (= main_~q~0 0)) (.cse6 (= main_~a~0 main_~x~0)) (.cse7 (<= main_~y~0 1)) (.cse8 (= main_~p~0 1))) (or (and (<= 0 main_~y~0) .cse0 (<= 1 main_~c~0) (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~c~0 1) .cse7 .cse8) (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 (<= main_~v~0 main_~b~0) .cse1 .cse2 .cse3 (<= 0 main_~c~0) .cse4 (= main_~k~0 1) .cse5 (< main_~c~0 main_~b~0) .cse6 .cse7 .cse8))) [2022-04-08 05:58:12,567 INFO L878 garLoopResultBuilder]: At program point L42-3(lines 42 62) the Hoare annotation is: (and (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~p~0 1)) [2022-04-08 05:58:12,567 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 76) the Hoare annotation is: true [2022-04-08 05:58:12,567 INFO L878 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-08 05:58:12,567 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-08 05:58:12,567 INFO L878 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-08 05:58:12,567 INFO L878 garLoopResultBuilder]: At program point L51(line 51) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-08 05:58:12,567 INFO L878 garLoopResultBuilder]: At program point L43(lines 43 44) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= main_~x~0 1)) (.cse3 (<= 1 main_~a~0)) (.cse4 (= main_~b~0 main_~y~0)) (.cse5 (= main_~q~0 0)) (.cse6 (= main_~a~0 main_~x~0)) (.cse7 (<= main_~y~0 1)) (.cse8 (= main_~p~0 1))) (or (and (<= 0 main_~y~0) .cse0 (<= 1 main_~c~0) (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~c~0 1) .cse7 .cse8) (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 (<= main_~v~0 main_~b~0) .cse1 .cse2 .cse3 (<= 0 main_~c~0) .cse4 (= main_~k~0 1) .cse5 (< main_~c~0 main_~b~0) .cse6 .cse7 .cse8))) [2022-04-08 05:58:12,567 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 05:58:12,567 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-08 05:58:12,567 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 05:58:12,567 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 05:58:12,567 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 05:58:12,567 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 05:58:12,567 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 05:58:12,568 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-08 05:58:12,568 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 05:58:12,568 INFO L878 garLoopResultBuilder]: At program point L11(lines 11 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 05:58:12,568 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 05:58:12,568 INFO L878 garLoopResultBuilder]: At program point L11-2(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 05:58:12,568 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 05:58:12,570 INFO L719 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-08 05:58:12,571 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 05:58:12,572 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 05:58:12,573 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 05:58:12,632 INFO L163 areAnnotationChecker]: CFG has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 05:58:12,641 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 05:58:12 BoogieIcfgContainer [2022-04-08 05:58:12,641 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 05:58:12,642 INFO L158 Benchmark]: Toolchain (without parser) took 39036.12ms. Allocated memory was 177.2MB in the beginning and 310.4MB in the end (delta: 133.2MB). Free memory was 131.7MB in the beginning and 132.7MB in the end (delta: -977.0kB). Peak memory consumption was 159.2MB. Max. memory is 8.0GB. [2022-04-08 05:58:12,643 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 177.2MB. Free memory is still 147.7MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 05:58:12,643 INFO L158 Benchmark]: CACSL2BoogieTranslator took 221.87ms. Allocated memory is still 177.2MB. Free memory was 131.5MB in the beginning and 156.0MB in the end (delta: -24.5MB). Peak memory consumption was 5.7MB. Max. memory is 8.0GB. [2022-04-08 05:58:12,643 INFO L158 Benchmark]: Boogie Preprocessor took 23.64ms. Allocated memory is still 177.2MB. Free memory was 156.0MB in the beginning and 154.5MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-08 05:58:12,643 INFO L158 Benchmark]: RCFGBuilder took 295.54ms. Allocated memory is still 177.2MB. Free memory was 154.5MB in the beginning and 141.9MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 05:58:12,643 INFO L158 Benchmark]: TraceAbstraction took 38491.06ms. Allocated memory was 177.2MB in the beginning and 310.4MB in the end (delta: 133.2MB). Free memory was 141.4MB in the beginning and 132.7MB in the end (delta: 8.7MB). Peak memory consumption was 170.1MB. Max. memory is 8.0GB. [2022-04-08 05:58:12,644 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10ms. Allocated memory is still 177.2MB. Free memory is still 147.7MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 221.87ms. Allocated memory is still 177.2MB. Free memory was 131.5MB in the beginning and 156.0MB in the end (delta: -24.5MB). Peak memory consumption was 5.7MB. Max. memory is 8.0GB. * Boogie Preprocessor took 23.64ms. Allocated memory is still 177.2MB. Free memory was 156.0MB in the beginning and 154.5MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 295.54ms. Allocated memory is still 177.2MB. Free memory was 154.5MB in the beginning and 141.9MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 38491.06ms. Allocated memory was 177.2MB in the beginning and 310.4MB in the end (delta: 133.2MB). Free memory was 141.4MB in the beginning and 132.7MB in the end (delta: 8.7MB). Peak memory consumption was 170.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 13]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 43 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 38.4s, OverallIterations: 10, TraceHistogramMax: 9, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 7.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.9s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 405 SdHoareTripleChecker+Valid, 1.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 359 mSDsluCounter, 1830 SdHoareTripleChecker+Invalid, 1.8s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1387 mSDsCounter, 243 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1632 IncrementalHoareTripleChecker+Invalid, 1875 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 243 mSolverCounterUnsat, 443 mSDtfsCounter, 1632 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1027 GetRequests, 877 SyntacticMatches, 6 SemanticMatches, 144 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 399 ImplicationChecksByTransitivity, 1.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=144occurred in iteration=8, InterpolantAutomatonStates: 87, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.4s AutomataMinimizationTime, 10 MinimizatonAttempts, 68 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 40 LocationsWithAnnotation, 658 PreInvPairs, 740 NumberOfFragments, 1206 HoareAnnotationTreeSize, 658 FomulaSimplifications, 84 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 40 FomulaSimplificationsInter, 2774 FormulaSimplificationTreeSizeReductionInter, 1.6s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 49]: Loop Invariant Derived loop invariant: ((((((((((((v == d * b && 0 <= y) && r == 0) && a == c + b * k) && k == 0) && s == 1) && b <= c / 2) && 1 <= a) && b == y) && q == 0) && a == x) && c <= 1) && p == 1) || ((((((((((((((0 <= y && r == 0) && v <= b) && a == c + b * k) && k == 0) && s == 1) && 1 <= a) && b == y) && b <= v) && d == 1) && q == 0) && a == x) && c <= 1) && y <= 1) && p == 1) - InvariantResult [Line: 35]: Loop Invariant Derived loop invariant: (((((((((((s + r == 0 && c < 1) && q + p == 1) && b < 1) && p == 0) && x <= 1) && r == 1) && a == y) && a <= x) && 0 <= c) && (-1 + -1 * a) / -2 < a + 1) && 0 <= b) || (((((((((0 <= y && r == 0) && s == 1) && x <= 1) && 1 <= a) && b == y) && q == 0) && a == x) && y <= 1) && p == 1) - InvariantResult [Line: 42]: Loop Invariant Derived loop invariant: ((((((((((((0 <= y && r == 0) && 1 <= c) && k == 0) && s == 1) && x <= 1) && 1 <= a) && b == y) && q == 0) && a == x) && c <= 1) && y <= 1) && p == 1) || (((((((((((((v == d * b && r == 0) && v <= b) && s == 1) && x <= 1) && 1 <= a) && 0 <= c) && b == y) && k == 1) && q == 0) && c < b) && a == x) && y <= 1) && p == 1) - ProcedureContractResult [Line: 7]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 18]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 10]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-08 05:58:12,680 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...