/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 05:43:33,036 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 05:43:33,038 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 05:43:33,091 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 05:43:33,091 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 05:43:33,092 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 05:43:33,104 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 05:43:33,105 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 05:43:33,106 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 05:43:33,107 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 05:43:33,107 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 05:43:33,108 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 05:43:33,108 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 05:43:33,109 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 05:43:33,110 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 05:43:33,110 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 05:43:33,111 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 05:43:33,111 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 05:43:33,112 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 05:43:33,113 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 05:43:33,114 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 05:43:33,115 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 05:43:33,116 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 05:43:33,117 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 05:43:33,117 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 05:43:33,119 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 05:43:33,119 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 05:43:33,119 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 05:43:33,119 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 05:43:33,120 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 05:43:33,120 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 05:43:33,120 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 05:43:33,121 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 05:43:33,121 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 05:43:33,122 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 05:43:33,122 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 05:43:33,122 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 05:43:33,123 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 05:43:33,123 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 05:43:33,123 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 05:43:33,124 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 05:43:33,138 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 05:43:33,139 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 05:43:33,145 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 05:43:33,145 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 05:43:33,146 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 05:43:33,146 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 05:43:33,146 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 05:43:33,146 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 05:43:33,146 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 05:43:33,146 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 05:43:33,146 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 05:43:33,146 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 05:43:33,147 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 05:43:33,147 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 05:43:33,147 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 05:43:33,147 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 05:43:33,147 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 05:43:33,147 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 05:43:33,147 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 05:43:33,147 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 05:43:33,147 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:43:33,148 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 05:43:33,148 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 05:43:33,148 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 05:43:33,148 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 05:43:33,148 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 05:43:33,148 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 05:43:33,148 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 05:43:33,317 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 05:43:33,343 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 05:43:33,345 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 05:43:33,345 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 05:43:33,349 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 05:43:33,350 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-04-08 05:43:33,423 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6e8cf68e4/f7605285f9f64438beeda99103f28a5a/FLAG87a09d809 [2022-04-08 05:43:33,795 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 05:43:33,795 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-04-08 05:43:33,801 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6e8cf68e4/f7605285f9f64438beeda99103f28a5a/FLAG87a09d809 [2022-04-08 05:43:33,811 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6e8cf68e4/f7605285f9f64438beeda99103f28a5a [2022-04-08 05:43:33,814 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 05:43:33,815 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 05:43:33,816 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 05:43:33,816 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 05:43:33,819 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 05:43:33,822 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:43:33" (1/1) ... [2022-04-08 05:43:33,823 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6e4c1d78 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:33, skipping insertion in model container [2022-04-08 05:43:33,823 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:43:33" (1/1) ... [2022-04-08 05:43:33,827 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 05:43:33,837 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 05:43:33,991 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/egcd2-ll_valuebound1.c[490,503] [2022-04-08 05:43:34,021 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:43:34,026 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 05:43:34,042 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/egcd2-ll_valuebound1.c[490,503] [2022-04-08 05:43:34,055 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:43:34,062 INFO L208 MainTranslator]: Completed translation [2022-04-08 05:43:34,063 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34 WrapperNode [2022-04-08 05:43:34,068 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 05:43:34,069 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 05:43:34,069 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 05:43:34,069 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 05:43:34,076 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34" (1/1) ... [2022-04-08 05:43:34,076 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34" (1/1) ... [2022-04-08 05:43:34,086 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34" (1/1) ... [2022-04-08 05:43:34,087 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34" (1/1) ... [2022-04-08 05:43:34,099 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34" (1/1) ... [2022-04-08 05:43:34,101 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34" (1/1) ... [2022-04-08 05:43:34,102 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34" (1/1) ... [2022-04-08 05:43:34,103 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 05:43:34,104 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 05:43:34,104 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 05:43:34,104 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 05:43:34,108 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34" (1/1) ... [2022-04-08 05:43:34,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:43:34,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:43:34,151 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 05:43:34,174 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 05:43:34,204 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 05:43:34,204 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 05:43:34,204 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 05:43:34,204 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 05:43:34,204 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 05:43:34,204 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 05:43:34,204 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 05:43:34,204 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 05:43:34,204 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 05:43:34,204 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 05:43:34,204 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 05:43:34,205 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 05:43:34,205 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 05:43:34,205 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 05:43:34,205 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 05:43:34,205 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 05:43:34,205 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 05:43:34,205 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 05:43:34,205 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 05:43:34,205 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 05:43:34,246 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 05:43:34,247 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 05:43:34,375 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 05:43:34,379 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 05:43:34,379 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 05:43:34,380 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:43:34 BoogieIcfgContainer [2022-04-08 05:43:34,380 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 05:43:34,381 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 05:43:34,381 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 05:43:34,383 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 05:43:34,383 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 05:43:33" (1/3) ... [2022-04-08 05:43:34,384 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6474b16e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:43:34, skipping insertion in model container [2022-04-08 05:43:34,384 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:43:34" (2/3) ... [2022-04-08 05:43:34,384 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6474b16e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:43:34, skipping insertion in model container [2022-04-08 05:43:34,384 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:43:34" (3/3) ... [2022-04-08 05:43:34,385 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound1.c [2022-04-08 05:43:34,388 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 05:43:34,388 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 05:43:34,415 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 05:43:34,418 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 05:43:34,418 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 05:43:34,436 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 05:43:34,442 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 05:43:34,442 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:43:34,448 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:43:34,448 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:43:34,451 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:43:34,451 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-08 05:43:34,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:34,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [833764047] [2022-04-08 05:43:34,475 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:43:34,476 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 2 times [2022-04-08 05:43:34,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:43:34,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1267027912] [2022-04-08 05:43:34,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:43:34,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:43:34,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:34,639 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:43:34,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:34,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-08 05:43:34,663 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 05:43:34,663 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-08 05:43:34,664 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:43:34,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:34,685 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-08 05:43:34,686 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 05:43:34,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:34,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-08 05:43:34,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 05:43:34,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:34,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-08 05:43:34,703 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 05:43:34,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:34,716 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-08 05:43:34,717 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 05:43:34,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:34,723 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-08 05:43:34,724 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-08 05:43:34,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:34,733 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-08 05:43:34,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 05:43:34,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-08 05:43:34,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 05:43:34,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-08 05:43:34,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-08 05:43:34,737 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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-08 05:43:34,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 05:43:34,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,739 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-08 05:43:34,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-08 05:43:34,740 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 05:43:34,740 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,740 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,742 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-08 05:43:34,742 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 05:43:34,742 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,742 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,743 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,745 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-08 05:43:34,745 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 05:43:34,745 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,746 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,746 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,746 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-08 05:43:34,746 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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {44#false} is VALID [2022-04-08 05:43:34,746 INFO L272 TraceCheckUtils]: 28: Hoare triple {44#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-08 05:43:34,746 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,747 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,747 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,748 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-08 05:43:34,748 INFO L272 TraceCheckUtils]: 33: Hoare triple {44#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-08 05:43:34,748 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 05:43:34,748 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 05:43:34,749 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 05:43:34,749 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-08 05:43:34,749 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-08 05:43:34,750 INFO L272 TraceCheckUtils]: 39: Hoare triple {44#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {44#false} is VALID [2022-04-08 05:43:34,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-08 05:43:34,752 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-08 05:43:34,752 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-08 05:43:34,752 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 05:43:34,753 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:43:34,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1267027912] [2022-04-08 05:43:34,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1267027912] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:43:34,753 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:43:34,753 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:43:34,755 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:43:34,755 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [833764047] [2022-04-08 05:43:34,755 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [833764047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:43:34,755 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:43:34,756 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:43:34,756 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1601300460] [2022-04-08 05:43:34,756 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:43:34,759 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 05:43:34,760 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:43:34,762 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:34,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:34,801 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 05:43:34,801 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:34,819 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 05:43:34,820 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:43:34,823 INFO L87 Difference]: Start difference. First operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:34,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:34,987 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-08 05:43:34,987 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 05:43:34,987 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 05:43:34,987 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:43:34,988 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:34,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-08 05:43:34,997 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:35,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-08 05:43:35,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-08 05:43:35,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:35,121 INFO L225 Difference]: With dead ends: 73 [2022-04-08 05:43:35,121 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 05:43:35,124 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:43:35,127 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:43:35,128 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 42 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:43:35,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 05:43:35,154 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-08 05:43:35,154 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:43:35,155 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 05:43:35,156 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 05:43:35,157 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 05:43:35,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:35,165 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-08 05:43:35,165 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 05:43:35,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:35,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:35,167 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-08 05:43:35,167 INFO L87 Difference]: Start difference. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-08 05:43:35,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:35,175 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-08 05:43:35,175 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 05:43:35,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:35,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:35,177 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:43:35,177 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:43:35,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 05:43:35,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-08 05:43:35,179 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-08 05:43:35,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:43:35,180 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-08 05:43:35,180 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:35,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 46 transitions. [2022-04-08 05:43:35,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:35,223 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 05:43:35,224 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 05:43:35,224 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:43:35,224 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:43:35,224 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 05:43:35,225 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:43:35,226 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:43:35,226 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-08 05:43:35,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:35,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1151420687] [2022-04-08 05:43:35,227 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:43:35,227 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 2 times [2022-04-08 05:43:35,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:43:35,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [297429222] [2022-04-08 05:43:35,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:43:35,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:43:35,262 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:43:35,262 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [227658641] [2022-04-08 05:43:35,262 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:43:35,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:43:35,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:43:35,276 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:43:35,277 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 05:43:35,324 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:43:35,325 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:43:35,326 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 05:43:35,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:35,350 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:43:35,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-08 05:43:35,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#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); {361#true} is VALID [2022-04-08 05:43:35,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-08 05:43:35,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-08 05:43:35,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-08 05:43:35,514 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,515 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-08 05:43:35,515 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-08 05:43:35,515 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,515 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,515 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,515 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-08 05:43:35,516 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,516 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,516 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,516 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-08 05:43:35,516 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,517 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:43:35,517 INFO L290 TraceCheckUtils]: 24: Hoare triple {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:43:35,518 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:43:35,518 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-08 05:43:35,519 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 05:43:35,519 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,519 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,519 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,519 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,520 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 05:43:35,520 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,520 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,520 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,520 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,521 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 05:43:35,521 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 05:43:35,522 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-08 05:43:35,522 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-08 05:43:35,522 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-08 05:43:35,522 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-08 05:43:35,522 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-08 05:43:35,522 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-08 05:43:35,523 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:43:35,725 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-08 05:43:35,725 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-08 05:43:35,726 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-08 05:43:35,726 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-08 05:43:35,726 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-08 05:43:35,726 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 05:43:35,727 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 05:43:35,727 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,727 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,728 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,728 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 05:43:35,728 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,728 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,729 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,729 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,729 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 05:43:35,730 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-08 05:43:35,730 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:43:35,730 INFO L290 TraceCheckUtils]: 24: Hoare triple {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:43:35,731 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:43:35,731 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,731 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-08 05:43:35,731 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,731 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,732 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,732 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,732 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-08 05:43:35,732 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,732 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,732 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,732 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,732 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-08 05:43:35,733 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-08 05:43:35,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 05:43:35,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 05:43:35,733 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 05:43:35,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-08 05:43:35,733 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-08 05:43:35,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-08 05:43:35,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 05:43:35,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#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); {361#true} is VALID [2022-04-08 05:43:35,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-08 05:43:35,734 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-08 05:43:35,734 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:43:35,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [297429222] [2022-04-08 05:43:35,735 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:43:35,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [227658641] [2022-04-08 05:43:35,735 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [227658641] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:43:35,735 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:43:35,735 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-08 05:43:35,736 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:43:35,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1151420687] [2022-04-08 05:43:35,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1151420687] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:43:35,736 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:43:35,736 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:43:35,736 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [728938558] [2022-04-08 05:43:35,736 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:43:35,737 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-08 05:43:35,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:43:35,737 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:35,758 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:35,759 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:43:35,759 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:35,759 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:43:35,759 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 05:43:35,760 INFO L87 Difference]: Start difference. First operand 35 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:35,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:35,996 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-08 05:43:35,996 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:43:35,996 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-08 05:43:35,996 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:43:35,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:35,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 05:43:35,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:36,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 05:43:36,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-08 05:43:36,050 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:36,052 INFO L225 Difference]: With dead ends: 52 [2022-04-08 05:43:36,052 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 05:43:36,053 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 81 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:43:36,055 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 19 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:43:36,057 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 128 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:43:36,059 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 05:43:36,084 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-08 05:43:36,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:43:36,084 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 05:43:36,085 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 05:43:36,088 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 05:43:36,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:36,094 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-08 05:43:36,094 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-08 05:43:36,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:36,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:36,097 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-08 05:43:36,098 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-08 05:43:36,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:36,105 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-08 05:43:36,105 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-08 05:43:36,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:36,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:36,107 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:43:36,107 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:43:36,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 05:43:36,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-08 05:43:36,110 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-08 05:43:36,111 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:43:36,111 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-08 05:43:36,111 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:43:36,111 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-08 05:43:36,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:36,169 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-08 05:43:36,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 05:43:36,170 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:43:36,170 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:43:36,205 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 05:43:36,406 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:43:36,406 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:43:36,407 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:43:36,407 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-08 05:43:36,407 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:36,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1581632940] [2022-04-08 05:43:36,407 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:43:36,407 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 2 times [2022-04-08 05:43:36,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:43:36,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2067554343] [2022-04-08 05:43:36,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:43:36,408 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:43:36,422 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:43:36,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1862564725] [2022-04-08 05:43:36,422 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:43:36,422 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:43:36,422 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:43:36,439 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:43:36,440 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 05:43:36,473 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 05:43:36,473 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:43:36,474 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 05:43:36,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:36,483 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:43:36,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {901#true} call ULTIMATE.init(); {901#true} is VALID [2022-04-08 05:43:36,618 INFO L290 TraceCheckUtils]: 1: Hoare triple {901#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); {901#true} is VALID [2022-04-08 05:43:36,618 INFO L290 TraceCheckUtils]: 2: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 05:43:36,618 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {901#true} {901#true} #103#return; {901#true} is VALID [2022-04-08 05:43:36,618 INFO L272 TraceCheckUtils]: 4: Hoare triple {901#true} call #t~ret6 := main(); {901#true} is VALID [2022-04-08 05:43:36,618 INFO L290 TraceCheckUtils]: 5: Hoare triple {901#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {901#true} is VALID [2022-04-08 05:43:36,618 INFO L272 TraceCheckUtils]: 6: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 05:43:36,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 05:43:36,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 05:43:36,618 INFO L290 TraceCheckUtils]: 9: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 05:43:36,619 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {901#true} {901#true} #79#return; {901#true} is VALID [2022-04-08 05:43:36,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {901#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {901#true} is VALID [2022-04-08 05:43:36,619 INFO L272 TraceCheckUtils]: 12: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 05:43:36,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 05:43:36,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 05:43:36,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 05:43:36,619 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {901#true} {901#true} #81#return; {901#true} is VALID [2022-04-08 05:43:36,619 INFO L272 TraceCheckUtils]: 17: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 05:43:36,619 INFO L290 TraceCheckUtils]: 18: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 05:43:36,619 INFO L290 TraceCheckUtils]: 19: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 05:43:36,619 INFO L290 TraceCheckUtils]: 20: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 05:43:36,620 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {901#true} {901#true} #83#return; {901#true} is VALID [2022-04-08 05:43:36,620 INFO L272 TraceCheckUtils]: 22: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 05:43:36,620 INFO L290 TraceCheckUtils]: 23: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 05:43:36,620 INFO L290 TraceCheckUtils]: 24: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 05:43:36,620 INFO L290 TraceCheckUtils]: 25: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 05:43:36,620 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {901#true} {901#true} #85#return; {901#true} is VALID [2022-04-08 05:43:36,620 INFO L290 TraceCheckUtils]: 27: Hoare triple {901#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {901#true} is VALID [2022-04-08 05:43:36,620 INFO L272 TraceCheckUtils]: 28: Hoare triple {901#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-08 05:43:36,620 INFO L290 TraceCheckUtils]: 29: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 05:43:36,620 INFO L290 TraceCheckUtils]: 30: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 05:43:36,620 INFO L290 TraceCheckUtils]: 31: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 05:43:36,620 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {901#true} {901#true} #87#return; {901#true} is VALID [2022-04-08 05:43:36,621 INFO L272 TraceCheckUtils]: 33: Hoare triple {901#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-08 05:43:36,621 INFO L290 TraceCheckUtils]: 34: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 05:43:36,621 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 05:43:36,621 INFO L290 TraceCheckUtils]: 36: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 05:43:36,621 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {901#true} {901#true} #89#return; {901#true} is VALID [2022-04-08 05:43:36,621 INFO L290 TraceCheckUtils]: 38: Hoare triple {901#true} assume !false; {901#true} is VALID [2022-04-08 05:43:36,623 INFO L290 TraceCheckUtils]: 39: Hoare triple {901#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 05:43:36,623 INFO L290 TraceCheckUtils]: 40: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 05:43:36,624 INFO L272 TraceCheckUtils]: 41: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:43:36,624 INFO L290 TraceCheckUtils]: 42: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:36,625 INFO L290 TraceCheckUtils]: 43: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {902#false} is VALID [2022-04-08 05:43:36,625 INFO L290 TraceCheckUtils]: 44: Hoare triple {902#false} assume !false; {902#false} is VALID [2022-04-08 05:43:36,625 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 05:43:36,625 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:43:36,625 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:43:36,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2067554343] [2022-04-08 05:43:36,625 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:43:36,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1862564725] [2022-04-08 05:43:36,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1862564725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:43:36,625 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:43:36,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:43:36,626 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:43:36,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1581632940] [2022-04-08 05:43:36,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1581632940] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:43:36,626 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:43:36,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:43:36,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [980231227] [2022-04-08 05:43:36,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:43:36,626 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-08 05:43:36,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:43:36,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 05:43:36,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:36,650 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:43:36,650 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:36,651 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:43:36,651 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:43:36,651 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 05:43:36,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:36,861 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-04-08 05:43:36,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:43:36,861 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-08 05:43:36,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:43:36,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 05:43:36,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 05:43:36,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 05:43:36,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 05:43:36,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-08 05:43:36,907 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:36,908 INFO L225 Difference]: With dead ends: 50 [2022-04-08 05:43:36,908 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 05:43:36,908 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:43:36,909 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 6 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:43:36,909 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 154 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:43:36,910 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 05:43:36,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 43. [2022-04-08 05:43:36,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:43:36,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:43:36,930 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:43:36,931 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:43:36,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:36,932 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-08 05:43:36,932 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-08 05:43:36,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:36,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:36,933 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-08 05:43:36,933 INFO L87 Difference]: Start difference. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-08 05:43:36,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:36,935 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-08 05:43:36,935 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-08 05:43:36,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:36,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:36,935 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:43:36,935 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:43:36,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:43:36,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 54 transitions. [2022-04-08 05:43:36,936 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 54 transitions. Word has length 45 [2022-04-08 05:43:36,937 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:43:36,937 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 54 transitions. [2022-04-08 05:43:36,937 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 05:43:36,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 54 transitions. [2022-04-08 05:43:36,989 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:43:36,989 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 05:43:36,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 05:43:36,990 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:43:36,990 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 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] [2022-04-08 05:43:37,009 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 05:43:37,203 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 05:43:37,203 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:43:37,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:43:37,204 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-08 05:43:37,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:37,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [270290655] [2022-04-08 05:43:37,205 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:43:37,205 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 2 times [2022-04-08 05:43:37,205 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:43:37,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1982165581] [2022-04-08 05:43:37,205 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:43:37,205 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:43:37,225 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:43:37,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [388318832] [2022-04-08 05:43:37,225 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:43:37,225 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:43:37,225 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:43:37,227 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:43:37,271 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 05:43:37,279 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:43:37,280 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:43:37,281 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 05:43:37,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:43:37,301 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:43:37,647 INFO L272 TraceCheckUtils]: 0: Hoare triple {1324#true} call ULTIMATE.init(); {1324#true} is VALID [2022-04-08 05:43:37,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {1324#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); {1324#true} is VALID [2022-04-08 05:43:37,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 05:43:37,648 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1324#true} {1324#true} #103#return; {1324#true} is VALID [2022-04-08 05:43:37,648 INFO L272 TraceCheckUtils]: 4: Hoare triple {1324#true} call #t~ret6 := main(); {1324#true} is VALID [2022-04-08 05:43:37,648 INFO L290 TraceCheckUtils]: 5: Hoare triple {1324#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1324#true} is VALID [2022-04-08 05:43:37,648 INFO L272 TraceCheckUtils]: 6: Hoare triple {1324#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1324#true} is VALID [2022-04-08 05:43:37,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {1324#true} ~cond := #in~cond; {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:43:37,649 INFO L290 TraceCheckUtils]: 8: Hoare triple {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:43:37,649 INFO L290 TraceCheckUtils]: 9: Hoare triple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:43:37,650 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} {1324#true} #79#return; {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:43:37,650 INFO L290 TraceCheckUtils]: 11: Hoare triple {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:43:37,650 INFO L272 TraceCheckUtils]: 12: Hoare triple {1361#(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)); {1324#true} is VALID [2022-04-08 05:43:37,650 INFO L290 TraceCheckUtils]: 13: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 05:43:37,650 INFO L290 TraceCheckUtils]: 14: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 05:43:37,650 INFO L290 TraceCheckUtils]: 15: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 05:43:37,651 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1324#true} {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:43:37,651 INFO L272 TraceCheckUtils]: 17: Hoare triple {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-08 05:43:37,652 INFO L290 TraceCheckUtils]: 18: Hoare triple {1324#true} ~cond := #in~cond; {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:43:37,652 INFO L290 TraceCheckUtils]: 19: Hoare triple {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:43:37,652 INFO L290 TraceCheckUtils]: 20: Hoare triple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:43:37,653 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #83#return; {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:43:37,653 INFO L272 TraceCheckUtils]: 22: Hoare triple {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-08 05:43:37,653 INFO L290 TraceCheckUtils]: 23: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 05:43:37,653 INFO L290 TraceCheckUtils]: 24: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 05:43:37,653 INFO L290 TraceCheckUtils]: 25: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 05:43:37,655 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1324#true} {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} #85#return; {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:43:37,655 INFO L290 TraceCheckUtils]: 27: Hoare triple {1395#(and (<= 1 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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:37,655 INFO L272 TraceCheckUtils]: 28: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-08 05:43:37,656 INFO L290 TraceCheckUtils]: 29: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 05:43:37,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 05:43:37,656 INFO L290 TraceCheckUtils]: 31: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 05:43:37,656 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1324#true} {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:37,656 INFO L272 TraceCheckUtils]: 33: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-08 05:43:37,657 INFO L290 TraceCheckUtils]: 34: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 05:43:37,657 INFO L290 TraceCheckUtils]: 35: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 05:43:37,657 INFO L290 TraceCheckUtils]: 36: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 05:43:37,658 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1324#true} {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:37,658 INFO L290 TraceCheckUtils]: 38: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:37,659 INFO L290 TraceCheckUtils]: 39: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:37,663 INFO L290 TraceCheckUtils]: 40: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:37,664 INFO L272 TraceCheckUtils]: 41: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1324#true} is VALID [2022-04-08 05:43:37,664 INFO L290 TraceCheckUtils]: 42: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 05:43:37,664 INFO L290 TraceCheckUtils]: 43: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 05:43:37,664 INFO L290 TraceCheckUtils]: 44: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 05:43:37,665 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1324#true} {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:43:37,665 INFO L272 TraceCheckUtils]: 46: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1472#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:43:37,666 INFO L290 TraceCheckUtils]: 47: Hoare triple {1472#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1476#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:37,666 INFO L290 TraceCheckUtils]: 48: Hoare triple {1476#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1325#false} is VALID [2022-04-08 05:43:37,666 INFO L290 TraceCheckUtils]: 49: Hoare triple {1325#false} assume !false; {1325#false} is VALID [2022-04-08 05:43:37,666 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 5 proven. 21 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-08 05:43:37,666 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:44:14,191 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:44:14,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1982165581] [2022-04-08 05:44:14,191 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:44:14,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [388318832] [2022-04-08 05:44:14,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [388318832] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 05:44:14,191 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:44:14,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-08 05:44:14,191 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:44:14,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [270290655] [2022-04-08 05:44:14,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [270290655] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:44:14,192 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:44:14,192 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:44:14,192 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [355590607] [2022-04-08 05:44:14,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:44:14,192 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-08 05:44:14,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:44:14,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 05:44:14,228 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:44:14,229 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:44:14,229 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:44:14,229 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:44:14,229 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 05:44:14,229 INFO L87 Difference]: Start difference. First operand 43 states and 54 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 05:44:14,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:44:14,682 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2022-04-08 05:44:14,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:44:14,682 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-08 05:44:14,682 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:44:14,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 05:44:14,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 05:44:14,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 05:44:14,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 05:44:14,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-08 05:44:14,739 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:44:14,740 INFO L225 Difference]: With dead ends: 58 [2022-04-08 05:44:14,741 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 05:44:14,741 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:44:14,741 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 31 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 139 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 153 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:44:14,742 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 193 Invalid, 153 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 139 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:44:14,742 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 05:44:14,798 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-08 05:44:14,798 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:44:14,799 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:44:14,799 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:44:14,799 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:44:14,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:44:14,801 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-08 05:44:14,801 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-08 05:44:14,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:44:14,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:44:14,802 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-08 05:44:14,802 INFO L87 Difference]: Start difference. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-08 05:44:14,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:44:14,804 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-08 05:44:14,804 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-08 05:44:14,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:44:14,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:44:14,804 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:44:14,804 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:44:14,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:44:14,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 71 transitions. [2022-04-08 05:44:14,806 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 71 transitions. Word has length 50 [2022-04-08 05:44:14,806 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:44:14,806 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 71 transitions. [2022-04-08 05:44:14,806 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 05:44:14,806 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 71 transitions. [2022-04-08 05:44:14,901 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:44:14,901 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 71 transitions. [2022-04-08 05:44:14,901 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 05:44:14,901 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:44:14,901 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 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, 1, 1] [2022-04-08 05:44:14,918 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 05:44:15,102 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:44:15,102 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:44:15,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:44:15,102 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-08 05:44:15,103 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:44:15,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1526635354] [2022-04-08 05:44:15,103 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:44:15,103 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 2 times [2022-04-08 05:44:15,103 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:44:15,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [874289809] [2022-04-08 05:44:15,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:44:15,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:44:15,139 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:44:15,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [233511206] [2022-04-08 05:44:15,139 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:44:15,139 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:44:15,140 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:44:15,146 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:44:15,147 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 05:44:15,192 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:44:15,192 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:44:15,193 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 05:44:15,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:44:15,213 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:44:15,858 INFO L272 TraceCheckUtils]: 0: Hoare triple {1840#true} call ULTIMATE.init(); {1840#true} is VALID [2022-04-08 05:44:15,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {1840#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); {1840#true} is VALID [2022-04-08 05:44:15,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1840#true} {1840#true} #103#return; {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L272 TraceCheckUtils]: 4: Hoare triple {1840#true} call #t~ret6 := main(); {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {1840#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L272 TraceCheckUtils]: 6: Hoare triple {1840#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L290 TraceCheckUtils]: 7: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1840#true} {1840#true} #79#return; {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L290 TraceCheckUtils]: 11: Hoare triple {1840#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1840#true} is VALID [2022-04-08 05:44:15,859 INFO L272 TraceCheckUtils]: 12: Hoare triple {1840#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1840#true} is VALID [2022-04-08 05:44:15,861 INFO L290 TraceCheckUtils]: 13: Hoare triple {1840#true} ~cond := #in~cond; {1884#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:44:15,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {1884#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1888#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:15,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {1888#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1888#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:15,862 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1888#(not (= |assume_abort_if_not_#in~cond| 0))} {1840#true} #81#return; {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,862 INFO L272 TraceCheckUtils]: 17: Hoare triple {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1840#true} is VALID [2022-04-08 05:44:15,862 INFO L290 TraceCheckUtils]: 18: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 05:44:15,862 INFO L290 TraceCheckUtils]: 19: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 05:44:15,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 05:44:15,863 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1840#true} {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,863 INFO L272 TraceCheckUtils]: 22: Hoare triple {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1840#true} is VALID [2022-04-08 05:44:15,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 05:44:15,863 INFO L290 TraceCheckUtils]: 24: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 05:44:15,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 05:44:15,864 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1840#true} {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,864 INFO L290 TraceCheckUtils]: 27: Hoare triple {1895#(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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,864 INFO L272 TraceCheckUtils]: 28: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1840#true} is VALID [2022-04-08 05:44:15,864 INFO L290 TraceCheckUtils]: 29: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 05:44:15,865 INFO L290 TraceCheckUtils]: 30: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 05:44:15,865 INFO L290 TraceCheckUtils]: 31: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 05:44:15,865 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1840#true} {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #87#return; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,865 INFO L272 TraceCheckUtils]: 33: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1840#true} is VALID [2022-04-08 05:44:15,865 INFO L290 TraceCheckUtils]: 34: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 05:44:15,865 INFO L290 TraceCheckUtils]: 35: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 05:44:15,865 INFO L290 TraceCheckUtils]: 36: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 05:44:15,866 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1840#true} {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #89#return; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,866 INFO L290 TraceCheckUtils]: 38: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,867 INFO L290 TraceCheckUtils]: 39: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,867 INFO L290 TraceCheckUtils]: 40: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,867 INFO L272 TraceCheckUtils]: 41: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1840#true} is VALID [2022-04-08 05:44:15,867 INFO L290 TraceCheckUtils]: 42: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 05:44:15,867 INFO L290 TraceCheckUtils]: 43: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 05:44:15,868 INFO L290 TraceCheckUtils]: 44: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 05:44:15,868 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1840#true} {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,868 INFO L272 TraceCheckUtils]: 46: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1840#true} is VALID [2022-04-08 05:44:15,868 INFO L290 TraceCheckUtils]: 47: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 05:44:15,868 INFO L290 TraceCheckUtils]: 48: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 05:44:15,868 INFO L290 TraceCheckUtils]: 49: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 05:44:15,869 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1840#true} {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:15,871 INFO L272 TraceCheckUtils]: 51: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:44:15,871 INFO L290 TraceCheckUtils]: 52: Hoare triple {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2007#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:44:15,871 INFO L290 TraceCheckUtils]: 53: Hoare triple {2007#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1841#false} is VALID [2022-04-08 05:44:15,871 INFO L290 TraceCheckUtils]: 54: Hoare triple {1841#false} assume !false; {1841#false} is VALID [2022-04-08 05:44:15,872 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 7 proven. 12 refuted. 0 times theorem prover too weak. 49 trivial. 0 not checked. [2022-04-08 05:44:15,872 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:44:44,952 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:44:44,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [874289809] [2022-04-08 05:44:44,952 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:44:44,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [233511206] [2022-04-08 05:44:44,952 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [233511206] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 05:44:44,952 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:44:44,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-08 05:44:44,953 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:44:44,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1526635354] [2022-04-08 05:44:44,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1526635354] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:44:44,953 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:44:44,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:44:44,953 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [633133226] [2022-04-08 05:44:44,953 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:44:44,953 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 55 [2022-04-08 05:44:44,954 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:44:44,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:44:44,982 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:44:44,982 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:44:44,982 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:44:44,982 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:44:44,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-08 05:44:44,982 INFO L87 Difference]: Start difference. First operand 55 states and 71 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:44:45,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:44:45,534 INFO L93 Difference]: Finished difference Result 62 states and 77 transitions. [2022-04-08 05:44:45,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:44:45,534 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 55 [2022-04-08 05:44:45,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:44:45,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:44:45,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 05:44:45,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:44:45,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 05:44:45,538 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-08 05:44:45,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:44:45,584 INFO L225 Difference]: With dead ends: 62 [2022-04-08 05:44:45,584 INFO L226 Difference]: Without dead ends: 60 [2022-04-08 05:44:45,584 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:44:45,584 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 22 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 169 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 169 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:44:45,585 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 180 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 169 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 05:44:45,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-08 05:44:45,692 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-08 05:44:45,692 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:44:45,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:44:45,693 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:44:45,693 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:44:45,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:44:45,695 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-08 05:44:45,695 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-08 05:44:45,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:44:45,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:44:45,695 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-08 05:44:45,695 INFO L87 Difference]: Start difference. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-08 05:44:45,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:44:45,697 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-08 05:44:45,697 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-08 05:44:45,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:44:45,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:44:45,697 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:44:45,697 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:44:45,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:44:45,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 74 transitions. [2022-04-08 05:44:45,699 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 74 transitions. Word has length 55 [2022-04-08 05:44:45,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:44:45,699 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 74 transitions. [2022-04-08 05:44:45,699 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:44:45,699 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 74 transitions. [2022-04-08 05:44:45,775 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:44:45,776 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-04-08 05:44:45,776 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-08 05:44:45,776 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:44:45,776 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 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, 1, 1] [2022-04-08 05:44:45,792 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 05:44:45,976 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:44:45,977 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:44:45,977 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:44:45,977 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-08 05:44:45,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:44:45,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [987354639] [2022-04-08 05:44:45,977 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:44:45,977 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 2 times [2022-04-08 05:44:45,978 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:44:45,978 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2123901774] [2022-04-08 05:44:45,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:44:45,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:44:45,990 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:44:45,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [649529872] [2022-04-08 05:44:45,991 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:44:45,991 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:44:45,991 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:44:46,006 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:44:46,016 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 05:44:46,072 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:44:46,072 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:44:46,073 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 05:44:46,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:44:46,102 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:44:47,056 INFO L272 TraceCheckUtils]: 0: Hoare triple {2395#true} call ULTIMATE.init(); {2395#true} is VALID [2022-04-08 05:44:47,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {2395#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); {2395#true} is VALID [2022-04-08 05:44:47,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 05:44:47,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2395#true} {2395#true} #103#return; {2395#true} is VALID [2022-04-08 05:44:47,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {2395#true} call #t~ret6 := main(); {2395#true} is VALID [2022-04-08 05:44:47,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {2395#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2395#true} is VALID [2022-04-08 05:44:47,056 INFO L272 TraceCheckUtils]: 6: Hoare triple {2395#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2395#true} is VALID [2022-04-08 05:44:47,057 INFO L290 TraceCheckUtils]: 7: Hoare triple {2395#true} ~cond := #in~cond; {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:44:47,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:47,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:47,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} {2395#true} #79#return; {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:44:47,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:44:47,058 INFO L272 TraceCheckUtils]: 12: Hoare triple {2432#(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)); {2395#true} is VALID [2022-04-08 05:44:47,058 INFO L290 TraceCheckUtils]: 13: Hoare triple {2395#true} ~cond := #in~cond; {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:44:47,059 INFO L290 TraceCheckUtils]: 14: Hoare triple {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:47,059 INFO L290 TraceCheckUtils]: 15: Hoare triple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:47,059 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {2451#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,059 INFO L272 TraceCheckUtils]: 17: Hoare triple {2451#(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)); {2395#true} is VALID [2022-04-08 05:44:47,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {2395#true} ~cond := #in~cond; {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:44:47,060 INFO L290 TraceCheckUtils]: 19: Hoare triple {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:47,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:44:47,061 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} {2451#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #83#return; {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,061 INFO L272 TraceCheckUtils]: 22: Hoare triple {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2395#true} is VALID [2022-04-08 05:44:47,061 INFO L290 TraceCheckUtils]: 23: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-08 05:44:47,065 INFO L290 TraceCheckUtils]: 24: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-08 05:44:47,065 INFO L290 TraceCheckUtils]: 25: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 05:44:47,065 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2395#true} {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #85#return; {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,066 INFO L290 TraceCheckUtils]: 27: Hoare triple {2467#(and (<= 0 main_~y~0) (<= 1 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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,066 INFO L272 TraceCheckUtils]: 28: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2395#true} is VALID [2022-04-08 05:44:47,066 INFO L290 TraceCheckUtils]: 29: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-08 05:44:47,066 INFO L290 TraceCheckUtils]: 30: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-08 05:44:47,066 INFO L290 TraceCheckUtils]: 31: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 05:44:47,067 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2395#true} {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #87#return; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,067 INFO L272 TraceCheckUtils]: 33: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2395#true} is VALID [2022-04-08 05:44:47,067 INFO L290 TraceCheckUtils]: 34: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-08 05:44:47,067 INFO L290 TraceCheckUtils]: 35: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-08 05:44:47,067 INFO L290 TraceCheckUtils]: 36: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 05:44:47,067 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2395#true} {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #89#return; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,068 INFO L290 TraceCheckUtils]: 38: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,068 INFO L290 TraceCheckUtils]: 39: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,069 INFO L290 TraceCheckUtils]: 40: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,069 INFO L272 TraceCheckUtils]: 41: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#true} is VALID [2022-04-08 05:44:47,069 INFO L290 TraceCheckUtils]: 42: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-08 05:44:47,069 INFO L290 TraceCheckUtils]: 43: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-08 05:44:47,069 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 05:44:47,069 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2395#true} {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,070 INFO L272 TraceCheckUtils]: 46: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2395#true} is VALID [2022-04-08 05:44:47,070 INFO L290 TraceCheckUtils]: 47: Hoare triple {2395#true} ~cond := #in~cond; {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:44:47,070 INFO L290 TraceCheckUtils]: 48: Hoare triple {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:47,070 INFO L290 TraceCheckUtils]: 49: Hoare triple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:47,071 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,071 INFO L272 TraceCheckUtils]: 51: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2395#true} is VALID [2022-04-08 05:44:47,071 INFO L290 TraceCheckUtils]: 52: Hoare triple {2395#true} ~cond := #in~cond; {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:44:47,072 INFO L290 TraceCheckUtils]: 53: Hoare triple {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:47,072 INFO L290 TraceCheckUtils]: 54: Hoare triple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:44:47,072 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #95#return; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:44:47,073 INFO L272 TraceCheckUtils]: 56: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2577#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:44:47,073 INFO L290 TraceCheckUtils]: 57: Hoare triple {2577#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2581#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:44:47,074 INFO L290 TraceCheckUtils]: 58: Hoare triple {2581#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2396#false} is VALID [2022-04-08 05:44:47,074 INFO L290 TraceCheckUtils]: 59: Hoare triple {2396#false} assume !false; {2396#false} is VALID [2022-04-08 05:44:47,074 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 29 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-08 05:44:47,075 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:45:30,811 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:45:30,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2123901774] [2022-04-08 05:45:30,812 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:45:30,812 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [649529872] [2022-04-08 05:45:30,812 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [649529872] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 05:45:30,812 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:45:30,812 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-08 05:45:30,812 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:45:30,812 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [987354639] [2022-04-08 05:45:30,812 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [987354639] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:45:30,812 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:45:30,812 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 05:45:30,812 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [773525036] [2022-04-08 05:45:30,812 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:45:30,813 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) Word has length 60 [2022-04-08 05:45:30,813 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:45:30,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 05:45:30,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:30,846 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 05:45:30,847 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:30,847 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 05:45:30,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:45:30,847 INFO L87 Difference]: Start difference. First operand 59 states and 74 transitions. Second operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 05:45:31,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:31,727 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-04-08 05:45:31,727 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 05:45:31,727 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) Word has length 60 [2022-04-08 05:45:31,728 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:45:31,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 05:45:31,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-08 05:45:31,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 05:45:31,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-08 05:45:31,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 67 transitions. [2022-04-08 05:45:31,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:31,789 INFO L225 Difference]: With dead ends: 68 [2022-04-08 05:45:31,789 INFO L226 Difference]: Without dead ends: 66 [2022-04-08 05:45:31,790 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-08 05:45:31,790 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 31 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 311 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 311 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:45:31,790 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 161 Invalid, 326 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 311 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:45:31,791 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-08 05:45:31,871 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 63. [2022-04-08 05:45:31,871 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:45:31,871 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:45:31,871 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:45:31,871 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:45:31,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:31,873 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-08 05:45:31,873 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-08 05:45:31,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:31,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:31,874 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 66 states. [2022-04-08 05:45:31,874 INFO L87 Difference]: Start difference. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 66 states. [2022-04-08 05:45:31,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:31,876 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-08 05:45:31,876 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-08 05:45:31,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:31,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:31,876 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:45:31,876 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:45:31,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 05:45:31,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-08 05:45:31,878 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 60 [2022-04-08 05:45:31,878 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:45:31,878 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-08 05:45:31,878 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 05:45:31,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-08 05:45:31,959 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:31,959 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 05:45:31,960 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-08 05:45:31,960 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:45:31,960 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 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] [2022-04-08 05:45:31,978 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 05:45:32,160 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:45:32,161 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:45:32,161 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:45:32,161 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 1 times [2022-04-08 05:45:32,161 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:32,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [102934344] [2022-04-08 05:45:32,161 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:45:32,162 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 2 times [2022-04-08 05:45:32,162 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:45:32,162 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [781709932] [2022-04-08 05:45:32,162 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:45:32,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:45:32,176 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:45:32,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1863976533] [2022-04-08 05:45:32,176 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:45:32,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:45:32,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:45:32,177 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:45:32,187 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 05:45:32,229 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:45:32,230 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:45:32,230 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 05:45:32,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:45:32,243 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:45:32,676 INFO L272 TraceCheckUtils]: 0: Hoare triple {3004#true} call ULTIMATE.init(); {3004#true} is VALID [2022-04-08 05:45:32,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {3004#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); {3004#true} is VALID [2022-04-08 05:45:32,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3004#true} {3004#true} #103#return; {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L272 TraceCheckUtils]: 4: Hoare triple {3004#true} call #t~ret6 := main(); {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {3004#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L272 TraceCheckUtils]: 6: Hoare triple {3004#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3004#true} {3004#true} #79#return; {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {3004#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3004#true} is VALID [2022-04-08 05:45:32,677 INFO L272 TraceCheckUtils]: 12: Hoare triple {3004#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,678 INFO L290 TraceCheckUtils]: 13: Hoare triple {3004#true} ~cond := #in~cond; {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:45:32,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:32,678 INFO L290 TraceCheckUtils]: 15: Hoare triple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:32,679 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} {3004#true} #81#return; {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:32,679 INFO L272 TraceCheckUtils]: 17: Hoare triple {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:32,679 INFO L290 TraceCheckUtils]: 19: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:32,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:32,679 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3004#true} {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:32,680 INFO L272 TraceCheckUtils]: 22: Hoare triple {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,680 INFO L290 TraceCheckUtils]: 23: Hoare triple {3004#true} ~cond := #in~cond; {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:45:32,680 INFO L290 TraceCheckUtils]: 24: Hoare triple {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:32,681 INFO L290 TraceCheckUtils]: 25: Hoare triple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:32,681 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {3090#(and (<= 1 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:32,681 INFO L290 TraceCheckUtils]: 27: Hoare triple {3090#(and (<= 1 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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,682 INFO L272 TraceCheckUtils]: 28: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,682 INFO L290 TraceCheckUtils]: 29: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:32,682 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:32,682 INFO L290 TraceCheckUtils]: 31: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:32,682 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3004#true} {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} #87#return; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,682 INFO L272 TraceCheckUtils]: 33: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,682 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:32,682 INFO L290 TraceCheckUtils]: 35: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:32,682 INFO L290 TraceCheckUtils]: 36: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:32,683 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3004#true} {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} #89#return; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,683 INFO L290 TraceCheckUtils]: 38: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} assume !false; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,684 INFO L290 TraceCheckUtils]: 39: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,684 INFO L290 TraceCheckUtils]: 40: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} assume !false; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,684 INFO L272 TraceCheckUtils]: 41: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,684 INFO L290 TraceCheckUtils]: 42: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:32,684 INFO L290 TraceCheckUtils]: 43: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:32,684 INFO L290 TraceCheckUtils]: 44: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:32,685 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #91#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,685 INFO L272 TraceCheckUtils]: 46: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,685 INFO L290 TraceCheckUtils]: 47: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:32,685 INFO L290 TraceCheckUtils]: 48: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:32,685 INFO L290 TraceCheckUtils]: 49: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:32,686 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #93#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,686 INFO L272 TraceCheckUtils]: 51: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,686 INFO L290 TraceCheckUtils]: 52: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:32,686 INFO L290 TraceCheckUtils]: 53: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:32,686 INFO L290 TraceCheckUtils]: 54: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:32,687 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #95#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,687 INFO L272 TraceCheckUtils]: 56: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:32,687 INFO L290 TraceCheckUtils]: 57: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:32,687 INFO L290 TraceCheckUtils]: 58: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:32,687 INFO L290 TraceCheckUtils]: 59: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:32,688 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #97#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,688 INFO L290 TraceCheckUtils]: 61: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,689 INFO L290 TraceCheckUtils]: 62: Hoare triple {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} assume !false; {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} is VALID [2022-04-08 05:45:32,689 INFO L272 TraceCheckUtils]: 63: Hoare triple {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:45:32,690 INFO L290 TraceCheckUtils]: 64: Hoare triple {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:45:32,690 INFO L290 TraceCheckUtils]: 65: Hoare triple {3209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3005#false} is VALID [2022-04-08 05:45:32,690 INFO L290 TraceCheckUtils]: 66: Hoare triple {3005#false} assume !false; {3005#false} is VALID [2022-04-08 05:45:32,690 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 17 proven. 17 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 05:45:32,690 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:45:33,002 INFO L290 TraceCheckUtils]: 66: Hoare triple {3005#false} assume !false; {3005#false} is VALID [2022-04-08 05:45:33,002 INFO L290 TraceCheckUtils]: 65: Hoare triple {3209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3005#false} is VALID [2022-04-08 05:45:33,003 INFO L290 TraceCheckUtils]: 64: Hoare triple {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:45:33,003 INFO L272 TraceCheckUtils]: 63: Hoare triple {3225#(= 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)); {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:45:33,004 INFO L290 TraceCheckUtils]: 62: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:45:33,005 INFO L290 TraceCheckUtils]: 61: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:45:33,006 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #97#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:45:33,006 INFO L290 TraceCheckUtils]: 59: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,006 INFO L290 TraceCheckUtils]: 58: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,006 INFO L290 TraceCheckUtils]: 57: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,006 INFO L272 TraceCheckUtils]: 56: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:33,007 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #95#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:45:33,007 INFO L290 TraceCheckUtils]: 54: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,007 INFO L290 TraceCheckUtils]: 53: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,007 INFO L290 TraceCheckUtils]: 52: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,007 INFO L272 TraceCheckUtils]: 51: Hoare triple {3225#(= 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)); {3004#true} is VALID [2022-04-08 05:45:33,008 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #93#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:45:33,008 INFO L290 TraceCheckUtils]: 49: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,008 INFO L290 TraceCheckUtils]: 48: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,008 INFO L290 TraceCheckUtils]: 47: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,008 INFO L272 TraceCheckUtils]: 46: Hoare triple {3225#(= 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)); {3004#true} is VALID [2022-04-08 05:45:33,008 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #91#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:45:33,008 INFO L290 TraceCheckUtils]: 44: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,008 INFO L290 TraceCheckUtils]: 43: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,008 INFO L290 TraceCheckUtils]: 42: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,009 INFO L272 TraceCheckUtils]: 41: Hoare triple {3225#(= 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)); {3004#true} is VALID [2022-04-08 05:45:33,009 INFO L290 TraceCheckUtils]: 40: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:45:33,009 INFO L290 TraceCheckUtils]: 39: Hoare triple {3004#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 05:45:33,009 INFO L290 TraceCheckUtils]: 38: Hoare triple {3004#true} assume !false; {3004#true} is VALID [2022-04-08 05:45:33,009 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3004#true} {3004#true} #89#return; {3004#true} is VALID [2022-04-08 05:45:33,009 INFO L290 TraceCheckUtils]: 36: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,009 INFO L290 TraceCheckUtils]: 35: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L272 TraceCheckUtils]: 33: Hoare triple {3004#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3004#true} {3004#true} #87#return; {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L290 TraceCheckUtils]: 31: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L290 TraceCheckUtils]: 29: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L272 TraceCheckUtils]: 28: Hoare triple {3004#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L290 TraceCheckUtils]: 27: Hoare triple {3004#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3004#true} {3004#true} #85#return; {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L272 TraceCheckUtils]: 22: Hoare triple {3004#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3004#true} {3004#true} #83#return; {3004#true} is VALID [2022-04-08 05:45:33,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 19: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L272 TraceCheckUtils]: 17: Hoare triple {3004#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3004#true} {3004#true} #81#return; {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 15: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L272 TraceCheckUtils]: 12: Hoare triple {3004#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {3004#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3004#true} {3004#true} #79#return; {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 9: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 8: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L272 TraceCheckUtils]: 6: Hoare triple {3004#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 05:45:33,011 INFO L290 TraceCheckUtils]: 5: Hoare triple {3004#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3004#true} is VALID [2022-04-08 05:45:33,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {3004#true} call #t~ret6 := main(); {3004#true} is VALID [2022-04-08 05:45:33,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3004#true} {3004#true} #103#return; {3004#true} is VALID [2022-04-08 05:45:33,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 05:45:33,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {3004#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); {3004#true} is VALID [2022-04-08 05:45:33,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {3004#true} call ULTIMATE.init(); {3004#true} is VALID [2022-04-08 05:45:33,012 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 86 trivial. 0 not checked. [2022-04-08 05:45:33,012 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:45:33,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [781709932] [2022-04-08 05:45:33,012 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:45:33,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1863976533] [2022-04-08 05:45:33,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1863976533] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:45:33,012 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:45:33,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [11] total 12 [2022-04-08 05:45:33,013 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:45:33,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [102934344] [2022-04-08 05:45:33,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [102934344] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:45:33,013 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:45:33,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:45:33,013 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1461488864] [2022-04-08 05:45:33,013 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:45:33,013 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-08 05:45:33,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:45:33,014 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 05:45:33,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:33,042 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:45:33,042 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:33,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:45:33,043 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:45:33,043 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 05:45:33,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:33,247 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 05:45:33,247 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:45:33,247 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-08 05:45:33,248 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:45:33,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 05:45:33,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 05:45:33,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 05:45:33,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 05:45:33,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-08 05:45:33,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:33,285 INFO L225 Difference]: With dead ends: 69 [2022-04-08 05:45:33,285 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 05:45:33,285 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-04-08 05:45:33,286 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:45:33,286 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 137 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:45:33,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 05:45:33,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 59. [2022-04-08 05:45:33,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:45:33,359 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 05:45:33,359 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 05:45:33,359 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 05:45:33,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:33,361 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-08 05:45:33,361 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-08 05:45:33,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:33,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:33,361 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 05:45:33,361 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 05:45:33,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:33,363 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-08 05:45:33,363 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-08 05:45:33,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:33,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:33,363 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:45:33,363 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:45:33,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 05:45:33,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-08 05:45:33,365 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 67 [2022-04-08 05:45:33,365 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:45:33,365 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-08 05:45:33,365 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 05:45:33,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 71 transitions. [2022-04-08 05:45:33,447 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:33,448 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-08 05:45:33,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 05:45:33,450 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:45:33,450 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:45:33,466 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-08 05:45:33,650 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:45:33,651 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:45:33,651 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:45:33,651 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-08 05:45:33,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:33,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1995692279] [2022-04-08 05:45:33,651 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:45:33,651 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 2 times [2022-04-08 05:45:33,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:45:33,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2030867696] [2022-04-08 05:45:33,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:45:33,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:45:33,663 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:45:33,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1897785593] [2022-04-08 05:45:33,663 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:45:33,663 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:45:33,663 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:45:33,664 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:45:33,664 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 05:45:33,708 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:45:33,708 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:45:33,709 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:45:33,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:45:33,723 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:45:33,946 INFO L272 TraceCheckUtils]: 0: Hoare triple {3809#true} call ULTIMATE.init(); {3809#true} is VALID [2022-04-08 05:45:33,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {3809#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); {3809#true} is VALID [2022-04-08 05:45:33,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3809#true} {3809#true} #103#return; {3809#true} is VALID [2022-04-08 05:45:33,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {3809#true} call #t~ret6 := main(); {3809#true} is VALID [2022-04-08 05:45:33,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {3809#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L272 TraceCheckUtils]: 6: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3809#true} {3809#true} #79#return; {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L290 TraceCheckUtils]: 11: Hoare triple {3809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L272 TraceCheckUtils]: 12: Hoare triple {3809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L290 TraceCheckUtils]: 14: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L290 TraceCheckUtils]: 15: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3809#true} {3809#true} #81#return; {3809#true} is VALID [2022-04-08 05:45:33,947 INFO L272 TraceCheckUtils]: 17: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,948 INFO L290 TraceCheckUtils]: 18: Hoare triple {3809#true} ~cond := #in~cond; {3868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:45:33,948 INFO L290 TraceCheckUtils]: 19: Hoare triple {3868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:33,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:33,949 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} {3809#true} #83#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-08 05:45:33,949 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:33,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:33,949 INFO L290 TraceCheckUtils]: 25: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,949 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3809#true} {3879#(<= 1 main_~x~0)} #85#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-08 05:45:33,950 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 05:45:33,950 INFO L272 TraceCheckUtils]: 28: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,950 INFO L290 TraceCheckUtils]: 29: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:33,950 INFO L290 TraceCheckUtils]: 30: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:33,950 INFO L290 TraceCheckUtils]: 31: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,951 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #87#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 05:45:33,951 INFO L272 TraceCheckUtils]: 33: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,951 INFO L290 TraceCheckUtils]: 34: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:33,951 INFO L290 TraceCheckUtils]: 35: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:33,951 INFO L290 TraceCheckUtils]: 36: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,951 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #89#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 05:45:33,952 INFO L290 TraceCheckUtils]: 38: Hoare triple {3898#(<= 1 main_~a~0)} assume !false; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 05:45:33,952 INFO L290 TraceCheckUtils]: 39: Hoare triple {3898#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:33,952 INFO L290 TraceCheckUtils]: 40: Hoare triple {3935#(<= 1 main_~c~0)} assume !false; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:33,952 INFO L272 TraceCheckUtils]: 41: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,952 INFO L290 TraceCheckUtils]: 42: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:33,952 INFO L290 TraceCheckUtils]: 43: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:33,952 INFO L290 TraceCheckUtils]: 44: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,953 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #91#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:33,953 INFO L272 TraceCheckUtils]: 46: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,953 INFO L290 TraceCheckUtils]: 47: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:33,953 INFO L290 TraceCheckUtils]: 48: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:33,953 INFO L290 TraceCheckUtils]: 49: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,954 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #93#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:33,954 INFO L272 TraceCheckUtils]: 51: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,954 INFO L290 TraceCheckUtils]: 52: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:33,954 INFO L290 TraceCheckUtils]: 53: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:33,954 INFO L290 TraceCheckUtils]: 54: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,955 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #95#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:33,955 INFO L272 TraceCheckUtils]: 56: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:33,955 INFO L290 TraceCheckUtils]: 57: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:33,955 INFO L290 TraceCheckUtils]: 58: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:33,955 INFO L290 TraceCheckUtils]: 59: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:33,955 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #97#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:33,956 INFO L290 TraceCheckUtils]: 61: Hoare triple {3935#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:33,956 INFO L290 TraceCheckUtils]: 62: Hoare triple {3935#(<= 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; {4005#(<= 1 main_~b~0)} is VALID [2022-04-08 05:45:33,956 INFO L290 TraceCheckUtils]: 63: Hoare triple {4005#(<= 1 main_~b~0)} assume !false; {4005#(<= 1 main_~b~0)} is VALID [2022-04-08 05:45:33,957 INFO L290 TraceCheckUtils]: 64: Hoare triple {4005#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3810#false} is VALID [2022-04-08 05:45:33,957 INFO L272 TraceCheckUtils]: 65: Hoare triple {3810#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3810#false} is VALID [2022-04-08 05:45:33,957 INFO L290 TraceCheckUtils]: 66: Hoare triple {3810#false} ~cond := #in~cond; {3810#false} is VALID [2022-04-08 05:45:33,957 INFO L290 TraceCheckUtils]: 67: Hoare triple {3810#false} assume 0 == ~cond; {3810#false} is VALID [2022-04-08 05:45:33,957 INFO L290 TraceCheckUtils]: 68: Hoare triple {3810#false} assume !false; {3810#false} is VALID [2022-04-08 05:45:33,957 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-08 05:45:33,957 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:45:34,218 INFO L290 TraceCheckUtils]: 68: Hoare triple {3810#false} assume !false; {3810#false} is VALID [2022-04-08 05:45:34,218 INFO L290 TraceCheckUtils]: 67: Hoare triple {3810#false} assume 0 == ~cond; {3810#false} is VALID [2022-04-08 05:45:34,218 INFO L290 TraceCheckUtils]: 66: Hoare triple {3810#false} ~cond := #in~cond; {3810#false} is VALID [2022-04-08 05:45:34,218 INFO L272 TraceCheckUtils]: 65: Hoare triple {3810#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3810#false} is VALID [2022-04-08 05:45:34,218 INFO L290 TraceCheckUtils]: 64: Hoare triple {4005#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3810#false} is VALID [2022-04-08 05:45:34,219 INFO L290 TraceCheckUtils]: 63: Hoare triple {4005#(<= 1 main_~b~0)} assume !false; {4005#(<= 1 main_~b~0)} is VALID [2022-04-08 05:45:34,219 INFO L290 TraceCheckUtils]: 62: Hoare triple {3935#(<= 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; {4005#(<= 1 main_~b~0)} is VALID [2022-04-08 05:45:34,219 INFO L290 TraceCheckUtils]: 61: Hoare triple {3935#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:34,220 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #97#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:34,220 INFO L290 TraceCheckUtils]: 59: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,220 INFO L290 TraceCheckUtils]: 58: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:34,220 INFO L290 TraceCheckUtils]: 57: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:34,220 INFO L272 TraceCheckUtils]: 56: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,220 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #95#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:34,220 INFO L290 TraceCheckUtils]: 54: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,220 INFO L290 TraceCheckUtils]: 53: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:34,220 INFO L290 TraceCheckUtils]: 52: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:34,221 INFO L272 TraceCheckUtils]: 51: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,221 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #93#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:34,221 INFO L290 TraceCheckUtils]: 49: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,221 INFO L290 TraceCheckUtils]: 48: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:34,221 INFO L290 TraceCheckUtils]: 47: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:34,221 INFO L272 TraceCheckUtils]: 46: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,221 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #91#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:34,222 INFO L290 TraceCheckUtils]: 44: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,222 INFO L290 TraceCheckUtils]: 43: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:34,222 INFO L290 TraceCheckUtils]: 42: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:34,222 INFO L272 TraceCheckUtils]: 41: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,222 INFO L290 TraceCheckUtils]: 40: Hoare triple {3935#(<= 1 main_~c~0)} assume !false; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:34,222 INFO L290 TraceCheckUtils]: 39: Hoare triple {3898#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 05:45:34,222 INFO L290 TraceCheckUtils]: 38: Hoare triple {3898#(<= 1 main_~a~0)} assume !false; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 05:45:34,223 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #89#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 05:45:34,223 INFO L290 TraceCheckUtils]: 36: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:34,223 INFO L290 TraceCheckUtils]: 34: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:34,223 INFO L272 TraceCheckUtils]: 33: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,223 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #87#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 05:45:34,223 INFO L290 TraceCheckUtils]: 31: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,223 INFO L290 TraceCheckUtils]: 30: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:34,223 INFO L290 TraceCheckUtils]: 29: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:34,223 INFO L272 TraceCheckUtils]: 28: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,224 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 05:45:34,224 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3809#true} {3879#(<= 1 main_~x~0)} #85#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-08 05:45:34,224 INFO L290 TraceCheckUtils]: 25: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,224 INFO L290 TraceCheckUtils]: 24: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:34,224 INFO L290 TraceCheckUtils]: 23: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:34,224 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,229 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} {3809#true} #83#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-08 05:45:34,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:34,229 INFO L290 TraceCheckUtils]: 19: Hoare triple {4174#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:34,230 INFO L290 TraceCheckUtils]: 18: Hoare triple {3809#true} ~cond := #in~cond; {4174#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:45:34,230 INFO L272 TraceCheckUtils]: 17: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3809#true} {3809#true} #81#return; {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L290 TraceCheckUtils]: 14: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L272 TraceCheckUtils]: 12: Hoare triple {3809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {3809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3809#true} {3809#true} #79#return; {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L272 TraceCheckUtils]: 6: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 05:45:34,230 INFO L290 TraceCheckUtils]: 5: Hoare triple {3809#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3809#true} is VALID [2022-04-08 05:45:34,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {3809#true} call #t~ret6 := main(); {3809#true} is VALID [2022-04-08 05:45:34,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3809#true} {3809#true} #103#return; {3809#true} is VALID [2022-04-08 05:45:34,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 05:45:34,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {3809#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); {3809#true} is VALID [2022-04-08 05:45:34,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {3809#true} call ULTIMATE.init(); {3809#true} is VALID [2022-04-08 05:45:34,231 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-08 05:45:34,231 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:45:34,231 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2030867696] [2022-04-08 05:45:34,231 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:45:34,231 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1897785593] [2022-04-08 05:45:34,231 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1897785593] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:45:34,231 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:45:34,231 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 05:45:34,232 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:45:34,232 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1995692279] [2022-04-08 05:45:34,232 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1995692279] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:45:34,232 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:45:34,232 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:45:34,232 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1506352049] [2022-04-08 05:45:34,232 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:45:34,232 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 05:45:34,232 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:45:34,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:45:34,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:34,259 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:45:34,259 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:34,260 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:45:34,260 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:45:34,260 INFO L87 Difference]: Start difference. First operand 59 states and 71 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:45:34,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:34,935 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-08 05:45:34,935 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:45:34,935 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 05:45:34,935 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:45:34,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:45:34,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-08 05:45:34,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:45:34,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-08 05:45:34,939 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-08 05:45:35,020 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:35,022 INFO L225 Difference]: With dead ends: 106 [2022-04-08 05:45:35,022 INFO L226 Difference]: Without dead ends: 98 [2022-04-08 05:45:35,022 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:45:35,023 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:45:35,023 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 259 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:45:35,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-08 05:45:35,202 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-08 05:45:35,202 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:45:35,202 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 05:45:35,203 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 05:45:35,203 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 05:45:35,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:35,206 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-08 05:45:35,206 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-08 05:45:35,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:35,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:35,207 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-08 05:45:35,207 INFO L87 Difference]: Start difference. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-08 05:45:35,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:35,209 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-08 05:45:35,210 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-08 05:45:35,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:35,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:35,210 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:45:35,210 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:45:35,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 05:45:35,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-08 05:45:35,213 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-08 05:45:35,213 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:45:35,213 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-08 05:45:35,214 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:45:35,214 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 122 transitions. [2022-04-08 05:45:35,382 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:35,383 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-08 05:45:35,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 05:45:35,383 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:45:35,383 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:45:35,401 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 05:45:35,583 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:45:35,584 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:45:35,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:45:35,584 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-08 05:45:35,584 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:35,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1520004038] [2022-04-08 05:45:35,584 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:45:35,584 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 2 times [2022-04-08 05:45:35,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:45:35,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1593678628] [2022-04-08 05:45:35,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:45:35,585 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:45:35,596 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:45:35,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [859049576] [2022-04-08 05:45:35,596 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:45:35,596 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:45:35,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:45:35,597 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:45:35,603 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 05:45:35,651 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:45:35,651 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:45:35,652 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 05:45:35,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:45:35,663 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:45:36,008 INFO L272 TraceCheckUtils]: 0: Hoare triple {4827#true} call ULTIMATE.init(); {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {4827#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); {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L290 TraceCheckUtils]: 2: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4827#true} {4827#true} #103#return; {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {4827#true} call #t~ret6 := main(); {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {4827#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L272 TraceCheckUtils]: 6: Hoare triple {4827#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L290 TraceCheckUtils]: 9: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4827#true} {4827#true} #79#return; {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4827#true} is VALID [2022-04-08 05:45:36,009 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {4827#true} ~cond := #in~cond; {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:45:36,010 INFO L290 TraceCheckUtils]: 14: Hoare triple {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:36,010 INFO L290 TraceCheckUtils]: 15: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:36,011 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {4827#true} #81#return; {4882#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:36,011 INFO L272 TraceCheckUtils]: 17: Hoare triple {4882#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {4827#true} ~cond := #in~cond; {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:45:36,011 INFO L290 TraceCheckUtils]: 19: Hoare triple {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:36,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:36,012 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {4882#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:36,012 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#(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)); {4827#true} is VALID [2022-04-08 05:45:36,012 INFO L290 TraceCheckUtils]: 23: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,012 INFO L290 TraceCheckUtils]: 24: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,013 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4827#true} {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} #85#return; {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:36,013 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#(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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 05:45:36,013 INFO L272 TraceCheckUtils]: 28: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,013 INFO L290 TraceCheckUtils]: 29: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,014 INFO L290 TraceCheckUtils]: 30: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,014 INFO L290 TraceCheckUtils]: 31: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,014 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4827#true} {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} #87#return; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 05:45:36,014 INFO L272 TraceCheckUtils]: 33: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,014 INFO L290 TraceCheckUtils]: 34: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,014 INFO L290 TraceCheckUtils]: 36: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,015 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4827#true} {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} #89#return; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 05:45:36,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !false; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 05:45:36,015 INFO L290 TraceCheckUtils]: 39: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 05:45:36,016 INFO L290 TraceCheckUtils]: 40: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !false; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 05:45:36,016 INFO L272 TraceCheckUtils]: 41: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,016 INFO L290 TraceCheckUtils]: 42: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,016 INFO L290 TraceCheckUtils]: 43: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,016 INFO L290 TraceCheckUtils]: 44: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,016 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #91#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 05:45:36,016 INFO L272 TraceCheckUtils]: 46: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,017 INFO L290 TraceCheckUtils]: 47: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,017 INFO L290 TraceCheckUtils]: 48: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,017 INFO L290 TraceCheckUtils]: 49: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,017 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #93#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 05:45:36,017 INFO L272 TraceCheckUtils]: 51: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,017 INFO L290 TraceCheckUtils]: 52: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,017 INFO L290 TraceCheckUtils]: 53: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,017 INFO L290 TraceCheckUtils]: 54: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,018 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #95#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 05:45:36,018 INFO L272 TraceCheckUtils]: 56: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,018 INFO L290 TraceCheckUtils]: 57: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,018 INFO L290 TraceCheckUtils]: 58: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,018 INFO L290 TraceCheckUtils]: 59: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,019 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #97#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 05:45:36,019 INFO L290 TraceCheckUtils]: 61: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !(~c~0 >= ~b~0); {4828#false} is VALID [2022-04-08 05:45:36,019 INFO L290 TraceCheckUtils]: 62: Hoare triple {4828#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; {4828#false} is VALID [2022-04-08 05:45:36,019 INFO L290 TraceCheckUtils]: 63: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 05:45:36,019 INFO L290 TraceCheckUtils]: 64: Hoare triple {4828#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L290 TraceCheckUtils]: 65: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L272 TraceCheckUtils]: 66: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L290 TraceCheckUtils]: 67: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L290 TraceCheckUtils]: 68: Hoare triple {4828#false} assume !(0 == ~cond); {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L290 TraceCheckUtils]: 69: Hoare triple {4828#false} assume true; {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4828#false} {4828#false} #91#return; {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L272 TraceCheckUtils]: 71: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L290 TraceCheckUtils]: 72: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L290 TraceCheckUtils]: 73: Hoare triple {4828#false} assume 0 == ~cond; {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L290 TraceCheckUtils]: 74: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 05:45:36,020 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 35 proven. 18 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-08 05:45:36,020 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:45:36,417 INFO L290 TraceCheckUtils]: 74: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 05:45:36,417 INFO L290 TraceCheckUtils]: 73: Hoare triple {4828#false} assume 0 == ~cond; {4828#false} is VALID [2022-04-08 05:45:36,417 INFO L290 TraceCheckUtils]: 72: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-08 05:45:36,417 INFO L272 TraceCheckUtils]: 71: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4828#false} is VALID [2022-04-08 05:45:36,417 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4827#true} {4828#false} #91#return; {4828#false} is VALID [2022-04-08 05:45:36,417 INFO L290 TraceCheckUtils]: 69: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,417 INFO L290 TraceCheckUtils]: 68: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,417 INFO L290 TraceCheckUtils]: 67: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,418 INFO L272 TraceCheckUtils]: 66: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,418 INFO L290 TraceCheckUtils]: 65: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 05:45:36,418 INFO L290 TraceCheckUtils]: 64: Hoare triple {4828#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4828#false} is VALID [2022-04-08 05:45:36,418 INFO L290 TraceCheckUtils]: 63: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 05:45:36,418 INFO L290 TraceCheckUtils]: 62: Hoare triple {4828#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; {4828#false} is VALID [2022-04-08 05:45:36,418 INFO L290 TraceCheckUtils]: 61: Hoare triple {5099#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4828#false} is VALID [2022-04-08 05:45:36,419 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #97#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:45:36,419 INFO L290 TraceCheckUtils]: 59: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,419 INFO L290 TraceCheckUtils]: 58: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,419 INFO L290 TraceCheckUtils]: 57: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,419 INFO L272 TraceCheckUtils]: 56: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,420 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #95#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:45:36,420 INFO L290 TraceCheckUtils]: 54: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,420 INFO L290 TraceCheckUtils]: 53: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,420 INFO L290 TraceCheckUtils]: 52: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,420 INFO L272 TraceCheckUtils]: 51: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,420 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #93#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:45:36,421 INFO L290 TraceCheckUtils]: 49: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,421 INFO L290 TraceCheckUtils]: 48: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,421 INFO L290 TraceCheckUtils]: 47: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,421 INFO L272 TraceCheckUtils]: 46: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,421 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #91#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:45:36,421 INFO L290 TraceCheckUtils]: 44: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,421 INFO L290 TraceCheckUtils]: 43: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,421 INFO L290 TraceCheckUtils]: 42: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,422 INFO L272 TraceCheckUtils]: 41: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,422 INFO L290 TraceCheckUtils]: 40: Hoare triple {5099#(<= main_~b~0 main_~c~0)} assume !false; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:45:36,422 INFO L290 TraceCheckUtils]: 39: Hoare triple {5166#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:45:36,423 INFO L290 TraceCheckUtils]: 38: Hoare triple {5166#(<= main_~b~0 main_~a~0)} assume !false; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:45:36,423 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4827#true} {5166#(<= main_~b~0 main_~a~0)} #89#return; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:45:36,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,423 INFO L290 TraceCheckUtils]: 35: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,423 INFO L290 TraceCheckUtils]: 34: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,423 INFO L272 TraceCheckUtils]: 33: Hoare triple {5166#(<= main_~b~0 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,424 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4827#true} {5166#(<= main_~b~0 main_~a~0)} #87#return; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:45:36,424 INFO L290 TraceCheckUtils]: 31: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,424 INFO L290 TraceCheckUtils]: 30: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,424 INFO L290 TraceCheckUtils]: 29: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,424 INFO L272 TraceCheckUtils]: 28: Hoare triple {5166#(<= main_~b~0 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {5203#(<= 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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:45:36,425 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4827#true} {5203#(<= main_~y~0 main_~x~0)} #85#return; {5203#(<= main_~y~0 main_~x~0)} is VALID [2022-04-08 05:45:36,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,425 INFO L272 TraceCheckUtils]: 22: Hoare triple {5203#(<= main_~y~0 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,426 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {5222#(<= main_~y~0 1)} #83#return; {5203#(<= main_~y~0 main_~x~0)} is VALID [2022-04-08 05:45:36,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:36,427 INFO L290 TraceCheckUtils]: 19: Hoare triple {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:36,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {4827#true} ~cond := #in~cond; {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:45:36,427 INFO L272 TraceCheckUtils]: 17: Hoare triple {5222#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,428 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {4827#true} #81#return; {5222#(<= main_~y~0 1)} is VALID [2022-04-08 05:45:36,428 INFO L290 TraceCheckUtils]: 15: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:36,428 INFO L290 TraceCheckUtils]: 14: Hoare triple {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:36,429 INFO L290 TraceCheckUtils]: 13: Hoare triple {4827#true} ~cond := #in~cond; {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:45:36,429 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4827#true} {4827#true} #79#return; {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L290 TraceCheckUtils]: 7: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L272 TraceCheckUtils]: 6: Hoare triple {4827#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L290 TraceCheckUtils]: 5: Hoare triple {4827#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L272 TraceCheckUtils]: 4: Hoare triple {4827#true} call #t~ret6 := main(); {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4827#true} {4827#true} #103#return; {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {4827#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); {4827#true} is VALID [2022-04-08 05:45:36,429 INFO L272 TraceCheckUtils]: 0: Hoare triple {4827#true} call ULTIMATE.init(); {4827#true} is VALID [2022-04-08 05:45:36,430 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 21 proven. 18 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2022-04-08 05:45:36,430 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:45:36,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1593678628] [2022-04-08 05:45:36,430 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:45:36,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [859049576] [2022-04-08 05:45:36,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [859049576] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:45:36,430 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:45:36,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-08 05:45:36,430 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:45:36,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1520004038] [2022-04-08 05:45:36,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1520004038] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:45:36,430 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:45:36,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:45:36,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [572719157] [2022-04-08 05:45:36,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:45:36,431 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Word has length 75 [2022-04-08 05:45:36,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:45:36,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 05:45:36,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:36,471 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:45:36,472 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:36,472 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:45:36,472 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 05:45:36,472 INFO L87 Difference]: Start difference. First operand 89 states and 122 transitions. Second operand has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 05:45:36,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:36,894 INFO L93 Difference]: Finished difference Result 111 states and 149 transitions. [2022-04-08 05:45:36,894 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:45:36,894 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Word has length 75 [2022-04-08 05:45:36,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:45:36,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 05:45:36,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-08 05:45:36,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 05:45:36,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-08 05:45:36,918 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 94 transitions. [2022-04-08 05:45:36,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:36,965 INFO L225 Difference]: With dead ends: 111 [2022-04-08 05:45:36,965 INFO L226 Difference]: Without dead ends: 66 [2022-04-08 05:45:36,965 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 138 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:45:36,966 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 21 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:45:36,966 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 178 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 129 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:45:36,966 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-08 05:45:37,037 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 65. [2022-04-08 05:45:37,037 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:45:37,037 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 05:45:37,037 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 05:45:37,038 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 05:45:37,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:37,039 INFO L93 Difference]: Finished difference Result 66 states and 82 transitions. [2022-04-08 05:45:37,040 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-08 05:45:37,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:37,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:37,040 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 66 states. [2022-04-08 05:45:37,040 INFO L87 Difference]: Start difference. First operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 66 states. [2022-04-08 05:45:37,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:37,042 INFO L93 Difference]: Finished difference Result 66 states and 82 transitions. [2022-04-08 05:45:37,042 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-08 05:45:37,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:37,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:37,043 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:45:37,043 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:45:37,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 05:45:37,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 81 transitions. [2022-04-08 05:45:37,045 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 81 transitions. Word has length 75 [2022-04-08 05:45:37,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:45:37,045 INFO L478 AbstractCegarLoop]: Abstraction has 65 states and 81 transitions. [2022-04-08 05:45:37,045 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 05:45:37,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 81 transitions. [2022-04-08 05:45:37,177 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:37,177 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 81 transitions. [2022-04-08 05:45:37,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 05:45:37,178 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:45:37,178 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 6, 6, 6, 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, 1] [2022-04-08 05:45:37,206 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 05:45:37,378 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 05:45:37,378 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:45:37,379 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:45:37,379 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-08 05:45:37,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:37,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1382887463] [2022-04-08 05:45:37,379 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:45:37,379 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 2 times [2022-04-08 05:45:37,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:45:37,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [225771251] [2022-04-08 05:45:37,379 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:45:37,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:45:37,393 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:45:37,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [609789968] [2022-04-08 05:45:37,393 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:45:37,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:45:37,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:45:37,407 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:45:37,408 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 05:45:37,454 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:45:37,454 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:45:37,455 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 05:45:37,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:45:37,469 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:45:39,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {5779#true} call ULTIMATE.init(); {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {5779#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); {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5779#true} {5779#true} #103#return; {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {5779#true} call #t~ret6 := main(); {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L290 TraceCheckUtils]: 5: Hoare triple {5779#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L272 TraceCheckUtils]: 6: Hoare triple {5779#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L290 TraceCheckUtils]: 7: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L290 TraceCheckUtils]: 8: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L290 TraceCheckUtils]: 9: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5779#true} {5779#true} #79#return; {5779#true} is VALID [2022-04-08 05:45:39,085 INFO L290 TraceCheckUtils]: 11: Hoare triple {5779#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5779#true} is VALID [2022-04-08 05:45:39,086 INFO L272 TraceCheckUtils]: 12: Hoare triple {5779#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,086 INFO L290 TraceCheckUtils]: 13: Hoare triple {5779#true} ~cond := #in~cond; {5823#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:45:39,086 INFO L290 TraceCheckUtils]: 14: Hoare triple {5823#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:39,086 INFO L290 TraceCheckUtils]: 15: Hoare triple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:39,087 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} {5779#true} #81#return; {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:39,087 INFO L272 TraceCheckUtils]: 17: Hoare triple {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,087 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,087 INFO L290 TraceCheckUtils]: 19: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,087 INFO L290 TraceCheckUtils]: 20: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,088 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5779#true} {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:39,088 INFO L272 TraceCheckUtils]: 22: Hoare triple {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,088 INFO L290 TraceCheckUtils]: 23: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,088 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,088 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,088 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5779#true} {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:39,089 INFO L290 TraceCheckUtils]: 27: Hoare triple {5834#(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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,089 INFO L272 TraceCheckUtils]: 28: Hoare triple {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,089 INFO L290 TraceCheckUtils]: 29: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,089 INFO L290 TraceCheckUtils]: 30: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,089 INFO L290 TraceCheckUtils]: 31: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,090 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5779#true} {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} #87#return; {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,090 INFO L272 TraceCheckUtils]: 33: Hoare triple {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,090 INFO L290 TraceCheckUtils]: 34: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,090 INFO L290 TraceCheckUtils]: 35: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,090 INFO L290 TraceCheckUtils]: 36: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,091 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5779#true} {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} #89#return; {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,091 INFO L290 TraceCheckUtils]: 38: Hoare triple {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} assume !false; {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,092 INFO L290 TraceCheckUtils]: 39: Hoare triple {5868#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,092 INFO L290 TraceCheckUtils]: 40: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,092 INFO L272 TraceCheckUtils]: 41: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,092 INFO L290 TraceCheckUtils]: 42: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,092 INFO L290 TraceCheckUtils]: 43: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,092 INFO L290 TraceCheckUtils]: 44: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,093 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #91#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,093 INFO L272 TraceCheckUtils]: 46: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,093 INFO L290 TraceCheckUtils]: 47: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,093 INFO L290 TraceCheckUtils]: 48: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,093 INFO L290 TraceCheckUtils]: 49: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,094 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #93#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,094 INFO L272 TraceCheckUtils]: 51: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,094 INFO L290 TraceCheckUtils]: 52: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,094 INFO L290 TraceCheckUtils]: 53: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,094 INFO L290 TraceCheckUtils]: 54: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,095 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #95#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,095 INFO L272 TraceCheckUtils]: 56: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,095 INFO L290 TraceCheckUtils]: 57: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,095 INFO L290 TraceCheckUtils]: 58: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,095 INFO L290 TraceCheckUtils]: 59: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,096 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #97#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,097 INFO L290 TraceCheckUtils]: 61: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,097 INFO L290 TraceCheckUtils]: 62: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,097 INFO L272 TraceCheckUtils]: 63: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,097 INFO L290 TraceCheckUtils]: 64: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,097 INFO L290 TraceCheckUtils]: 65: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,097 INFO L290 TraceCheckUtils]: 66: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,098 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #91#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,098 INFO L272 TraceCheckUtils]: 68: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,098 INFO L290 TraceCheckUtils]: 69: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,098 INFO L290 TraceCheckUtils]: 70: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,098 INFO L290 TraceCheckUtils]: 71: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,099 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #93#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,099 INFO L272 TraceCheckUtils]: 73: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,099 INFO L290 TraceCheckUtils]: 74: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,100 INFO L290 TraceCheckUtils]: 75: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,100 INFO L290 TraceCheckUtils]: 76: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,100 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #95#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,100 INFO L272 TraceCheckUtils]: 78: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:39,100 INFO L290 TraceCheckUtils]: 79: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:39,100 INFO L290 TraceCheckUtils]: 80: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:39,101 INFO L290 TraceCheckUtils]: 81: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:39,101 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #97#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,102 INFO L290 TraceCheckUtils]: 83: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:45:39,103 INFO L290 TraceCheckUtils]: 84: Hoare triple {6039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 0) (<= main_~y~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; {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:39,103 INFO L290 TraceCheckUtils]: 85: Hoare triple {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} assume !false; {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:39,103 INFO L290 TraceCheckUtils]: 86: Hoare triple {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} assume !(0 != ~b~0); {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:39,104 INFO L272 TraceCheckUtils]: 87: Hoare triple {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:45:39,105 INFO L290 TraceCheckUtils]: 88: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:45:39,105 INFO L290 TraceCheckUtils]: 89: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5780#false} is VALID [2022-04-08 05:45:39,105 INFO L290 TraceCheckUtils]: 90: Hoare triple {5780#false} assume !false; {5780#false} is VALID [2022-04-08 05:45:39,105 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 19 proven. 20 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-08 05:45:39,106 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:45:40,083 INFO L290 TraceCheckUtils]: 90: Hoare triple {5780#false} assume !false; {5780#false} is VALID [2022-04-08 05:45:40,083 INFO L290 TraceCheckUtils]: 89: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5780#false} is VALID [2022-04-08 05:45:40,083 INFO L290 TraceCheckUtils]: 88: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:45:40,084 INFO L272 TraceCheckUtils]: 87: Hoare triple {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:45:40,084 INFO L290 TraceCheckUtils]: 86: Hoare triple {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} assume !(0 != ~b~0); {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-08 05:45:40,085 INFO L290 TraceCheckUtils]: 85: Hoare triple {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} assume !false; {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-08 05:45:42,086 WARN L290 TraceCheckUtils]: 84: Hoare triple {6083#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 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; {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is UNKNOWN [2022-04-08 05:45:42,086 INFO L290 TraceCheckUtils]: 83: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {6083#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0)} is VALID [2022-04-08 05:45:42,088 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 05:45:42,089 INFO L290 TraceCheckUtils]: 81: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,089 INFO L290 TraceCheckUtils]: 80: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,089 INFO L290 TraceCheckUtils]: 79: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,089 INFO L272 TraceCheckUtils]: 78: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,090 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 05:45:42,090 INFO L290 TraceCheckUtils]: 76: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,090 INFO L290 TraceCheckUtils]: 75: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,090 INFO L290 TraceCheckUtils]: 74: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,090 INFO L272 TraceCheckUtils]: 73: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,090 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 05:45:42,090 INFO L290 TraceCheckUtils]: 71: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,091 INFO L290 TraceCheckUtils]: 70: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,091 INFO L290 TraceCheckUtils]: 69: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,091 INFO L272 TraceCheckUtils]: 68: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,091 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #91#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 05:45:42,091 INFO L290 TraceCheckUtils]: 66: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,091 INFO L290 TraceCheckUtils]: 65: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,091 INFO L290 TraceCheckUtils]: 64: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,091 INFO L272 TraceCheckUtils]: 63: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,092 INFO L290 TraceCheckUtils]: 62: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !false; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 05:45:42,264 INFO L290 TraceCheckUtils]: 61: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 05:45:42,264 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #97#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 05:45:42,264 INFO L290 TraceCheckUtils]: 59: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,264 INFO L290 TraceCheckUtils]: 58: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,265 INFO L290 TraceCheckUtils]: 57: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,265 INFO L272 TraceCheckUtils]: 56: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,274 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #95#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 05:45:42,274 INFO L290 TraceCheckUtils]: 54: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,274 INFO L290 TraceCheckUtils]: 53: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,274 INFO L290 TraceCheckUtils]: 52: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,274 INFO L272 TraceCheckUtils]: 51: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,275 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #93#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 05:45:42,275 INFO L290 TraceCheckUtils]: 49: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,275 INFO L290 TraceCheckUtils]: 48: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,275 INFO L290 TraceCheckUtils]: 47: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,275 INFO L272 TraceCheckUtils]: 46: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,275 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #91#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 05:45:42,275 INFO L290 TraceCheckUtils]: 44: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,276 INFO L290 TraceCheckUtils]: 43: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,276 INFO L290 TraceCheckUtils]: 42: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,276 INFO L272 TraceCheckUtils]: 41: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,276 INFO L290 TraceCheckUtils]: 40: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !false; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 05:45:42,277 INFO L290 TraceCheckUtils]: 39: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 05:45:42,277 INFO L290 TraceCheckUtils]: 38: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} assume !false; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 05:45:42,277 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5779#true} {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} #89#return; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 05:45:42,277 INFO L290 TraceCheckUtils]: 36: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,277 INFO L290 TraceCheckUtils]: 35: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,277 INFO L290 TraceCheckUtils]: 34: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,278 INFO L272 TraceCheckUtils]: 33: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,278 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5779#true} {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} #87#return; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 05:45:42,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,278 INFO L290 TraceCheckUtils]: 30: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,278 INFO L290 TraceCheckUtils]: 29: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,278 INFO L272 TraceCheckUtils]: 28: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {6258#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 05:45:42,279 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5779#true} {6258#(<= main_~y~0 1)} #85#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-08 05:45:42,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,279 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,280 INFO L290 TraceCheckUtils]: 23: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,280 INFO L272 TraceCheckUtils]: 22: Hoare triple {6258#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,280 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5779#true} {6258#(<= main_~y~0 1)} #83#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-08 05:45:42,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,280 INFO L290 TraceCheckUtils]: 19: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,280 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,280 INFO L272 TraceCheckUtils]: 17: Hoare triple {6258#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,280 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} {5779#true} #81#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-08 05:45:42,281 INFO L290 TraceCheckUtils]: 15: Hoare triple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:42,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {6301#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:42,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {5779#true} ~cond := #in~cond; {6301#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:45:42,281 INFO L272 TraceCheckUtils]: 12: Hoare triple {5779#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,281 INFO L290 TraceCheckUtils]: 11: Hoare triple {5779#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5779#true} is VALID [2022-04-08 05:45:42,281 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5779#true} {5779#true} #79#return; {5779#true} is VALID [2022-04-08 05:45:42,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 05:45:42,281 INFO L290 TraceCheckUtils]: 7: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 05:45:42,282 INFO L272 TraceCheckUtils]: 6: Hoare triple {5779#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 05:45:42,282 INFO L290 TraceCheckUtils]: 5: Hoare triple {5779#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5779#true} is VALID [2022-04-08 05:45:42,282 INFO L272 TraceCheckUtils]: 4: Hoare triple {5779#true} call #t~ret6 := main(); {5779#true} is VALID [2022-04-08 05:45:42,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5779#true} {5779#true} #103#return; {5779#true} is VALID [2022-04-08 05:45:42,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 05:45:42,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {5779#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); {5779#true} is VALID [2022-04-08 05:45:42,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {5779#true} call ULTIMATE.init(); {5779#true} is VALID [2022-04-08 05:45:42,282 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 19 proven. 20 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-08 05:45:42,283 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:45:42,283 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [225771251] [2022-04-08 05:45:42,284 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:45:42,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [609789968] [2022-04-08 05:45:42,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [609789968] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:45:42,288 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:45:42,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-08 05:45:42,290 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:45:42,290 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1382887463] [2022-04-08 05:45:42,290 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1382887463] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:45:42,290 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:45:42,290 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 05:45:42,290 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1253983009] [2022-04-08 05:45:42,290 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:45:42,291 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 91 [2022-04-08 05:45:42,291 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:45:42,292 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 05:45:42,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:42,327 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 05:45:42,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:42,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 05:45:42,328 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=286, Unknown=0, NotChecked=0, Total=342 [2022-04-08 05:45:42,328 INFO L87 Difference]: Start difference. First operand 65 states and 81 transitions. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 05:45:44,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:44,043 INFO L93 Difference]: Finished difference Result 94 states and 120 transitions. [2022-04-08 05:45:44,043 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 05:45:44,043 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 91 [2022-04-08 05:45:44,043 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:45:44,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 05:45:44,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 105 transitions. [2022-04-08 05:45:44,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 05:45:44,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 105 transitions. [2022-04-08 05:45:44,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 105 transitions. [2022-04-08 05:45:44,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:44,129 INFO L225 Difference]: With dead ends: 94 [2022-04-08 05:45:44,129 INFO L226 Difference]: Without dead ends: 92 [2022-04-08 05:45:44,129 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-08 05:45:44,129 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 30 mSDsluCounter, 258 mSDsCounter, 0 mSdLazyCounter, 458 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 316 SdHoareTripleChecker+Invalid, 477 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 458 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 05:45:44,130 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 316 Invalid, 477 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 458 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 05:45:44,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-08 05:45:44,268 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 83. [2022-04-08 05:45:44,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:45:44,269 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 05:45:44,269 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 05:45:44,269 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 05:45:44,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:44,271 INFO L93 Difference]: Finished difference Result 92 states and 118 transitions. [2022-04-08 05:45:44,271 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 118 transitions. [2022-04-08 05:45:44,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:44,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:44,272 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 92 states. [2022-04-08 05:45:44,272 INFO L87 Difference]: Start difference. First operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 92 states. [2022-04-08 05:45:44,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:44,275 INFO L93 Difference]: Finished difference Result 92 states and 118 transitions. [2022-04-08 05:45:44,275 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 118 transitions. [2022-04-08 05:45:44,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:44,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:44,275 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:45:44,275 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:45:44,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 05:45:44,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 104 transitions. [2022-04-08 05:45:44,277 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 104 transitions. Word has length 91 [2022-04-08 05:45:44,277 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:45:44,278 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 104 transitions. [2022-04-08 05:45:44,278 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 05:45:44,278 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 104 transitions. [2022-04-08 05:45:44,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:44,392 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 104 transitions. [2022-04-08 05:45:44,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-08 05:45:44,392 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:45:44,393 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 6, 6, 6, 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, 1, 1, 1] [2022-04-08 05:45:44,411 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 05:45:44,609 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 05:45:44,609 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:45:44,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:45:44,610 INFO L85 PathProgramCache]: Analyzing trace with hash -2082914122, now seen corresponding path program 1 times [2022-04-08 05:45:44,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:44,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [787168317] [2022-04-08 05:45:44,611 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:45:44,612 INFO L85 PathProgramCache]: Analyzing trace with hash -2082914122, now seen corresponding path program 2 times [2022-04-08 05:45:44,612 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:45:44,612 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1623291427] [2022-04-08 05:45:44,612 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:45:44,612 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:45:44,638 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:45:44,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [143472444] [2022-04-08 05:45:44,639 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:45:44,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:45:44,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:45:44,652 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:45:44,671 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 05:45:44,715 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:45:44,715 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:45:44,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 05:45:44,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:45:44,733 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:45:45,695 INFO L272 TraceCheckUtils]: 0: Hoare triple {6891#true} call ULTIMATE.init(); {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {6891#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); {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6891#true} {6891#true} #103#return; {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {6891#true} call #t~ret6 := main(); {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {6891#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L272 TraceCheckUtils]: 6: Hoare triple {6891#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L290 TraceCheckUtils]: 7: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L290 TraceCheckUtils]: 8: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L290 TraceCheckUtils]: 9: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6891#true} {6891#true} #79#return; {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L290 TraceCheckUtils]: 11: Hoare triple {6891#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6891#true} is VALID [2022-04-08 05:45:45,696 INFO L272 TraceCheckUtils]: 12: Hoare triple {6891#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,715 INFO L290 TraceCheckUtils]: 13: Hoare triple {6891#true} ~cond := #in~cond; {6935#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:45:45,716 INFO L290 TraceCheckUtils]: 14: Hoare triple {6935#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6939#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:45,716 INFO L290 TraceCheckUtils]: 15: Hoare triple {6939#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6939#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:45:45,716 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6939#(not (= |assume_abort_if_not_#in~cond| 0))} {6891#true} #81#return; {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,716 INFO L272 TraceCheckUtils]: 17: Hoare triple {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,716 INFO L290 TraceCheckUtils]: 18: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,717 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6891#true} {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,717 INFO L272 TraceCheckUtils]: 22: Hoare triple {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,717 INFO L290 TraceCheckUtils]: 23: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,717 INFO L290 TraceCheckUtils]: 24: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,717 INFO L290 TraceCheckUtils]: 25: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,717 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6891#true} {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {6946#(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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,718 INFO L272 TraceCheckUtils]: 28: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,718 INFO L290 TraceCheckUtils]: 29: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,718 INFO L290 TraceCheckUtils]: 30: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,718 INFO L290 TraceCheckUtils]: 31: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,719 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6891#true} {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} #87#return; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,719 INFO L272 TraceCheckUtils]: 33: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,719 INFO L290 TraceCheckUtils]: 34: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,719 INFO L290 TraceCheckUtils]: 35: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,719 INFO L290 TraceCheckUtils]: 36: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,719 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6891#true} {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} #89#return; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,721 INFO L290 TraceCheckUtils]: 38: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !false; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,721 INFO L290 TraceCheckUtils]: 39: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,722 INFO L290 TraceCheckUtils]: 40: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} assume !false; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,722 INFO L272 TraceCheckUtils]: 41: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,722 INFO L290 TraceCheckUtils]: 42: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,722 INFO L290 TraceCheckUtils]: 43: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,722 INFO L290 TraceCheckUtils]: 44: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,724 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #91#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,724 INFO L272 TraceCheckUtils]: 46: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,725 INFO L290 TraceCheckUtils]: 47: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,725 INFO L290 TraceCheckUtils]: 48: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,725 INFO L290 TraceCheckUtils]: 49: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,725 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #93#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,725 INFO L272 TraceCheckUtils]: 51: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,725 INFO L290 TraceCheckUtils]: 52: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,725 INFO L290 TraceCheckUtils]: 53: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,725 INFO L290 TraceCheckUtils]: 54: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,728 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #95#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,728 INFO L272 TraceCheckUtils]: 56: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,728 INFO L290 TraceCheckUtils]: 57: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,728 INFO L290 TraceCheckUtils]: 58: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,728 INFO L290 TraceCheckUtils]: 59: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,729 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #97#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,729 INFO L290 TraceCheckUtils]: 61: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,730 INFO L290 TraceCheckUtils]: 62: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,730 INFO L272 TraceCheckUtils]: 63: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,730 INFO L290 TraceCheckUtils]: 64: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,730 INFO L290 TraceCheckUtils]: 65: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,730 INFO L290 TraceCheckUtils]: 66: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,730 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6891#true} {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,731 INFO L272 TraceCheckUtils]: 68: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,731 INFO L290 TraceCheckUtils]: 69: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,731 INFO L290 TraceCheckUtils]: 70: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,731 INFO L290 TraceCheckUtils]: 71: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,731 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6891#true} {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,731 INFO L272 TraceCheckUtils]: 73: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,731 INFO L290 TraceCheckUtils]: 74: Hoare triple {6891#true} ~cond := #in~cond; {7124#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:45:45,732 INFO L290 TraceCheckUtils]: 75: Hoare triple {7124#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:45:45,732 INFO L290 TraceCheckUtils]: 76: Hoare triple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:45:45,733 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #95#return; {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,733 INFO L272 TraceCheckUtils]: 78: Hoare triple {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,733 INFO L290 TraceCheckUtils]: 79: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,733 INFO L290 TraceCheckUtils]: 80: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,733 INFO L290 TraceCheckUtils]: 81: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,733 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6891#true} {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} #97#return; {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,734 INFO L290 TraceCheckUtils]: 83: Hoare triple {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} assume !(~c~0 >= ~b~0); {7154#(and (< main_~x~0 (* main_~b~0 2)) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,735 INFO L290 TraceCheckUtils]: 84: Hoare triple {7154#(and (< main_~x~0 (* main_~b~0 2)) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~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; {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,736 INFO L290 TraceCheckUtils]: 85: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !false; {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,736 INFO L290 TraceCheckUtils]: 86: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !(0 != ~b~0); {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,736 INFO L272 TraceCheckUtils]: 87: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:45,736 INFO L290 TraceCheckUtils]: 88: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:45,736 INFO L290 TraceCheckUtils]: 89: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:45,736 INFO L290 TraceCheckUtils]: 90: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:45,737 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {6891#true} {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} #99#return; {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:45:45,738 INFO L272 TraceCheckUtils]: 92: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:45:45,738 INFO L290 TraceCheckUtils]: 93: Hoare triple {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7187#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:45:45,738 INFO L290 TraceCheckUtils]: 94: Hoare triple {7187#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6892#false} is VALID [2022-04-08 05:45:45,738 INFO L290 TraceCheckUtils]: 95: Hoare triple {6892#false} assume !false; {6892#false} is VALID [2022-04-08 05:45:45,739 INFO L134 CoverageAnalysis]: Checked inductivity of 230 backedges. 38 proven. 27 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2022-04-08 05:45:45,739 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:45:57,038 INFO L290 TraceCheckUtils]: 95: Hoare triple {6892#false} assume !false; {6892#false} is VALID [2022-04-08 05:45:57,039 INFO L290 TraceCheckUtils]: 94: Hoare triple {7187#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6892#false} is VALID [2022-04-08 05:45:57,039 INFO L290 TraceCheckUtils]: 93: Hoare triple {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7187#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:45:57,040 INFO L272 TraceCheckUtils]: 92: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:45:57,041 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {6891#true} {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:45:57,041 INFO L290 TraceCheckUtils]: 90: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,041 INFO L290 TraceCheckUtils]: 89: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,041 INFO L290 TraceCheckUtils]: 88: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,041 INFO L272 TraceCheckUtils]: 87: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,042 INFO L290 TraceCheckUtils]: 86: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:45:57,042 INFO L290 TraceCheckUtils]: 85: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:45:57,043 INFO L290 TraceCheckUtils]: 84: Hoare triple {7228#(= main_~b~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; {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:45:57,043 INFO L290 TraceCheckUtils]: 83: Hoare triple {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {7228#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:45:57,044 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6891#true} {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} #97#return; {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 05:45:57,044 INFO L290 TraceCheckUtils]: 81: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,044 INFO L290 TraceCheckUtils]: 80: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,044 INFO L290 TraceCheckUtils]: 79: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,044 INFO L272 TraceCheckUtils]: 78: Hoare triple {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,045 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} {6891#true} #95#return; {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 05:45:57,045 INFO L290 TraceCheckUtils]: 76: Hoare triple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:45:57,046 INFO L290 TraceCheckUtils]: 75: Hoare triple {7260#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:45:57,046 INFO L290 TraceCheckUtils]: 74: Hoare triple {6891#true} ~cond := #in~cond; {7260#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:45:57,046 INFO L272 TraceCheckUtils]: 73: Hoare triple {6891#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,046 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6891#true} {6891#true} #93#return; {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L290 TraceCheckUtils]: 71: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L290 TraceCheckUtils]: 70: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L290 TraceCheckUtils]: 69: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L272 TraceCheckUtils]: 68: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6891#true} {6891#true} #91#return; {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L290 TraceCheckUtils]: 66: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L290 TraceCheckUtils]: 65: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L290 TraceCheckUtils]: 64: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L272 TraceCheckUtils]: 63: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L290 TraceCheckUtils]: 62: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L290 TraceCheckUtils]: 61: Hoare triple {6891#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6891#true} {6891#true} #97#return; {6891#true} is VALID [2022-04-08 05:45:57,047 INFO L290 TraceCheckUtils]: 59: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 58: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 57: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L272 TraceCheckUtils]: 56: Hoare triple {6891#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6891#true} {6891#true} #95#return; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 54: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 53: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 52: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L272 TraceCheckUtils]: 51: Hoare triple {6891#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6891#true} {6891#true} #93#return; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 49: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 48: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 47: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L272 TraceCheckUtils]: 46: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6891#true} {6891#true} #91#return; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 44: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 43: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,048 INFO L290 TraceCheckUtils]: 42: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L272 TraceCheckUtils]: 41: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L290 TraceCheckUtils]: 40: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L290 TraceCheckUtils]: 39: Hoare triple {6891#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L290 TraceCheckUtils]: 38: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6891#true} {6891#true} #89#return; {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L290 TraceCheckUtils]: 36: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L290 TraceCheckUtils]: 35: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L290 TraceCheckUtils]: 34: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L272 TraceCheckUtils]: 33: Hoare triple {6891#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6891#true} {6891#true} #87#return; {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L290 TraceCheckUtils]: 31: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,049 INFO L290 TraceCheckUtils]: 30: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L290 TraceCheckUtils]: 29: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L272 TraceCheckUtils]: 28: Hoare triple {6891#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L290 TraceCheckUtils]: 27: Hoare triple {6891#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6891#true} {6891#true} #85#return; {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L290 TraceCheckUtils]: 25: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L272 TraceCheckUtils]: 22: Hoare triple {6891#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6891#true} {6891#true} #83#return; {6891#true} is VALID [2022-04-08 05:45:57,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L290 TraceCheckUtils]: 19: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L290 TraceCheckUtils]: 18: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L272 TraceCheckUtils]: 17: Hoare triple {6891#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6891#true} {6891#true} #81#return; {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L290 TraceCheckUtils]: 14: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L272 TraceCheckUtils]: 12: Hoare triple {6891#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {6891#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6891#true} is VALID [2022-04-08 05:45:57,051 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6891#true} {6891#true} #79#return; {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L290 TraceCheckUtils]: 7: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L272 TraceCheckUtils]: 6: Hoare triple {6891#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {6891#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {6891#true} call #t~ret6 := main(); {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6891#true} {6891#true} #103#return; {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {6891#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); {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L272 TraceCheckUtils]: 0: Hoare triple {6891#true} call ULTIMATE.init(); {6891#true} is VALID [2022-04-08 05:45:57,052 INFO L134 CoverageAnalysis]: Checked inductivity of 230 backedges. 39 proven. 7 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 05:45:57,052 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:45:57,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1623291427] [2022-04-08 05:45:57,052 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:45:57,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [143472444] [2022-04-08 05:45:57,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [143472444] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:45:57,053 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:45:57,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-08 05:45:57,053 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:45:57,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [787168317] [2022-04-08 05:45:57,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [787168317] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:45:57,053 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:45:57,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 05:45:57,054 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1933261079] [2022-04-08 05:45:57,054 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:45:57,054 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 96 [2022-04-08 05:45:57,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:45:57,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:45:57,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:57,143 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 05:45:57,143 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:57,143 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 05:45:57,143 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=289, Unknown=0, NotChecked=0, Total=342 [2022-04-08 05:45:57,144 INFO L87 Difference]: Start difference. First operand 83 states and 104 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:45:59,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:59,320 INFO L93 Difference]: Finished difference Result 98 states and 123 transitions. [2022-04-08 05:45:59,320 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 05:45:59,320 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 96 [2022-04-08 05:45:59,320 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:45:59,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:45:59,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 105 transitions. [2022-04-08 05:45:59,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:45:59,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 105 transitions. [2022-04-08 05:45:59,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 105 transitions. [2022-04-08 05:45:59,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:59,430 INFO L225 Difference]: With dead ends: 98 [2022-04-08 05:45:59,430 INFO L226 Difference]: Without dead ends: 90 [2022-04-08 05:45:59,431 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 173 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=101, Invalid=549, Unknown=0, NotChecked=0, Total=650 [2022-04-08 05:45:59,431 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 35 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 633 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 653 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 633 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 05:45:59,431 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 246 Invalid, 653 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 633 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 05:45:59,431 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-08 05:45:59,625 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 88. [2022-04-08 05:45:59,625 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:45:59,625 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:45:59,625 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:45:59,626 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:45:59,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:59,627 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-08 05:45:59,627 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-08 05:45:59,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:59,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:59,628 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) Second operand 90 states. [2022-04-08 05:45:59,628 INFO L87 Difference]: Start difference. First operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) Second operand 90 states. [2022-04-08 05:45:59,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:59,630 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-08 05:45:59,630 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-08 05:45:59,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:59,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:59,630 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:45:59,630 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:45:59,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:45:59,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 112 transitions. [2022-04-08 05:45:59,632 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 112 transitions. Word has length 96 [2022-04-08 05:45:59,632 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:45:59,632 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 112 transitions. [2022-04-08 05:45:59,632 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 05:45:59,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 112 transitions. [2022-04-08 05:45:59,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:45:59,804 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 112 transitions. [2022-04-08 05:45:59,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 05:45:59,805 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:45:59,805 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 6, 6, 6, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:45:59,822 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 05:46:00,005 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 05:46:00,005 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:46:00,006 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:46:00,006 INFO L85 PathProgramCache]: Analyzing trace with hash 948121191, now seen corresponding path program 1 times [2022-04-08 05:46:00,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:46:00,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [322286823] [2022-04-08 05:46:00,006 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:46:00,006 INFO L85 PathProgramCache]: Analyzing trace with hash 948121191, now seen corresponding path program 2 times [2022-04-08 05:46:00,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:46:00,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1518086143] [2022-04-08 05:46:00,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:46:00,006 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:46:00,019 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:46:00,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1382354936] [2022-04-08 05:46:00,019 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:46:00,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:46:00,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:46:00,025 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:46:00,025 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 05:46:00,076 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:46:00,076 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:46:00,077 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 05:46:00,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:46:00,092 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:46:00,522 INFO L272 TraceCheckUtils]: 0: Hoare triple {8051#true} call ULTIMATE.init(); {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {8051#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); {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8051#true} {8051#true} #103#return; {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L272 TraceCheckUtils]: 4: Hoare triple {8051#true} call #t~ret6 := main(); {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {8051#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L272 TraceCheckUtils]: 6: Hoare triple {8051#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L290 TraceCheckUtils]: 9: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,522 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8051#true} {8051#true} #79#return; {8051#true} is VALID [2022-04-08 05:46:00,523 INFO L290 TraceCheckUtils]: 11: Hoare triple {8051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8051#true} is VALID [2022-04-08 05:46:00,523 INFO L272 TraceCheckUtils]: 12: Hoare triple {8051#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,523 INFO L290 TraceCheckUtils]: 13: Hoare triple {8051#true} ~cond := #in~cond; {8095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:46:00,523 INFO L290 TraceCheckUtils]: 14: Hoare triple {8095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:46:00,524 INFO L290 TraceCheckUtils]: 15: Hoare triple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:46:00,524 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} {8051#true} #81#return; {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:46:00,524 INFO L272 TraceCheckUtils]: 17: Hoare triple {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,524 INFO L290 TraceCheckUtils]: 18: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,524 INFO L290 TraceCheckUtils]: 19: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,525 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8051#true} {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:46:00,525 INFO L272 TraceCheckUtils]: 22: Hoare triple {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,525 INFO L290 TraceCheckUtils]: 23: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,525 INFO L290 TraceCheckUtils]: 24: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,525 INFO L290 TraceCheckUtils]: 25: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,526 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8051#true} {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 05:46:00,526 INFO L290 TraceCheckUtils]: 27: Hoare triple {8106#(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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,526 INFO L272 TraceCheckUtils]: 28: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,526 INFO L290 TraceCheckUtils]: 29: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,527 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #87#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,527 INFO L272 TraceCheckUtils]: 33: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,527 INFO L290 TraceCheckUtils]: 34: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,527 INFO L290 TraceCheckUtils]: 35: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,527 INFO L290 TraceCheckUtils]: 36: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,527 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #89#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,528 INFO L290 TraceCheckUtils]: 38: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,528 INFO L290 TraceCheckUtils]: 39: Hoare triple {8140#(<= main_~b~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,528 INFO L290 TraceCheckUtils]: 40: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,528 INFO L272 TraceCheckUtils]: 41: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,528 INFO L290 TraceCheckUtils]: 42: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,528 INFO L290 TraceCheckUtils]: 43: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,529 INFO L290 TraceCheckUtils]: 44: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,529 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #91#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,529 INFO L272 TraceCheckUtils]: 46: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,529 INFO L290 TraceCheckUtils]: 47: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,529 INFO L290 TraceCheckUtils]: 48: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,529 INFO L290 TraceCheckUtils]: 49: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,530 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #93#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,530 INFO L272 TraceCheckUtils]: 51: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,530 INFO L290 TraceCheckUtils]: 52: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,530 INFO L290 TraceCheckUtils]: 53: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,530 INFO L290 TraceCheckUtils]: 54: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,531 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #95#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,531 INFO L272 TraceCheckUtils]: 56: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,531 INFO L290 TraceCheckUtils]: 57: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,531 INFO L290 TraceCheckUtils]: 58: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,531 INFO L290 TraceCheckUtils]: 59: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,532 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #97#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:00,532 INFO L290 TraceCheckUtils]: 61: Hoare triple {8140#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:46:00,533 INFO L290 TraceCheckUtils]: 62: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} assume !false; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:46:00,533 INFO L272 TraceCheckUtils]: 63: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,533 INFO L290 TraceCheckUtils]: 64: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,533 INFO L290 TraceCheckUtils]: 65: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,533 INFO L290 TraceCheckUtils]: 66: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,533 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #91#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:46:00,533 INFO L272 TraceCheckUtils]: 68: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,533 INFO L290 TraceCheckUtils]: 69: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,534 INFO L290 TraceCheckUtils]: 70: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,534 INFO L290 TraceCheckUtils]: 71: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,534 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #93#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:46:00,534 INFO L272 TraceCheckUtils]: 73: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,534 INFO L290 TraceCheckUtils]: 74: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,534 INFO L290 TraceCheckUtils]: 75: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,534 INFO L290 TraceCheckUtils]: 76: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,535 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #95#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:46:00,535 INFO L272 TraceCheckUtils]: 78: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:00,535 INFO L290 TraceCheckUtils]: 79: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:00,535 INFO L290 TraceCheckUtils]: 80: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:00,535 INFO L290 TraceCheckUtils]: 81: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:00,536 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #97#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:46:00,537 INFO L290 TraceCheckUtils]: 83: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:46:00,537 INFO L290 TraceCheckUtils]: 84: Hoare triple {8310#(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; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:46:00,537 INFO L290 TraceCheckUtils]: 85: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 86: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 87: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L272 TraceCheckUtils]: 88: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 89: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 90: Hoare triple {8052#false} assume !(0 == ~cond); {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 91: Hoare triple {8052#false} assume true; {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8052#false} {8052#false} #91#return; {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L272 TraceCheckUtils]: 93: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 94: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 95: Hoare triple {8052#false} assume !(0 == ~cond); {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 96: Hoare triple {8052#false} assume true; {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8052#false} {8052#false} #93#return; {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L272 TraceCheckUtils]: 98: Hoare triple {8052#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 99: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-08 05:46:00,538 INFO L290 TraceCheckUtils]: 100: Hoare triple {8052#false} assume 0 == ~cond; {8052#false} is VALID [2022-04-08 05:46:00,539 INFO L290 TraceCheckUtils]: 101: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-08 05:46:00,539 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 99 proven. 12 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2022-04-08 05:46:00,539 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:46:01,019 INFO L290 TraceCheckUtils]: 101: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-08 05:46:01,019 INFO L290 TraceCheckUtils]: 100: Hoare triple {8052#false} assume 0 == ~cond; {8052#false} is VALID [2022-04-08 05:46:01,019 INFO L290 TraceCheckUtils]: 99: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-08 05:46:01,019 INFO L272 TraceCheckUtils]: 98: Hoare triple {8052#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8052#false} is VALID [2022-04-08 05:46:01,019 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8051#true} {8052#false} #93#return; {8052#false} is VALID [2022-04-08 05:46:01,019 INFO L290 TraceCheckUtils]: 96: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,020 INFO L290 TraceCheckUtils]: 95: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,020 INFO L290 TraceCheckUtils]: 94: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,020 INFO L272 TraceCheckUtils]: 93: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,020 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8051#true} {8052#false} #91#return; {8052#false} is VALID [2022-04-08 05:46:01,020 INFO L290 TraceCheckUtils]: 91: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,020 INFO L290 TraceCheckUtils]: 90: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,020 INFO L290 TraceCheckUtils]: 89: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,020 INFO L272 TraceCheckUtils]: 88: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,020 INFO L290 TraceCheckUtils]: 87: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-08 05:46:01,020 INFO L290 TraceCheckUtils]: 86: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8052#false} is VALID [2022-04-08 05:46:01,021 INFO L290 TraceCheckUtils]: 85: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:46:01,021 INFO L290 TraceCheckUtils]: 84: Hoare triple {8310#(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; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 05:46:01,021 INFO L290 TraceCheckUtils]: 83: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} assume !(~c~0 >= ~b~0); {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 05:46:01,022 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #97#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 05:46:01,022 INFO L290 TraceCheckUtils]: 81: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,022 INFO L290 TraceCheckUtils]: 80: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,022 INFO L290 TraceCheckUtils]: 79: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,022 INFO L272 TraceCheckUtils]: 78: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,023 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #95#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 05:46:01,023 INFO L290 TraceCheckUtils]: 76: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,023 INFO L290 TraceCheckUtils]: 75: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,023 INFO L290 TraceCheckUtils]: 74: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,023 INFO L272 TraceCheckUtils]: 73: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,024 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #93#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 05:46:01,024 INFO L290 TraceCheckUtils]: 71: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,024 INFO L290 TraceCheckUtils]: 70: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,024 INFO L290 TraceCheckUtils]: 69: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,024 INFO L272 TraceCheckUtils]: 68: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,025 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #91#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 05:46:01,025 INFO L290 TraceCheckUtils]: 66: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,025 INFO L290 TraceCheckUtils]: 65: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,025 INFO L290 TraceCheckUtils]: 64: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,025 INFO L272 TraceCheckUtils]: 63: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,026 INFO L290 TraceCheckUtils]: 62: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} assume !false; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 05:46:01,026 INFO L290 TraceCheckUtils]: 61: Hoare triple {8140#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 05:46:01,027 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #97#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,027 INFO L290 TraceCheckUtils]: 59: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,027 INFO L290 TraceCheckUtils]: 58: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,027 INFO L290 TraceCheckUtils]: 57: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,027 INFO L272 TraceCheckUtils]: 56: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,028 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #95#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,028 INFO L290 TraceCheckUtils]: 54: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,028 INFO L290 TraceCheckUtils]: 53: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,028 INFO L290 TraceCheckUtils]: 52: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,028 INFO L272 TraceCheckUtils]: 51: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,029 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #93#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,029 INFO L290 TraceCheckUtils]: 49: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,029 INFO L290 TraceCheckUtils]: 48: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,029 INFO L290 TraceCheckUtils]: 47: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,029 INFO L272 TraceCheckUtils]: 46: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,030 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #91#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,030 INFO L290 TraceCheckUtils]: 44: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,030 INFO L290 TraceCheckUtils]: 43: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,030 INFO L290 TraceCheckUtils]: 42: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,030 INFO L272 TraceCheckUtils]: 41: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,031 INFO L290 TraceCheckUtils]: 40: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,031 INFO L290 TraceCheckUtils]: 39: Hoare triple {8140#(<= main_~b~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,031 INFO L290 TraceCheckUtils]: 38: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,032 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #89#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,032 INFO L290 TraceCheckUtils]: 36: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,032 INFO L290 TraceCheckUtils]: 35: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,032 INFO L290 TraceCheckUtils]: 34: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,032 INFO L272 TraceCheckUtils]: 33: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,032 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #87#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,032 INFO L290 TraceCheckUtils]: 31: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,032 INFO L290 TraceCheckUtils]: 30: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,032 INFO L290 TraceCheckUtils]: 29: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,032 INFO L272 TraceCheckUtils]: 28: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,033 INFO L290 TraceCheckUtils]: 27: Hoare triple {8589#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 05:46:01,033 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8051#true} {8589#(<= main_~y~0 1)} #85#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-08 05:46:01,033 INFO L290 TraceCheckUtils]: 25: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,033 INFO L290 TraceCheckUtils]: 24: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,033 INFO L290 TraceCheckUtils]: 23: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,033 INFO L272 TraceCheckUtils]: 22: Hoare triple {8589#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,034 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8051#true} {8589#(<= main_~y~0 1)} #83#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-08 05:46:01,034 INFO L290 TraceCheckUtils]: 20: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,034 INFO L290 TraceCheckUtils]: 19: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,034 INFO L290 TraceCheckUtils]: 18: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,034 INFO L272 TraceCheckUtils]: 17: Hoare triple {8589#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,034 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} {8051#true} #81#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-08 05:46:01,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:46:01,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {8632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:46:01,035 INFO L290 TraceCheckUtils]: 13: Hoare triple {8051#true} ~cond := #in~cond; {8632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:46:01,035 INFO L272 TraceCheckUtils]: 12: Hoare triple {8051#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,035 INFO L290 TraceCheckUtils]: 11: Hoare triple {8051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8051#true} is VALID [2022-04-08 05:46:01,035 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8051#true} {8051#true} #79#return; {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {8051#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {8051#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {8051#true} call #t~ret6 := main(); {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8051#true} {8051#true} #103#return; {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {8051#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); {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {8051#true} call ULTIMATE.init(); {8051#true} is VALID [2022-04-08 05:46:01,036 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 33 proven. 18 refuted. 0 times theorem prover too weak. 225 trivial. 0 not checked. [2022-04-08 05:46:01,036 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:46:01,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1518086143] [2022-04-08 05:46:01,037 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:46:01,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1382354936] [2022-04-08 05:46:01,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1382354936] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:46:01,037 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:46:01,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-08 05:46:01,037 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:46:01,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [322286823] [2022-04-08 05:46:01,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [322286823] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:46:01,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:46:01,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:46:01,037 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1373199680] [2022-04-08 05:46:01,037 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:46:01,038 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 102 [2022-04-08 05:46:01,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:46:01,038 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 05:46:01,077 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:46:01,077 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:46:01,077 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:46:01,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:46:01,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:46:01,078 INFO L87 Difference]: Start difference. First operand 88 states and 112 transitions. Second operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 05:46:01,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:46:01,465 INFO L93 Difference]: Finished difference Result 103 states and 127 transitions. [2022-04-08 05:46:01,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:46:01,465 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 102 [2022-04-08 05:46:01,465 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:46:01,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 05:46:01,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-08 05:46:01,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 05:46:01,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-08 05:46:01,468 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-08 05:46:01,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:46:01,559 INFO L225 Difference]: With dead ends: 103 [2022-04-08 05:46:01,559 INFO L226 Difference]: Without dead ends: 69 [2022-04-08 05:46:01,560 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 192 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=68, Invalid=204, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:46:01,560 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 17 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:46:01,561 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 155 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:46:01,561 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-08 05:46:01,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 69. [2022-04-08 05:46:01,708 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:46:01,709 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 05:46:01,709 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 05:46:01,709 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 05:46:01,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:46:01,711 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 05:46:01,711 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-08 05:46:01,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:46:01,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:46:01,712 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 69 states. [2022-04-08 05:46:01,712 INFO L87 Difference]: Start difference. First operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 69 states. [2022-04-08 05:46:01,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:46:01,713 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 05:46:01,713 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-08 05:46:01,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:46:01,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:46:01,714 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:46:01,714 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:46:01,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 05:46:01,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-08 05:46:01,716 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 102 [2022-04-08 05:46:01,716 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:46:01,716 INFO L478 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-08 05:46:01,716 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 05:46:01,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-08 05:46:01,857 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:46:01,857 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-08 05:46:01,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-08 05:46:01,858 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:46:01,858 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:46:01,876 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-08 05:46:02,058 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 05:46:02,059 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:46:02,059 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:46:02,059 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 3 times [2022-04-08 05:46:02,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:46:02,059 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [458061711] [2022-04-08 05:46:02,060 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:46:02,060 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 4 times [2022-04-08 05:46:02,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:46:02,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2105903901] [2022-04-08 05:46:02,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:46:02,060 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:46:02,074 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:46:02,074 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [536374446] [2022-04-08 05:46:02,074 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:46:02,074 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:46:02,074 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:46:02,075 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:46:02,076 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 05:46:02,125 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:46:02,125 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:46:02,126 INFO L263 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 05:46:02,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:46:02,142 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:46:02,597 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-08 05:46:02,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {9166#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); {9166#true} is VALID [2022-04-08 05:46:02,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9166#true} {9166#true} #103#return; {9166#true} is VALID [2022-04-08 05:46:02,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {9166#true} call #t~ret6 := main(); {9166#true} is VALID [2022-04-08 05:46:02,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {9166#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9166#true} is VALID [2022-04-08 05:46:02,597 INFO L272 TraceCheckUtils]: 6: Hoare triple {9166#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,598 INFO L290 TraceCheckUtils]: 7: Hoare triple {9166#true} ~cond := #in~cond; {9192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:46:02,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {9192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:46:02,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:46:02,599 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} {9166#true} #79#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:46:02,599 INFO L290 TraceCheckUtils]: 11: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:46:02,599 INFO L272 TraceCheckUtils]: 12: Hoare triple {9203#(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)); {9166#true} is VALID [2022-04-08 05:46:02,599 INFO L290 TraceCheckUtils]: 13: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,599 INFO L290 TraceCheckUtils]: 14: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,599 INFO L290 TraceCheckUtils]: 15: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,600 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9166#true} {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:46:02,600 INFO L272 TraceCheckUtils]: 17: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,600 INFO L290 TraceCheckUtils]: 18: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,600 INFO L290 TraceCheckUtils]: 19: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,600 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9166#true} {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #83#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:46:02,600 INFO L272 TraceCheckUtils]: 22: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,601 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9166#true} {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #85#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 05:46:02,601 INFO L290 TraceCheckUtils]: 27: Hoare triple {9203#(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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 05:46:02,601 INFO L272 TraceCheckUtils]: 28: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,601 INFO L290 TraceCheckUtils]: 29: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,602 INFO L290 TraceCheckUtils]: 31: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,602 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #87#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 05:46:02,602 INFO L272 TraceCheckUtils]: 33: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,602 INFO L290 TraceCheckUtils]: 34: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,602 INFO L290 TraceCheckUtils]: 35: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,602 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,603 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #89#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 05:46:02,603 INFO L290 TraceCheckUtils]: 38: Hoare triple {9255#(<= main_~a~0 1)} assume !false; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 05:46:02,603 INFO L290 TraceCheckUtils]: 39: Hoare triple {9255#(<= main_~a~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:02,603 INFO L290 TraceCheckUtils]: 40: Hoare triple {9292#(<= main_~c~0 1)} assume !false; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:02,604 INFO L272 TraceCheckUtils]: 41: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,604 INFO L290 TraceCheckUtils]: 42: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,604 INFO L290 TraceCheckUtils]: 43: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,604 INFO L290 TraceCheckUtils]: 44: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,604 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #91#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:02,604 INFO L272 TraceCheckUtils]: 46: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,604 INFO L290 TraceCheckUtils]: 47: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,604 INFO L290 TraceCheckUtils]: 48: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,604 INFO L290 TraceCheckUtils]: 49: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,605 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #93#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:02,605 INFO L272 TraceCheckUtils]: 51: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,605 INFO L290 TraceCheckUtils]: 52: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,605 INFO L290 TraceCheckUtils]: 53: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,605 INFO L290 TraceCheckUtils]: 54: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,606 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #95#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:02,606 INFO L272 TraceCheckUtils]: 56: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,606 INFO L290 TraceCheckUtils]: 57: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,606 INFO L290 TraceCheckUtils]: 58: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,606 INFO L290 TraceCheckUtils]: 59: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,607 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #97#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:02,607 INFO L290 TraceCheckUtils]: 61: Hoare triple {9292#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 05:46:02,608 INFO L290 TraceCheckUtils]: 62: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} assume !false; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 05:46:02,608 INFO L272 TraceCheckUtils]: 63: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,608 INFO L290 TraceCheckUtils]: 64: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,608 INFO L290 TraceCheckUtils]: 65: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,608 INFO L290 TraceCheckUtils]: 66: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,609 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #91#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 05:46:02,609 INFO L272 TraceCheckUtils]: 68: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,609 INFO L290 TraceCheckUtils]: 69: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,609 INFO L290 TraceCheckUtils]: 70: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,609 INFO L290 TraceCheckUtils]: 71: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,609 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #93#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 05:46:02,609 INFO L272 TraceCheckUtils]: 73: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,609 INFO L290 TraceCheckUtils]: 74: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,610 INFO L290 TraceCheckUtils]: 75: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,610 INFO L290 TraceCheckUtils]: 76: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,610 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #95#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 05:46:02,610 INFO L272 TraceCheckUtils]: 78: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,610 INFO L290 TraceCheckUtils]: 79: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,610 INFO L290 TraceCheckUtils]: 80: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,610 INFO L290 TraceCheckUtils]: 81: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,611 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #97#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 05:46:02,612 INFO L290 TraceCheckUtils]: 83: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 05:46:02,612 INFO L290 TraceCheckUtils]: 84: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} assume !false; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 05:46:02,612 INFO L272 TraceCheckUtils]: 85: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,612 INFO L290 TraceCheckUtils]: 86: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,612 INFO L290 TraceCheckUtils]: 87: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,612 INFO L290 TraceCheckUtils]: 88: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,613 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #91#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 05:46:02,613 INFO L272 TraceCheckUtils]: 90: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,613 INFO L290 TraceCheckUtils]: 91: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,613 INFO L290 TraceCheckUtils]: 92: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,613 INFO L290 TraceCheckUtils]: 93: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,613 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #93#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 05:46:02,613 INFO L272 TraceCheckUtils]: 95: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,613 INFO L290 TraceCheckUtils]: 96: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,613 INFO L290 TraceCheckUtils]: 97: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,614 INFO L290 TraceCheckUtils]: 98: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,614 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #95#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 05:46:02,614 INFO L272 TraceCheckUtils]: 100: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:02,614 INFO L290 TraceCheckUtils]: 101: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:02,614 INFO L290 TraceCheckUtils]: 102: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:02,614 INFO L290 TraceCheckUtils]: 103: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:02,615 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #97#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 05:46:02,615 INFO L290 TraceCheckUtils]: 105: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} assume !(~c~0 >= ~b~0); {9167#false} is VALID [2022-04-08 05:46:02,615 INFO L290 TraceCheckUtils]: 106: Hoare triple {9167#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; {9167#false} is VALID [2022-04-08 05:46:02,615 INFO L290 TraceCheckUtils]: 107: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-08 05:46:02,615 INFO L290 TraceCheckUtils]: 108: Hoare triple {9167#false} assume !(0 != ~b~0); {9167#false} is VALID [2022-04-08 05:46:02,615 INFO L272 TraceCheckUtils]: 109: Hoare triple {9167#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {9167#false} is VALID [2022-04-08 05:46:02,616 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-08 05:46:02,616 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-08 05:46:02,616 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-08 05:46:02,616 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 33 refuted. 0 times theorem prover too weak. 309 trivial. 0 not checked. [2022-04-08 05:46:02,616 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:46:03,076 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-08 05:46:03,077 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-08 05:46:03,077 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-08 05:46:03,077 INFO L272 TraceCheckUtils]: 109: Hoare triple {9167#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {9167#false} is VALID [2022-04-08 05:46:03,077 INFO L290 TraceCheckUtils]: 108: Hoare triple {9167#false} assume !(0 != ~b~0); {9167#false} is VALID [2022-04-08 05:46:03,077 INFO L290 TraceCheckUtils]: 107: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-08 05:46:03,077 INFO L290 TraceCheckUtils]: 106: Hoare triple {9167#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; {9167#false} is VALID [2022-04-08 05:46:03,077 INFO L290 TraceCheckUtils]: 105: Hoare triple {9535#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {9167#false} is VALID [2022-04-08 05:46:03,078 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #97#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:46:03,078 INFO L290 TraceCheckUtils]: 103: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,078 INFO L290 TraceCheckUtils]: 102: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,078 INFO L290 TraceCheckUtils]: 101: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,078 INFO L272 TraceCheckUtils]: 100: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,079 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #95#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:46:03,079 INFO L290 TraceCheckUtils]: 98: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,079 INFO L290 TraceCheckUtils]: 97: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,079 INFO L290 TraceCheckUtils]: 96: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,079 INFO L272 TraceCheckUtils]: 95: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,079 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #93#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:46:03,079 INFO L290 TraceCheckUtils]: 93: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,080 INFO L290 TraceCheckUtils]: 92: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,080 INFO L290 TraceCheckUtils]: 91: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,080 INFO L272 TraceCheckUtils]: 90: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,080 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #91#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:46:03,080 INFO L290 TraceCheckUtils]: 88: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,080 INFO L290 TraceCheckUtils]: 87: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,080 INFO L290 TraceCheckUtils]: 86: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,080 INFO L272 TraceCheckUtils]: 85: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,081 INFO L290 TraceCheckUtils]: 84: Hoare triple {9535#(<= main_~b~0 main_~c~0)} assume !false; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:46:03,081 INFO L290 TraceCheckUtils]: 83: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 05:46:03,082 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #97#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 05:46:03,082 INFO L290 TraceCheckUtils]: 81: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,082 INFO L290 TraceCheckUtils]: 80: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,082 INFO L290 TraceCheckUtils]: 79: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,082 INFO L272 TraceCheckUtils]: 78: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,083 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #95#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 05:46:03,083 INFO L290 TraceCheckUtils]: 76: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,083 INFO L290 TraceCheckUtils]: 75: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,083 INFO L290 TraceCheckUtils]: 74: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,083 INFO L272 TraceCheckUtils]: 73: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,084 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #93#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 05:46:03,084 INFO L290 TraceCheckUtils]: 71: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,084 INFO L290 TraceCheckUtils]: 70: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,084 INFO L290 TraceCheckUtils]: 69: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,084 INFO L272 TraceCheckUtils]: 68: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,084 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #91#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 05:46:03,084 INFO L290 TraceCheckUtils]: 66: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,084 INFO L290 TraceCheckUtils]: 65: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,084 INFO L290 TraceCheckUtils]: 64: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,085 INFO L272 TraceCheckUtils]: 63: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,085 INFO L290 TraceCheckUtils]: 62: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !false; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 05:46:03,085 INFO L290 TraceCheckUtils]: 61: Hoare triple {9292#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 05:46:03,086 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #97#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:03,086 INFO L290 TraceCheckUtils]: 59: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,086 INFO L290 TraceCheckUtils]: 58: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,086 INFO L290 TraceCheckUtils]: 57: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,086 INFO L272 TraceCheckUtils]: 56: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,087 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #95#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:03,087 INFO L290 TraceCheckUtils]: 54: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,087 INFO L290 TraceCheckUtils]: 53: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,087 INFO L290 TraceCheckUtils]: 52: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,087 INFO L272 TraceCheckUtils]: 51: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,087 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #93#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:03,088 INFO L290 TraceCheckUtils]: 49: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,088 INFO L290 TraceCheckUtils]: 48: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,088 INFO L290 TraceCheckUtils]: 47: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,088 INFO L272 TraceCheckUtils]: 46: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,088 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #91#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:03,088 INFO L290 TraceCheckUtils]: 44: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,088 INFO L290 TraceCheckUtils]: 43: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,088 INFO L290 TraceCheckUtils]: 42: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,088 INFO L272 TraceCheckUtils]: 41: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,089 INFO L290 TraceCheckUtils]: 40: Hoare triple {9292#(<= main_~c~0 1)} assume !false; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:03,089 INFO L290 TraceCheckUtils]: 39: Hoare triple {9255#(<= main_~a~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 05:46:03,089 INFO L290 TraceCheckUtils]: 38: Hoare triple {9255#(<= main_~a~0 1)} assume !false; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 05:46:03,090 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #89#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 05:46:03,090 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,090 INFO L290 TraceCheckUtils]: 35: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,090 INFO L290 TraceCheckUtils]: 34: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,090 INFO L272 TraceCheckUtils]: 33: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,090 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #87#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 05:46:03,090 INFO L290 TraceCheckUtils]: 31: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,090 INFO L290 TraceCheckUtils]: 30: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,090 INFO L290 TraceCheckUtils]: 29: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,091 INFO L272 TraceCheckUtils]: 28: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,091 INFO L290 TraceCheckUtils]: 27: Hoare triple {9771#(<= main_~x~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 05:46:03,091 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #85#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 05:46:03,091 INFO L290 TraceCheckUtils]: 25: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,091 INFO L290 TraceCheckUtils]: 24: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,091 INFO L290 TraceCheckUtils]: 23: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,092 INFO L272 TraceCheckUtils]: 22: Hoare triple {9771#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,092 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #83#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 05:46:03,092 INFO L290 TraceCheckUtils]: 20: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,092 INFO L290 TraceCheckUtils]: 19: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,092 INFO L290 TraceCheckUtils]: 18: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,092 INFO L272 TraceCheckUtils]: 17: Hoare triple {9771#(<= main_~x~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,092 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #81#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 05:46:03,093 INFO L290 TraceCheckUtils]: 15: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 05:46:03,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 05:46:03,093 INFO L272 TraceCheckUtils]: 12: Hoare triple {9771#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,093 INFO L290 TraceCheckUtils]: 11: Hoare triple {9771#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 05:46:03,093 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} {9166#true} #79#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 05:46:03,094 INFO L290 TraceCheckUtils]: 9: Hoare triple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:46:03,094 INFO L290 TraceCheckUtils]: 8: Hoare triple {9832#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:46:03,094 INFO L290 TraceCheckUtils]: 7: Hoare triple {9166#true} ~cond := #in~cond; {9832#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:46:03,094 INFO L272 TraceCheckUtils]: 6: Hoare triple {9166#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 05:46:03,094 INFO L290 TraceCheckUtils]: 5: Hoare triple {9166#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9166#true} is VALID [2022-04-08 05:46:03,094 INFO L272 TraceCheckUtils]: 4: Hoare triple {9166#true} call #t~ret6 := main(); {9166#true} is VALID [2022-04-08 05:46:03,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9166#true} {9166#true} #103#return; {9166#true} is VALID [2022-04-08 05:46:03,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 05:46:03,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {9166#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); {9166#true} is VALID [2022-04-08 05:46:03,095 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-08 05:46:03,095 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 33 refuted. 0 times theorem prover too weak. 309 trivial. 0 not checked. [2022-04-08 05:46:03,095 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:46:03,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2105903901] [2022-04-08 05:46:03,095 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:46:03,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [536374446] [2022-04-08 05:46:03,095 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [536374446] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:46:03,095 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:46:03,095 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2022-04-08 05:46:03,096 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:46:03,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [458061711] [2022-04-08 05:46:03,096 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [458061711] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:46:03,096 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:46:03,096 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:46:03,096 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1155154773] [2022-04-08 05:46:03,096 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:46:03,096 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 113 [2022-04-08 05:46:03,096 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:46:03,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 05:46:03,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:46:03,145 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:46:03,145 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:46:03,146 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:46:03,146 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-08 05:46:03,146 INFO L87 Difference]: Start difference. First operand 69 states and 82 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 05:46:03,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:46:03,834 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 05:46:03,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:46:03,834 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 113 [2022-04-08 05:46:03,834 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:46:03,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 05:46:03,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2022-04-08 05:46:03,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 05:46:03,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2022-04-08 05:46:03,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 70 transitions. [2022-04-08 05:46:03,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:46:03,892 INFO L225 Difference]: With dead ends: 69 [2022-04-08 05:46:03,892 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 05:46:03,893 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 229 GetRequests, 213 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:46:03,893 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 11 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 201 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 201 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:46:03,893 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 201 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 05:46:03,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 05:46:03,894 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 05:46:03,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:46:03,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:46:03,894 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:46:03,894 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:46:03,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:46:03,894 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 05:46:03,894 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 05:46:03,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:46:03,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:46:03,894 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 05:46:03,894 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 05:46:03,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:46:03,894 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 05:46:03,894 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 05:46:03,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:46:03,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:46:03,894 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:46:03,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:46:03,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:46:03,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 05:46:03,895 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 113 [2022-04-08 05:46:03,895 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:46:03,895 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 05:46:03,895 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 05:46:03,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 05:46:03,895 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:46:03,895 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 05:46:03,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:46:03,897 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 05:46:03,913 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 05:46:04,098 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 05:46:04,100 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 05:46:05,863 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-08 05:46:05,864 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-08 05:46:05,864 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-08 05:46:05,864 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-08 05:46:05,864 INFO L878 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 05:46:05,864 INFO L878 garLoopResultBuilder]: At program point L8-2(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 05:46:05,864 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 05:46:05,864 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-08 05:46:05,864 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 74) the Hoare annotation is: true [2022-04-08 05:46:05,864 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-08 05:46:05,864 INFO L878 garLoopResultBuilder]: At program point L48(line 48) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse2 (= main_~s~0 1)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 (<= 1 main_~a~0) .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8) (and .cse0 .cse1 .cse2 (<= main_~x~0 1) (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8))) [2022-04-08 05:46:05,864 INFO L878 garLoopResultBuilder]: At program point L48-1(line 48) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-08 05:46:05,864 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 74) the Hoare annotation is: true [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L42(lines 42 43) the Hoare annotation is: (let ((.cse0 (< main_~c~0 1)) (.cse1 (<= 0 main_~c~0)) (.cse2 (<= main_~y~0 1))) (or (and (= main_~r~0 0) .cse0 (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) .cse1 (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) .cse2 (= main_~p~0 1)) (let ((.cse3 (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)))) (and .cse0 (< main_~b~0 1) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) .cse1 (< .cse3 (+ main_~y~0 1)) (< .cse3 (+ main_~x~0 1)) (<= 0 main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) .cse2)))) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L71(line 71) the Hoare annotation is: (and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (= main_~r~0 1) (<= 1 main_~y~0) (<= main_~y~0 1)) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (and (= main_~r~0 0) (< main_~c~0 1) (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L38-1(line 38) the Hoare annotation is: (and (= main_~r~0 0) (< main_~c~0 1) (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-08 05:46:05,865 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 74) the Hoare annotation is: true [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 1 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0) (<= main_~y~0 1)) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-08 05:46:05,865 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L51(lines 47 56) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L49(line 49) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L47-2(lines 47 56) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse2 (= main_~s~0 1)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 (<= 1 main_~a~0) .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8) (and .cse0 .cse1 .cse2 (<= main_~x~0 1) (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8))) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L47-3(lines 47 56) the Hoare annotation is: (and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (< main_~c~0 1) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~k~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-08 05:46:05,865 INFO L878 garLoopResultBuilder]: At program point L41-1(lines 39 68) the Hoare annotation is: (let ((.cse0 (< main_~c~0 1)) (.cse1 (<= 0 main_~c~0)) (.cse2 (<= main_~y~0 1))) (or (and (= main_~r~0 0) .cse0 (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) .cse1 (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) .cse2 (= main_~p~0 1)) (let ((.cse3 (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)))) (and .cse0 (< main_~b~0 1) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) .cse1 (< .cse3 (+ main_~y~0 1)) (< .cse3 (+ main_~x~0 1)) (<= 0 main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) .cse2)))) [2022-04-08 05:46:05,866 INFO L885 garLoopResultBuilder]: At program point L72(line 72) the Hoare annotation is: true [2022-04-08 05:46:05,866 INFO L878 garLoopResultBuilder]: At program point L41-2(lines 41 68) the Hoare annotation is: (let ((.cse0 (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)))) (and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (< .cse0 (+ main_~y~0 1)) (< .cse0 (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))) [2022-04-08 05:46:05,866 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 05:46:05,866 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-08 05:46:05,866 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 05:46:05,866 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 05:46:05,866 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 05:46:05,866 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 05:46:05,866 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 05:46:05,866 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-08 05:46:05,866 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 05:46:05,866 INFO L878 garLoopResultBuilder]: At program point L11(lines 11 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 05:46:05,866 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 05:46:05,866 INFO L878 garLoopResultBuilder]: At program point L11-2(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 05:46:05,866 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 05:46:05,868 INFO L719 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-08 05:46:05,869 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 05:46:05,871 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 05:46:05,872 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 05:46:05,914 INFO L163 areAnnotationChecker]: CFG has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 05:46:05,927 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 05:46:05 BoogieIcfgContainer [2022-04-08 05:46:05,927 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 05:46:05,928 INFO L158 Benchmark]: Toolchain (without parser) took 152112.78ms. Allocated memory was 198.2MB in the beginning and 268.4MB in the end (delta: 70.3MB). Free memory was 149.0MB in the beginning and 111.5MB in the end (delta: 37.5MB). Peak memory consumption was 135.7MB. Max. memory is 8.0GB. [2022-04-08 05:46:05,928 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 198.2MB. Free memory is still 165.2MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 05:46:05,928 INFO L158 Benchmark]: CACSL2BoogieTranslator took 251.66ms. Allocated memory is still 198.2MB. Free memory was 148.8MB in the beginning and 173.9MB in the end (delta: -25.0MB). Peak memory consumption was 10.4MB. Max. memory is 8.0GB. [2022-04-08 05:46:05,928 INFO L158 Benchmark]: Boogie Preprocessor took 34.49ms. Allocated memory is still 198.2MB. Free memory was 173.9MB in the beginning and 172.3MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-08 05:46:05,928 INFO L158 Benchmark]: RCFGBuilder took 276.74ms. Allocated memory is still 198.2MB. Free memory was 171.8MB in the beginning and 158.7MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 05:46:05,928 INFO L158 Benchmark]: TraceAbstraction took 151545.62ms. Allocated memory was 198.2MB in the beginning and 268.4MB in the end (delta: 70.3MB). Free memory was 158.1MB in the beginning and 111.5MB in the end (delta: 46.7MB). Peak memory consumption was 144.2MB. Max. memory is 8.0GB. [2022-04-08 05:46:05,929 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 198.2MB. Free memory is still 165.2MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 251.66ms. Allocated memory is still 198.2MB. Free memory was 148.8MB in the beginning and 173.9MB in the end (delta: -25.0MB). Peak memory consumption was 10.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 34.49ms. Allocated memory is still 198.2MB. Free memory was 173.9MB in the beginning and 172.3MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 276.74ms. Allocated memory is still 198.2MB. Free memory was 171.8MB in the beginning and 158.7MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 151545.62ms. Allocated memory was 198.2MB in the beginning and 268.4MB in the end (delta: 70.3MB). Free memory was 158.1MB in the beginning and 111.5MB in the end (delta: 46.7MB). Peak memory consumption was 144.2MB. 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: 151.5s, OverallIterations: 13, TraceHistogramMax: 13, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 9.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.8s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 362 SdHoareTripleChecker+Valid, 3.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 279 mSDsluCounter, 2333 SdHoareTripleChecker+Invalid, 3.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1776 mSDsCounter, 238 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2547 IncrementalHoareTripleChecker+Invalid, 2785 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 238 mSolverCounterUnsat, 557 mSDtfsCounter, 2547 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1589 GetRequests, 1417 SyntacticMatches, 11 SemanticMatches, 161 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 348 ImplicationChecksByTransitivity, 1.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=89occurred in iteration=8, InterpolantAutomatonStates: 112, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.2s AutomataMinimizationTime, 13 MinimizatonAttempts, 46 StatesRemovedByMinimization, 10 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 40 LocationsWithAnnotation, 398 PreInvPairs, 497 NumberOfFragments, 1059 HoareAnnotationTreeSize, 398 FomulaSimplifications, 263 FormulaSimplificationTreeSizeReduction, 0.3s HoareSimplificationTime, 40 FomulaSimplificationsInter, 4050 FormulaSimplificationTreeSizeReductionInter, 1.3s 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: 47]: Loop Invariant Derived loop invariant: ((((((((((((r == 0 && a == c + b * k) && s == 1) && 1 <= a) && b == y) && yy == y * y) && q == 0) && 1 <= y) && a == x) && c <= 1) && c == x) && y <= 1) && p == 1) || (((((((((((r == 0 && a == c + b * k) && s == 1) && x <= 1) && 0 <= c) && b == y) && k == 1) && yy == y * y) && q == 0) && 1 <= y) && a == x) && p == 1) - InvariantResult [Line: 39]: Loop Invariant Derived loop invariant: ((((((((((((r == 0 && c < 1) && s == 1) && x <= 1) && 1 <= a) && 0 <= c) && b == y) && yy == y * y) && q == 0) && 1 <= y) && a == x) && y <= 1) && p == 1) || (((((((((((c < 1 && b < 1) && p == 0) && a == y * r + p * x) && r == 1) && 0 <= c) && (-1 + -1 * x) / -2 < y + 1) && (-1 + -1 * x) / -2 < x + 1) && 0 <= b) && q == 1) && s + 1 == 0) && y <= 1) - ProcedureContractResult [Line: 7]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 18]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 10]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-08 05:46:05,959 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...