/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/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 12:28:17,957 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 12:28:17,958 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 12:28:17,976 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 12:28:17,976 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 12:28:17,977 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 12:28:17,978 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 12:28:17,979 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 12:28:17,981 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 12:28:17,981 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 12:28:17,982 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 12:28:17,983 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 12:28:17,983 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 12:28:17,984 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 12:28:17,984 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 12:28:17,985 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 12:28:17,986 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 12:28:17,986 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 12:28:17,988 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 12:28:17,989 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 12:28:17,989 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 12:28:17,990 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 12:28:17,991 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 12:28:17,991 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 12:28:17,992 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 12:28:17,993 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 12:28:17,994 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 12:28:17,994 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 12:28:17,994 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 12:28:17,995 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 12:28:17,995 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 12:28:17,995 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 12:28:17,996 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 12:28:17,996 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 12:28:17,997 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 12:28:17,997 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 12:28:17,997 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 12:28:17,998 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 12:28:17,998 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 12:28:17,998 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 12:28:17,999 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 12:28:17,999 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 12:28:18,000 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 12:28:18,005 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 12:28:18,006 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 12:28:18,006 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 12:28:18,007 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 12:28:18,007 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 12:28:18,007 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 12:28:18,007 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 12:28:18,007 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 12:28:18,007 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 12:28:18,008 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 12:28:18,008 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 12:28:18,008 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 12:28:18,008 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 12:28:18,008 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 12:28:18,008 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 12:28:18,008 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:28:18,009 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 12:28:18,009 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 12:28:18,009 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 12:28:18,009 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 12:28:18,009 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 12:28:18,009 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 12:28:18,009 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 12:28:18,197 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 12:28:18,220 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 12:28:18,221 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 12:28:18,222 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 12:28:18,235 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 12:28:18,236 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 12:28:18,274 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0f97f442e/5c3250eb05314ca0b3324f3597d1984a/FLAGa33e7a919 [2022-04-08 12:28:18,626 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 12:28:18,626 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c [2022-04-08 12:28:18,631 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0f97f442e/5c3250eb05314ca0b3324f3597d1984a/FLAGa33e7a919 [2022-04-08 12:28:18,639 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0f97f442e/5c3250eb05314ca0b3324f3597d1984a [2022-04-08 12:28:18,641 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 12:28:18,641 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 12:28:18,642 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 12:28:18,642 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 12:28:18,644 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 12:28:18,645 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,646 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@727b9e66 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18, skipping insertion in model container [2022-04-08 12:28:18,646 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,650 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 12:28:18,659 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 12:28:18,761 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 12:28:18,796 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:28:18,801 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 12:28:18,808 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 12:28:18,816 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:28:18,824 INFO L208 MainTranslator]: Completed translation [2022-04-08 12:28:18,824 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18 WrapperNode [2022-04-08 12:28:18,824 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 12:28:18,825 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 12:28:18,825 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 12:28:18,825 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 12:28:18,832 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,832 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,838 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,838 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,854 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,857 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,857 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,859 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 12:28:18,859 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 12:28:18,859 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 12:28:18,859 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 12:28:18,860 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18" (1/1) ... [2022-04-08 12:28:18,875 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:28:18,884 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:18,892 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 12:28:18,898 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 12:28:18,919 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 12:28:18,919 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 12:28:18,920 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 12:28:18,920 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 12:28:18,920 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 12:28:18,920 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 12:28:18,920 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 12:28:18,920 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 12:28:18,920 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 12:28:18,920 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 12:28:18,920 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 12:28:18,920 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 12:28:18,920 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 12:28:18,921 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 12:28:18,921 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 12:28:18,921 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 12:28:18,921 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 12:28:18,921 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 12:28:18,921 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 12:28:18,921 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 12:28:18,979 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 12:28:18,980 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 12:28:19,138 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 12:28:19,142 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 12:28:19,143 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-08 12:28:19,144 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:28:19 BoogieIcfgContainer [2022-04-08 12:28:19,144 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 12:28:19,145 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 12:28:19,145 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 12:28:19,147 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 12:28:19,147 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 12:28:18" (1/3) ... [2022-04-08 12:28:19,148 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20f6c180 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:28:19, skipping insertion in model container [2022-04-08 12:28:19,148 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:28:18" (2/3) ... [2022-04-08 12:28:19,148 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20f6c180 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:28:19, skipping insertion in model container [2022-04-08 12:28:19,148 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:28:19" (3/3) ... [2022-04-08 12:28:19,149 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound1.c [2022-04-08 12:28:19,152 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 12:28:19,152 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 12:28:19,188 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 12:28:19,210 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 12:28:19,211 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 12:28:19,233 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 12:28:19,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 12:28:19,239 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:19,239 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 12:28:19,240 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:19,246 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:19,246 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-08 12:28:19,255 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:19,255 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [284856769] [2022-04-08 12:28:19,262 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:19,263 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-08 12:28:19,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:19,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [880734740] [2022-04-08 12:28:19,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:19,266 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:19,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:19,410 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:28:19,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:19,433 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 12:28:19,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 12:28:19,434 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-08 12:28:19,435 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:28:19,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:19,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:28:19,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:28:19,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:28:19,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-08 12:28:19,463 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 12:28:19,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:19,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:28:19,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:28:19,474 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:28:19,474 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-08 12:28:19,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 12:28:19,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:19,482 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:28:19,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:28:19,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:28:19,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-08 12:28:19,483 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 12:28:19,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:19,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:28:19,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:28:19,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:28:19,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-08 12:28:19,494 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 12:28:19,495 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 12:28:19,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 12:28:19,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-08 12:28:19,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-08 12:28:19,495 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 12:28:19,496 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 12:28:19,496 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:28:19,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:28:19,497 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:28:19,498 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-08 12:28:19,498 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 12:28:19,498 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 12:28:19,498 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:28:19,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:28:19,499 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:28:19,499 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-08 12:28:19,499 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 12:28:19,500 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:28:19,500 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:28:19,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:28:19,501 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-08 12:28:19,501 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 12:28:19,501 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:28:19,502 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:28:19,503 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:28:19,503 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-08 12:28:19,504 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 12:28:19,504 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-08 12:28:19,506 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 12:28:19,507 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-08 12:28:19,507 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-08 12:28:19,507 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-08 12:28:19,508 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 12:28:19,508 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:19,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [880734740] [2022-04-08 12:28:19,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [880734740] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:19,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:19,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:28:19,513 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:19,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [284856769] [2022-04-08 12:28:19,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [284856769] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:19,514 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:19,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:28:19,514 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [995066813] [2022-04-08 12:28:19,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:19,520 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 12:28:19,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:19,524 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 12:28:19,569 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 12:28:19,569 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 12:28:19,569 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:19,586 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 12:28:19,587 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:28:19,590 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 12:28:19,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:19,781 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-08 12:28:19,782 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 12:28:19,782 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 12:28:19,782 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:19,783 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 12:28:19,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-08 12:28:19,794 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 12:28:19,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-08 12:28:19,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-08 12:28:19,919 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 12:28:19,927 INFO L225 Difference]: With dead ends: 73 [2022-04-08 12:28:19,927 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 12:28:19,929 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 12:28:19,933 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 12:28:19,934 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 12:28:19,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 12:28:19,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-08 12:28:19,960 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:19,961 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 12:28:19,962 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 12:28:19,962 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 12:28:19,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:19,967 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-08 12:28:19,968 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-08 12:28:19,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:19,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:19,969 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 12:28:19,970 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 12:28:19,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:19,975 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-08 12:28:19,975 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-08 12:28:19,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:19,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:19,976 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:19,976 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:19,977 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 12:28:19,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-08 12:28:19,983 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-08 12:28:19,983 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:19,983 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-08 12:28:19,984 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 12:28:19,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-08 12:28:20,034 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 12:28:20,035 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-08 12:28:20,036 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 12:28:20,036 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:20,037 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 12:28:20,037 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 12:28:20,037 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:20,038 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:20,038 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-08 12:28:20,038 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:20,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1064820184] [2022-04-08 12:28:20,039 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:20,039 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-08 12:28:20,039 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:20,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [186549721] [2022-04-08 12:28:20,039 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:20,040 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:20,099 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:20,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1280058743] [2022-04-08 12:28:20,102 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:28:20,102 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:20,102 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:20,104 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 12:28:20,105 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 12:28:20,151 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 12:28:20,151 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:20,154 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 12:28:20,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:20,171 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:20,411 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-08 12:28:20,412 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 12:28:20,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 12:28:20,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-08 12:28:20,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-08 12:28:20,412 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 12:28:20,413 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 12:28:20,413 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-08 12:28:20,413 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-08 12:28:20,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 12:28:20,417 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-08 12:28:20,417 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 12:28:20,417 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 12:28:20,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-08 12:28:20,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-08 12:28:20,418 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 12:28:20,418 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-08 12:28:20,418 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 12:28:20,418 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-08 12:28:20,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-08 12:28:20,418 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 12:28:20,419 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-08 12:28:20,419 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 12:28:20,419 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-08 12:28:20,419 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-08 12:28:20,419 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-08 12:28:20,419 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-08 12:28:20,420 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 12:28:20,421 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 12:28:20,421 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 12:28:20,422 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 12:28:20,423 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 12:28:20,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-08 12:28:20,423 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-08 12:28:20,424 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 12:28:20,424 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:28:20,424 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:20,424 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [186549721] [2022-04-08 12:28:20,424 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:20,424 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1280058743] [2022-04-08 12:28:20,424 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1280058743] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:20,425 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:20,425 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:28:20,425 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:20,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1064820184] [2022-04-08 12:28:20,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1064820184] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:20,426 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:20,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:28:20,426 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1050034969] [2022-04-08 12:28:20,426 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:20,427 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 12:28:20,427 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:20,427 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 12:28:20,445 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 12:28:20,445 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:28:20,445 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:20,446 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:28:20,446 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:28:20,446 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 12:28:20,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:20,694 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-08 12:28:20,694 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:28:20,695 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 12:28:20,695 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:20,695 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 12:28:20,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 12:28:20,697 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 12:28:20,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 12:28:20,699 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-08 12:28:20,750 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 12:28:20,752 INFO L225 Difference]: With dead ends: 54 [2022-04-08 12:28:20,752 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 12:28:20,752 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 12:28:20,753 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 12:28:20,753 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 12:28:20,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 12:28:20,761 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-08 12:28:20,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:20,762 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 12:28:20,762 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 12:28:20,763 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 12:28:20,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:20,765 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-08 12:28:20,765 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-08 12:28:20,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:20,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:20,766 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 12:28:20,766 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 12:28:20,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:20,769 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-08 12:28:20,769 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-08 12:28:20,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:20,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:20,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:20,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:20,770 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 12:28:20,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-08 12:28:20,772 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-08 12:28:20,772 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:20,772 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-08 12:28:20,772 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 12:28:20,773 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-08 12:28:20,827 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 12:28:20,827 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-08 12:28:20,828 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 12:28:20,828 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:20,828 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 12:28:20,847 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 12:28:21,042 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 12:28:21,042 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:21,043 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:21,043 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-08 12:28:21,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:21,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [470749388] [2022-04-08 12:28:21,043 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:21,043 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-08 12:28:21,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:21,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [220075845] [2022-04-08 12:28:21,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:21,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:21,060 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:21,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [124963510] [2022-04-08 12:28:21,061 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:28:21,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:21,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:21,062 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 12:28:21,063 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 12:28:21,098 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:28:21,098 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:21,099 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:28:21,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:21,108 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:21,256 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-08 12:28:21,256 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 12:28:21,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 12:28:21,256 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-08 12:28:21,256 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-08 12:28:21,257 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 12:28:21,257 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 12:28:21,257 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 12:28:21,257 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 12:28:21,257 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 12:28:21,257 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-08 12:28:21,257 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 12:28:21,257 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 12:28:21,258 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 12:28:21,258 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 12:28:21,258 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 12:28:21,258 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-08 12:28:21,258 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 12:28:21,260 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 12:28:21,261 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 12:28:21,261 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 12:28:21,266 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 12:28:21,266 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 12:28:21,266 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 12:28:21,266 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 12:28:21,266 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 12:28:21,267 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 12:28:21,267 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 12:28:21,268 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-08 12:28:21,269 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 12:28:21,269 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:28:21,269 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 12:28:21,270 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 12:28:21,270 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-08 12:28:21,270 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-08 12:28:21,271 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 12:28:21,271 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-08 12:28:21,271 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-08 12:28:21,271 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-08 12:28:21,271 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 12:28:21,271 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:21,499 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-08 12:28:21,499 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-08 12:28:21,499 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-08 12:28:21,499 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 12:28:21,500 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-08 12:28:21,500 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-08 12:28:21,501 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 12:28:21,501 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 12:28:21,501 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:28:21,502 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 12:28:21,502 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-08 12:28:21,502 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 12:28:21,503 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 12:28:21,503 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 12:28:21,503 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 12:28:21,503 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 12:28:21,503 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 12:28:21,505 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 12:28:21,505 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 12:28:21,506 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 12:28:21,506 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 12:28:21,506 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 12:28:21,506 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-08 12:28:21,507 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 12:28:21,507 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 12:28:21,507 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 12:28:21,507 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 12:28:21,507 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 12:28:21,507 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-08 12:28:21,507 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 12:28:21,507 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-08 12:28:21,507 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-08 12:28:21,507 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 12:28:21,508 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 12:28:21,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-08 12:28:21,508 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-08 12:28:21,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-08 12:28:21,508 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 12:28:21,508 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-08 12:28:21,508 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 12:28:21,508 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:21,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [220075845] [2022-04-08 12:28:21,509 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:21,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [124963510] [2022-04-08 12:28:21,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [124963510] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:28:21,509 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:28:21,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 12:28:21,509 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:21,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [470749388] [2022-04-08 12:28:21,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [470749388] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:21,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:21,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:28:21,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [546724405] [2022-04-08 12:28:21,510 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:21,510 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 12:28:21,510 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:21,510 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 12:28:21,529 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 12:28:21,530 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:28:21,530 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:21,530 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:28:21,530 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:28:21,530 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 12:28:22,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:22,163 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-08 12:28:22,163 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:28:22,163 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 12:28:22,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:22,163 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 12:28:22,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-08 12:28:22,166 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 12:28:22,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-08 12:28:22,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-08 12:28:22,248 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 12:28:22,251 INFO L225 Difference]: With dead ends: 103 [2022-04-08 12:28:22,251 INFO L226 Difference]: Without dead ends: 96 [2022-04-08 12:28:22,251 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 12:28:22,252 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:28:22,252 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.2s Time] [2022-04-08 12:28:22,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-08 12:28:22,314 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-08 12:28:22,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:22,315 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 12:28:22,316 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 12:28:22,316 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 12:28:22,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:22,320 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-08 12:28:22,320 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-08 12:28:22,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:22,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:22,321 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 12:28:22,321 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 12:28:22,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:22,325 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-08 12:28:22,325 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-08 12:28:22,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:22,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:22,326 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:22,326 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:22,326 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 12:28:22,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-08 12:28:22,329 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-08 12:28:22,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:22,329 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-08 12:28:22,329 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 12:28:22,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-08 12:28:22,422 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 12:28:22,422 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-08 12:28:22,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 12:28:22,424 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:22,425 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 12:28:22,453 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 12:28:22,625 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 12:28:22,625 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:22,626 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:22,626 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-08 12:28:22,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:22,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1370240479] [2022-04-08 12:28:22,626 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:22,627 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-08 12:28:22,627 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:22,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1421415302] [2022-04-08 12:28:22,627 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:22,627 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:22,641 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:22,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [134541060] [2022-04-08 12:28:22,642 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:28:22,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:22,642 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:22,643 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 12:28:22,644 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 12:28:22,682 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:28:22,683 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:22,683 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 12:28:22,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:22,696 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:22,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-08 12:28:22,929 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 12:28:22,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 12:28:22,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-08 12:28:22,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-08 12:28:22,930 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 12:28:22,930 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 12:28:22,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-08 12:28:22,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-08 12:28:22,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 12:28:22,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-08 12:28:22,931 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 12:28:22,931 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 12:28:22,937 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 12:28:22,937 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 12:28:22,937 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 12:28:22,938 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 12:28:22,938 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 12:28:22,939 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 12:28:22,939 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 12:28:22,939 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 12:28:22,942 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 12:28:22,942 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 12:28:22,942 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-08 12:28:22,942 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-08 12:28:22,942 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 12:28:22,943 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 12:28:22,943 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 12:28:22,943 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 12:28:22,944 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 12:28:22,945 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 12:28:22,945 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 12:28:22,945 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 12:28:22,945 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 12:28:22,945 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 12:28:22,946 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 12:28:22,946 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 12:28:22,946 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 12:28:22,946 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 12:28:22,946 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-08 12:28:22,946 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-08 12:28:22,946 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 12:28:22,947 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 12:28:22,947 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:23,306 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 12:28:23,306 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-08 12:28:23,306 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-08 12:28:23,306 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 12:28:23,306 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 12:28:23,306 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 12:28:23,307 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 12:28:23,307 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 12:28:23,307 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-08 12:28:23,307 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 12:28:23,307 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 12:28:23,307 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 12:28:23,308 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 12:28:23,308 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 12:28:23,309 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 12:28:23,309 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 12:28:23,309 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 12:28:23,309 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-08 12:28:23,309 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-08 12:28:23,310 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 12:28:23,310 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 12:28:23,311 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 12:28:23,311 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 12:28:23,311 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 12:28:23,311 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 12:28:23,312 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 12:28:23,312 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 12:28:23,313 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 12:28:23,313 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 12:28:23,313 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 12:28:23,313 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 12:28:23,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-08 12:28:23,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 12:28:23,314 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-08 12:28:23,314 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-08 12:28:23,314 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 12:28:23,314 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 12:28:23,314 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-08 12:28:23,314 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-08 12:28:23,314 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-08 12:28:23,314 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 12:28:23,314 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-08 12:28:23,315 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 12:28:23,315 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:23,315 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1421415302] [2022-04-08 12:28:23,315 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:23,315 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [134541060] [2022-04-08 12:28:23,315 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [134541060] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:28:23,315 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:28:23,315 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-08 12:28:23,315 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:23,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1370240479] [2022-04-08 12:28:23,316 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1370240479] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:23,316 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:23,316 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:28:23,316 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1283518255] [2022-04-08 12:28:23,316 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:23,316 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 12:28:23,316 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:23,317 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 12:28:23,340 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 12:28:23,340 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:28:23,340 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:23,341 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:28:23,341 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:28:23,341 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 12:28:23,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:23,818 INFO L93 Difference]: Finished difference Result 98 states and 133 transitions. [2022-04-08 12:28:23,818 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:28:23,818 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 12:28:23,818 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:23,818 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 12:28:23,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-08 12:28:23,820 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 12:28:23,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-08 12:28:23,822 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 102 transitions. [2022-04-08 12:28:23,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 12:28:23,893 INFO L225 Difference]: With dead ends: 98 [2022-04-08 12:28:23,893 INFO L226 Difference]: Without dead ends: 60 [2022-04-08 12:28:23,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 12:28:23,894 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 12:28:23,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 12:28:23,895 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-08 12:28:23,956 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 52. [2022-04-08 12:28:23,956 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:23,957 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 12:28:23,957 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 12:28:23,957 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 12:28:23,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:23,959 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-08 12:28:23,959 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-08 12:28:23,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:23,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:23,960 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 12:28:23,960 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 12:28:23,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:23,962 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-08 12:28:23,962 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-08 12:28:23,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:23,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:23,962 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:23,962 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:23,962 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 12:28:23,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-08 12:28:23,964 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 42 [2022-04-08 12:28:23,964 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:23,964 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-08 12:28:23,964 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 12:28:23,964 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-08 12:28:24,024 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 12:28:24,025 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-08 12:28:24,025 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 12:28:24,025 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:24,025 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 12:28:24,041 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 12:28:24,231 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 12:28:24,231 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:24,232 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:24,233 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-08 12:28:24,233 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:24,233 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [598887724] [2022-04-08 12:28:24,233 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:24,233 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-08 12:28:24,233 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:24,233 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1196021325] [2022-04-08 12:28:24,233 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:24,233 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:24,252 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:24,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1986846584] [2022-04-08 12:28:24,252 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:28:24,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:24,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:24,253 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 12:28:24,254 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 12:28:24,289 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:28:24,289 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:24,290 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 12:28:24,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:24,301 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:24,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-08 12:28:24,573 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 12:28:24,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-08 12:28:24,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-08 12:28:24,573 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 12:28:24,574 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 12:28:24,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,574 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,574 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,574 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-08 12:28:24,574 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 12:28:24,574 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 12:28:24,575 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 12:28:24,575 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 12:28:24,575 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 12:28:24,580 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 12:28:24,580 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 12:28:24,580 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,580 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,580 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,580 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 12:28:24,581 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 12:28:24,581 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,581 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,581 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,581 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 12:28:24,582 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 12:28:24,582 INFO L290 TraceCheckUtils]: 28: Hoare triple {2345#(<= 0 main_~b~0)} assume !false; {2345#(<= 0 main_~b~0)} is VALID [2022-04-08 12:28:24,582 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 12:28:24,583 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 12:28:24,583 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 12:28:24,584 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 12:28:24,584 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 12:28:24,584 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,584 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,584 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,585 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 12:28:24,585 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 12:28:24,585 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,585 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,585 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,586 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 12:28:24,586 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 12:28:24,587 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 12:28:24,587 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-08 12:28:24,587 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-08 12:28:24,587 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 12:28:24,588 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:24,772 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-08 12:28:24,772 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-08 12:28:24,773 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 12:28:24,773 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 12:28:24,774 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 12:28:24,774 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,774 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,774 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 12:28:24,776 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 12:28:24,776 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,776 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,776 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,776 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 12:28:24,777 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 12:28:24,777 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 12:28:24,777 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 12:28:24,778 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 12:28:24,778 INFO L290 TraceCheckUtils]: 28: Hoare triple {2256#true} assume !false; {2256#true} is VALID [2022-04-08 12:28:24,778 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 12:28:24,778 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2256#true} {2256#true} #100#return; {2256#true} is VALID [2022-04-08 12:28:24,778 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,778 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,778 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,778 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 12:28:24,778 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2256#true} {2256#true} #98#return; {2256#true} is VALID [2022-04-08 12:28:24,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,779 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,779 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 12:28:24,779 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2256#true} {2256#true} #96#return; {2256#true} is VALID [2022-04-08 12:28:24,779 INFO L290 TraceCheckUtils]: 15: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,779 INFO L290 TraceCheckUtils]: 14: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,779 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 12:28:24,779 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 12:28:24,779 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-08 12:28:24,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,780 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-08 12:28:24,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-08 12:28:24,780 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 12:28:24,780 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 12:28:24,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-08 12:28:24,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-08 12:28:24,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-08 12:28:24,780 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 12:28:24,780 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-08 12:28:24,780 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 12:28:24,781 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:24,781 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1196021325] [2022-04-08 12:28:24,781 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:24,781 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1986846584] [2022-04-08 12:28:24,781 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1986846584] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 12:28:24,781 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:28:24,781 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-08 12:28:24,781 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:24,781 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [598887724] [2022-04-08 12:28:24,781 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [598887724] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:24,781 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:24,781 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:28:24,782 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [709838981] [2022-04-08 12:28:24,782 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:24,782 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 12:28:24,782 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:24,782 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 12:28:24,802 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 12:28:24,802 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:28:24,802 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:24,803 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:28:24,803 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:28:24,803 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 12:28:25,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:25,067 INFO L93 Difference]: Finished difference Result 75 states and 99 transitions. [2022-04-08 12:28:25,067 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:28:25,068 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 12:28:25,068 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:25,068 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 12:28:25,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:28:25,069 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 12:28:25,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:28:25,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:28:25,108 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 12:28:25,109 INFO L225 Difference]: With dead ends: 75 [2022-04-08 12:28:25,109 INFO L226 Difference]: Without dead ends: 73 [2022-04-08 12:28:25,109 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 12:28:25,110 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 12:28:25,110 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 12:28:25,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-08 12:28:25,210 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 70. [2022-04-08 12:28:25,210 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:25,210 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 12:28:25,210 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 12:28:25,211 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 12:28:25,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:25,213 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-08 12:28:25,213 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-08 12:28:25,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:25,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:25,214 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 12:28:25,214 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 12:28:25,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:25,216 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-08 12:28:25,216 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-08 12:28:25,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:25,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:25,216 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:25,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:25,217 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 12:28:25,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 94 transitions. [2022-04-08 12:28:25,219 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 94 transitions. Word has length 47 [2022-04-08 12:28:25,219 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:25,219 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 94 transitions. [2022-04-08 12:28:25,219 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 12:28:25,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 94 transitions. [2022-04-08 12:28:25,314 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 12:28:25,314 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 94 transitions. [2022-04-08 12:28:25,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-08 12:28:25,315 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:25,315 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 12:28:25,331 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 12:28:25,523 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 12:28:25,523 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:25,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:25,524 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-08 12:28:25,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:25,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [627606148] [2022-04-08 12:28:25,524 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:25,524 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-08 12:28:25,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:25,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1786664739] [2022-04-08 12:28:25,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:25,525 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:25,535 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:25,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [719502058] [2022-04-08 12:28:25,536 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:28:25,536 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:25,536 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:25,537 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 12:28:25,538 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 12:28:25,573 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:28:25,573 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:25,574 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 12:28:25,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:25,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:26,220 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-08 12:28:26,220 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 12:28:26,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-08 12:28:26,220 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-08 12:28:26,220 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 12:28:26,220 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 12:28:26,221 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 12:28:26,221 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 12:28:26,221 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 12:28:26,222 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 12:28:26,222 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 12:28:26,223 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 12:28:26,223 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 12:28:26,223 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 12:28:26,229 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 12:28:26,229 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 12:28:26,229 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 12:28:26,229 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,230 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,230 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,230 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 12:28:26,230 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 12:28:26,230 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,230 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,230 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,231 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 12:28:26,231 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 12:28:26,231 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 12:28:26,232 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 12:28:26,232 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 12:28:26,233 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 12:28:26,234 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 12:28:26,234 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 12:28:26,234 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,234 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,235 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,239 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 12:28:26,239 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 12:28:26,240 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,240 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,240 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,243 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 12:28:26,243 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 12:28:26,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,244 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,244 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,244 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 12:28:26,245 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 12:28:26,245 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 12:28:26,245 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-08 12:28:26,245 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-08 12:28:26,246 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 12:28:26,246 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:26,540 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-08 12:28:26,541 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-08 12:28:26,541 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 12:28:26,542 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 12:28:26,545 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 12:28:26,546 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,546 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,546 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,546 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 12:28:26,546 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 12:28:26,546 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,547 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,547 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,547 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 12:28:26,547 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 12:28:26,547 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,547 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,548 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,548 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 12:28:26,548 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 12:28:26,548 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 12:28:26,548 INFO L290 TraceCheckUtils]: 30: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-08 12:28:26,548 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 12:28:26,548 INFO L290 TraceCheckUtils]: 28: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-08 12:28:26,549 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 12:28:26,549 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2985#true} {2985#true} #100#return; {2985#true} is VALID [2022-04-08 12:28:26,549 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,549 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,549 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,549 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 12:28:26,549 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2985#true} {2985#true} #98#return; {2985#true} is VALID [2022-04-08 12:28:26,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,549 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,549 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,549 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 12:28:26,549 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2985#true} {2985#true} #96#return; {2985#true} is VALID [2022-04-08 12:28:26,549 INFO L290 TraceCheckUtils]: 15: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,550 INFO L290 TraceCheckUtils]: 14: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,550 INFO L290 TraceCheckUtils]: 13: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,550 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 12:28:26,550 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 12:28:26,550 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2985#true} {2985#true} #94#return; {2985#true} is VALID [2022-04-08 12:28:26,550 INFO L290 TraceCheckUtils]: 9: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,550 INFO L290 TraceCheckUtils]: 8: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-08 12:28:26,550 INFO L290 TraceCheckUtils]: 7: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-08 12:28:26,550 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 12:28:26,550 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 12:28:26,550 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-08 12:28:26,550 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-08 12:28:26,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-08 12:28:26,551 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 12:28:26,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-08 12:28:26,551 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 12:28:26,551 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:26,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1786664739] [2022-04-08 12:28:26,551 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:26,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [719502058] [2022-04-08 12:28:26,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [719502058] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 12:28:26,551 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:28:26,551 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [11] total 12 [2022-04-08 12:28:26,552 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:26,552 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [627606148] [2022-04-08 12:28:26,552 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [627606148] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:26,552 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:26,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:28:26,552 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1980364512] [2022-04-08 12:28:26,552 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:26,552 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 12:28:26,552 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:26,553 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 12:28:26,573 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 12:28:26,574 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:28:26,574 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:26,574 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:28:26,574 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:28:26,574 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 12:28:26,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:26,839 INFO L93 Difference]: Finished difference Result 77 states and 100 transitions. [2022-04-08 12:28:26,840 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:28:26,840 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 12:28:26,840 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:26,840 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 12:28:26,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 12:28:26,841 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 12:28:26,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 12:28:26,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 12:28:26,888 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 12:28:26,889 INFO L225 Difference]: With dead ends: 77 [2022-04-08 12:28:26,889 INFO L226 Difference]: Without dead ends: 75 [2022-04-08 12:28:26,889 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 12:28:26,890 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 12:28:26,890 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 12:28:26,890 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-08 12:28:26,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2022-04-08 12:28:26,991 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:26,991 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 12:28:26,991 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 12:28:26,992 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 12:28:26,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:26,994 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-08 12:28:26,994 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-08 12:28:26,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:26,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:26,994 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 12:28:26,994 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 12:28:26,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:26,996 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-08 12:28:26,996 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-08 12:28:26,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:26,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:26,997 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:26,997 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:26,997 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 12:28:26,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 97 transitions. [2022-04-08 12:28:26,999 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 97 transitions. Word has length 52 [2022-04-08 12:28:26,999 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:26,999 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 97 transitions. [2022-04-08 12:28:26,999 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 12:28:26,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 97 transitions. [2022-04-08 12:28:27,113 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 12:28:27,113 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 97 transitions. [2022-04-08 12:28:27,114 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 12:28:27,114 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:27,114 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 12:28:27,130 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 12:28:27,327 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 12:28:27,327 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:27,328 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:27,328 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-08 12:28:27,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:27,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1034239007] [2022-04-08 12:28:27,328 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:27,328 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-08 12:28:27,329 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:27,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1260211367] [2022-04-08 12:28:27,329 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:27,329 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:27,339 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:27,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1141587063] [2022-04-08 12:28:27,340 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:28:27,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:27,340 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:27,340 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 12:28:27,341 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 12:28:27,381 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:28:27,381 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:27,382 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-08 12:28:27,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:27,392 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:29,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-08 12:28:29,012 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 12:28:29,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:29,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-08 12:28:29,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-08 12:28:29,012 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 12:28:29,012 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 12:28:29,013 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 12:28:29,013 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 12:28:29,014 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 12:28:29,014 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 12:28:29,015 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 12:28:29,015 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 12:28:29,015 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 12:28:29,015 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 12:28:29,016 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 12:28:29,016 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 12:28:29,017 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 12:28:29,017 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:29,017 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:29,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:29,017 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 12:28:29,017 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 12:28:29,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:29,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:29,018 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:29,018 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 12:28:29,018 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 12:28:29,019 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 12:28:29,019 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 12:28:29,020 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 12:28:29,020 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 12:28:29,021 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 12:28:29,021 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 12:28:29,021 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:29,021 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:29,021 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:29,022 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 12:28:29,022 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 12:28:29,022 INFO L290 TraceCheckUtils]: 39: Hoare triple {3762#true} ~cond := #in~cond; {3891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:28:29,023 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 12:28:29,023 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 12:28:29,024 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 12:28:29,024 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 12:28:29,024 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:29,024 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:29,024 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:29,025 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 12:28:29,025 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 12:28:29,025 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:29,025 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:29,025 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:29,026 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 12:28:29,027 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 12:28:29,028 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 12:28:29,028 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 12:28:29,029 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 12:28:29,029 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 12:28:29,030 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 12:28:29,031 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 12:28:29,032 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 12:28:29,032 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 12:28:29,033 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-08 12:28:29,033 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-08 12:28:29,033 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 12:28:29,033 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:42,165 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-08 12:28:42,165 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-08 12:28:42,166 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 12:28:42,167 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 12:28:42,167 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 12:28:42,167 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 12:28:42,490 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 12:28:42,491 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 12:28:42,491 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 12:28:42,518 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 12:28:42,519 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 12:28:42,520 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 12:28:42,520 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:42,520 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:42,520 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:42,520 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 12:28:42,521 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 12:28:42,521 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:42,521 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:42,521 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:42,521 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 12:28:42,522 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 12:28:42,522 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 12:28:42,523 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 12:28:42,523 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 12:28:42,523 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 12:28:42,524 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 12:28:42,524 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:42,524 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:42,524 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:42,524 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 12:28:42,525 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 12:28:42,526 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 12:28:42,526 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 12:28:42,527 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 12:28:42,527 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 12:28:42,528 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 12:28:42,528 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 12:28:42,529 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:42,529 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:42,529 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:42,529 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 12:28:42,529 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 12:28:42,529 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:42,529 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:42,529 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:42,530 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 12:28:42,530 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 12:28:42,530 INFO L290 TraceCheckUtils]: 15: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:42,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-08 12:28:42,531 INFO L290 TraceCheckUtils]: 13: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-08 12:28:42,531 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 12:28:42,531 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 12:28:42,531 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 12:28:42,532 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 12:28:42,532 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 12:28:42,532 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 12:28:42,533 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 12:28:42,533 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 12:28:42,533 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-08 12:28:42,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-08 12:28:42,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-08 12:28:42,533 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 12:28:42,533 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-08 12:28:42,533 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 12:28:42,534 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:42,534 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1260211367] [2022-04-08 12:28:42,534 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:42,534 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1141587063] [2022-04-08 12:28:42,534 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1141587063] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:28:42,534 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:28:42,534 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 27 [2022-04-08 12:28:42,534 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:42,534 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1034239007] [2022-04-08 12:28:42,534 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1034239007] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:42,534 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:42,534 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 12:28:42,534 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1525975806] [2022-04-08 12:28:42,534 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:42,535 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 12:28:42,535 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:42,535 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 12:28:42,589 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 12:28:42,589 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 12:28:42,589 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:42,589 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 12:28:42,589 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=595, Unknown=0, NotChecked=0, Total=702 [2022-04-08 12:28:42,590 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 12:28:45,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:45,095 INFO L93 Difference]: Finished difference Result 124 states and 169 transitions. [2022-04-08 12:28:45,095 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 12:28:45,095 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 12:28:45,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:45,095 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 12:28:45,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-08 12:28:45,098 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 12:28:45,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-08 12:28:45,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 129 transitions. [2022-04-08 12:28:45,231 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 12:28:45,233 INFO L225 Difference]: With dead ends: 124 [2022-04-08 12:28:45,233 INFO L226 Difference]: Without dead ends: 121 [2022-04-08 12:28:45,234 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 12:28:45,234 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 79 mSDsluCounter, 250 mSDsCounter, 0 mSdLazyCounter, 640 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 92 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 697 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 640 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 12:28:45,234 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [92 Valid, 296 Invalid, 697 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 640 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 12:28:45,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-08 12:28:45,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 111. [2022-04-08 12:28:45,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:45,488 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 12:28:45,488 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 12:28:45,489 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 12:28:45,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:45,492 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-08 12:28:45,492 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-08 12:28:45,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:45,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:45,493 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 12:28:45,493 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 12:28:45,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:45,496 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-08 12:28:45,497 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-08 12:28:45,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:45,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:45,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:45,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:45,497 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 12:28:45,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 150 transitions. [2022-04-08 12:28:45,500 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 150 transitions. Word has length 64 [2022-04-08 12:28:45,501 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:45,501 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 150 transitions. [2022-04-08 12:28:45,501 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 12:28:45,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 150 transitions. [2022-04-08 12:28:45,724 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 12:28:45,724 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 150 transitions. [2022-04-08 12:28:45,725 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 12:28:45,725 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:45,725 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 12:28:45,741 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 12:28:45,925 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 12:28:45,925 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:45,926 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:45,926 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 3 times [2022-04-08 12:28:45,926 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:45,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2068059421] [2022-04-08 12:28:45,926 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:45,926 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 4 times [2022-04-08 12:28:45,926 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:45,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [763136889] [2022-04-08 12:28:45,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:45,927 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:45,944 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:45,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1069863677] [2022-04-08 12:28:45,944 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:28:45,944 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:45,944 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:45,957 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 12:28:45,958 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 12:28:45,998 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:28:45,999 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:45,999 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:28:46,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:46,011 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:46,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-08 12:28:46,211 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 12:28:46,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-08 12:28:46,211 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-08 12:28:46,211 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 12:28:46,211 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 12:28:46,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,212 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-08 12:28:46,212 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 12:28:46,212 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 12:28:46,212 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,212 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,212 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,212 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-08 12:28:46,212 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 12:28:46,212 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,213 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-08 12:28:46,213 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 12:28:46,213 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,213 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,213 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,213 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-08 12:28:46,213 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 12:28:46,213 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-08 12:28:46,213 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 12:28:46,213 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-08 12:28:46,213 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 12:28:46,223 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 12:28:46,223 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 12:28:46,223 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,223 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,224 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 12:28:46,224 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 12:28:46,224 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,224 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,224 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,225 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 12:28:46,225 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 12:28:46,225 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,225 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,225 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,226 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 12:28:46,226 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 12:28:46,226 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,226 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,226 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,227 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 12:28:46,227 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 12:28:46,228 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 12:28:46,228 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 12:28:46,229 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 12:28:46,229 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 12:28:46,229 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 12:28:46,230 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 12:28:46,230 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 12:28:46,231 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 12:28:46,231 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 12:28:46,231 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-08 12:28:46,231 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-08 12:28:46,231 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 12:28:46,231 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-08 12:28:46,231 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-08 12:28:46,231 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-08 12:28:46,231 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 12:28:46,232 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:46,451 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-08 12:28:46,451 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-08 12:28:46,452 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-08 12:28:46,452 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 12:28:46,452 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-08 12:28:46,452 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-08 12:28:46,452 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 12:28:46,452 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 12:28:46,452 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 12:28:46,453 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 12:28:46,453 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 12:28:46,453 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 12:28:46,454 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 12:28:46,454 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 12:28:46,454 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 12:28:46,455 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 12:28:46,455 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 12:28:46,455 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,456 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,456 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,456 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 12:28:46,456 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 12:28:46,456 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,456 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,456 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,456 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 12:28:46,457 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 12:28:46,457 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,457 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,457 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,457 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 12:28:46,458 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 12:28:46,458 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,458 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,458 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,458 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 12:28:46,459 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 12:28:46,459 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 12:28:46,459 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-08 12:28:46,459 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 12:28:46,459 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-08 12:28:46,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 12:28:46,459 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-08 12:28:46,459 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,459 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,460 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,460 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 12:28:46,460 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-08 12:28:46,460 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,460 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,460 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,460 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 12:28:46,460 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-08 12:28:46,460 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,460 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,460 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,460 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 12:28:46,460 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 12:28:46,461 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-08 12:28:46,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-08 12:28:46,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-08 12:28:46,461 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 12:28:46,461 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 12:28:46,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-08 12:28:46,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-08 12:28:46,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-08 12:28:46,461 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 12:28:46,461 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-08 12:28:46,461 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 12:28:46,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:46,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [763136889] [2022-04-08 12:28:46,462 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:46,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1069863677] [2022-04-08 12:28:46,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1069863677] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:28:46,462 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:28:46,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 12:28:46,462 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:46,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2068059421] [2022-04-08 12:28:46,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2068059421] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:46,462 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:46,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 12:28:46,462 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1504573538] [2022-04-08 12:28:46,463 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:46,463 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 12:28:46,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:46,463 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 12:28:46,547 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 12:28:46,548 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 12:28:46,548 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:46,548 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 12:28:46,548 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:28:46,548 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 12:28:47,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:47,619 INFO L93 Difference]: Finished difference Result 227 states and 315 transitions. [2022-04-08 12:28:47,619 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 12:28:47,619 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 12:28:47,619 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:47,619 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 12:28:47,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-08 12:28:47,622 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 12:28:47,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-08 12:28:47,624 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 150 transitions. [2022-04-08 12:28:47,758 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 12:28:47,762 INFO L225 Difference]: With dead ends: 227 [2022-04-08 12:28:47,762 INFO L226 Difference]: Without dead ends: 162 [2022-04-08 12:28:47,762 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 12:28:47,763 INFO L913 BasicCegarLoop]: 67 mSDtfsCounter, 31 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:28:47,763 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 232 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 191 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:28:47,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-08 12:28:48,160 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 144. [2022-04-08 12:28:48,161 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:48,161 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 12:28:48,162 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 12:28:48,162 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 12:28:48,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:48,183 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-08 12:28:48,183 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-08 12:28:48,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:48,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:48,184 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 12:28:48,185 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 12:28:48,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:48,189 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-08 12:28:48,189 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-08 12:28:48,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:48,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:48,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:48,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:48,190 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 12:28:48,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 205 transitions. [2022-04-08 12:28:48,194 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 205 transitions. Word has length 69 [2022-04-08 12:28:48,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:48,194 INFO L478 AbstractCegarLoop]: Abstraction has 144 states and 205 transitions. [2022-04-08 12:28:48,194 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 12:28:48,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 205 transitions. [2022-04-08 12:28:48,508 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 12:28:48,509 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 205 transitions. [2022-04-08 12:28:48,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-08 12:28:48,509 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:48,509 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 12:28:48,525 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 12:28:48,725 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 12:28:48,725 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:48,726 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:48,726 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 1 times [2022-04-08 12:28:48,726 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:48,726 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [516847804] [2022-04-08 12:28:48,726 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:48,726 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 2 times [2022-04-08 12:28:48,726 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:48,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [578176408] [2022-04-08 12:28:48,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:48,727 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:48,737 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:48,737 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1389010785] [2022-04-08 12:28:48,737 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:28:48,737 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:48,738 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:48,738 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 12:28:48,739 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 12:28:48,785 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:28:48,785 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:48,786 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 12:28:48,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:48,798 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:49,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-08 12:28:49,128 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 12:28:49,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-08 12:28:49,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-08 12:28:49,129 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 12:28:49,129 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 12:28:49,129 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,129 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,129 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,129 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-08 12:28:49,129 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 12:28:49,129 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 12:28:49,129 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 12:28:49,130 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 12:28:49,130 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 12:28:49,131 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 12:28:49,131 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 12:28:49,131 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,131 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,131 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,131 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 12:28:49,131 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 12:28:49,131 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,131 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,132 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 12:28:49,132 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 12:28:49,132 INFO L290 TraceCheckUtils]: 28: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-08 12:28:49,133 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 12:28:49,133 INFO L290 TraceCheckUtils]: 30: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-08 12:28:49,133 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 12:28:49,134 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 12:28:49,134 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 12:28:49,134 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,134 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,134 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,135 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 12:28:49,135 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 12:28:49,135 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,135 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,135 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,135 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 12:28:49,136 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 12:28:49,136 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,136 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,136 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,136 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 12:28:49,136 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 12:28:49,136 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,137 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,137 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,137 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 12:28:49,137 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 12:28:49,138 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 12:28:49,138 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 12:28:49,139 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 12:28:49,139 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 12:28:49,139 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 12:28:49,140 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 12:28:49,140 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 12:28:49,140 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 12:28:49,140 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 12:28:49,140 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 12:28:49,140 INFO L290 TraceCheckUtils]: 64: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-08 12:28:49,140 INFO L290 TraceCheckUtils]: 65: Hoare triple {6412#false} assume !(0 == ~cond); {6412#false} is VALID [2022-04-08 12:28:49,140 INFO L290 TraceCheckUtils]: 66: Hoare triple {6412#false} assume true; {6412#false} is VALID [2022-04-08 12:28:49,140 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6412#false} {6412#false} #102#return; {6412#false} is VALID [2022-04-08 12:28:49,141 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 12:28:49,141 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-08 12:28:49,141 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-08 12:28:49,141 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 12:28:49,142 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 12:28:49,142 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:49,849 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 12:28:49,850 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-08 12:28:49,850 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-08 12:28:49,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 12:28:49,850 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6411#true} {6412#false} #102#return; {6412#false} is VALID [2022-04-08 12:28:49,850 INFO L290 TraceCheckUtils]: 66: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,850 INFO L290 TraceCheckUtils]: 65: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,850 INFO L290 TraceCheckUtils]: 64: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,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 12:28:49,850 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 12:28:49,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 12:28:49,850 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-08 12:28:49,851 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 12:28:49,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 12:28:49,852 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 12:28:49,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 12:28:49,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 12:28:49,853 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 12:28:49,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 12:28:49,854 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 12:28:49,854 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,854 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,854 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,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 12:28:49,855 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 12:28:49,855 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,855 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,855 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,855 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 12:28:49,856 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 12:28:49,856 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,856 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,856 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,856 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 12:28:49,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 12:28:49,856 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,857 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,857 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,857 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 12:28:49,857 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 12:28:49,858 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 12:28:49,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 12:28:49,859 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 12:28:49,859 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 12:28:49,860 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 12:28:49,860 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 12:28:49,860 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,860 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,860 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,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 12:28:49,865 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 12:28:49,865 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,866 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,866 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,866 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 12:28:49,866 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 12:28:49,866 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 12:28:49,867 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 12:28:49,867 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 12:28:49,867 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 12:28:49,867 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 12:28:49,867 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-08 12:28:49,867 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-08 12:28:49,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-08 12:28:49,868 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 12:28:49,868 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 12:28:49,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-08 12:28:49,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-08 12:28:49,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-08 12:28:49,868 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 12:28:49,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-08 12:28:49,868 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 12:28:49,868 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:49,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [578176408] [2022-04-08 12:28:49,869 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:49,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1389010785] [2022-04-08 12:28:49,869 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1389010785] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:28:49,869 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:28:49,869 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-08 12:28:49,869 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:49,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [516847804] [2022-04-08 12:28:49,869 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [516847804] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:49,869 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:49,869 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:28:49,869 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1057839603] [2022-04-08 12:28:49,869 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:49,870 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 12:28:49,870 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:49,870 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 12:28:49,907 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 12:28:49,907 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:28:49,907 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:49,908 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:28:49,908 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:28:49,908 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 12:28:50,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:50,849 INFO L93 Difference]: Finished difference Result 202 states and 283 transitions. [2022-04-08 12:28:50,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 12:28:50,850 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 12:28:50,850 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:50,850 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 12:28:50,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-08 12:28:50,852 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 12:28:50,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-08 12:28:50,853 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 106 transitions. [2022-04-08 12:28:50,927 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 12:28:50,929 INFO L225 Difference]: With dead ends: 202 [2022-04-08 12:28:50,929 INFO L226 Difference]: Without dead ends: 113 [2022-04-08 12:28:50,929 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 12:28:50,930 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 38 mSDsluCounter, 215 mSDsCounter, 0 mSdLazyCounter, 189 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 214 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 189 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:28:50,930 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 12:28:50,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-08 12:28:51,236 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 111. [2022-04-08 12:28:51,236 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:51,236 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 12:28:51,237 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 12:28:51,237 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 12:28:51,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:51,240 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-08 12:28:51,240 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-08 12:28:51,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:51,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:51,241 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 12:28:51,241 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 12:28:51,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:51,244 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-08 12:28:51,244 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-08 12:28:51,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:51,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:51,245 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:51,245 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:51,245 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 12:28:51,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 151 transitions. [2022-04-08 12:28:51,248 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 151 transitions. Word has length 72 [2022-04-08 12:28:51,248 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:51,248 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 151 transitions. [2022-04-08 12:28:51,248 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 12:28:51,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 151 transitions. [2022-04-08 12:28:51,474 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 12:28:51,474 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 151 transitions. [2022-04-08 12:28:51,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 12:28:51,475 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:51,475 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 12:28:51,491 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 12:28:51,691 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 12:28:51,691 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:51,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:51,692 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-08 12:28:51,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:51,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [420649472] [2022-04-08 12:28:51,692 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:51,692 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-08 12:28:51,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:51,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1419090831] [2022-04-08 12:28:51,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:51,693 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:51,703 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:51,703 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [529116544] [2022-04-08 12:28:51,703 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:28:51,703 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:51,703 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:51,704 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 12:28:51,707 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 12:28:51,746 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:28:51,746 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:51,763 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 12:28:51,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:51,776 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:55,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-08 12:28:55,364 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 12:28:55,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-08 12:28:55,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-08 12:28:55,364 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 12:28:55,364 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 12:28:55,375 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 12:28:55,376 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 12:28:55,376 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 12:28:55,376 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 12:28:55,377 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 12:28:55,377 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 12:28:55,377 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,378 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 12:28:55,378 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 12:28:55,378 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,378 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,378 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,378 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 12:28:55,378 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 12:28:55,378 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,378 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,378 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,379 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 12:28:55,379 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 12:28:55,379 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-08 12:28:55,380 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 12:28:55,380 INFO L290 TraceCheckUtils]: 30: Hoare triple {7820#(<= main_~c~0 1)} assume !false; {7820#(<= main_~c~0 1)} is VALID [2022-04-08 12:28:55,380 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 12:28:55,381 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 12:28:55,381 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 12:28:55,381 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,381 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,381 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,382 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 12:28:55,382 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 12:28:55,382 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,382 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,382 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,383 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 12:28:55,383 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 12:28:55,383 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,383 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,383 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 12:28:55,383 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 12:28:55,384 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,384 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,384 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,384 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 12:28:55,385 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 12:28:55,386 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 12:28:55,386 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 12:28:55,386 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,386 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,386 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,387 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 12:28:55,387 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 12:28:55,387 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,387 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,387 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,388 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 12:28:55,388 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 12:28:55,388 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,388 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,388 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,388 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 12:28:55,388 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 12:28:55,388 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:55,389 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:55,389 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:55,389 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 12:28:55,389 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 12:28:55,390 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 12:28:55,391 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 12:28:55,391 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 12:28:55,391 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 12:28:55,391 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-08 12:28:55,391 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-08 12:28:55,391 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 12:28:55,391 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-08 12:28:55,392 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-08 12:28:55,392 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-08 12:28:55,392 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 12:28:55,392 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:56,030 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-08 12:28:56,030 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-08 12:28:56,030 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-08 12:28:56,031 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 12:28:56,031 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-08 12:28:56,031 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-08 12:28:56,031 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 12:28:56,031 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 12:28:56,031 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 12:28:56,032 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 12:28:56,032 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 12:28:56,033 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 12:28:56,033 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,033 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,033 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,033 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 12:28:56,033 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 12:28:56,033 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,034 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,034 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,034 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 12:28:56,034 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 12:28:56,034 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,034 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,034 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,035 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 12:28:56,035 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 12:28:56,035 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,035 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,035 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,035 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 12:28:56,036 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 12:28:56,036 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 12:28:56,037 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 12:28:56,037 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,037 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,037 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,037 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 12:28:56,040 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 12:28:56,040 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,040 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,040 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,040 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 12:28:56,042 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 12:28:56,042 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,042 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,042 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,042 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 12:28:56,043 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 12:28:56,043 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,043 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,043 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,043 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 12:28:56,044 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 12:28:56,051 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 12:28:56,052 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 12:28:56,052 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 12:28:56,053 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-08 12:28:56,053 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 12:28:56,053 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 12:28:56,053 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,053 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,054 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 12:28:56,054 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 12:28:56,054 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,054 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,054 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,054 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 12:28:56,055 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 12:28:56,055 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,055 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-08 12:28:56,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-08 12:28:56,055 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 12:28:56,055 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 12:28:56,056 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 12:28:56,056 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 12:28:56,056 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 12:28:56,057 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 12:28:56,057 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 12:28:56,057 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 12:28:56,057 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-08 12:28:56,057 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-08 12:28:56,057 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-08 12:28:56,057 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 12:28:56,057 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-08 12:28:56,057 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 12:28:56,058 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:56,058 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1419090831] [2022-04-08 12:28:56,058 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:56,058 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [529116544] [2022-04-08 12:28:56,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [529116544] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:28:56,058 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:28:56,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 12:28:56,058 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:56,058 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [420649472] [2022-04-08 12:28:56,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [420649472] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:56,058 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:56,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:28:56,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1487393108] [2022-04-08 12:28:56,059 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:56,059 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 12:28:56,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:56,059 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 12:28:56,100 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 12:28:56,101 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:28:56,101 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:56,101 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:28:56,101 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:28:56,101 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 12:28:56,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:56,747 INFO L93 Difference]: Finished difference Result 127 states and 163 transitions. [2022-04-08 12:28:56,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:28:56,751 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 12:28:56,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:56,752 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 12:28:56,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-08 12:28:56,753 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 12:28:56,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-08 12:28:56,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2022-04-08 12:28:56,811 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 12:28:56,812 INFO L225 Difference]: With dead ends: 127 [2022-04-08 12:28:56,812 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 12:28:56,812 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 12:28:56,813 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 12:28:56,813 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 12:28:56,813 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 12:28:56,813 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 12:28:56,813 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:56,813 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 12:28:56,813 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 12:28:56,813 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 12:28:56,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:56,814 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 12:28:56,814 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 12:28:56,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:56,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:56,814 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 12:28:56,814 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 12:28:56,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:56,814 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 12:28:56,814 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 12:28:56,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:56,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:56,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:56,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:56,814 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 12:28:56,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 12:28:56,815 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-08 12:28:56,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:56,815 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 12:28:56,815 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 12:28:56,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 12:28:56,815 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 12:28:56,815 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 12:28:56,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:56,817 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 12:28:56,833 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 12:28:57,019 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 12:28:57,021 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 12:28:58,824 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-08 12:28:58,824 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-08 12:28:58,824 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-08 12:28:58,824 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-08 12:28:58,824 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 12:28:58,825 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 12:28:58,825 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 12:28:58,825 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 12:28:58,825 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 12:28:58,825 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 76) the Hoare annotation is: true [2022-04-08 12:28:58,825 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 12:28:58,825 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 12:28:58,825 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 12:28:58,825 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 12:28:58,825 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 12:28:58,825 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 12:28:58,825 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 12:28:58,826 INFO L885 garLoopResultBuilder]: At program point L74(line 74) the Hoare annotation is: true [2022-04-08 12:28:58,826 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 12:28:58,826 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 12:28:58,826 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 12:28:58,826 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 76) the Hoare annotation is: true [2022-04-08 12:28:58,826 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 12:28:58,826 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 12:28:58,826 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 76) the Hoare annotation is: true [2022-04-08 12:28:58,826 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 12:28:58,826 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-08 12:28:58,826 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 12:28:58,826 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 12:28:58,826 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 12:28:58,826 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 12:28:58,827 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 12:28:58,827 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 12:28:58,827 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 12:28:58,827 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 12:28:58,827 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 12:28:58,827 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 12:28:58,827 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-08 12:28:58,827 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 12:28:58,827 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 12:28:58,827 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 12:28:58,827 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 12:28:58,827 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 12:28:58,829 INFO L719 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-08 12:28:58,830 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 12:28:58,832 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 12:28:58,841 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 12:28:58,897 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 12:28:58,907 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 12:28:58 BoogieIcfgContainer [2022-04-08 12:28:58,907 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 12:28:58,908 INFO L158 Benchmark]: Toolchain (without parser) took 40266.27ms. Allocated memory was 199.2MB in the beginning and 315.6MB in the end (delta: 116.4MB). Free memory was 148.6MB in the beginning and 114.4MB in the end (delta: 34.2MB). Peak memory consumption was 157.8MB. Max. memory is 8.0GB. [2022-04-08 12:28:58,908 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 199.2MB. Free memory is still 164.7MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 12:28:58,908 INFO L158 Benchmark]: CACSL2BoogieTranslator took 182.01ms. Allocated memory is still 199.2MB. Free memory was 148.4MB in the beginning and 174.0MB in the end (delta: -25.6MB). Peak memory consumption was 13.0MB. Max. memory is 8.0GB. [2022-04-08 12:28:58,908 INFO L158 Benchmark]: Boogie Preprocessor took 33.89ms. Allocated memory is still 199.2MB. Free memory was 174.0MB in the beginning and 172.3MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-08 12:28:58,908 INFO L158 Benchmark]: RCFGBuilder took 284.81ms. Allocated memory is still 199.2MB. Free memory was 172.3MB in the beginning and 159.3MB in the end (delta: 13.0MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 12:28:58,909 INFO L158 Benchmark]: TraceAbstraction took 39762.12ms. Allocated memory was 199.2MB in the beginning and 315.6MB in the end (delta: 116.4MB). Free memory was 159.1MB in the beginning and 114.4MB in the end (delta: 44.7MB). Peak memory consumption was 168.9MB. Max. memory is 8.0GB. [2022-04-08 12:28:58,909 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.15ms. Allocated memory is still 199.2MB. Free memory is still 164.7MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 182.01ms. Allocated memory is still 199.2MB. Free memory was 148.4MB in the beginning and 174.0MB in the end (delta: -25.6MB). Peak memory consumption was 13.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 33.89ms. Allocated memory is still 199.2MB. Free memory was 174.0MB in the beginning and 172.3MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 284.81ms. Allocated memory is still 199.2MB. Free memory was 172.3MB in the beginning and 159.3MB in the end (delta: 13.0MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 39762.12ms. Allocated memory was 199.2MB in the beginning and 315.6MB in the end (delta: 116.4MB). Free memory was 159.1MB in the beginning and 114.4MB in the end (delta: 44.7MB). Peak memory consumption was 168.9MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 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: 39.6s, OverallIterations: 10, TraceHistogramMax: 9, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 8.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.8s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 405 SdHoareTripleChecker+Valid, 1.9s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 359 mSDsluCounter, 1830 SdHoareTripleChecker+Invalid, 1.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1387 mSDsCounter, 243 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1632 IncrementalHoareTripleChecker+Invalid, 1875 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 243 mSolverCounterUnsat, 443 mSDtfsCounter, 1632 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1027 GetRequests, 877 SyntacticMatches, 6 SemanticMatches, 144 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 399 ImplicationChecksByTransitivity, 1.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=144occurred in iteration=8, InterpolantAutomatonStates: 87, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.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.5s 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 12:28:58,941 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...