/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 14:48:11,273 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 14:48:11,277 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 14:48:11,306 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 14:48:11,306 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 14:48:11,307 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 14:48:11,307 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 14:48:11,309 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 14:48:11,310 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 14:48:11,310 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 14:48:11,311 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 14:48:11,312 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 14:48:11,312 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 14:48:11,313 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 14:48:11,313 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 14:48:11,314 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 14:48:11,315 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 14:48:11,321 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 14:48:11,322 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 14:48:11,323 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 14:48:11,324 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 14:48:11,324 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 14:48:11,325 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 14:48:11,326 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 14:48:11,326 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 14:48:11,328 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 14:48:11,328 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 14:48:11,328 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 14:48:11,329 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 14:48:11,329 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 14:48:11,329 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 14:48:11,330 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 14:48:11,330 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 14:48:11,331 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 14:48:11,331 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 14:48:11,332 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 14:48:11,332 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 14:48:11,332 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 14:48:11,332 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 14:48:11,333 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 14:48:11,333 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 14:48:11,334 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 14:48:11,334 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 14:48:11,340 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 14:48:11,340 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 14:48:11,340 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 14:48:11,341 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 14:48:11,341 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 14:48:11,341 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 14:48:11,341 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 14:48:11,341 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 14:48:11,341 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 14:48:11,341 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 14:48:11,341 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 14:48:11,342 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 14:48:11,342 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 14:48:11,342 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 14:48:11,342 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 14:48:11,342 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:48:11,342 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 14:48:11,342 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 14:48:11,343 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 14:48:11,343 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 14:48:11,343 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 14:48:11,343 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 14:48:11,343 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 14:48:11,498 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 14:48:11,509 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 14:48:11,511 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 14:48:11,512 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 14:48:11,515 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 14:48:11,516 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-15 14:48:11,552 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9880c4679/d6b93f27604446a1a339ecd3fe9fcdab/FLAGac54b56a2 [2022-04-15 14:48:11,901 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 14:48:11,901 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-04-15 14:48:11,905 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9880c4679/d6b93f27604446a1a339ecd3fe9fcdab/FLAGac54b56a2 [2022-04-15 14:48:11,924 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9880c4679/d6b93f27604446a1a339ecd3fe9fcdab [2022-04-15 14:48:11,925 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 14:48:11,926 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 14:48:11,928 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 14:48:11,928 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 14:48:11,931 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 14:48:11,931 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:48:11" (1/1) ... [2022-04-15 14:48:11,932 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@76cc0fce and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:11, skipping insertion in model container [2022-04-15 14:48:11,932 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:48:11" (1/1) ... [2022-04-15 14:48:11,936 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 14:48:11,947 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 14:48:12,087 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-15 14:48:12,121 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:48:12,127 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 14:48:12,134 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-15 14:48:12,141 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:48:12,150 INFO L208 MainTranslator]: Completed translation [2022-04-15 14:48:12,150 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12 WrapperNode [2022-04-15 14:48:12,150 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 14:48:12,151 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 14:48:12,151 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 14:48:12,151 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 14:48:12,158 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12" (1/1) ... [2022-04-15 14:48:12,158 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12" (1/1) ... [2022-04-15 14:48:12,162 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12" (1/1) ... [2022-04-15 14:48:12,162 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12" (1/1) ... [2022-04-15 14:48:12,166 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12" (1/1) ... [2022-04-15 14:48:12,169 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12" (1/1) ... [2022-04-15 14:48:12,169 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12" (1/1) ... [2022-04-15 14:48:12,171 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 14:48:12,175 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 14:48:12,175 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 14:48:12,175 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 14:48:12,176 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12" (1/1) ... [2022-04-15 14:48:12,181 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:48:12,189 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:48:12,197 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 14:48:12,222 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 14:48:12,240 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 14:48:12,240 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 14:48:12,240 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 14:48:12,240 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 14:48:12,241 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 14:48:12,241 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 14:48:12,241 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 14:48:12,241 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 14:48:12,241 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 14:48:12,241 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 14:48:12,241 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 14:48:12,241 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 14:48:12,241 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 14:48:12,241 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 14:48:12,241 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 14:48:12,244 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 14:48:12,245 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 14:48:12,246 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 14:48:12,246 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 14:48:12,246 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 14:48:12,291 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 14:48:12,292 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 14:48:12,418 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 14:48:12,423 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 14:48:12,423 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-15 14:48:12,424 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:48:12 BoogieIcfgContainer [2022-04-15 14:48:12,424 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 14:48:12,425 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 14:48:12,425 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 14:48:12,427 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 14:48:12,427 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 02:48:11" (1/3) ... [2022-04-15 14:48:12,428 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@77e3ad31 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:48:12, skipping insertion in model container [2022-04-15 14:48:12,428 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:48:12" (2/3) ... [2022-04-15 14:48:12,428 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@77e3ad31 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:48:12, skipping insertion in model container [2022-04-15 14:48:12,428 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:48:12" (3/3) ... [2022-04-15 14:48:12,429 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound1.c [2022-04-15 14:48:12,432 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 14:48:12,432 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 14:48:12,459 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 14:48:12,463 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 14:48:12,463 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 14:48:12,475 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-15 14:48:12,481 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 14:48:12,481 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:48:12,482 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-15 14:48:12,482 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:48:12,486 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:48:12,486 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-15 14:48:12,491 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:12,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1025715298] [2022-04-15 14:48:12,500 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:48:12,501 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 2 times [2022-04-15 14:48:12,503 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:48:12,503 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1868251971] [2022-04-15 14:48:12,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:48:12,504 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:48:12,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:12,633 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 14:48:12,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:12,657 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-15 14:48:12,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 14:48:12,658 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-15 14:48:12,658 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 14:48:12,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:12,668 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,669 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-15 14:48:12,670 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 14:48:12,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:12,677 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-15 14:48:12,678 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 14:48:12,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:12,684 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-15 14:48:12,685 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 14:48:12,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:12,690 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,691 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-15 14:48:12,691 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-15 14:48:12,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:12,697 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,697 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,697 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-15 14:48:12,698 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-15 14:48:12,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:12,703 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-15 14:48:12,705 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-15 14:48:12,705 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-15 14:48:12,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 14:48:12,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-15 14:48:12,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-15 14:48:12,706 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-15 14:48:12,706 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 14:48:12,706 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-15 14:48:12,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-15 14:48:12,707 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 14:48:12,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,708 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,708 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,708 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-15 14:48:12,708 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 14:48:12,709 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,709 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,709 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-15 14:48:12,709 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 14:48:12,710 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,710 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,710 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,710 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-15 14:48:12,710 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-15 14:48:12,711 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-15 14:48:12,711 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,711 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,711 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,711 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-15 14:48:12,712 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-15 14:48:12,712 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 14:48:12,712 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 14:48:12,712 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 14:48:12,712 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-15 14:48:12,713 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-15 14:48:12,713 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-15 14:48:12,713 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-15 14:48:12,713 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-15 14:48:12,713 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-15 14:48:12,714 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-15 14:48:12,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:48:12,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1868251971] [2022-04-15 14:48:12,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1868251971] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:48:12,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:48:12,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:48:12,717 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:48:12,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1025715298] [2022-04-15 14:48:12,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1025715298] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:48:12,717 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:48:12,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:48:12,717 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1670607563] [2022-04-15 14:48:12,718 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:48:12,721 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-15 14:48:12,722 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:48:12,724 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-15 14:48:12,751 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-15 14:48:12,752 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 14:48:12,752 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:12,769 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 14:48:12,770 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 14:48:12,772 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-15 14:48:12,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:12,932 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-15 14:48:12,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 14:48:12,933 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-15 14:48:12,933 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:48:12,934 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-15 14:48:12,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-15 14:48:12,941 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-15 14:48:12,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-15 14:48:12,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-15 14:48:13,048 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-15 14:48:13,058 INFO L225 Difference]: With dead ends: 73 [2022-04-15 14:48:13,058 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 14:48:13,062 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-15 14:48:13,066 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-15 14:48:13,068 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-15 14:48:13,078 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 14:48:13,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-15 14:48:13,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:48:13,109 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-15 14:48:13,111 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-15 14:48:13,112 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-15 14:48:13,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:13,123 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-15 14:48:13,123 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-15 14:48:13,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:13,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:13,125 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-15 14:48:13,126 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-15 14:48:13,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:13,136 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-15 14:48:13,138 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-15 14:48:13,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:13,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:13,140 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:48:13,140 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:48:13,141 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-15 14:48:13,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-15 14:48:13,146 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-15 14:48:13,146 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:48:13,147 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-15 14:48:13,148 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-15 14:48:13,148 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 46 transitions. [2022-04-15 14:48:13,198 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-15 14:48:13,199 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-15 14:48:13,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-15 14:48:13,206 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:48:13,206 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-15 14:48:13,206 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 14:48:13,206 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:48:13,207 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:48:13,207 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-15 14:48:13,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:13,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [567615443] [2022-04-15 14:48:13,211 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:48:13,211 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 2 times [2022-04-15 14:48:13,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:48:13,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [125310668] [2022-04-15 14:48:13,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:48:13,212 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:48:13,238 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:48:13,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [293047851] [2022-04-15 14:48:13,239 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:48:13,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:48:13,244 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:48:13,245 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:48:13,279 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 14:48:13,301 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:48:13,301 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:48:13,303 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 14:48:13,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:13,316 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:48:13,508 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-15 14:48:13,509 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-15 14:48:13,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-15 14:48:13,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-15 14:48:13,509 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-15 14:48:13,509 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-15 14:48:13,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-15 14:48:13,510 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-15 14:48:13,510 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-15 14:48:13,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,511 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-15 14:48:13,511 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-15 14:48:13,511 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,511 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,512 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-15 14:48:13,512 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-15 14:48:13,512 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-15 14:48:13,513 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-15 14:48:13,513 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-15 14:48:13,514 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-15 14:48:13,514 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-15 14:48:13,514 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-15 14:48:13,515 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,515 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,515 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,515 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-15 14:48:13,516 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-15 14:48:13,516 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,516 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,516 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,516 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-15 14:48:13,517 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-15 14:48:13,517 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-15 14:48:13,517 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-15 14:48:13,518 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-15 14:48:13,518 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-15 14:48:13,518 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-15 14:48:13,518 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-15 14:48:13,518 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:48:13,757 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-15 14:48:13,757 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-15 14:48:13,757 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-15 14:48:13,758 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-15 14:48:13,759 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-15 14:48:13,760 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-15 14:48:13,767 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-15 14:48:13,767 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,768 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,768 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,768 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-15 14:48:13,768 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-15 14:48:13,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,769 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,769 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-15 14:48:13,770 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-15 14:48:13,770 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-15 14:48:13,771 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-15 14:48:13,771 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-15 14:48:13,771 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-15 14:48:13,772 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-15 14:48:13,772 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-15 14:48:13,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,772 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-15 14:48:13,772 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-15 14:48:13,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,773 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-15 14:48:13,773 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-15 14:48:13,773 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-15 14:48:13,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-15 14:48:13,773 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-15 14:48:13,773 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-15 14:48:13,774 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-15 14:48:13,774 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-15 14:48:13,774 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-15 14:48:13,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-15 14:48:13,774 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-15 14:48:13,774 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-15 14:48:13,774 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-15 14:48:13,775 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:48:13,775 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [125310668] [2022-04-15 14:48:13,775 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:48:13,775 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [293047851] [2022-04-15 14:48:13,775 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [293047851] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:48:13,775 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:48:13,775 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-15 14:48:13,776 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:48:13,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [567615443] [2022-04-15 14:48:13,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [567615443] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:48:13,776 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:48:13,776 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 14:48:13,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [704216601] [2022-04-15 14:48:13,777 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:48:13,777 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-15 14:48:13,777 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:48:13,778 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-15 14:48:13,797 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-15 14:48:13,797 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 14:48:13,797 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:13,797 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 14:48:13,798 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-15 14:48:13,798 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-15 14:48:14,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:14,062 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-15 14:48:14,062 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 14:48:14,063 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-15 14:48:14,063 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:48:14,063 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-15 14:48:14,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 14:48:14,066 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-15 14:48:14,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 14:48:14,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-15 14:48:14,119 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:48:14,120 INFO L225 Difference]: With dead ends: 52 [2022-04-15 14:48:14,120 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 14:48:14,121 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-15 14:48:14,122 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-15 14:48:14,122 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-15 14:48:14,122 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 14:48:14,138 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-15 14:48:14,139 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:48:14,139 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-15 14:48:14,139 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-15 14:48:14,139 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-15 14:48:14,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:14,142 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-15 14:48:14,142 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-15 14:48:14,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:14,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:14,143 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-15 14:48:14,143 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-15 14:48:14,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:14,145 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-15 14:48:14,145 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-15 14:48:14,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:14,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:14,146 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:48:14,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:48:14,146 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-15 14:48:14,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-15 14:48:14,164 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-15 14:48:14,164 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:48:14,164 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-15 14:48:14,164 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-15 14:48:14,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-15 14:48:14,191 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-15 14:48:14,191 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-15 14:48:14,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 14:48:14,192 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:48:14,192 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-15 14:48:14,215 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 14:48:14,393 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:48:14,393 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:48:14,393 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:48:14,394 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-15 14:48:14,394 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:14,394 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [88647611] [2022-04-15 14:48:14,394 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:48:14,394 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 2 times [2022-04-15 14:48:14,394 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:48:14,394 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [404197041] [2022-04-15 14:48:14,395 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:48:14,395 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:48:14,410 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:48:14,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1974983554] [2022-04-15 14:48:14,410 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:48:14,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:48:14,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:48:14,416 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:48:14,425 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 14:48:14,464 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 14:48:14,464 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:48:14,465 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 14:48:14,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:14,472 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:48:14,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {901#true} call ULTIMATE.init(); {901#true} is VALID [2022-04-15 14:48:14,580 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-15 14:48:14,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-15 14:48:14,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {901#true} {901#true} #103#return; {901#true} is VALID [2022-04-15 14:48:14,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {901#true} call #t~ret6 := main(); {901#true} is VALID [2022-04-15 14:48:14,581 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-15 14:48:14,581 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-15 14:48:14,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-15 14:48:14,581 INFO L290 TraceCheckUtils]: 8: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-15 14:48:14,581 INFO L290 TraceCheckUtils]: 9: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-15 14:48:14,581 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {901#true} {901#true} #79#return; {901#true} is VALID [2022-04-15 14:48:14,582 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-15 14:48:14,582 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-15 14:48:14,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-15 14:48:14,583 INFO L290 TraceCheckUtils]: 14: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-15 14:48:14,583 INFO L290 TraceCheckUtils]: 15: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-15 14:48:14,583 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {901#true} {901#true} #81#return; {901#true} is VALID [2022-04-15 14:48:14,583 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-15 14:48:14,583 INFO L290 TraceCheckUtils]: 18: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-15 14:48:14,584 INFO L290 TraceCheckUtils]: 19: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-15 14:48:14,584 INFO L290 TraceCheckUtils]: 20: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-15 14:48:14,584 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {901#true} {901#true} #83#return; {901#true} is VALID [2022-04-15 14:48:14,584 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-15 14:48:14,584 INFO L290 TraceCheckUtils]: 23: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-15 14:48:14,585 INFO L290 TraceCheckUtils]: 24: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-15 14:48:14,585 INFO L290 TraceCheckUtils]: 25: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-15 14:48:14,585 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {901#true} {901#true} #85#return; {901#true} is VALID [2022-04-15 14:48:14,585 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-15 14:48:14,585 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-15 14:48:14,585 INFO L290 TraceCheckUtils]: 29: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-15 14:48:14,585 INFO L290 TraceCheckUtils]: 30: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-15 14:48:14,586 INFO L290 TraceCheckUtils]: 31: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-15 14:48:14,586 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {901#true} {901#true} #87#return; {901#true} is VALID [2022-04-15 14:48:14,586 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-15 14:48:14,586 INFO L290 TraceCheckUtils]: 34: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-15 14:48:14,586 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-15 14:48:14,586 INFO L290 TraceCheckUtils]: 36: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-15 14:48:14,586 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {901#true} {901#true} #89#return; {901#true} is VALID [2022-04-15 14:48:14,586 INFO L290 TraceCheckUtils]: 38: Hoare triple {901#true} assume !false; {901#true} is VALID [2022-04-15 14:48:14,588 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-15 14:48:14,588 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-15 14:48:14,589 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-15 14:48:14,589 INFO L290 TraceCheckUtils]: 42: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:48:14,590 INFO L290 TraceCheckUtils]: 43: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {902#false} is VALID [2022-04-15 14:48:14,590 INFO L290 TraceCheckUtils]: 44: Hoare triple {902#false} assume !false; {902#false} is VALID [2022-04-15 14:48:14,590 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-15 14:48:14,590 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:48:14,591 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:48:14,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [404197041] [2022-04-15 14:48:14,591 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:48:14,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1974983554] [2022-04-15 14:48:14,591 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1974983554] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:48:14,591 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:48:14,591 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:48:14,591 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:48:14,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [88647611] [2022-04-15 14:48:14,592 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [88647611] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:48:14,592 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:48:14,592 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:48:14,592 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [801604574] [2022-04-15 14:48:14,592 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:48:14,593 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-15 14:48:14,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:48:14,595 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-15 14:48:14,609 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-15 14:48:14,609 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:48:14,610 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:14,610 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:48:14,610 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:48:14,611 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-15 14:48:14,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:14,750 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-04-15 14:48:14,750 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:48:14,750 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-15 14:48:14,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:48:14,751 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-15 14:48:14,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 14:48:14,753 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-15 14:48:14,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 14:48:14,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-15 14:48:14,790 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-15 14:48:14,794 INFO L225 Difference]: With dead ends: 50 [2022-04-15 14:48:14,794 INFO L226 Difference]: Without dead ends: 48 [2022-04-15 14:48:14,795 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-15 14:48:14,803 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-15 14:48:14,803 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-15 14:48:14,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-15 14:48:14,823 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 43. [2022-04-15 14:48:14,823 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:48:14,824 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-15 14:48:14,825 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-15 14:48:14,825 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-15 14:48:14,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:14,828 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-15 14:48:14,828 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-15 14:48:14,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:14,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:14,830 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-15 14:48:14,830 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-15 14:48:14,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:14,834 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-15 14:48:14,834 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-15 14:48:14,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:14,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:14,835 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:48:14,836 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:48:14,837 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-15 14:48:14,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 54 transitions. [2022-04-15 14:48:14,840 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 54 transitions. Word has length 45 [2022-04-15 14:48:14,840 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:48:14,840 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 54 transitions. [2022-04-15 14:48:14,841 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-15 14:48:14,841 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 54 transitions. [2022-04-15 14:48:14,881 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-15 14:48:14,881 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-15 14:48:14,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 14:48:14,882 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:48:14,882 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-15 14:48:14,901 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 14:48:15,098 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 14:48:15,098 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:48:15,099 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:48:15,099 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-15 14:48:15,099 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:15,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1925527408] [2022-04-15 14:48:15,100 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:48:15,100 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 2 times [2022-04-15 14:48:15,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:48:15,100 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [469658881] [2022-04-15 14:48:15,100 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:48:15,100 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:48:15,118 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:48:15,118 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1759487893] [2022-04-15 14:48:15,118 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:48:15,119 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:48:15,119 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:48:15,136 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:48:15,137 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 14:48:15,219 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:48:15,219 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:48:15,221 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 14:48:15,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:15,234 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:48:15,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {1324#true} call ULTIMATE.init(); {1324#true} is VALID [2022-04-15 14:48:15,599 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-15 14:48:15,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-15 14:48:15,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1324#true} {1324#true} #103#return; {1324#true} is VALID [2022-04-15 14:48:15,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {1324#true} call #t~ret6 := main(); {1324#true} is VALID [2022-04-15 14:48:15,600 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-15 14:48:15,600 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-15 14:48:15,600 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-15 14:48:15,601 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-15 14:48:15,601 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-15 14:48:15,601 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-15 14:48:15,602 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-15 14:48:15,602 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-15 14:48:15,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-15 14:48:15,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-15 14:48:15,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-15 14:48:15,603 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-15 14:48:15,603 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-15 14:48:15,603 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-15 14:48:15,603 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-15 14:48:15,604 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-15 14:48:15,604 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-15 14:48:15,604 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-15 14:48:15,606 INFO L290 TraceCheckUtils]: 23: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-15 14:48:15,606 INFO L290 TraceCheckUtils]: 24: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-15 14:48:15,606 INFO L290 TraceCheckUtils]: 25: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-15 14:48:15,607 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-15 14:48:15,607 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-15 14:48:15,607 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-15 14:48:15,607 INFO L290 TraceCheckUtils]: 29: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-15 14:48:15,607 INFO L290 TraceCheckUtils]: 30: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-15 14:48:15,608 INFO L290 TraceCheckUtils]: 31: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-15 14:48:15,608 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-15 14:48:15,608 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-15 14:48:15,608 INFO L290 TraceCheckUtils]: 34: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-15 14:48:15,608 INFO L290 TraceCheckUtils]: 35: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-15 14:48:15,608 INFO L290 TraceCheckUtils]: 36: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-15 14:48:15,609 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-15 14:48:15,616 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-15 14:48:15,621 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-15 14:48:15,621 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-15 14:48:15,621 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-15 14:48:15,621 INFO L290 TraceCheckUtils]: 42: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-15 14:48:15,622 INFO L290 TraceCheckUtils]: 43: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-15 14:48:15,622 INFO L290 TraceCheckUtils]: 44: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-15 14:48:15,624 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-15 14:48:15,624 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-15 14:48:15,625 INFO L290 TraceCheckUtils]: 47: Hoare triple {1472#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1476#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:48:15,625 INFO L290 TraceCheckUtils]: 48: Hoare triple {1476#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1325#false} is VALID [2022-04-15 14:48:15,626 INFO L290 TraceCheckUtils]: 49: Hoare triple {1325#false} assume !false; {1325#false} is VALID [2022-04-15 14:48:15,626 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-15 14:48:15,626 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:48:46,208 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:48:46,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [469658881] [2022-04-15 14:48:46,208 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:48:46,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1759487893] [2022-04-15 14:48:46,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1759487893] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 14:48:46,209 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:48:46,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-15 14:48:46,209 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:48:46,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1925527408] [2022-04-15 14:48:46,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1925527408] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:48:46,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:48:46,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:48:46,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1395498397] [2022-04-15 14:48:46,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:48:46,210 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-15 14:48:46,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:48:46,210 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-15 14:48:46,238 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-15 14:48:46,239 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:48:46,239 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:46,239 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:48:46,239 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-15 14:48:46,240 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-15 14:48:46,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:46,660 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2022-04-15 14:48:46,660 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:48:46,660 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-15 14:48:46,660 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:48:46,660 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-15 14:48:46,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-15 14:48:46,662 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-15 14:48:46,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-15 14:48:46,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-15 14:48:46,712 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:48:46,713 INFO L225 Difference]: With dead ends: 58 [2022-04-15 14:48:46,713 INFO L226 Difference]: Without dead ends: 56 [2022-04-15 14:48:46,714 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-15 14:48:46,714 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-15 14:48:46,714 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-15 14:48:46,715 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-15 14:48:46,771 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-15 14:48:46,771 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:48:46,772 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-15 14:48:46,772 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-15 14:48:46,772 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-15 14:48:46,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:46,774 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-15 14:48:46,774 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-15 14:48:46,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:46,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:46,775 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-15 14:48:46,775 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-15 14:48:46,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:46,777 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-15 14:48:46,777 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-15 14:48:46,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:46,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:46,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:48:46,777 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:48:46,777 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-15 14:48:46,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 71 transitions. [2022-04-15 14:48:46,779 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 71 transitions. Word has length 50 [2022-04-15 14:48:46,779 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:48:46,779 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 71 transitions. [2022-04-15 14:48:46,780 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-15 14:48:46,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 71 transitions. [2022-04-15 14:48:46,855 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-15 14:48:46,856 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 71 transitions. [2022-04-15 14:48:46,856 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 14:48:46,856 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:48:46,856 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-15 14:48:46,889 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 14:48:47,057 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:48:47,057 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:48:47,057 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:48:47,057 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-15 14:48:47,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:47,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1267217569] [2022-04-15 14:48:47,058 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:48:47,058 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 2 times [2022-04-15 14:48:47,058 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:48:47,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [466252649] [2022-04-15 14:48:47,058 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:48:47,058 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:48:47,076 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:48:47,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1113157837] [2022-04-15 14:48:47,076 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:48:47,076 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:48:47,076 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:48:47,084 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:48:47,088 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 14:48:47,124 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:48:47,124 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:48:47,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-15 14:48:47,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:47,139 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:48:47,695 INFO L272 TraceCheckUtils]: 0: Hoare triple {1840#true} call ULTIMATE.init(); {1840#true} is VALID [2022-04-15 14:48:47,695 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-15 14:48:47,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-15 14:48:47,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1840#true} {1840#true} #103#return; {1840#true} is VALID [2022-04-15 14:48:47,695 INFO L272 TraceCheckUtils]: 4: Hoare triple {1840#true} call #t~ret6 := main(); {1840#true} is VALID [2022-04-15 14:48:47,695 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-15 14:48:47,695 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-15 14:48:47,695 INFO L290 TraceCheckUtils]: 7: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-15 14:48:47,696 INFO L290 TraceCheckUtils]: 8: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-15 14:48:47,696 INFO L290 TraceCheckUtils]: 9: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-15 14:48:47,696 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1840#true} {1840#true} #79#return; {1840#true} is VALID [2022-04-15 14:48:47,696 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-15 14:48:47,696 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-15 14:48:47,696 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-15 14:48:47,697 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-15 14:48:47,697 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-15 14:48:47,697 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-15 14:48:47,698 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-15 14:48:47,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-15 14:48:47,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-15 14:48:47,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-15 14:48:47,698 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-15 14:48:47,698 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-15 14:48:47,699 INFO L290 TraceCheckUtils]: 23: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-15 14:48:47,699 INFO L290 TraceCheckUtils]: 24: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-15 14:48:47,699 INFO L290 TraceCheckUtils]: 25: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-15 14:48:47,699 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-15 14:48:47,700 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-15 14:48:47,700 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-15 14:48:47,700 INFO L290 TraceCheckUtils]: 29: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-15 14:48:47,700 INFO L290 TraceCheckUtils]: 30: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-15 14:48:47,700 INFO L290 TraceCheckUtils]: 31: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-15 14:48:47,701 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-15 14:48:47,701 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-15 14:48:47,701 INFO L290 TraceCheckUtils]: 34: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-15 14:48:47,701 INFO L290 TraceCheckUtils]: 35: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-15 14:48:47,701 INFO L290 TraceCheckUtils]: 36: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-15 14:48:47,702 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-15 14:48:47,702 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-15 14:48:47,702 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-15 14:48:47,703 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-15 14:48:47,703 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-15 14:48:47,703 INFO L290 TraceCheckUtils]: 42: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-15 14:48:47,703 INFO L290 TraceCheckUtils]: 43: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-15 14:48:47,703 INFO L290 TraceCheckUtils]: 44: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-15 14:48:47,704 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-15 14:48:47,704 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-15 14:48:47,704 INFO L290 TraceCheckUtils]: 47: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-15 14:48:47,704 INFO L290 TraceCheckUtils]: 48: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-15 14:48:47,704 INFO L290 TraceCheckUtils]: 49: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-15 14:48:47,705 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-15 14:48:47,705 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-15 14:48:47,706 INFO L290 TraceCheckUtils]: 52: Hoare triple {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2007#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:48:47,706 INFO L290 TraceCheckUtils]: 53: Hoare triple {2007#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1841#false} is VALID [2022-04-15 14:48:47,706 INFO L290 TraceCheckUtils]: 54: Hoare triple {1841#false} assume !false; {1841#false} is VALID [2022-04-15 14:48:47,706 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-15 14:48:47,706 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:49:22,644 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:49:22,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [466252649] [2022-04-15 14:49:22,644 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:49:22,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1113157837] [2022-04-15 14:49:22,644 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1113157837] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 14:49:22,644 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:49:22,644 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-15 14:49:22,644 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:49:22,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1267217569] [2022-04-15 14:49:22,644 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1267217569] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:49:22,645 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:49:22,645 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:49:22,645 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1304403558] [2022-04-15 14:49:22,645 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:49:22,645 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-15 14:49:22,645 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:49:22,645 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-15 14:49:22,691 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-15 14:49:22,691 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:49:22,691 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:49:22,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:49:22,692 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-15 14:49:22,692 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-15 14:49:23,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:49:23,139 INFO L93 Difference]: Finished difference Result 62 states and 77 transitions. [2022-04-15 14:49:23,139 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:49:23,140 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-15 14:49:23,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:49:23,140 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-15 14:49:23,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-15 14:49:23,141 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-15 14:49:23,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-15 14:49:23,142 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-15 14:49:23,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:49:23,192 INFO L225 Difference]: With dead ends: 62 [2022-04-15 14:49:23,192 INFO L226 Difference]: Without dead ends: 60 [2022-04-15 14:49:23,193 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-15 14:49:23,193 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 22 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 169 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:49:23,193 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.1s Time] [2022-04-15 14:49:23,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-15 14:49:23,286 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-15 14:49:23,287 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:49:23,287 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-15 14:49:23,287 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-15 14:49:23,287 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-15 14:49:23,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:49:23,289 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-15 14:49:23,289 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-15 14:49:23,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:49:23,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:49:23,290 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-15 14:49:23,290 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-15 14:49:23,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:49:23,292 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-15 14:49:23,292 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-15 14:49:23,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:49:23,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:49:23,292 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:49:23,292 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:49:23,292 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-15 14:49:23,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 74 transitions. [2022-04-15 14:49:23,294 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 74 transitions. Word has length 55 [2022-04-15 14:49:23,294 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:49:23,294 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 74 transitions. [2022-04-15 14:49:23,294 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-15 14:49:23,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 74 transitions. [2022-04-15 14:49:23,370 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-15 14:49:23,370 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-04-15 14:49:23,371 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-15 14:49:23,371 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:49:23,371 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-15 14:49:23,387 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 14:49:23,571 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:49:23,571 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:49:23,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:49:23,572 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-15 14:49:23,572 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:49:23,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [803687900] [2022-04-15 14:49:23,572 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:49:23,572 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 2 times [2022-04-15 14:49:23,572 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:49:23,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [204768269] [2022-04-15 14:49:23,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:49:23,573 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:49:23,584 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:49:23,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1810490547] [2022-04-15 14:49:23,584 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:49:23,584 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:49:23,584 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:49:23,585 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:49:23,586 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 14:49:23,625 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:49:23,626 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:49:23,626 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 14:49:23,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:49:23,638 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:49:24,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {2395#true} call ULTIMATE.init(); {2395#true} is VALID [2022-04-15 14:49:24,568 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-15 14:49:24,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-15 14:49:24,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2395#true} {2395#true} #103#return; {2395#true} is VALID [2022-04-15 14:49:24,568 INFO L272 TraceCheckUtils]: 4: Hoare triple {2395#true} call #t~ret6 := main(); {2395#true} is VALID [2022-04-15 14:49:24,568 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-15 14:49:24,569 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-15 14:49:24,569 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-15 14:49:24,569 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-15 14:49:24,570 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-15 14:49:24,570 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-15 14:49:24,571 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-15 14:49:24,571 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-15 14:49:24,571 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-15 14:49:24,571 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-15 14:49:24,572 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-15 14:49:24,572 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-15 14:49:24,572 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-15 14:49:24,573 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-15 14:49:24,573 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-15 14:49:24,573 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-15 14:49:24,574 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-15 14:49:24,574 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-15 14:49:24,574 INFO L290 TraceCheckUtils]: 23: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-15 14:49:24,574 INFO L290 TraceCheckUtils]: 24: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-15 14:49:24,574 INFO L290 TraceCheckUtils]: 25: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-15 14:49:24,575 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-15 14:49:24,575 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-15 14:49:24,575 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-15 14:49:24,575 INFO L290 TraceCheckUtils]: 29: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-15 14:49:24,575 INFO L290 TraceCheckUtils]: 30: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-15 14:49:24,576 INFO L290 TraceCheckUtils]: 31: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-15 14:49:24,576 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-15 14:49:24,576 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-15 14:49:24,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-15 14:49:24,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-15 14:49:24,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-15 14:49:24,577 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-15 14:49:24,577 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-15 14:49:24,578 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-15 14:49:24,578 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-15 14:49:24,578 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-15 14:49:24,579 INFO L290 TraceCheckUtils]: 42: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-15 14:49:24,579 INFO L290 TraceCheckUtils]: 43: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-15 14:49:24,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-15 14:49:24,579 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-15 14:49:24,580 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-15 14:49:24,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {2395#true} ~cond := #in~cond; {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:49:24,580 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-15 14:49:24,580 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-15 14:49:24,581 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-15 14:49:24,581 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-15 14:49:24,582 INFO L290 TraceCheckUtils]: 52: Hoare triple {2395#true} ~cond := #in~cond; {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:49:24,582 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-15 14:49:24,582 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-15 14:49:24,583 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-15 14:49:24,584 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-15 14:49:24,584 INFO L290 TraceCheckUtils]: 57: Hoare triple {2577#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2581#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:49:24,584 INFO L290 TraceCheckUtils]: 58: Hoare triple {2581#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2396#false} is VALID [2022-04-15 14:49:24,584 INFO L290 TraceCheckUtils]: 59: Hoare triple {2396#false} assume !false; {2396#false} is VALID [2022-04-15 14:49:24,585 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-15 14:49:24,585 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:50:09,508 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:09,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [204768269] [2022-04-15 14:50:09,508 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:09,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1810490547] [2022-04-15 14:50:09,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1810490547] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 14:50:09,509 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:50:09,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-15 14:50:09,509 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:09,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [803687900] [2022-04-15 14:50:09,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [803687900] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:09,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:09,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 14:50:09,509 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1128474044] [2022-04-15 14:50:09,509 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:09,510 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-15 14:50:09,510 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:09,510 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-15 14:50:09,543 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-15 14:50:09,543 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 14:50:09,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:09,544 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 14:50:09,544 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-15 14:50:09,544 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-15 14:50:10,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:10,279 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-04-15 14:50:10,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 14:50:10,280 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-15 14:50:10,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:10,280 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-15 14:50:10,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-15 14:50:10,282 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-15 14:50:10,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-15 14:50:10,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 67 transitions. [2022-04-15 14:50:10,328 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-15 14:50:10,335 INFO L225 Difference]: With dead ends: 68 [2022-04-15 14:50:10,335 INFO L226 Difference]: Without dead ends: 66 [2022-04-15 14:50:10,336 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-15 14:50:10,337 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 31 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 311 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 14:50:10,337 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.3s Time] [2022-04-15 14:50:10,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-15 14:50:10,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 63. [2022-04-15 14:50:10,420 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:10,421 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-15 14:50:10,421 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-15 14:50:10,421 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-15 14:50:10,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:10,436 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-15 14:50:10,436 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-15 14:50:10,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:10,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:10,436 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-15 14:50:10,436 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-15 14:50:10,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:10,444 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-15 14:50:10,444 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-15 14:50:10,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:10,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:10,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:10,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:10,445 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-15 14:50:10,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-15 14:50:10,446 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 60 [2022-04-15 14:50:10,446 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:10,446 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-15 14:50:10,446 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-15 14:50:10,447 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-15 14:50:10,545 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-15 14:50:10,549 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-15 14:50:10,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-15 14:50:10,550 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:50:10,550 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-15 14:50:10,566 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 14:50:10,766 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:10,766 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:50:10,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:50:10,767 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 1 times [2022-04-15 14:50:10,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:10,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [794366956] [2022-04-15 14:50:10,767 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:50:10,768 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 2 times [2022-04-15 14:50:10,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:50:10,768 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [680044754] [2022-04-15 14:50:10,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:50:10,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:50:10,790 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:50:10,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [388170951] [2022-04-15 14:50:10,790 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:50:10,790 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:10,790 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:50:10,813 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:50:10,814 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 14:50:10,868 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:50:10,868 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:50:10,869 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 14:50:10,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:50:10,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:50:11,226 INFO L272 TraceCheckUtils]: 0: Hoare triple {3004#true} call ULTIMATE.init(); {3004#true} is VALID [2022-04-15 14:50:11,227 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-15 14:50:11,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3004#true} {3004#true} #103#return; {3004#true} is VALID [2022-04-15 14:50:11,227 INFO L272 TraceCheckUtils]: 4: Hoare triple {3004#true} call #t~ret6 := main(); {3004#true} is VALID [2022-04-15 14:50:11,228 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-15 14:50:11,230 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-15 14:50:11,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,234 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3004#true} {3004#true} #79#return; {3004#true} is VALID [2022-04-15 14:50:11,234 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-15 14:50:11,235 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-15 14:50:11,235 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-15 14:50:11,235 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-15 14:50:11,235 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-15 14:50:11,236 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-15 14:50:11,236 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-15 14:50:11,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,236 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-15 14:50:11,237 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-15 14:50:11,237 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-15 14:50:11,237 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-15 14:50:11,237 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-15 14:50:11,238 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-15 14:50:11,238 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-15 14:50:11,238 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-15 14:50:11,238 INFO L290 TraceCheckUtils]: 29: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,239 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,239 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-15 14:50:11,239 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-15 14:50:11,239 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,239 INFO L290 TraceCheckUtils]: 35: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,239 INFO L290 TraceCheckUtils]: 36: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,240 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-15 14:50:11,240 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-15 14:50:11,240 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-15 14:50:11,241 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-15 14:50:11,241 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-15 14:50:11,241 INFO L290 TraceCheckUtils]: 42: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,241 INFO L290 TraceCheckUtils]: 43: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,241 INFO L290 TraceCheckUtils]: 44: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,241 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-15 14:50:11,242 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-15 14:50:11,242 INFO L290 TraceCheckUtils]: 47: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,242 INFO L290 TraceCheckUtils]: 48: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,242 INFO L290 TraceCheckUtils]: 49: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,242 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-15 14:50:11,242 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-15 14:50:11,242 INFO L290 TraceCheckUtils]: 52: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,242 INFO L290 TraceCheckUtils]: 53: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,243 INFO L290 TraceCheckUtils]: 54: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,243 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-15 14:50:11,243 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-15 14:50:11,243 INFO L290 TraceCheckUtils]: 57: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,243 INFO L290 TraceCheckUtils]: 58: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,243 INFO L290 TraceCheckUtils]: 59: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,244 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-15 14:50:11,245 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-15 14:50:11,245 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-15 14:50:11,245 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-15 14:50:11,246 INFO L290 TraceCheckUtils]: 64: Hoare triple {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:50:11,246 INFO L290 TraceCheckUtils]: 65: Hoare triple {3209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3005#false} is VALID [2022-04-15 14:50:11,246 INFO L290 TraceCheckUtils]: 66: Hoare triple {3005#false} assume !false; {3005#false} is VALID [2022-04-15 14:50:11,247 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-15 14:50:11,247 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:50:11,492 INFO L290 TraceCheckUtils]: 66: Hoare triple {3005#false} assume !false; {3005#false} is VALID [2022-04-15 14:50:11,492 INFO L290 TraceCheckUtils]: 65: Hoare triple {3209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3005#false} is VALID [2022-04-15 14:50:11,492 INFO L290 TraceCheckUtils]: 64: Hoare triple {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:50:11,493 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-15 14:50:11,493 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-15 14:50:11,494 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-15 14:50:11,495 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-15 14:50:11,495 INFO L290 TraceCheckUtils]: 59: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,495 INFO L290 TraceCheckUtils]: 58: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,495 INFO L290 TraceCheckUtils]: 57: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,495 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-15 14:50:11,496 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-15 14:50:11,496 INFO L290 TraceCheckUtils]: 54: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,496 INFO L290 TraceCheckUtils]: 53: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,496 INFO L290 TraceCheckUtils]: 52: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,496 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-15 14:50:11,497 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-15 14:50:11,497 INFO L290 TraceCheckUtils]: 49: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,497 INFO L290 TraceCheckUtils]: 48: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,497 INFO L290 TraceCheckUtils]: 47: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,497 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-15 14:50:11,497 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-15 14:50:11,497 INFO L290 TraceCheckUtils]: 44: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,498 INFO L290 TraceCheckUtils]: 43: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,498 INFO L290 TraceCheckUtils]: 42: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,498 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-15 14:50:11,498 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-15 14:50:11,498 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-15 14:50:11,498 INFO L290 TraceCheckUtils]: 38: Hoare triple {3004#true} assume !false; {3004#true} is VALID [2022-04-15 14:50:11,498 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3004#true} {3004#true} #89#return; {3004#true} is VALID [2022-04-15 14:50:11,499 INFO L290 TraceCheckUtils]: 36: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,499 INFO L290 TraceCheckUtils]: 35: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,499 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,499 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-15 14:50:11,499 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3004#true} {3004#true} #87#return; {3004#true} is VALID [2022-04-15 14:50:11,499 INFO L290 TraceCheckUtils]: 31: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,499 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,499 INFO L290 TraceCheckUtils]: 29: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,499 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-15 14:50:11,499 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-15 14:50:11,499 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3004#true} {3004#true} #85#return; {3004#true} is VALID [2022-04-15 14:50:11,499 INFO L290 TraceCheckUtils]: 25: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,499 INFO L290 TraceCheckUtils]: 24: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,500 INFO L290 TraceCheckUtils]: 23: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,500 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-15 14:50:11,500 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3004#true} {3004#true} #83#return; {3004#true} is VALID [2022-04-15 14:50:11,500 INFO L290 TraceCheckUtils]: 20: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,500 INFO L290 TraceCheckUtils]: 19: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,500 INFO L290 TraceCheckUtils]: 18: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,500 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-15 14:50:11,500 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3004#true} {3004#true} #81#return; {3004#true} is VALID [2022-04-15 14:50:11,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,500 INFO L290 TraceCheckUtils]: 13: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,500 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-15 14:50:11,500 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-15 14:50:11,501 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3004#true} {3004#true} #79#return; {3004#true} is VALID [2022-04-15 14:50:11,501 INFO L290 TraceCheckUtils]: 9: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,501 INFO L290 TraceCheckUtils]: 8: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-15 14:50:11,501 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-15 14:50:11,501 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-15 14:50:11,501 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-15 14:50:11,501 INFO L272 TraceCheckUtils]: 4: Hoare triple {3004#true} call #t~ret6 := main(); {3004#true} is VALID [2022-04-15 14:50:11,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3004#true} {3004#true} #103#return; {3004#true} is VALID [2022-04-15 14:50:11,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-15 14:50:11,501 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-15 14:50:11,501 INFO L272 TraceCheckUtils]: 0: Hoare triple {3004#true} call ULTIMATE.init(); {3004#true} is VALID [2022-04-15 14:50:11,501 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-15 14:50:11,502 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:11,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [680044754] [2022-04-15 14:50:11,502 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:11,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [388170951] [2022-04-15 14:50:11,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [388170951] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 14:50:11,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:50:11,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [11] total 12 [2022-04-15 14:50:11,502 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:11,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [794366956] [2022-04-15 14:50:11,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [794366956] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:11,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:11,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:50:11,502 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1378841343] [2022-04-15 14:50:11,503 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:11,503 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-15 14:50:11,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:11,503 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-15 14:50:11,528 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-15 14:50:11,528 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:50:11,528 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:11,528 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:50:11,529 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:50:11,529 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-15 14:50:11,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:11,727 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-15 14:50:11,727 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:50:11,727 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-15 14:50:11,728 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:11,728 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-15 14:50:11,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-15 14:50:11,729 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-15 14:50:11,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-15 14:50:11,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-15 14:50:11,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:50:11,768 INFO L225 Difference]: With dead ends: 69 [2022-04-15 14:50:11,768 INFO L226 Difference]: Without dead ends: 67 [2022-04-15 14:50:11,768 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-15 14:50:11,769 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-15 14:50:11,769 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-15 14:50:11,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-15 14:50:11,843 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 59. [2022-04-15 14:50:11,843 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:11,843 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-15 14:50:11,843 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-15 14:50:11,843 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-15 14:50:11,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:11,846 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-15 14:50:11,846 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-15 14:50:11,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:11,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:11,847 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-15 14:50:11,847 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-15 14:50:11,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:11,848 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-15 14:50:11,848 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-15 14:50:11,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:11,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:11,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:11,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:11,849 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-15 14:50:11,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-15 14:50:11,850 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 67 [2022-04-15 14:50:11,850 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:11,850 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-15 14:50:11,851 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-15 14:50:11,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 71 transitions. [2022-04-15 14:50:11,931 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-15 14:50:11,931 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-15 14:50:11,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 14:50:11,932 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:50:11,932 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-15 14:50:11,948 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 14:50:12,132 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:12,132 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:50:12,133 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:50:12,133 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-15 14:50:12,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:12,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [892946831] [2022-04-15 14:50:12,133 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:50:12,133 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 2 times [2022-04-15 14:50:12,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:50:12,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [717669269] [2022-04-15 14:50:12,133 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:50:12,133 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:50:12,145 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:50:12,145 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1580584485] [2022-04-15 14:50:12,145 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:50:12,145 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:12,145 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:50:12,163 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:50:12,169 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 14:50:12,217 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:50:12,217 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:50:12,218 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:50:12,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:50:12,229 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:50:12,422 INFO L272 TraceCheckUtils]: 0: Hoare triple {3809#true} call ULTIMATE.init(); {3809#true} is VALID [2022-04-15 14:50:12,423 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-15 14:50:12,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3809#true} {3809#true} #103#return; {3809#true} is VALID [2022-04-15 14:50:12,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {3809#true} call #t~ret6 := main(); {3809#true} is VALID [2022-04-15 14:50:12,423 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-15 14:50:12,423 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-15 14:50:12,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,423 INFO L290 TraceCheckUtils]: 8: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,423 INFO L290 TraceCheckUtils]: 9: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,423 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3809#true} {3809#true} #79#return; {3809#true} is VALID [2022-04-15 14:50:12,423 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-15 14:50:12,423 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-15 14:50:12,423 INFO L290 TraceCheckUtils]: 13: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,424 INFO L290 TraceCheckUtils]: 15: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,424 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3809#true} {3809#true} #81#return; {3809#true} is VALID [2022-04-15 14:50:12,424 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-15 14:50:12,424 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-15 14:50:12,424 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-15 14:50:12,425 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-15 14:50:12,425 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-15 14:50:12,425 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-15 14:50:12,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,426 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3809#true} {3879#(<= 1 main_~x~0)} #85#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-15 14:50:12,426 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-15 14:50:12,426 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-15 14:50:12,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,426 INFO L290 TraceCheckUtils]: 30: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,427 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #87#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-15 14:50:12,427 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-15 14:50:12,427 INFO L290 TraceCheckUtils]: 34: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,427 INFO L290 TraceCheckUtils]: 35: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,427 INFO L290 TraceCheckUtils]: 36: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,428 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #89#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-15 14:50:12,428 INFO L290 TraceCheckUtils]: 38: Hoare triple {3898#(<= 1 main_~a~0)} assume !false; {3898#(<= 1 main_~a~0)} is VALID [2022-04-15 14:50:12,428 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-15 14:50:12,428 INFO L290 TraceCheckUtils]: 40: Hoare triple {3935#(<= 1 main_~c~0)} assume !false; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,428 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-15 14:50:12,429 INFO L290 TraceCheckUtils]: 42: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,429 INFO L290 TraceCheckUtils]: 44: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,429 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #91#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,429 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-15 14:50:12,429 INFO L290 TraceCheckUtils]: 47: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,429 INFO L290 TraceCheckUtils]: 48: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,429 INFO L290 TraceCheckUtils]: 49: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,430 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #93#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,430 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-15 14:50:12,430 INFO L290 TraceCheckUtils]: 52: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,430 INFO L290 TraceCheckUtils]: 53: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,430 INFO L290 TraceCheckUtils]: 54: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,431 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #95#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,431 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-15 14:50:12,431 INFO L290 TraceCheckUtils]: 57: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,431 INFO L290 TraceCheckUtils]: 58: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,431 INFO L290 TraceCheckUtils]: 59: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,432 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #97#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,432 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-15 14:50:12,433 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-15 14:50:12,433 INFO L290 TraceCheckUtils]: 63: Hoare triple {4005#(<= 1 main_~b~0)} assume !false; {4005#(<= 1 main_~b~0)} is VALID [2022-04-15 14:50:12,433 INFO L290 TraceCheckUtils]: 64: Hoare triple {4005#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3810#false} is VALID [2022-04-15 14:50:12,433 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-15 14:50:12,433 INFO L290 TraceCheckUtils]: 66: Hoare triple {3810#false} ~cond := #in~cond; {3810#false} is VALID [2022-04-15 14:50:12,433 INFO L290 TraceCheckUtils]: 67: Hoare triple {3810#false} assume 0 == ~cond; {3810#false} is VALID [2022-04-15 14:50:12,433 INFO L290 TraceCheckUtils]: 68: Hoare triple {3810#false} assume !false; {3810#false} is VALID [2022-04-15 14:50:12,434 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-15 14:50:12,434 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:50:12,693 INFO L290 TraceCheckUtils]: 68: Hoare triple {3810#false} assume !false; {3810#false} is VALID [2022-04-15 14:50:12,693 INFO L290 TraceCheckUtils]: 67: Hoare triple {3810#false} assume 0 == ~cond; {3810#false} is VALID [2022-04-15 14:50:12,693 INFO L290 TraceCheckUtils]: 66: Hoare triple {3810#false} ~cond := #in~cond; {3810#false} is VALID [2022-04-15 14:50:12,693 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-15 14:50:12,694 INFO L290 TraceCheckUtils]: 64: Hoare triple {4005#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3810#false} is VALID [2022-04-15 14:50:12,694 INFO L290 TraceCheckUtils]: 63: Hoare triple {4005#(<= 1 main_~b~0)} assume !false; {4005#(<= 1 main_~b~0)} is VALID [2022-04-15 14:50:12,695 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-15 14:50:12,695 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-15 14:50:12,696 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #97#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,696 INFO L290 TraceCheckUtils]: 59: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,696 INFO L290 TraceCheckUtils]: 58: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,696 INFO L290 TraceCheckUtils]: 57: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,696 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-15 14:50:12,697 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #95#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,697 INFO L290 TraceCheckUtils]: 54: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,697 INFO L290 TraceCheckUtils]: 53: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,697 INFO L290 TraceCheckUtils]: 52: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,697 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-15 14:50:12,698 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #93#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,698 INFO L290 TraceCheckUtils]: 49: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,698 INFO L290 TraceCheckUtils]: 48: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,698 INFO L290 TraceCheckUtils]: 47: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,698 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-15 14:50:12,698 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #91#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,699 INFO L290 TraceCheckUtils]: 44: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,699 INFO L290 TraceCheckUtils]: 43: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,699 INFO L290 TraceCheckUtils]: 42: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,699 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-15 14:50:12,699 INFO L290 TraceCheckUtils]: 40: Hoare triple {3935#(<= 1 main_~c~0)} assume !false; {3935#(<= 1 main_~c~0)} is VALID [2022-04-15 14:50:12,700 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-15 14:50:12,700 INFO L290 TraceCheckUtils]: 38: Hoare triple {3898#(<= 1 main_~a~0)} assume !false; {3898#(<= 1 main_~a~0)} is VALID [2022-04-15 14:50:12,700 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #89#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-15 14:50:12,700 INFO L290 TraceCheckUtils]: 36: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,701 INFO L290 TraceCheckUtils]: 35: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,701 INFO L290 TraceCheckUtils]: 34: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,701 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-15 14:50:12,701 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #87#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-15 14:50:12,701 INFO L290 TraceCheckUtils]: 31: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,701 INFO L290 TraceCheckUtils]: 30: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,701 INFO L290 TraceCheckUtils]: 29: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,701 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-15 14:50:12,702 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-15 14:50:12,702 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3809#true} {3879#(<= 1 main_~x~0)} #85#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-15 14:50:12,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,702 INFO L290 TraceCheckUtils]: 24: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,703 INFO L290 TraceCheckUtils]: 23: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,703 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-15 14:50:12,703 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-15 14:50:12,703 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-15 14:50:12,704 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-15 14:50:12,704 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-15 14:50:12,704 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-15 14:50:12,704 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3809#true} {3809#true} #81#return; {3809#true} is VALID [2022-04-15 14:50:12,704 INFO L290 TraceCheckUtils]: 15: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,704 INFO L290 TraceCheckUtils]: 14: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,705 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-15 14:50:12,705 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-15 14:50:12,705 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3809#true} {3809#true} #79#return; {3809#true} is VALID [2022-04-15 14:50:12,705 INFO L290 TraceCheckUtils]: 9: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,705 INFO L290 TraceCheckUtils]: 8: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-15 14:50:12,705 INFO L290 TraceCheckUtils]: 7: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-15 14:50:12,705 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-15 14:50:12,705 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-15 14:50:12,705 INFO L272 TraceCheckUtils]: 4: Hoare triple {3809#true} call #t~ret6 := main(); {3809#true} is VALID [2022-04-15 14:50:12,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3809#true} {3809#true} #103#return; {3809#true} is VALID [2022-04-15 14:50:12,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-15 14:50:12,705 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-15 14:50:12,706 INFO L272 TraceCheckUtils]: 0: Hoare triple {3809#true} call ULTIMATE.init(); {3809#true} is VALID [2022-04-15 14:50:12,706 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-15 14:50:12,706 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:12,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [717669269] [2022-04-15 14:50:12,706 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:12,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1580584485] [2022-04-15 14:50:12,706 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1580584485] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:50:12,706 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:50:12,706 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 14:50:12,706 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:12,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [892946831] [2022-04-15 14:50:12,707 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [892946831] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:12,707 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:12,707 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:50:12,707 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [91310871] [2022-04-15 14:50:12,707 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:12,707 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-15 14:50:12,707 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:12,708 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-15 14:50:12,744 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-15 14:50:12,744 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:50:12,744 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:12,745 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:50:12,745 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:50:12,745 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-15 14:50:13,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:13,425 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-15 14:50:13,425 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:50:13,425 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-15 14:50:13,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:13,425 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-15 14:50:13,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-15 14:50:13,427 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-15 14:50:13,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-15 14:50:13,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-15 14:50:13,505 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-15 14:50:13,507 INFO L225 Difference]: With dead ends: 106 [2022-04-15 14:50:13,507 INFO L226 Difference]: Without dead ends: 98 [2022-04-15 14:50:13,507 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-15 14:50:13,507 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-15 14:50:13,508 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.2s Time] [2022-04-15 14:50:13,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-15 14:50:13,615 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-15 14:50:13,615 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:13,615 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-15 14:50:13,615 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-15 14:50:13,615 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-15 14:50:13,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:13,618 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-15 14:50:13,618 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-15 14:50:13,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:13,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:13,619 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-15 14:50:13,619 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-15 14:50:13,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:13,622 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-15 14:50:13,622 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-15 14:50:13,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:13,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:13,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:13,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:13,624 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-15 14:50:13,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-15 14:50:13,626 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-15 14:50:13,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:13,626 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-15 14:50:13,626 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-15 14:50:13,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 122 transitions. [2022-04-15 14:50:13,746 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-15 14:50:13,746 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-15 14:50:13,747 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-15 14:50:13,747 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:50:13,747 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-15 14:50:13,763 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 14:50:13,963 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:13,963 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:50:13,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:50:13,964 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-15 14:50:13,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:13,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [811233890] [2022-04-15 14:50:13,964 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:50:13,964 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 2 times [2022-04-15 14:50:13,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:50:13,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [164262313] [2022-04-15 14:50:13,964 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:50:13,964 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:50:13,977 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:50:13,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1407152403] [2022-04-15 14:50:13,977 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:50:13,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:13,978 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:50:13,978 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:50:13,992 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 14:50:14,044 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:50:14,044 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:50:14,045 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 14:50:14,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:50:14,056 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:50:14,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {4827#true} call ULTIMATE.init(); {4827#true} is VALID [2022-04-15 14:50:14,341 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-15 14:50:14,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4827#true} {4827#true} #103#return; {4827#true} is VALID [2022-04-15 14:50:14,341 INFO L272 TraceCheckUtils]: 4: Hoare triple {4827#true} call #t~ret6 := main(); {4827#true} is VALID [2022-04-15 14:50:14,341 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-15 14:50:14,341 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-15 14:50:14,341 INFO L290 TraceCheckUtils]: 7: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,341 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4827#true} {4827#true} #79#return; {4827#true} is VALID [2022-04-15 14:50:14,341 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-15 14:50:14,341 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-15 14:50:14,342 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-15 14:50:14,342 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-15 14:50:14,342 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-15 14:50:14,343 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-15 14:50:14,343 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-15 14:50:14,343 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-15 14:50:14,344 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-15 14:50:14,344 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-15 14:50:14,345 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-15 14:50:14,345 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-15 14:50:14,345 INFO L290 TraceCheckUtils]: 23: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,345 INFO L290 TraceCheckUtils]: 24: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,345 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-15 14:50:14,346 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-15 14:50:14,346 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-15 14:50:14,346 INFO L290 TraceCheckUtils]: 29: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,346 INFO L290 TraceCheckUtils]: 30: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,346 INFO L290 TraceCheckUtils]: 31: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,347 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-15 14:50:14,347 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-15 14:50:14,347 INFO L290 TraceCheckUtils]: 34: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,347 INFO L290 TraceCheckUtils]: 35: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,347 INFO L290 TraceCheckUtils]: 36: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,348 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-15 14:50:14,348 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-15 14:50:14,348 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-15 14:50:14,349 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-15 14:50:14,349 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-15 14:50:14,349 INFO L290 TraceCheckUtils]: 42: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,349 INFO L290 TraceCheckUtils]: 43: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,349 INFO L290 TraceCheckUtils]: 44: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,349 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-15 14:50:14,350 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-15 14:50:14,350 INFO L290 TraceCheckUtils]: 47: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,350 INFO L290 TraceCheckUtils]: 48: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,350 INFO L290 TraceCheckUtils]: 49: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,350 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-15 14:50:14,350 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-15 14:50:14,351 INFO L290 TraceCheckUtils]: 52: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,351 INFO L290 TraceCheckUtils]: 53: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,351 INFO L290 TraceCheckUtils]: 54: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,351 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-15 14:50:14,351 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-15 14:50:14,351 INFO L290 TraceCheckUtils]: 57: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,351 INFO L290 TraceCheckUtils]: 58: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,352 INFO L290 TraceCheckUtils]: 59: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,352 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-15 14:50:14,353 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-15 14:50:14,353 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-15 14:50:14,353 INFO L290 TraceCheckUtils]: 63: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-15 14:50:14,353 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-15 14:50:14,353 INFO L290 TraceCheckUtils]: 65: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-15 14:50:14,353 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-15 14:50:14,353 INFO L290 TraceCheckUtils]: 67: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-15 14:50:14,353 INFO L290 TraceCheckUtils]: 68: Hoare triple {4828#false} assume !(0 == ~cond); {4828#false} is VALID [2022-04-15 14:50:14,353 INFO L290 TraceCheckUtils]: 69: Hoare triple {4828#false} assume true; {4828#false} is VALID [2022-04-15 14:50:14,353 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4828#false} {4828#false} #91#return; {4828#false} is VALID [2022-04-15 14:50:14,353 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-15 14:50:14,353 INFO L290 TraceCheckUtils]: 72: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-15 14:50:14,353 INFO L290 TraceCheckUtils]: 73: Hoare triple {4828#false} assume 0 == ~cond; {4828#false} is VALID [2022-04-15 14:50:14,354 INFO L290 TraceCheckUtils]: 74: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-15 14:50:14,354 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-15 14:50:14,354 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:50:14,716 INFO L290 TraceCheckUtils]: 74: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-15 14:50:14,716 INFO L290 TraceCheckUtils]: 73: Hoare triple {4828#false} assume 0 == ~cond; {4828#false} is VALID [2022-04-15 14:50:14,716 INFO L290 TraceCheckUtils]: 72: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-15 14:50:14,717 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-15 14:50:14,717 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4827#true} {4828#false} #91#return; {4828#false} is VALID [2022-04-15 14:50:14,717 INFO L290 TraceCheckUtils]: 69: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,717 INFO L290 TraceCheckUtils]: 68: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,717 INFO L290 TraceCheckUtils]: 67: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,717 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-15 14:50:14,717 INFO L290 TraceCheckUtils]: 65: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-15 14:50:14,717 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-15 14:50:14,717 INFO L290 TraceCheckUtils]: 63: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-15 14:50:14,717 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-15 14:50:14,717 INFO L290 TraceCheckUtils]: 61: Hoare triple {5099#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4828#false} is VALID [2022-04-15 14:50:14,718 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-15 14:50:14,718 INFO L290 TraceCheckUtils]: 59: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,718 INFO L290 TraceCheckUtils]: 58: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,718 INFO L290 TraceCheckUtils]: 57: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,718 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-15 14:50:14,719 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-15 14:50:14,719 INFO L290 TraceCheckUtils]: 54: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,719 INFO L290 TraceCheckUtils]: 53: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,719 INFO L290 TraceCheckUtils]: 52: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,719 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-15 14:50:14,721 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-15 14:50:14,721 INFO L290 TraceCheckUtils]: 49: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,721 INFO L290 TraceCheckUtils]: 48: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,721 INFO L290 TraceCheckUtils]: 47: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,721 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-15 14:50:14,722 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-15 14:50:14,722 INFO L290 TraceCheckUtils]: 44: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,722 INFO L290 TraceCheckUtils]: 43: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,722 INFO L290 TraceCheckUtils]: 42: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,722 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-15 14:50:14,722 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-15 14:50:14,723 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-15 14:50:14,723 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-15 14:50:14,723 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-15 14:50:14,723 INFO L290 TraceCheckUtils]: 36: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,724 INFO L290 TraceCheckUtils]: 35: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,724 INFO L290 TraceCheckUtils]: 34: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,724 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-15 14:50:14,738 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-15 14:50:14,738 INFO L290 TraceCheckUtils]: 31: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,738 INFO L290 TraceCheckUtils]: 30: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,738 INFO L290 TraceCheckUtils]: 29: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,738 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-15 14:50:14,739 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-15 14:50:14,739 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-15 14:50:14,739 INFO L290 TraceCheckUtils]: 25: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,740 INFO L290 TraceCheckUtils]: 24: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,740 INFO L290 TraceCheckUtils]: 23: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,740 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-15 14:50:14,740 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-15 14:50:14,741 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-15 14:50:14,741 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-15 14:50:14,741 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-15 14:50:14,741 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-15 14:50:14,742 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-15 14:50:14,742 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-15 14:50:14,742 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-15 14:50:14,743 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-15 14:50:14,743 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-15 14:50:14,743 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-15 14:50:14,743 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4827#true} {4827#true} #79#return; {4827#true} is VALID [2022-04-15 14:50:14,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-15 14:50:14,743 INFO L290 TraceCheckUtils]: 7: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-15 14:50:14,743 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-15 14:50:14,743 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-15 14:50:14,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {4827#true} call #t~ret6 := main(); {4827#true} is VALID [2022-04-15 14:50:14,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4827#true} {4827#true} #103#return; {4827#true} is VALID [2022-04-15 14:50:14,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-15 14:50:14,744 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-15 14:50:14,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {4827#true} call ULTIMATE.init(); {4827#true} is VALID [2022-04-15 14:50:14,744 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-15 14:50:14,744 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:14,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [164262313] [2022-04-15 14:50:14,744 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:14,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1407152403] [2022-04-15 14:50:14,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1407152403] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:50:14,744 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:50:14,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-15 14:50:14,745 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:14,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [811233890] [2022-04-15 14:50:14,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [811233890] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:14,745 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:14,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:50:14,745 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1455907707] [2022-04-15 14:50:14,745 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:14,745 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-15 14:50:14,746 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:14,746 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-15 14:50:14,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:50:14,787 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:50:14,787 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:14,788 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:50:14,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-15 14:50:14,788 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-15 14:50:15,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:15,270 INFO L93 Difference]: Finished difference Result 111 states and 149 transitions. [2022-04-15 14:50:15,270 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:50:15,270 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-15 14:50:15,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:15,271 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-15 14:50:15,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-15 14:50:15,272 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-15 14:50:15,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-15 14:50:15,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 94 transitions. [2022-04-15 14:50:15,366 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:50:15,367 INFO L225 Difference]: With dead ends: 111 [2022-04-15 14:50:15,367 INFO L226 Difference]: Without dead ends: 66 [2022-04-15 14:50:15,368 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-15 14:50:15,368 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-15 14:50:15,369 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-15 14:50:15,369 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-15 14:50:15,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 65. [2022-04-15 14:50:15,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:15,469 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-15 14:50:15,469 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-15 14:50:15,469 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-15 14:50:15,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:15,471 INFO L93 Difference]: Finished difference Result 66 states and 82 transitions. [2022-04-15 14:50:15,471 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-15 14:50:15,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:15,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:15,471 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-15 14:50:15,472 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-15 14:50:15,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:15,473 INFO L93 Difference]: Finished difference Result 66 states and 82 transitions. [2022-04-15 14:50:15,473 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-15 14:50:15,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:15,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:15,473 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:15,473 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:15,473 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-15 14:50:15,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 81 transitions. [2022-04-15 14:50:15,475 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 81 transitions. Word has length 75 [2022-04-15 14:50:15,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:15,475 INFO L478 AbstractCegarLoop]: Abstraction has 65 states and 81 transitions. [2022-04-15 14:50:15,475 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-15 14:50:15,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 81 transitions. [2022-04-15 14:50:15,558 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-15 14:50:15,559 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 81 transitions. [2022-04-15 14:50:15,559 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-15 14:50:15,559 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:50:15,559 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-15 14:50:15,576 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 14:50:15,775 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 14:50:15,776 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:50:15,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:50:15,776 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-15 14:50:15,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:15,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [288698790] [2022-04-15 14:50:15,776 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:50:15,776 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 2 times [2022-04-15 14:50:15,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:50:15,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1539008410] [2022-04-15 14:50:15,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:50:15,777 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:50:15,801 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:50:15,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [619257628] [2022-04-15 14:50:15,802 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:50:15,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:15,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:50:15,802 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:50:15,819 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 14:50:15,850 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:50:15,850 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:50:15,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 14:50:15,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:50:15,864 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:50:17,428 INFO L272 TraceCheckUtils]: 0: Hoare triple {5779#true} call ULTIMATE.init(); {5779#true} is VALID [2022-04-15 14:50:17,428 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-15 14:50:17,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,428 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5779#true} {5779#true} #103#return; {5779#true} is VALID [2022-04-15 14:50:17,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {5779#true} call #t~ret6 := main(); {5779#true} is VALID [2022-04-15 14:50:17,428 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-15 14:50:17,428 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-15 14:50:17,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,429 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5779#true} {5779#true} #79#return; {5779#true} is VALID [2022-04-15 14:50:17,429 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-15 14:50:17,429 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-15 14:50:17,429 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-15 14:50:17,429 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-15 14:50:17,430 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-15 14:50:17,430 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-15 14:50:17,430 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-15 14:50:17,430 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,430 INFO L290 TraceCheckUtils]: 19: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,431 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-15 14:50:17,431 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-15 14:50:17,431 INFO L290 TraceCheckUtils]: 23: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,431 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,431 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,432 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-15 14:50:17,432 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-15 14:50:17,432 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-15 14:50:17,432 INFO L290 TraceCheckUtils]: 29: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,433 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-15 14:50:17,433 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-15 14:50:17,433 INFO L290 TraceCheckUtils]: 34: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,433 INFO L290 TraceCheckUtils]: 35: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,433 INFO L290 TraceCheckUtils]: 36: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,434 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-15 14:50:17,434 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-15 14:50:17,435 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-15 14:50:17,435 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-15 14:50:17,435 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-15 14:50:17,435 INFO L290 TraceCheckUtils]: 42: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,436 INFO L290 TraceCheckUtils]: 43: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,436 INFO L290 TraceCheckUtils]: 44: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,436 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-15 14:50:17,436 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-15 14:50:17,436 INFO L290 TraceCheckUtils]: 47: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,437 INFO L290 TraceCheckUtils]: 48: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,437 INFO L290 TraceCheckUtils]: 49: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,437 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-15 14:50:17,437 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-15 14:50:17,437 INFO L290 TraceCheckUtils]: 52: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,438 INFO L290 TraceCheckUtils]: 53: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,438 INFO L290 TraceCheckUtils]: 54: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,438 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-15 14:50:17,438 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-15 14:50:17,438 INFO L290 TraceCheckUtils]: 57: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,439 INFO L290 TraceCheckUtils]: 58: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,439 INFO L290 TraceCheckUtils]: 59: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,439 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-15 14:50:17,440 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-15 14:50:17,440 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-15 14:50:17,440 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-15 14:50:17,440 INFO L290 TraceCheckUtils]: 64: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,441 INFO L290 TraceCheckUtils]: 65: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,441 INFO L290 TraceCheckUtils]: 66: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,441 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-15 14:50:17,441 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-15 14:50:17,441 INFO L290 TraceCheckUtils]: 69: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,442 INFO L290 TraceCheckUtils]: 70: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,442 INFO L290 TraceCheckUtils]: 71: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,442 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-15 14:50:17,442 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-15 14:50:17,442 INFO L290 TraceCheckUtils]: 74: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,443 INFO L290 TraceCheckUtils]: 75: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,443 INFO L290 TraceCheckUtils]: 76: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,443 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-15 14:50:17,443 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-15 14:50:17,443 INFO L290 TraceCheckUtils]: 79: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:17,443 INFO L290 TraceCheckUtils]: 80: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:17,443 INFO L290 TraceCheckUtils]: 81: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:17,444 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-15 14:50:17,445 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-15 14:50:17,445 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-15 14:50:17,446 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-15 14:50:17,446 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-15 14:50:17,447 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-15 14:50:17,447 INFO L290 TraceCheckUtils]: 88: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:50:17,448 INFO L290 TraceCheckUtils]: 89: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5780#false} is VALID [2022-04-15 14:50:17,448 INFO L290 TraceCheckUtils]: 90: Hoare triple {5780#false} assume !false; {5780#false} is VALID [2022-04-15 14:50:17,448 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-15 14:50:17,448 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:50:18,453 INFO L290 TraceCheckUtils]: 90: Hoare triple {5780#false} assume !false; {5780#false} is VALID [2022-04-15 14:50:18,454 INFO L290 TraceCheckUtils]: 89: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5780#false} is VALID [2022-04-15 14:50:18,454 INFO L290 TraceCheckUtils]: 88: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:50:18,455 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-15 14:50:18,455 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-15 14:50:18,455 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-15 14:50:20,456 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-15 14:50:20,457 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-15 14:50:20,458 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-15 14:50:20,458 INFO L290 TraceCheckUtils]: 81: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,458 INFO L290 TraceCheckUtils]: 80: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,458 INFO L290 TraceCheckUtils]: 79: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,458 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-15 14:50:20,459 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-15 14:50:20,459 INFO L290 TraceCheckUtils]: 76: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,459 INFO L290 TraceCheckUtils]: 75: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,459 INFO L290 TraceCheckUtils]: 74: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,459 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-15 14:50:20,460 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-15 14:50:20,460 INFO L290 TraceCheckUtils]: 71: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,460 INFO L290 TraceCheckUtils]: 70: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,460 INFO L290 TraceCheckUtils]: 69: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,460 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-15 14:50:20,461 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-15 14:50:20,461 INFO L290 TraceCheckUtils]: 66: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,461 INFO L290 TraceCheckUtils]: 65: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,461 INFO L290 TraceCheckUtils]: 64: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,461 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-15 14:50:20,462 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-15 14:50:20,503 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-15 14:50:20,504 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-15 14:50:20,504 INFO L290 TraceCheckUtils]: 59: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,504 INFO L290 TraceCheckUtils]: 58: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,504 INFO L290 TraceCheckUtils]: 57: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,504 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-15 14:50:20,505 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-15 14:50:20,505 INFO L290 TraceCheckUtils]: 54: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,505 INFO L290 TraceCheckUtils]: 53: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,505 INFO L290 TraceCheckUtils]: 52: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,505 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-15 14:50:20,506 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-15 14:50:20,506 INFO L290 TraceCheckUtils]: 49: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,506 INFO L290 TraceCheckUtils]: 48: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,506 INFO L290 TraceCheckUtils]: 47: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,506 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-15 14:50:20,507 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-15 14:50:20,507 INFO L290 TraceCheckUtils]: 44: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,507 INFO L290 TraceCheckUtils]: 42: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,507 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-15 14:50:20,507 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-15 14:50:20,508 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-15 14:50:20,508 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-15 14:50:20,509 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-15 14:50:20,509 INFO L290 TraceCheckUtils]: 36: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,509 INFO L290 TraceCheckUtils]: 35: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,509 INFO L290 TraceCheckUtils]: 34: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,509 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-15 14:50:20,510 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-15 14:50:20,510 INFO L290 TraceCheckUtils]: 31: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,510 INFO L290 TraceCheckUtils]: 30: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,510 INFO L290 TraceCheckUtils]: 29: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,510 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-15 14:50:20,511 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-15 14:50:20,511 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5779#true} {6258#(<= main_~y~0 1)} #85#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-15 14:50:20,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,512 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-15 14:50:20,512 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5779#true} {6258#(<= main_~y~0 1)} #83#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-15 14:50:20,512 INFO L290 TraceCheckUtils]: 20: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,512 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,512 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-15 14:50:20,513 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-15 14:50:20,513 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-15 14:50:20,513 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-15 14:50:20,514 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-15 14:50:20,514 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-15 14:50:20,514 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-15 14:50:20,514 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5779#true} {5779#true} #79#return; {5779#true} is VALID [2022-04-15 14:50:20,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-15 14:50:20,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-15 14:50:20,514 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-15 14:50:20,514 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-15 14:50:20,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {5779#true} call #t~ret6 := main(); {5779#true} is VALID [2022-04-15 14:50:20,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5779#true} {5779#true} #103#return; {5779#true} is VALID [2022-04-15 14:50:20,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-15 14:50:20,514 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-15 14:50:20,515 INFO L272 TraceCheckUtils]: 0: Hoare triple {5779#true} call ULTIMATE.init(); {5779#true} is VALID [2022-04-15 14:50:20,515 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-15 14:50:20,515 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:20,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1539008410] [2022-04-15 14:50:20,515 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:20,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [619257628] [2022-04-15 14:50:20,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [619257628] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:50:20,516 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:50:20,516 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-15 14:50:20,516 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:20,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [288698790] [2022-04-15 14:50:20,516 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [288698790] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:20,516 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:20,516 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 14:50:20,517 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1311045447] [2022-04-15 14:50:20,517 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:20,517 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-15 14:50:20,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:20,517 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-15 14:50:20,561 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-15 14:50:20,562 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 14:50:20,562 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:20,562 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 14:50:20,562 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=286, Unknown=0, NotChecked=0, Total=342 [2022-04-15 14:50:20,562 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-15 14:50:22,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:22,384 INFO L93 Difference]: Finished difference Result 94 states and 120 transitions. [2022-04-15 14:50:22,384 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 14:50:22,384 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-15 14:50:22,384 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:22,385 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-15 14:50:22,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 105 transitions. [2022-04-15 14:50:22,386 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-15 14:50:22,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 105 transitions. [2022-04-15 14:50:22,387 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 105 transitions. [2022-04-15 14:50:22,486 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-15 14:50:22,488 INFO L225 Difference]: With dead ends: 94 [2022-04-15 14:50:22,488 INFO L226 Difference]: Without dead ends: 92 [2022-04-15 14:50:22,488 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-15 14:50:22,488 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-15 14:50:22,489 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-15 14:50:22,489 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-15 14:50:22,602 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 83. [2022-04-15 14:50:22,602 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:22,602 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-15 14:50:22,603 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-15 14:50:22,603 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-15 14:50:22,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:22,605 INFO L93 Difference]: Finished difference Result 92 states and 118 transitions. [2022-04-15 14:50:22,606 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 118 transitions. [2022-04-15 14:50:22,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:22,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:22,606 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-15 14:50:22,606 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-15 14:50:22,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:22,608 INFO L93 Difference]: Finished difference Result 92 states and 118 transitions. [2022-04-15 14:50:22,608 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 118 transitions. [2022-04-15 14:50:22,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:22,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:22,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:22,609 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:22,609 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-15 14:50:22,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 104 transitions. [2022-04-15 14:50:22,610 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 104 transitions. Word has length 91 [2022-04-15 14:50:22,611 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:22,611 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 104 transitions. [2022-04-15 14:50:22,611 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-15 14:50:22,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 104 transitions. [2022-04-15 14:50:22,724 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-15 14:50:22,724 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 104 transitions. [2022-04-15 14:50:22,724 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-15 14:50:22,724 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:50:22,725 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-15 14:50:22,741 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 14:50:22,947 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 14:50:22,947 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:50:22,947 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:50:22,947 INFO L85 PathProgramCache]: Analyzing trace with hash -2082914122, now seen corresponding path program 1 times [2022-04-15 14:50:22,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:22,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [448308715] [2022-04-15 14:50:22,948 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:50:22,948 INFO L85 PathProgramCache]: Analyzing trace with hash -2082914122, now seen corresponding path program 2 times [2022-04-15 14:50:22,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:50:22,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1073315707] [2022-04-15 14:50:22,948 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:50:22,948 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:50:22,961 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:50:22,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2014977661] [2022-04-15 14:50:22,961 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:50:22,961 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:22,961 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:50:22,962 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-15 14:50:22,963 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-15 14:50:23,009 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:50:23,009 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:50:23,010 INFO L263 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 14:50:23,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:50:23,020 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:50:23,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {6891#true} call ULTIMATE.init(); {6891#true} is VALID [2022-04-15 14:50:23,857 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-15 14:50:23,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6891#true} {6891#true} #103#return; {6891#true} is VALID [2022-04-15 14:50:23,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {6891#true} call #t~ret6 := main(); {6891#true} is VALID [2022-04-15 14:50:23,857 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-15 14:50:23,857 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-15 14:50:23,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,858 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6891#true} {6891#true} #79#return; {6891#true} is VALID [2022-04-15 14:50:23,858 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-15 14:50:23,858 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-15 14:50:23,858 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-15 14:50:23,858 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-15 14:50:23,859 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-15 14:50:23,859 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-15 14:50:23,859 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-15 14:50:23,859 INFO L290 TraceCheckUtils]: 18: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,859 INFO L290 TraceCheckUtils]: 19: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,859 INFO L290 TraceCheckUtils]: 20: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,859 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-15 14:50:23,860 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-15 14:50:23,860 INFO L290 TraceCheckUtils]: 23: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,860 INFO L290 TraceCheckUtils]: 24: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,860 INFO L290 TraceCheckUtils]: 25: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,860 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-15 14:50:23,860 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-15 14:50:23,861 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-15 14:50:23,861 INFO L290 TraceCheckUtils]: 29: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,861 INFO L290 TraceCheckUtils]: 30: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,861 INFO L290 TraceCheckUtils]: 31: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,861 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-15 14:50:23,861 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-15 14:50:23,861 INFO L290 TraceCheckUtils]: 34: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,861 INFO L290 TraceCheckUtils]: 35: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,861 INFO L290 TraceCheckUtils]: 36: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,862 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-15 14:50:23,863 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-15 14:50:23,863 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-15 14:50:23,864 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-15 14:50:23,864 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-15 14:50:23,864 INFO L290 TraceCheckUtils]: 42: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,864 INFO L290 TraceCheckUtils]: 43: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,864 INFO L290 TraceCheckUtils]: 44: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,864 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-15 14:50:23,864 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-15 14:50:23,864 INFO L290 TraceCheckUtils]: 47: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,865 INFO L290 TraceCheckUtils]: 48: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,865 INFO L290 TraceCheckUtils]: 49: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,865 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-15 14:50:23,865 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-15 14:50:23,865 INFO L290 TraceCheckUtils]: 52: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,865 INFO L290 TraceCheckUtils]: 53: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,865 INFO L290 TraceCheckUtils]: 54: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,866 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-15 14:50:23,866 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-15 14:50:23,866 INFO L290 TraceCheckUtils]: 57: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,866 INFO L290 TraceCheckUtils]: 58: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,866 INFO L290 TraceCheckUtils]: 59: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,867 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-15 14:50:23,868 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-15 14:50:23,868 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-15 14:50:23,868 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-15 14:50:23,868 INFO L290 TraceCheckUtils]: 64: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,868 INFO L290 TraceCheckUtils]: 65: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,869 INFO L290 TraceCheckUtils]: 66: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,869 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-15 14:50:23,869 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-15 14:50:23,869 INFO L290 TraceCheckUtils]: 69: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,869 INFO L290 TraceCheckUtils]: 70: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,869 INFO L290 TraceCheckUtils]: 71: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,871 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-15 14:50:23,871 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-15 14:50:23,871 INFO L290 TraceCheckUtils]: 74: Hoare triple {6891#true} ~cond := #in~cond; {7124#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:50:23,871 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-15 14:50:23,871 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-15 14:50:23,872 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-15 14:50:23,872 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-15 14:50:23,872 INFO L290 TraceCheckUtils]: 79: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,872 INFO L290 TraceCheckUtils]: 80: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,872 INFO L290 TraceCheckUtils]: 81: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,873 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-15 14:50:23,874 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-15 14:50:23,874 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-15 14:50:23,875 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-15 14:50:23,875 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-15 14:50:23,875 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-15 14:50:23,875 INFO L290 TraceCheckUtils]: 88: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:23,875 INFO L290 TraceCheckUtils]: 89: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:23,876 INFO L290 TraceCheckUtils]: 90: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:23,876 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-15 14:50:23,876 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-15 14:50:23,877 INFO L290 TraceCheckUtils]: 93: Hoare triple {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7187#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:50:23,877 INFO L290 TraceCheckUtils]: 94: Hoare triple {7187#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6892#false} is VALID [2022-04-15 14:50:23,877 INFO L290 TraceCheckUtils]: 95: Hoare triple {6892#false} assume !false; {6892#false} is VALID [2022-04-15 14:50:23,877 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-15 14:50:23,877 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:50:30,959 INFO L290 TraceCheckUtils]: 95: Hoare triple {6892#false} assume !false; {6892#false} is VALID [2022-04-15 14:50:30,959 INFO L290 TraceCheckUtils]: 94: Hoare triple {7187#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6892#false} is VALID [2022-04-15 14:50:30,960 INFO L290 TraceCheckUtils]: 93: Hoare triple {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7187#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:50:30,960 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-15 14:50:30,961 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-15 14:50:30,961 INFO L290 TraceCheckUtils]: 90: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,961 INFO L290 TraceCheckUtils]: 89: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,961 INFO L290 TraceCheckUtils]: 88: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,961 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-15 14:50:30,962 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-15 14:50:30,962 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-15 14:50:30,962 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-15 14:50:30,963 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-15 14:50:30,963 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-15 14:50:30,963 INFO L290 TraceCheckUtils]: 81: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,964 INFO L290 TraceCheckUtils]: 80: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,964 INFO L290 TraceCheckUtils]: 79: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,964 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-15 14:50:30,964 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-15 14:50:30,965 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-15 14:50:30,965 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-15 14:50:30,965 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-15 14:50:30,965 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-15 14:50:30,965 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6891#true} {6891#true} #93#return; {6891#true} is VALID [2022-04-15 14:50:30,965 INFO L290 TraceCheckUtils]: 71: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,965 INFO L290 TraceCheckUtils]: 70: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,966 INFO L290 TraceCheckUtils]: 69: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,966 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-15 14:50:30,966 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6891#true} {6891#true} #91#return; {6891#true} is VALID [2022-04-15 14:50:30,966 INFO L290 TraceCheckUtils]: 66: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,966 INFO L290 TraceCheckUtils]: 65: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,966 INFO L290 TraceCheckUtils]: 64: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,966 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-15 14:50:30,966 INFO L290 TraceCheckUtils]: 62: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-15 14:50:30,966 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-15 14:50:30,966 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6891#true} {6891#true} #97#return; {6891#true} is VALID [2022-04-15 14:50:30,966 INFO L290 TraceCheckUtils]: 59: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,966 INFO L290 TraceCheckUtils]: 58: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,966 INFO L290 TraceCheckUtils]: 57: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,966 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-15 14:50:30,967 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6891#true} {6891#true} #95#return; {6891#true} is VALID [2022-04-15 14:50:30,967 INFO L290 TraceCheckUtils]: 54: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,967 INFO L290 TraceCheckUtils]: 53: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,967 INFO L290 TraceCheckUtils]: 52: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,967 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-15 14:50:30,967 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6891#true} {6891#true} #93#return; {6891#true} is VALID [2022-04-15 14:50:30,967 INFO L290 TraceCheckUtils]: 49: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,967 INFO L290 TraceCheckUtils]: 48: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,967 INFO L290 TraceCheckUtils]: 47: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,967 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-15 14:50:30,967 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6891#true} {6891#true} #91#return; {6891#true} is VALID [2022-04-15 14:50:30,967 INFO L290 TraceCheckUtils]: 44: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,967 INFO L290 TraceCheckUtils]: 43: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,967 INFO L290 TraceCheckUtils]: 42: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,968 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-15 14:50:30,968 INFO L290 TraceCheckUtils]: 40: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-15 14:50:30,968 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-15 14:50:30,968 INFO L290 TraceCheckUtils]: 38: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-15 14:50:30,968 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6891#true} {6891#true} #89#return; {6891#true} is VALID [2022-04-15 14:50:30,968 INFO L290 TraceCheckUtils]: 36: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,968 INFO L290 TraceCheckUtils]: 35: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,968 INFO L290 TraceCheckUtils]: 34: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,968 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-15 14:50:30,968 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6891#true} {6891#true} #87#return; {6891#true} is VALID [2022-04-15 14:50:30,968 INFO L290 TraceCheckUtils]: 31: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,968 INFO L290 TraceCheckUtils]: 30: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,968 INFO L290 TraceCheckUtils]: 29: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,968 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-15 14:50:30,968 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-15 14:50:30,969 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6891#true} {6891#true} #85#return; {6891#true} is VALID [2022-04-15 14:50:30,969 INFO L290 TraceCheckUtils]: 25: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,969 INFO L290 TraceCheckUtils]: 24: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,969 INFO L290 TraceCheckUtils]: 23: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,969 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-15 14:50:30,969 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6891#true} {6891#true} #83#return; {6891#true} is VALID [2022-04-15 14:50:30,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,969 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-15 14:50:30,969 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6891#true} {6891#true} #81#return; {6891#true} is VALID [2022-04-15 14:50:30,969 INFO L290 TraceCheckUtils]: 15: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,969 INFO L290 TraceCheckUtils]: 14: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,969 INFO L290 TraceCheckUtils]: 13: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,970 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-15 14:50:30,970 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-15 14:50:30,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6891#true} {6891#true} #79#return; {6891#true} is VALID [2022-04-15 14:50:30,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-15 14:50:30,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-15 14:50:30,970 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-15 14:50:30,970 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-15 14:50:30,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {6891#true} call #t~ret6 := main(); {6891#true} is VALID [2022-04-15 14:50:30,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6891#true} {6891#true} #103#return; {6891#true} is VALID [2022-04-15 14:50:30,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-15 14:50:30,970 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-15 14:50:30,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {6891#true} call ULTIMATE.init(); {6891#true} is VALID [2022-04-15 14:50:30,971 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-15 14:50:30,971 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:30,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1073315707] [2022-04-15 14:50:30,971 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:30,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2014977661] [2022-04-15 14:50:30,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2014977661] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:50:30,971 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:50:30,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-15 14:50:30,971 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:30,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [448308715] [2022-04-15 14:50:30,972 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [448308715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:30,972 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:30,972 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 14:50:30,972 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1008501607] [2022-04-15 14:50:30,972 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:30,972 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-15 14:50:30,973 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:30,973 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-15 14:50:31,015 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-15 14:50:31,015 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 14:50:31,015 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:31,016 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 14:50:31,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=289, Unknown=0, NotChecked=0, Total=342 [2022-04-15 14:50:31,016 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-15 14:50:32,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:32,896 INFO L93 Difference]: Finished difference Result 98 states and 123 transitions. [2022-04-15 14:50:32,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 14:50:32,896 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-15 14:50:32,896 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:32,900 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-15 14:50:32,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 105 transitions. [2022-04-15 14:50:32,901 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-15 14:50:32,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 105 transitions. [2022-04-15 14:50:32,902 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 105 transitions. [2022-04-15 14:50:33,005 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-15 14:50:33,007 INFO L225 Difference]: With dead ends: 98 [2022-04-15 14:50:33,007 INFO L226 Difference]: Without dead ends: 90 [2022-04-15 14:50:33,007 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-15 14:50:33,007 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 35 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 633 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 14:50:33,008 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.8s Time] [2022-04-15 14:50:33,008 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-15 14:50:33,160 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 88. [2022-04-15 14:50:33,161 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:33,161 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-15 14:50:33,161 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-15 14:50:33,161 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-15 14:50:33,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:33,163 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-15 14:50:33,163 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-15 14:50:33,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:33,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:33,163 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-15 14:50:33,163 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-15 14:50:33,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:33,165 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-15 14:50:33,165 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-15 14:50:33,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:33,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:33,165 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:33,165 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:33,166 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-15 14:50:33,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 112 transitions. [2022-04-15 14:50:33,167 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 112 transitions. Word has length 96 [2022-04-15 14:50:33,167 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:33,167 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 112 transitions. [2022-04-15 14:50:33,167 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-15 14:50:33,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 112 transitions. [2022-04-15 14:50:33,326 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-15 14:50:33,326 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 112 transitions. [2022-04-15 14:50:33,327 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-15 14:50:33,327 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:50:33,327 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-15 14:50:33,357 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-15 14:50:33,543 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-15 14:50:33,543 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:50:33,543 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:50:33,543 INFO L85 PathProgramCache]: Analyzing trace with hash 948121191, now seen corresponding path program 1 times [2022-04-15 14:50:33,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:33,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [633344330] [2022-04-15 14:50:33,545 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:50:33,545 INFO L85 PathProgramCache]: Analyzing trace with hash 948121191, now seen corresponding path program 2 times [2022-04-15 14:50:33,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:50:33,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1976433227] [2022-04-15 14:50:33,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:50:33,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:50:33,562 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:50:33,562 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [52469820] [2022-04-15 14:50:33,562 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:50:33,562 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:33,562 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:50:33,563 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-15 14:50:33,568 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-15 14:50:33,621 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:50:33,621 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:50:33,622 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-15 14:50:33,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:50:33,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:50:33,967 INFO L272 TraceCheckUtils]: 0: Hoare triple {8051#true} call ULTIMATE.init(); {8051#true} is VALID [2022-04-15 14:50:33,967 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-15 14:50:33,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8051#true} {8051#true} #103#return; {8051#true} is VALID [2022-04-15 14:50:33,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {8051#true} call #t~ret6 := main(); {8051#true} is VALID [2022-04-15 14:50:33,967 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-15 14:50:33,967 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-15 14:50:33,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,967 INFO L290 TraceCheckUtils]: 8: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,967 INFO L290 TraceCheckUtils]: 9: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,967 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8051#true} {8051#true} #79#return; {8051#true} is VALID [2022-04-15 14:50:33,967 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-15 14:50:33,968 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-15 14:50:33,968 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-15 14:50:33,968 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-15 14:50:33,968 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-15 14:50:33,969 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-15 14:50:33,969 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-15 14:50:33,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,969 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-15 14:50:33,969 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-15 14:50:33,970 INFO L290 TraceCheckUtils]: 23: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,970 INFO L290 TraceCheckUtils]: 24: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,970 INFO L290 TraceCheckUtils]: 25: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,970 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-15 14:50:33,970 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-15 14:50:33,970 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-15 14:50:33,971 INFO L290 TraceCheckUtils]: 29: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,971 INFO L290 TraceCheckUtils]: 30: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,971 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #87#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:33,971 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-15 14:50:33,971 INFO L290 TraceCheckUtils]: 34: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,971 INFO L290 TraceCheckUtils]: 35: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,971 INFO L290 TraceCheckUtils]: 36: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,972 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #89#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:33,972 INFO L290 TraceCheckUtils]: 38: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:33,972 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-15 14:50:33,972 INFO L290 TraceCheckUtils]: 40: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:33,972 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-15 14:50:33,972 INFO L290 TraceCheckUtils]: 42: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,973 INFO L290 TraceCheckUtils]: 43: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,973 INFO L290 TraceCheckUtils]: 44: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,973 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #91#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:33,973 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-15 14:50:33,973 INFO L290 TraceCheckUtils]: 47: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,973 INFO L290 TraceCheckUtils]: 48: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,973 INFO L290 TraceCheckUtils]: 49: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,974 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #93#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:33,974 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-15 14:50:33,974 INFO L290 TraceCheckUtils]: 52: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,974 INFO L290 TraceCheckUtils]: 53: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,974 INFO L290 TraceCheckUtils]: 54: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,974 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #95#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:33,975 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-15 14:50:33,975 INFO L290 TraceCheckUtils]: 57: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,975 INFO L290 TraceCheckUtils]: 58: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,975 INFO L290 TraceCheckUtils]: 59: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,975 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #97#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:33,976 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-15 14:50:33,976 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-15 14:50:33,976 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-15 14:50:33,976 INFO L290 TraceCheckUtils]: 64: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,976 INFO L290 TraceCheckUtils]: 65: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,977 INFO L290 TraceCheckUtils]: 66: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,977 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-15 14:50:33,977 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-15 14:50:33,977 INFO L290 TraceCheckUtils]: 69: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,977 INFO L290 TraceCheckUtils]: 70: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,977 INFO L290 TraceCheckUtils]: 71: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,978 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-15 14:50:33,978 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-15 14:50:33,978 INFO L290 TraceCheckUtils]: 74: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,978 INFO L290 TraceCheckUtils]: 75: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,978 INFO L290 TraceCheckUtils]: 76: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,978 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-15 14:50:33,978 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-15 14:50:33,978 INFO L290 TraceCheckUtils]: 79: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:33,979 INFO L290 TraceCheckUtils]: 80: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:33,979 INFO L290 TraceCheckUtils]: 81: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:33,979 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-15 14:50:33,980 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-15 14:50:33,980 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-15 14:50:33,980 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-15 14:50:33,981 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-15 14:50:33,981 INFO L290 TraceCheckUtils]: 87: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-15 14:50:33,981 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-15 14:50:33,981 INFO L290 TraceCheckUtils]: 89: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-15 14:50:33,981 INFO L290 TraceCheckUtils]: 90: Hoare triple {8052#false} assume !(0 == ~cond); {8052#false} is VALID [2022-04-15 14:50:33,981 INFO L290 TraceCheckUtils]: 91: Hoare triple {8052#false} assume true; {8052#false} is VALID [2022-04-15 14:50:33,981 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8052#false} {8052#false} #91#return; {8052#false} is VALID [2022-04-15 14:50:33,981 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-15 14:50:33,981 INFO L290 TraceCheckUtils]: 94: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-15 14:50:33,981 INFO L290 TraceCheckUtils]: 95: Hoare triple {8052#false} assume !(0 == ~cond); {8052#false} is VALID [2022-04-15 14:50:33,981 INFO L290 TraceCheckUtils]: 96: Hoare triple {8052#false} assume true; {8052#false} is VALID [2022-04-15 14:50:33,981 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8052#false} {8052#false} #93#return; {8052#false} is VALID [2022-04-15 14:50:33,982 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-15 14:50:33,982 INFO L290 TraceCheckUtils]: 99: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-15 14:50:33,982 INFO L290 TraceCheckUtils]: 100: Hoare triple {8052#false} assume 0 == ~cond; {8052#false} is VALID [2022-04-15 14:50:33,982 INFO L290 TraceCheckUtils]: 101: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-15 14:50:33,982 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-15 14:50:33,982 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:50:34,458 INFO L290 TraceCheckUtils]: 101: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-15 14:50:34,458 INFO L290 TraceCheckUtils]: 100: Hoare triple {8052#false} assume 0 == ~cond; {8052#false} is VALID [2022-04-15 14:50:34,458 INFO L290 TraceCheckUtils]: 99: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-15 14:50:34,459 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-15 14:50:34,459 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8051#true} {8052#false} #93#return; {8052#false} is VALID [2022-04-15 14:50:34,459 INFO L290 TraceCheckUtils]: 96: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,459 INFO L290 TraceCheckUtils]: 95: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,459 INFO L290 TraceCheckUtils]: 94: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,459 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-15 14:50:34,459 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8051#true} {8052#false} #91#return; {8052#false} is VALID [2022-04-15 14:50:34,459 INFO L290 TraceCheckUtils]: 91: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,459 INFO L290 TraceCheckUtils]: 90: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,459 INFO L290 TraceCheckUtils]: 89: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,459 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-15 14:50:34,459 INFO L290 TraceCheckUtils]: 87: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-15 14:50:34,460 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-15 14:50:34,460 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-15 14:50:34,460 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-15 14:50:34,461 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-15 14:50:34,461 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-15 14:50:34,461 INFO L290 TraceCheckUtils]: 81: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,462 INFO L290 TraceCheckUtils]: 80: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,462 INFO L290 TraceCheckUtils]: 79: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,462 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-15 14:50:34,462 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-15 14:50:34,462 INFO L290 TraceCheckUtils]: 76: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,462 INFO L290 TraceCheckUtils]: 75: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,462 INFO L290 TraceCheckUtils]: 74: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,463 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-15 14:50:34,463 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-15 14:50:34,463 INFO L290 TraceCheckUtils]: 71: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,463 INFO L290 TraceCheckUtils]: 70: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,463 INFO L290 TraceCheckUtils]: 69: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,463 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-15 14:50:34,464 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-15 14:50:34,464 INFO L290 TraceCheckUtils]: 66: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,464 INFO L290 TraceCheckUtils]: 65: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,464 INFO L290 TraceCheckUtils]: 64: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,464 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-15 14:50:34,464 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-15 14:50:34,465 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-15 14:50:34,466 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #97#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:34,466 INFO L290 TraceCheckUtils]: 59: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,466 INFO L290 TraceCheckUtils]: 58: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,466 INFO L290 TraceCheckUtils]: 57: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,466 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-15 14:50:34,467 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #95#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:34,467 INFO L290 TraceCheckUtils]: 54: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,468 INFO L290 TraceCheckUtils]: 53: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,468 INFO L290 TraceCheckUtils]: 52: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,468 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-15 14:50:34,468 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #93#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:34,468 INFO L290 TraceCheckUtils]: 49: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,468 INFO L290 TraceCheckUtils]: 48: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,469 INFO L290 TraceCheckUtils]: 47: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,469 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-15 14:50:34,469 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #91#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:34,469 INFO L290 TraceCheckUtils]: 44: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,469 INFO L290 TraceCheckUtils]: 43: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,469 INFO L290 TraceCheckUtils]: 42: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,469 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-15 14:50:34,470 INFO L290 TraceCheckUtils]: 40: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:34,470 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-15 14:50:34,470 INFO L290 TraceCheckUtils]: 38: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:34,471 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #89#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:34,471 INFO L290 TraceCheckUtils]: 36: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,471 INFO L290 TraceCheckUtils]: 35: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,471 INFO L290 TraceCheckUtils]: 34: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,471 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-15 14:50:34,471 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #87#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-15 14:50:34,472 INFO L290 TraceCheckUtils]: 31: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,472 INFO L290 TraceCheckUtils]: 30: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,472 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-15 14:50:34,472 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-15 14:50:34,473 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8051#true} {8589#(<= main_~y~0 1)} #85#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-15 14:50:34,473 INFO L290 TraceCheckUtils]: 25: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,473 INFO L290 TraceCheckUtils]: 24: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,473 INFO L290 TraceCheckUtils]: 23: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,473 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-15 14:50:34,473 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8051#true} {8589#(<= main_~y~0 1)} #83#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-15 14:50:34,473 INFO L290 TraceCheckUtils]: 20: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,473 INFO L290 TraceCheckUtils]: 19: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,474 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-15 14:50:34,474 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-15 14:50:34,474 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-15 14:50:34,475 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-15 14:50:34,475 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-15 14:50:34,475 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-15 14:50:34,475 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-15 14:50:34,475 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8051#true} {8051#true} #79#return; {8051#true} is VALID [2022-04-15 14:50:34,475 INFO L290 TraceCheckUtils]: 9: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,475 INFO L290 TraceCheckUtils]: 8: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-15 14:50:34,476 INFO L290 TraceCheckUtils]: 7: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-15 14:50:34,476 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-15 14:50:34,476 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-15 14:50:34,476 INFO L272 TraceCheckUtils]: 4: Hoare triple {8051#true} call #t~ret6 := main(); {8051#true} is VALID [2022-04-15 14:50:34,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8051#true} {8051#true} #103#return; {8051#true} is VALID [2022-04-15 14:50:34,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-15 14:50:34,476 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-15 14:50:34,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {8051#true} call ULTIMATE.init(); {8051#true} is VALID [2022-04-15 14:50:34,476 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-15 14:50:34,476 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:34,476 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1976433227] [2022-04-15 14:50:34,477 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:34,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [52469820] [2022-04-15 14:50:34,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [52469820] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:50:34,477 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:50:34,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-15 14:50:34,477 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:34,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [633344330] [2022-04-15 14:50:34,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [633344330] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:34,477 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:34,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:50:34,477 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [350386340] [2022-04-15 14:50:34,477 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:34,478 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-15 14:50:34,478 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:34,478 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-15 14:50:34,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:50:34,527 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:50:34,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:34,527 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:50:34,528 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:50:34,528 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-15 14:50:34,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:34,950 INFO L93 Difference]: Finished difference Result 103 states and 127 transitions. [2022-04-15 14:50:34,950 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:50:34,950 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-15 14:50:34,950 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:34,951 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-15 14:50:34,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-15 14:50:34,952 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-15 14:50:34,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-15 14:50:34,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-15 14:50:35,022 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-15 14:50:35,023 INFO L225 Difference]: With dead ends: 103 [2022-04-15 14:50:35,023 INFO L226 Difference]: Without dead ends: 69 [2022-04-15 14:50:35,024 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-15 14:50:35,024 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-15 14:50:35,024 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-15 14:50:35,024 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-15 14:50:35,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 69. [2022-04-15 14:50:35,188 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:35,188 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-15 14:50:35,188 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-15 14:50:35,188 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-15 14:50:35,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:35,190 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-15 14:50:35,190 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-15 14:50:35,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:35,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:35,190 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-15 14:50:35,190 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-15 14:50:35,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:35,191 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-15 14:50:35,191 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-15 14:50:35,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:35,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:35,192 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:35,192 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:35,192 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-15 14:50:35,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-15 14:50:35,193 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 102 [2022-04-15 14:50:35,193 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:35,193 INFO L478 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-15 14:50:35,194 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-15 14:50:35,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-15 14:50:35,299 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-15 14:50:35,299 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-15 14:50:35,300 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-15 14:50:35,300 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:50:35,300 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-15 14:50:35,318 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 14:50:35,500 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-15 14:50:35,500 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:50:35,501 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:50:35,501 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 3 times [2022-04-15 14:50:35,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:35,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2082240417] [2022-04-15 14:50:35,501 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:50:35,501 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 4 times [2022-04-15 14:50:35,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:50:35,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1744936387] [2022-04-15 14:50:35,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:50:35,502 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:50:35,513 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:50:35,514 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1073648932] [2022-04-15 14:50:35,514 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:50:35,514 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:35,514 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:50:35,515 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-15 14:50:35,516 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-15 14:50:35,569 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:50:35,569 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:50:35,570 INFO L263 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 14:50:35,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:50:35,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:50:36,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-15 14:50:36,012 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-15 14:50:36,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9166#true} {9166#true} #103#return; {9166#true} is VALID [2022-04-15 14:50:36,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {9166#true} call #t~ret6 := main(); {9166#true} is VALID [2022-04-15 14:50:36,013 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-15 14:50:36,013 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-15 14:50:36,013 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-15 14:50:36,013 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-15 14:50:36,013 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-15 14:50:36,014 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-15 14:50:36,014 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-15 14:50:36,014 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-15 14:50:36,014 INFO L290 TraceCheckUtils]: 13: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,014 INFO L290 TraceCheckUtils]: 14: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,015 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-15 14:50:36,015 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-15 14:50:36,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,015 INFO L290 TraceCheckUtils]: 19: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,015 INFO L290 TraceCheckUtils]: 20: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,015 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-15 14:50:36,015 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-15 14:50:36,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,015 INFO L290 TraceCheckUtils]: 24: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,016 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-15 14:50:36,016 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-15 14:50:36,016 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-15 14:50:36,016 INFO L290 TraceCheckUtils]: 29: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,016 INFO L290 TraceCheckUtils]: 30: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,016 INFO L290 TraceCheckUtils]: 31: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,017 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #87#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-15 14:50:36,017 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-15 14:50:36,017 INFO L290 TraceCheckUtils]: 34: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,017 INFO L290 TraceCheckUtils]: 35: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,017 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,018 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #89#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-15 14:50:36,018 INFO L290 TraceCheckUtils]: 38: Hoare triple {9255#(<= main_~a~0 1)} assume !false; {9255#(<= main_~a~0 1)} is VALID [2022-04-15 14:50:36,018 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-15 14:50:36,018 INFO L290 TraceCheckUtils]: 40: Hoare triple {9292#(<= main_~c~0 1)} assume !false; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,018 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-15 14:50:36,018 INFO L290 TraceCheckUtils]: 42: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,019 INFO L290 TraceCheckUtils]: 43: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,019 INFO L290 TraceCheckUtils]: 44: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,019 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #91#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,019 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-15 14:50:36,019 INFO L290 TraceCheckUtils]: 47: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,019 INFO L290 TraceCheckUtils]: 48: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,019 INFO L290 TraceCheckUtils]: 49: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,020 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #93#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,020 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-15 14:50:36,020 INFO L290 TraceCheckUtils]: 52: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,020 INFO L290 TraceCheckUtils]: 53: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,020 INFO L290 TraceCheckUtils]: 54: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,020 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #95#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,020 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-15 14:50:36,020 INFO L290 TraceCheckUtils]: 57: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,020 INFO L290 TraceCheckUtils]: 58: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,020 INFO L290 TraceCheckUtils]: 59: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,021 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #97#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,022 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-15 14:50:36,022 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-15 14:50:36,022 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-15 14:50:36,022 INFO L290 TraceCheckUtils]: 64: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,022 INFO L290 TraceCheckUtils]: 65: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,022 INFO L290 TraceCheckUtils]: 66: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,022 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-15 14:50:36,023 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-15 14:50:36,023 INFO L290 TraceCheckUtils]: 69: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,023 INFO L290 TraceCheckUtils]: 70: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,023 INFO L290 TraceCheckUtils]: 71: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,023 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-15 14:50:36,023 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-15 14:50:36,023 INFO L290 TraceCheckUtils]: 74: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,023 INFO L290 TraceCheckUtils]: 75: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,023 INFO L290 TraceCheckUtils]: 76: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,024 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-15 14:50:36,024 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-15 14:50:36,024 INFO L290 TraceCheckUtils]: 79: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,024 INFO L290 TraceCheckUtils]: 80: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,024 INFO L290 TraceCheckUtils]: 81: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,024 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-15 14:50:36,025 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-15 14:50:36,027 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-15 14:50:36,027 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-15 14:50:36,027 INFO L290 TraceCheckUtils]: 86: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,027 INFO L290 TraceCheckUtils]: 87: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,027 INFO L290 TraceCheckUtils]: 88: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,027 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-15 14:50:36,027 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-15 14:50:36,028 INFO L290 TraceCheckUtils]: 91: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,028 INFO L290 TraceCheckUtils]: 92: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,028 INFO L290 TraceCheckUtils]: 93: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,028 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-15 14:50:36,028 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-15 14:50:36,028 INFO L290 TraceCheckUtils]: 96: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,028 INFO L290 TraceCheckUtils]: 97: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,028 INFO L290 TraceCheckUtils]: 98: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,029 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-15 14:50:36,029 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-15 14:50:36,029 INFO L290 TraceCheckUtils]: 101: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,029 INFO L290 TraceCheckUtils]: 102: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,029 INFO L290 TraceCheckUtils]: 103: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,029 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-15 14:50:36,030 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-15 14:50:36,030 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-15 14:50:36,030 INFO L290 TraceCheckUtils]: 107: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-15 14:50:36,030 INFO L290 TraceCheckUtils]: 108: Hoare triple {9167#false} assume !(0 != ~b~0); {9167#false} is VALID [2022-04-15 14:50:36,030 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-15 14:50:36,030 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-15 14:50:36,030 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-15 14:50:36,030 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-15 14:50:36,031 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-15 14:50:36,031 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:50:36,456 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-15 14:50:36,456 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-15 14:50:36,456 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-15 14:50:36,456 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-15 14:50:36,456 INFO L290 TraceCheckUtils]: 108: Hoare triple {9167#false} assume !(0 != ~b~0); {9167#false} is VALID [2022-04-15 14:50:36,456 INFO L290 TraceCheckUtils]: 107: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-15 14:50:36,456 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-15 14:50:36,456 INFO L290 TraceCheckUtils]: 105: Hoare triple {9535#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {9167#false} is VALID [2022-04-15 14:50:36,457 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-15 14:50:36,457 INFO L290 TraceCheckUtils]: 103: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,457 INFO L290 TraceCheckUtils]: 102: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,457 INFO L290 TraceCheckUtils]: 101: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,457 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-15 14:50:36,458 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-15 14:50:36,458 INFO L290 TraceCheckUtils]: 98: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,458 INFO L290 TraceCheckUtils]: 97: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,458 INFO L290 TraceCheckUtils]: 96: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,458 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-15 14:50:36,458 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-15 14:50:36,458 INFO L290 TraceCheckUtils]: 93: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,458 INFO L290 TraceCheckUtils]: 92: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,458 INFO L290 TraceCheckUtils]: 91: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,459 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-15 14:50:36,459 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-15 14:50:36,459 INFO L290 TraceCheckUtils]: 88: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,459 INFO L290 TraceCheckUtils]: 87: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,459 INFO L290 TraceCheckUtils]: 86: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,459 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-15 14:50:36,459 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-15 14:50:36,460 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-15 14:50:36,461 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-15 14:50:36,461 INFO L290 TraceCheckUtils]: 81: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,461 INFO L290 TraceCheckUtils]: 80: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,461 INFO L290 TraceCheckUtils]: 79: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,461 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-15 14:50:36,461 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-15 14:50:36,462 INFO L290 TraceCheckUtils]: 76: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,462 INFO L290 TraceCheckUtils]: 75: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,462 INFO L290 TraceCheckUtils]: 74: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,462 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-15 14:50:36,462 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-15 14:50:36,462 INFO L290 TraceCheckUtils]: 71: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,462 INFO L290 TraceCheckUtils]: 70: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,462 INFO L290 TraceCheckUtils]: 69: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,462 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-15 14:50:36,463 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-15 14:50:36,463 INFO L290 TraceCheckUtils]: 66: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,463 INFO L290 TraceCheckUtils]: 65: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,463 INFO L290 TraceCheckUtils]: 64: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,463 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-15 14:50:36,463 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-15 14:50:36,464 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-15 14:50:36,464 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #97#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,465 INFO L290 TraceCheckUtils]: 59: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,465 INFO L290 TraceCheckUtils]: 58: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,465 INFO L290 TraceCheckUtils]: 57: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,465 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-15 14:50:36,465 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #95#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,465 INFO L290 TraceCheckUtils]: 54: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,465 INFO L290 TraceCheckUtils]: 53: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,465 INFO L290 TraceCheckUtils]: 52: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,465 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-15 14:50:36,466 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #93#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,466 INFO L290 TraceCheckUtils]: 49: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,466 INFO L290 TraceCheckUtils]: 48: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,466 INFO L290 TraceCheckUtils]: 47: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,466 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-15 14:50:36,468 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #91#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,468 INFO L290 TraceCheckUtils]: 44: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,468 INFO L290 TraceCheckUtils]: 43: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,468 INFO L290 TraceCheckUtils]: 42: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,468 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-15 14:50:36,468 INFO L290 TraceCheckUtils]: 40: Hoare triple {9292#(<= main_~c~0 1)} assume !false; {9292#(<= main_~c~0 1)} is VALID [2022-04-15 14:50:36,469 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-15 14:50:36,469 INFO L290 TraceCheckUtils]: 38: Hoare triple {9255#(<= main_~a~0 1)} assume !false; {9255#(<= main_~a~0 1)} is VALID [2022-04-15 14:50:36,469 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #89#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-15 14:50:36,469 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,469 INFO L290 TraceCheckUtils]: 35: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,469 INFO L290 TraceCheckUtils]: 34: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,469 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-15 14:50:36,470 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #87#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-15 14:50:36,470 INFO L290 TraceCheckUtils]: 31: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,470 INFO L290 TraceCheckUtils]: 30: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,470 INFO L290 TraceCheckUtils]: 29: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,470 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-15 14:50:36,470 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-15 14:50:36,470 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #85#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-15 14:50:36,471 INFO L290 TraceCheckUtils]: 25: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,471 INFO L290 TraceCheckUtils]: 24: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,471 INFO L290 TraceCheckUtils]: 23: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,471 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-15 14:50:36,471 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #83#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-15 14:50:36,471 INFO L290 TraceCheckUtils]: 20: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,471 INFO L290 TraceCheckUtils]: 19: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,471 INFO L290 TraceCheckUtils]: 18: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,471 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-15 14:50:36,472 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #81#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-15 14:50:36,472 INFO L290 TraceCheckUtils]: 15: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-15 14:50:36,472 INFO L290 TraceCheckUtils]: 13: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-15 14:50:36,472 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-15 14:50:36,472 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-15 14:50:36,472 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-15 14:50:36,472 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-15 14:50:36,473 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-15 14:50:36,473 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-15 14:50:36,473 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-15 14:50:36,473 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-15 14:50:36,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {9166#true} call #t~ret6 := main(); {9166#true} is VALID [2022-04-15 14:50:36,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9166#true} {9166#true} #103#return; {9166#true} is VALID [2022-04-15 14:50:36,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-15 14:50:36,473 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-15 14:50:36,473 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-15 14:50:36,474 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-15 14:50:36,474 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:36,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1744936387] [2022-04-15 14:50:36,474 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:36,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1073648932] [2022-04-15 14:50:36,474 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1073648932] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:50:36,474 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:50:36,474 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2022-04-15 14:50:36,474 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:36,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2082240417] [2022-04-15 14:50:36,475 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2082240417] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:36,475 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:36,475 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:50:36,475 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2121281202] [2022-04-15 14:50:36,475 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:36,475 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-15 14:50:36,475 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:36,475 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-15 14:50:36,505 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-15 14:50:36,505 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:50:36,505 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:36,505 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:50:36,506 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-15 14:50:36,506 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-15 14:50:37,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:37,128 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-15 14:50:37,128 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:50:37,128 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-15 14:50:37,128 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:37,128 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-15 14:50:37,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2022-04-15 14:50:37,129 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-15 14:50:37,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2022-04-15 14:50:37,130 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 70 transitions. [2022-04-15 14:50:37,165 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-15 14:50:37,165 INFO L225 Difference]: With dead ends: 69 [2022-04-15 14:50:37,165 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 14:50:37,165 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-15 14:50:37,166 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-15 14:50:37,166 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-15 14:50:37,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 14:50:37,166 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 14:50:37,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:37,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 14:50:37,166 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 14:50:37,166 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 14:50:37,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:37,167 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 14:50:37,167 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 14:50:37,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:37,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:37,167 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 14:50:37,167 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 14:50:37,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:37,167 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 14:50:37,167 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 14:50:37,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:37,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:37,167 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:37,167 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:37,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 14:50:37,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 14:50:37,167 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 113 [2022-04-15 14:50:37,168 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:37,168 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 14:50:37,168 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-15 14:50:37,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 14:50:37,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:50:37,168 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 14:50:37,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:37,170 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 14:50:37,190 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-15 14:50:37,379 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-15 14:50:37,381 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 14:50:39,082 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-15 14:50:39,082 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-15 14:50:39,082 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-15 14:50:39,082 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-15 14:50:39,082 INFO L878 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 14:50:39,082 INFO L878 garLoopResultBuilder]: At program point L8-2(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 14:50:39,082 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 14:50:39,083 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-15 14:50:39,083 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 74) the Hoare annotation is: true [2022-04-15 14:50:39,083 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-15 14:50:39,083 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-15 14:50:39,083 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-15 14:50:39,083 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 74) the Hoare annotation is: true [2022-04-15 14:50:39,083 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-15 14:50:39,083 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-15 14:50:39,083 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-15 14:50:39,083 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-15 14:50:39,083 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 74) the Hoare annotation is: true [2022-04-15 14:50:39,083 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-15 14:50:39,083 INFO L878 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-15 14:50:39,084 INFO L878 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-15 14:50:39,084 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-15 14:50:39,084 INFO L878 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-15 14:50:39,084 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-15 14:50:39,084 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-15 14:50:39,084 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-15 14:50:39,084 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-15 14:50:39,084 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-15 14:50:39,084 INFO L885 garLoopResultBuilder]: At program point L72(line 72) the Hoare annotation is: true [2022-04-15 14:50:39,084 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-15 14:50:39,084 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 14:50:39,084 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-15 14:50:39,084 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 14:50:39,084 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 14:50:39,084 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 14:50:39,085 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 14:50:39,085 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 14:50:39,085 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-15 14:50:39,085 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 14:50:39,085 INFO L878 garLoopResultBuilder]: At program point L11(lines 11 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 14:50:39,085 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 14:50:39,085 INFO L878 garLoopResultBuilder]: At program point L11-2(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 14:50:39,085 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 14:50:39,087 INFO L719 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-15 14:50:39,088 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 14:50:39,091 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 14:50:39,102 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 14:50:39,146 INFO L163 areAnnotationChecker]: CFG has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 14:50:39,162 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 02:50:39 BoogieIcfgContainer [2022-04-15 14:50:39,162 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 14:50:39,163 INFO L158 Benchmark]: Toolchain (without parser) took 147236.89ms. Allocated memory was 175.1MB in the beginning and 228.6MB in the end (delta: 53.5MB). Free memory was 128.9MB in the beginning and 142.5MB in the end (delta: -13.6MB). Peak memory consumption was 111.6MB. Max. memory is 8.0GB. [2022-04-15 14:50:39,165 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 175.1MB. Free memory is still 145.5MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 14:50:39,165 INFO L158 Benchmark]: CACSL2BoogieTranslator took 222.64ms. Allocated memory is still 175.1MB. Free memory was 128.7MB in the beginning and 153.0MB in the end (delta: -24.3MB). Peak memory consumption was 14.5MB. Max. memory is 8.0GB. [2022-04-15 14:50:39,165 INFO L158 Benchmark]: Boogie Preprocessor took 20.00ms. Allocated memory is still 175.1MB. Free memory was 153.0MB in the beginning and 151.3MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-15 14:50:39,165 INFO L158 Benchmark]: RCFGBuilder took 249.23ms. Allocated memory is still 175.1MB. Free memory was 151.3MB in the beginning and 138.3MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-15 14:50:39,166 INFO L158 Benchmark]: TraceAbstraction took 146737.01ms. Allocated memory was 175.1MB in the beginning and 228.6MB in the end (delta: 53.5MB). Free memory was 137.7MB in the beginning and 142.5MB in the end (delta: -4.7MB). Peak memory consumption was 120.2MB. Max. memory is 8.0GB. [2022-04-15 14:50:39,167 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.14ms. Allocated memory is still 175.1MB. Free memory is still 145.5MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 222.64ms. Allocated memory is still 175.1MB. Free memory was 128.7MB in the beginning and 153.0MB in the end (delta: -24.3MB). Peak memory consumption was 14.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 20.00ms. Allocated memory is still 175.1MB. Free memory was 153.0MB in the beginning and 151.3MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 249.23ms. Allocated memory is still 175.1MB. Free memory was 151.3MB in the beginning and 138.3MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 146737.01ms. Allocated memory was 175.1MB in the beginning and 228.6MB in the end (delta: 53.5MB). Free memory was 137.7MB in the beginning and 142.5MB in the end (delta: -4.7MB). Peak memory consumption was 120.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: 146.6s, OverallIterations: 13, TraceHistogramMax: 13, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 9.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.7s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 362 SdHoareTripleChecker+Valid, 2.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 279 mSDsluCounter, 2333 SdHoareTripleChecker+Invalid, 2.7s 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.4s 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.4s HoareSimplificationTime, 40 FomulaSimplificationsInter, 4050 FormulaSimplificationTreeSizeReductionInter, 1.2s 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-15 14:50:39,195 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...